AI News HubLIVE
站内改写2 分钟阅读

为什么没人教开发者上下文管理?

本文是代理工程与AI驱动开发系列文章的第六篇,强调上下文管理是AI开发中被忽视的关键技能。作者认为,开发者要么高估AI的记忆能力,要么低估其编排能力,导致浪费时间和输出质量下降。通过将开发上下文外部化到文件(如DEVELOPMENT_CONTEXT.md)并持续更新,可以显著提升AI会话的效率和一致性。文章还指出,包含决策背后的推理可以防止AI无意中撤销有意的设计选择。

来源O'Reilly AI & ML Radar作者: Andrew Stellman

在AI驱动开发领域,上下文管理正成为一项被严重低估的核心技能。O'Reilly Media近日发布的文章指出,尽管业界热衷于讨论提示工程、模型选择、代理工作流和工具使用,但决定AI会话输出质量的关键因素——上下文管理——却鲜少有人提及。

文章作者认为,开发者对AI的能力存在双重误解:一方面高估其记忆容量,将大量信息塞入上下文窗口,期望AI自行处理,结果却因幻觉或遗忘而失望;另一方面低估其编排能力,未能给予AI多步骤工作流指令,使其能协调子任务并断点续传。这种认知偏差导致一个典型循环:开发者将上下文窗口视为无限,塞入所有信息;当会话过长、AI开始丢失线索时,又清空一切重新开始。他们从未考虑设计工作流,让AI基于外部化文件跨独立会话工作。

作者以自身项目为例,展示了上下文外部化的实践方法。在构建Octobatch(批量LLM编排器)时,他让AI在每个文件夹中写入开发上下文,例如ai_context/DEVELOPMENT_CONTEXT.md文件。新会话启动时只需一行指令:“读取ai_context/DEVELOPMENT_CONTEXT.md并自举以继续开发。”该文件包含加载序列,引导AI阅读各子系统的CONTEXT.md文件。通过这种方式,AI立即了解项目是什么、如何构建、当前进展和活跃故障。

更关键的是,上下文文件必须包含决策背后的“为什么”。Octobatch的DEVELOPMENT_CONTEXT.md中设有“关键技术学习”章节,包含49条条目,每条以固定格式记录:发生了什么、为何重要、何时发现、在代码何处应用。章节顶部用粗体标注:“重要:始终包含推理(‘为什么’)。这防止未来会话‘重构’一个深思熟虑的决定。”如果没有这条提示,AI可能会无意识地撤销之前有意的设计选择。

作者强调,上下文管理不仅是理论,其成本是可量化的。微软开发者博客上有人计时,发现每天花一个小时以上向AI重新解释其在先前会话中已知的信息。目前已有框架和托管服务为代理提供持久内存,但评估、集成和维护这些工具本身也需要成本。

文章最后指出,上下文管理的真正基础在于:让AI在每项任务中持续写入和更新上下文文件。在提交代码前,要求AI审查上下文文件确保其反映最新变更。过时的上下文与过时的文档同样有害,甚至更糟,因为AI正依赖它做决策。当开发者在新会话中读去良好的DEVELOPMENT_CONTEXT.md时,AI与开发者立即对齐;没有它,AI不得不从头发现一切,而重新发现总是有损的。

作者计划在下一篇文章中提供四项具体实践,这些实践来自构建Quality Playbook和Octobatch的经验,可立即应用于自己的提示、技能和代理。本文聚焦问题本身:为何上下文管理重要,以及上下文丢失如何影响AI输出质量。