很多开发者第一次使用AI编程工具时,会形成一个很自然的判断:

给ChatGPT的信息越多,它越了解需求。
让Codex读取的文件越多,它越理解项目。
上下文越长,生成结果就应该越准确。

但在真实项目中,结果往往并不是这样。

AI读取了整个代码仓库,却修改了错误的模块。
对话保留了大量历史信息,却逐渐忘记最初的目标。
任务描述越来越长,输出反而越来越不稳定。

真正的问题不是AI有没有获得足够多的信息。

而是:

哪些信息应该进入当前任务?
哪些信息只是背景参考?
哪些约束必须持续保留?
哪些历史内容已经失效?
哪些文件会干扰当前判断?

AI读得越多,不代表理解得越准确。

这背后对应的是AI工程中的另一项核心能力:上下文工程。

一、上下文不是信息数量,而是信息结构

传统的软件开发工具通常根据明确指令执行。

编译器读取代码。
数据库执行查询。
测试框架运行测试。
版本控制系统记录变更。

输入和输出之间的边界相对稳定。

但ChatGPT和Codex处理的不是单一指令,而是由多种信息共同构成的上下文:

  • 用户当前提出的需求;
  • 之前对话中的历史约束;
  • 项目目录和文件内容;
  • 系统提示与工具权限;
  • 执行命令返回的结果;
  • 测试失败产生的新信息;
  • AI自己在前面形成的判断。

这些信息不会自动拥有相同优先级。

有些内容决定任务目标。

有些内容只是临时线索。

有些内容已经过时,却仍然留在对话中。

因此,上下文工程解决的不是“怎样给AI更多内容”,而是:

怎样让正确的信息,在正确的阶段,以正确的优先级进入任务。

二、为什么上下文越长,任务反而越容易失控

上下文变长以后,至少会出现四类问题。

1. 核心目标被稀释

一个任务刚开始可能很明确:

修复用户登录接口的超时问题,不改变返回结构。

但随着分析深入,对话中可能逐渐加入:

  • 日志格式调整;
  • 缓存策略建议;
  • 数据库索引优化;
  • 认证模块重构;
  • 依赖升级方案。

这些建议可能都合理,却不一定属于当前任务。

当背景信息越来越多,原始目标的权重可能下降。

最后AI完成了大量修改,却没有真正解决登录超时。

2. 历史约束已经失效

开发者可能在任务早期要求:

暂时不要修改数据库结构。

后来经过确认,数据库字段可以调整。

如果新的决策没有明确覆盖旧约束,AI可能同时保留两套互相冲突的要求。

上下文不是简单累积。

它还需要更新、替换和失效管理。

3. 无关文件干扰判断

让Codex读取整个项目,看起来可以帮助它建立全局理解。

但大型代码库中通常存在:

  • 已废弃模块;
  • 实验性代码;
  • 历史版本;
  • 自动生成文件;
  • 重复实现;
  • 测试夹具;
  • 临时脚本。

如果这些内容与当前任务同时进入上下文,AI可能错误地把旧模式当作现行规范。

读取范围越大,噪声也可能越大。

4. 错误判断会持续传递

如果AI在任务早期错误理解了某个函数的作用,后续分析、修改和测试都可能建立在这个错误判断之上。

上下文越长,这种错误越容易被反复引用。

最后,错误不再只是一次输出问题,而会变成整条任务链的基础。

三、什么是上下文工程

上下文工程不是单纯缩短提示词,也不是机械地删除历史对话。

它管理的是信息如何进入AI任务系统。

完整链路可以表示为:

原始目标

核心约束

相关文件

当前执行阶段

工具返回结果

新决策覆盖旧信息

验证结果进入下一阶段

它至少包含五个部分。

目标上下文

说明当前任务真正要解决什么。

例如:

修复登录接口在高并发下的超时问题,保持接口参数和返回结构不变。

这句话应该在整个任务过程中保持最高优先级。

边界上下文

明确哪些内容可以修改,哪些不能修改。

例如:

  • 可以修改认证服务;
  • 可以增加测试;
  • 不修改数据库字段;
  • 不升级核心框架;
  • 不调整公开接口。

