Agent 的 Context 里,到底应该放什么?

很多人第一次做 Agent,都会把 Context 当成"越多越好"的资料仓库:System Prompt 放一大段规则,User Message 原样保留,工具返回全部塞进去,Plan 从头留到尾,再把历史对话一股脑拼上。

结果往往不是 Agent 更聪明,而是越来越慢、越来越贵,也越来越容易跑偏。

真正的问题不是"Context 能装多少",而是:在当前这一步,模型为了做出正确决策,到底需要看到什么?如果把 Context 理解成 Agent 的"工作台",好的设计追求的不是信息完整,而是信息足够、相关、可执行。

Context 不是记忆库,而是当前任务的工作集

一个 Agent 的 Context,最适合包含四类东西:稳定规则、当前目标、必要状态、最近证据。

稳定规则决定它"该怎么做",比如角色、边界、格式和安全约束。当前目标告诉它"这一步要完成什么"。必要状态包括已经完成什么、有哪些关键变量、还有什么未解决。最近证据则来自用户输入、工具结果或文件内容。

可以把它想成办公桌。桌上应该放正在处理的合同、今天的任务清单和关键记录,而不是把公司三年的邮件、所有会议纪要和整个知识库都打印出来。

Context 的核心原则可以浓缩成一句话:只保留会影响下一步判断的信息。

System Prompt 放长期稳定的规则

System Prompt 适合承载稳定、跨任务、优先级高的约束。

例如:Agent 的角色是什么;允许做哪些事;哪些事情不能做;调用工具要遵循什么规则;回答采用什么格式;遇到冲突时如何处理。

不适合放进 System Prompt 的,是频繁变化的任务细节。比如"今天帮我分析这份报价单""这次只看北京市场",更适合出现在 User Message 或任务状态里。

常见误区,是把 System Prompt 写成一本操作手册,试图提前覆盖所有场景。Prompt 越长,不代表控制力越强。规则太多时,真正重要的约束反而可能被淹没。

判断方法很简单:这条信息换一个用户、换一个任务后是否仍然成立?如果答案是"是",它更适合 System Prompt。

User Message 应该表达这次到底要什么

User Message 的主要作用,是描述当前需求、任务目标和即时约束。

理想情况下,它应该让 Agent 明白三件事:要做什么、基于什么做、结果要满足什么条件。

例如用户说:"比较这三家供应商,优先考虑交付风险,不要只看价格。"这里既有目标,也有判断标准。Agent 后续调用搜索、表格或邮件工具,都应该围绕这个目标服务。

如果系统还有任务编排层,可以把用户输入整理成结构化状态,但不要过度改写原意。尤其是限制条件、否定条件和偏好,最容易在"总结需求"时丢失。

Tool Result 不应该全部进入 Context

这是 Agent 设计里很容易踩的坑。

工具返回的是原始证据,Context 需要的是当前决策所需的证据,两者并不等价。

假设搜索工具返回二十条结果,真正影响判断的可能只有三条;数据库返回一百行记录,当前步骤也许只需要异常项;网页抓取整篇文档,但模型只是要确认交付日期。

更合理的做法,是先过滤、提取、压缩,再进入后续 Context。保留关键字段、结论、来源和必要原文。可能需要追溯的信息,可以放到外部状态或日志里,需要时再取回。

但也不能压缩过头。涉及数字核对、法律条款、代码报错或精确引用时,原始内容本身可能就是证据,这时应保留足够上下文,避免摘要失真。

Plan 不必常驻,应该沉淀成状态

很多 Agent 会先生成 Plan:搜集资料、比较方案、生成结论、输出报告。

问题是,当任务执行到第三步时,完整 Plan 往往已经不重要。真正有用的是:完成了什么、得到什么、下一步做什么。

例如可以把计划更新成:

"供应商资料已收集;A 价格最低,但交付不稳定;B 价格高 8%,交付更稳定;还需要确认 C 的售后条款。"

这段状态比早期计划更有价值,因为它反映了任务现在处于哪里。

复杂任务仍然需要保留高层目标和关键里程碑,防止执行过程中偏航。应该删除的是已经失效的中间计划,而不是任务方向本身。

判断 Context,只问一个问题

设计 Context 时,只需问:

"如果删掉这条信息,Agent 的下一步决策会不会明显变差?"

如果不会,它大概率不该继续留在 Context。

一个健康的 Context 通常是分层的:最上层是稳定规则,中间是当前任务与关键约束,下面是压缩后的任务状态和最近必要证据。历史信息、完整工具输出、过期计划放在外部存储,需要时再加载。

这和人的工作方式很像。我们不会为了写一封邮件,把过去十年的记忆全部加载到脑中;只会调取和这封邮件真正相关的部分。

Agent 的能力和模型有关,但系统质量也取决于一个问题:你是否在正确的时刻,把正确的信息放到了它面前。

与其追求"更大的 Context",不如建立 Context 管理规则:什么必须常驻,什么按需加载,什么需要压缩,什么执行后就退出。

一个成熟的 Agent,不是记住得最多,而是每一步都清楚自己现在需要知道什么。

相关推荐
小羊没烦恼!11 小时前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
回眸&啤酒鸭11 小时前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智11 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅11 小时前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein11 小时前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu11 小时前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台12 小时前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
尧炎科技12 小时前
防潮抗变形,就选纯品梅花全桉多层板
大数据
wukangjupingbb12 小时前
智能网联汽车安全能力框架
人工智能