智能体上下文工程
大上下文窗口代表容量,不代表注意力。上下文工程要选择让模型完成下一次正确决策所需的最 小 token 集合。
五层上下文
- 稳定契约: 系统规则、仓库指令、权限与输出要求。
- 任务包: 目标、验收检查、约束和明确排除项。
- 工作集: 当前步骤需要的文件、符号、日志和文档。
- 近期证据: 经过压缩和结构化的工具结果与错误。
- 持久状态: 存在对话之外、按需重载的计划、检查点、决策与产物。
前两层变化慢,工作集随任务移动。持久状态避免把聊天记录变成数据库。
检索前先分配预算
可用以下起点,而不是填满标称窗口:规则、任务和验收约占 10–20%;当前代码或证据约 40–60%;近期工具结果与状态摘要约 10–20%;其余留给生成和意外证据。长输出和本地 KV cache 可能要求更小输入。
选择规则
- 先搜索和查看结构,再打开整份文件。
- 优先读取精确定义、调用方和测试,而不是倾倒整个仓库。
- 工具只返回有界结果:计数、相关片段、路径和稳定错误码。
- 事实保留原始来源,摘要明确标为摘 要。
- 从活动包中删除已过期计划和已替代错误。
- 压缩时显式保留未解决假设。
压缩而不失忆
上下文变大时,写入包含目标、已完成工作、修改文件、验证证据、风险和下一动作的检查点。保留标识符和准确命令,删除寒暄与废弃猜测。摘要有损,因此应链接持久产物,而不是取代它们。
常见失败包括上下文填塞、过期指令、无界日志、把不确定推论压缩成“事实”,以及只存在于隐藏对话里的状态。
对小型本地模型,上下文纪律往往比扩展标称窗口更有效。先使用原生上下文、窄工作集与短工具返回;只有测量证明任务需要时才启用 RoPE 扩展。