边界上下文决定AI的执行范围。

文件上下文

不是把整个项目全部交给Codex,而是先确定:

  • 当前入口文件;
  • 直接依赖模块;
  • 相关测试;
  • 配置文件;
  • 可能受到影响的调用方。

文件上下文应该随着任务推进逐步扩展,而不是一次性无限放大。

状态上下文

任务进行到不同阶段,需要的信息也不同。

分析阶段需要理解架构。
修改阶段需要明确文件。
测试阶段需要关注失败结果。
审查阶段需要查看代码差异。

上下文应该根据阶段变化,而不是从头到尾保持同一份内容。

决策上下文

当开发者做出新判断时,需要明确告诉AI:

哪些旧结论继续有效,哪些旧结论已经失效。

没有决策覆盖机制,长任务很容易在多个互相冲突的要求之间反复摇摆。

四、ChatGPT与Codex在上下文系统中的分工

ChatGPT和Codex虽然都依赖上下文,但使用方式并不相同。

ChatGPT:上下文组织层

ChatGPT更适合帮助开发者:

  • 梳理任务目标;
  • 区分核心信息与背景信息;
  • 发现需求冲突;
  • 总结阶段性结论;
  • 把长对话压缩成新的任务说明。

它的价值不只是回答问题,还可以把复杂信息重新组织成可执行结构。

Codex:上下文执行层

Codex需要进入代码环境,读取文件、运行命令并修改项目。

因此,它更依赖准确的文件范围和任务边界。

如果上下文组织不清楚,Codex并不会只是“回答偏题”。

它可能直接修改错误文件、扩大变更范围,甚至把旧实现复制到新模块中。

ChatGPT中的上下文错误,可能产生错误建议。

Codex中的上下文错误,可能直接产生工程变更。

五、Plus与Pro提高的是容量,不是信息质量

Plus和Pro可以支撑不同强度的ChatGPT与Codex使用。

Plus适合日常分析、代码理解和中等规模任务。

Pro更适合:

  • 更长的项目协作;
  • 更复杂的代码库;
  • 多阶段工程任务;
  • 高频使用ChatGPT与Codex;
  • 更持续的分析和执行过程。

但更高的使用强度,并不会自动带来更高质量的上下文。

能够读取更多内容,不等于应该读取更多内容。

能够保持更长对话,不等于所有历史内容都应该继续保留。

Plus和Pro扩大的是协作空间。

上下文工程决定这个空间里应该放什么。

六、好的上下文应该具备什么特征

一个高质量的AI任务上下文,通常需要满足四个条件。

足够相关

只保留对当前任务有直接作用的信息。

优先级清晰

目标、限制、参考资料和临时结果不能混在同一层级。

能够更新

新决策出现后,旧结论需要被明确替换。

可以压缩

任务进入新阶段时,应当重新总结,而不是无限继承全部历史内容。

真正有效的上下文,不是最长的上下文。

而是最接近当前决策需要的上下文。

七、未来程序员需要管理信息流

过去程序员主要管理代码流和数据流。

AI进入开发系统以后,还需要管理上下文流。

哪些信息进入模型。
哪些文件可以被读取。
哪些判断应该长期保留。
哪些结论需要及时清除。
哪些执行结果应该进入下一阶段。

这些问题会直接影响AI的判断质量。

未来开发者之间的差距,可能不只是代码能力,也不只是使用了Plus还是Pro。

更重要的是:

谁能为ChatGPT组织清晰的目标。
谁能为Codex提供准确的工程边界。
谁能在长任务中持续维护有效上下文。
谁能及时清除已经失效的信息。

结语

ChatGPT负责理解和组织信息。

Codex负责进入工程环境执行任务。

Plus与Pro提供不同强度的持续协作能力。

但真正决定AI能否稳定工作的,不是它读了多少内容,而是它读到的信息是否相关、清晰、有效,并且符合当前任务阶段。

信息越多,越需要结构。

上下文越长,越需要治理。

AI编程进入工程化阶段后,开发者需要管理的不只是代码,还有决定AI如何理解代码的上下文系统。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