去年,一个项目让我差点放弃了 AI Agent 这条路。
当时的目标是给运维团队搭建一个日志分析助手。前期演示阶段,效果堪称惊艳——只需要输入几句描述,Agent就能从海量日志中精准定位故障根因。然而,上线第一周就遭到了现实的重击:运维同事反馈,这个助手“聊上5轮以上就开始胡说八道”。
我最初的应对策略,和许多人一样:疯狂调整和优化 Prompt。增加约束条件、补充更多示例、细化格式说明……最终,Prompt从50字膨胀到了800字,但核心问题依旧纹丝不动。直到我接触到 Context Engineering(上下文工程) 这个概念,才恍然发现,过去三个月我一直在错误的方向上努力。
一、我们可能都误解了“提示词工程”
业界似乎有一种普遍的错觉:Prompt写得好坏,直接决定了AI Agent能力的天花板。
我见过太多工程师在Prompt上“死磕”——使用更精准的词汇、添加更多的Few-shot示例、设计复杂的Chain-of-Thought推理链。然而,生产环境的残酷现实告诉我们:Prompt本质上解决的是“怎么说”的问题,而Context(上下文)解决的才是“给AI看什么”的问题。
举个具体的例子。我要求Agent分析10条客户反馈(总计约8000个token),并提取出所有“与价格相关的抱怨”。即便我把Prompt写得天花乱坠、逻辑严谨,Agent的注意力依然只会聚焦在上下文窗口开头两条和结尾两条的反馈上。中间那6条信息中可能存在的价格问题,会被它完美地忽略掉。
这根本不是Prompt的错,而是 Context结构 的缺陷。
二、Context Engineering的本质是什么?
我们可以把大模型的上下文窗口,类比为人类的注意力范围。
人类一次能专注处理的信息是有限的,信息过载时,大脑会自动选择性地忽略一部分。大模型同理——它那128K或200K的token窗口,关键不在于“能塞进去多少”,而在于 “高价值、高信号的信息在里面占比多少”。
因此,Context Engineering 的核心思想可以概括为一句话:在AI有限的“注意力预算”内,主动筛选并呈现最关键的信息,同时果断丢弃噪声。
回到刚才那个案例。更优的做法不是让AI直接在8000个token的“信息海洋”里捞针,而是先通过一层预处理逻辑,将10条反馈压缩、提炼成“价格相关的3条核心抱怨摘要”(可能只有200个token),再将其作为上下文喂给AI。这样一来,AI的总结准确率几乎可以达到100%。
简而言之,Prompt是“指导AI如何行动的操作手册”,而Context是“为AI精心准备的高质量食材”。
三、一个反直觉的发现:U型注意力曲线
相关研究揭示了一个有趣的现象:大模型对上下文中信息的注意力分布,呈现出明显的 U型曲线。这意味着,模型对开头和结尾部分的信息关注度最高,而对中间部分的信息关注度最低。这就是所谓的“lost-in-the-middle”(迷失在中间)问题。
这个发现对我们的工程实践有什么具体指导意义呢?
- 关键任务指令:必须放在上下文的最开头(例如前200个token内)。
- 用户核心诉求:尽量放在上下文的末尾部分。
- 次要的参考信息:可以填充在上下文的中段。
在我当前的项目中,每个Agent的上下文结构都遵循一个固定的模板,以确保关键信息位于注意力高点:
[核心任务目标] <- 必须在前200 token内
[可用工具定义]
[历史对话摘要]
[当前用户输入]
[用户特定偏好与约束] <- 必须在后200 token内
四、从“调Prompt”到“管Context”的思维转变
自从将工作重心从Prompt优化转移到Context管理后,我构建的Agent稳定性得到了不止一个量级的提升。
这并非意味着不再需要编写Prompt,而是我深刻认识到,Prompt只是整个Context拼图中的一块。系统指令、工具函数描述、检索到的参考文档、历史对话的智能摘要、工具调用的返回结果……对这些元素的 系统性编排与管理,才是构建生产级可靠AI Agent的核心竞争力。
上个月,我彻底重构了那个日志分析Agent。Prompt从800字精简到150字,但在原始日志进入大模型上下文之前,我增加了一层过滤和聚合逻辑,用于提炼关键事件和模式。结果是:Agent现在能够连续对话超过20轮而依然保持稳定输出,运维团队也开始真正地依赖它进行日常排障。
五、给正在踩同样坑的开发者
如果你的AI Agent也出现了以下症状:
- 对话几轮后就开始答非所问,逻辑混乱。
- 让它处理一长串信息时,它似乎只记得住开头和结尾的内容。
- 本地简单测试时表现良好,一上线处理复杂真实场景就频频“失忆”。
那么,请别重蹈我的覆辙,再花三个月去死磕Prompt了。
首先问自己几个问题:我究竟给AI看到了什么样的上下文?这些信息真的都是必要的吗?最关键的信息,是不是被埋没在了注意力低谷的“中间地带”?
Context Engineering并非什么高深莫测的黑魔法,它是AI Agent从一个炫酷的“技术玩具”,蜕变为可靠“生产工具”的必经之路。这方面的实践经验与坑点,也是云栈社区 里很多开发者正在积极交流的话题。与其独自摸索,不如看看同行们是如何设计和优化他们的上下文管道的。