【AI coding 智能体设计系列-05】上下文治理:清空压缩摘要与预算控制

声明:本文为学习笔记与工程化延伸,核心脉络来自阿里云开发者技术号发布的《AI coding 智能体设计》,在此基础上按"可落地教程"的方式重组,并补充上下文治理的工程清单;如有出入,以原文与官方文档为准。原文链接见文末参考。

你可能见过这种"AI 越用越飘"的现象:

  • 前 10 轮很稳,后面开始忘记约束、答非所问
  • 同样的要求反复强调,但它还是"顺手多做"
  • 工具输出越喂越多,最后它只能抓住零碎信息

很多时候,不是模型突然变傻,而是上下文失控

上下文像内存,越堆越乱,最终必然溢出。

这篇我们只讲工程化做法:把上下文当成资源来治理


01|先建立"上下文四层"模型:你在喂的到底是哪一层?

建议把上下文分成四层(从稳定到易变):

  1. 硬规则(Pinned Rules):必须始终有效的约束
  2. 项目简报(Project Brief):仓库的关键事实(入口、模块职责、依赖)
  3. 任务状态(Task State):本次要做什么、做到哪一步、验收标准是什么
  4. 临时材料(Ephemeral Evidence):日志、长输出、临时试探结果

最常见的失控原因是:你把第 4 层堆满了,把 1/2/3 层挤掉了。

于是模型"只看见噪声",看不见规则。


02|清空(/clear):不是认输,是"避免串台"

什么时候应该清空?

  • 需求主题切换:从"修 bug"切到"写文档/做重构"
  • 约束变化:从"最小修改"变成"允许重构"
  • 输出开始反复矛盾:说明历史对话已污染推理

清空前建议做一件事:把硬规则 + 当前任务状态写成 10 行以内的固定块,清空后先贴回去。

可复制模板:

text 复制代码
【硬规则】
1) 不改 public API
2) 改动最小
3) 必须给验证步骤

【当前目标】
修复登录失败:定位原因→最小修复→补测试→给验证步骤

03|压缩(/compress):压掉"噪声",保留"约束与证据索引"

压缩不是把对话变短就行,而是要保留三类东西:

  • 硬规则(必须保留)
  • 结论的证据索引(来自哪个文件/哪个命令输出)
  • 未完成的任务清单(下一步要做什么)

一个"合格的压缩结果"应该能回答:

  • 我们要干什么?
  • 目前结论是什么、依据是什么?
  • 下一步验证/执行是什么?

如果压缩后这三件事答不上来,就等于把"脑子压没了"。


04|摘要层(Summary Layer):让大材料变可控

当你需要喂多个文件或长日志时,不要直接堆原文,先做摘要层:

文件摘要固定字段(建议)
  • 职责(1 句话)
  • 关键入口(函数/类/配置)
  • 关键边界条件(3 条以内)
  • 与当前任务的关联(Yes/No + 理由)
日志摘要固定字段(建议)
  • 失败发生在什么阶段(启动/鉴权/网络/解析/运行时)
  • 关键错误码/堆栈关键词
  • 最小复现步骤(如果能提炼出来)

摘要层的好处是:你可以把"事实"保留在少量 token 内,并且可复用。


05|预算控制:给每一轮"上下文配额"

一个很实用的习惯:每轮对话都设预算,避免越聊越膨胀。

你可以用"配额分配"来指导喂什么:

  • 30%:硬规则 + 任务状态
  • 40%:证据(关键代码片段/关键日志片段)
  • 30%:模型输出与下一步计划

当证据超过 40% 时,优先把证据做成摘要层,再喂回去。


06|"越聊越飘"的四个信号 & 处理方式

信号 1:它开始忘记你明确说过的约束
  • 处理:把硬规则提到最上方并要求复述;必要时清空后重贴硬规则
信号 2:它不再引用证据,只给结论
  • 处理:要求每个结论必须引用"文件路径+函数名/日志关键词"
信号 3:它反复建议同一动作,但执行结果不变
  • 处理:检查工具输出是否回填;裁剪长输出;明确下一步"最小探测动作"
信号 4:它开始扩大改动范围
  • 处理:重申"最小修改"与验收标准;先写 tasks 清单再逐项执行

07|你可以直接套用的"上下文治理检查清单"

  • 需求主题是否切换?切换则清空并重贴硬规则
  • 硬规则是否始终在上下文顶部?
  • 是否存在摘要层(文件/日志)?
  • 工具输出是否裁剪并可追踪?
  • 当前任务是否有可验证的 tasks 清单?
  • 输出是否包含验证步骤与回滚策略(如涉及改动)?

08|系列导航(收藏用)

  • 系列 01:从 Chat 到 Agent:4 个关键零件
  • 系列 02:命令系统:从提示词模板到可扩展子命令
  • 系列 03:@路径上下文:如何给材料而不喂爆上下文
  • 系列 04:MCP 与工具闭环:注册、调用、回填与失败恢复
  • 系列 05(本文):上下文治理:清空/压缩/摘要与预算控制
  • 系列 06:SubAgent:上下文隔离与模块化协作
  • 系列 07:规约驱动:让交付可复现的 Spec 工作流
  • 系列 08:迷你 CLI:从伪代码到最小可运行骨架

参考与致谢

相关推荐
hjs_deeplearning几秒前
文献阅读篇#14:自动驾驶中的基础模型:场景生成与场景分析综述(5)
人工智能·机器学习·自动驾驶
nju_spy13 分钟前
离线强化学习(一)BCQ 批量限制 Q-learning
人工智能·强化学习·cvae·离线强化学习·双 q 学习·bcq·外推泛化误差
副露のmagic26 分钟前
深度学习基础复健
人工智能·深度学习
番茄大王sc28 分钟前
2026年科研AI工具深度测评(一):文献调研与综述生成领域,维普科创助手领跑学术严谨性
人工智能·深度学习·考研·学习方法·论文笔记
代码丰42 分钟前
SpringAI+RAG向量库+知识图谱+多模型路由+Docker打造SmartHR智能招聘助手
人工智能·spring·知识图谱
北鸟南游1 小时前
Claude Code使用技巧-为Claude Code接入国产大模型
ai·ai编程·visual studio code
独处东汉2 小时前
freertos开发空气检测仪之输入子系统结构体设计
数据结构·人工智能·stm32·单片机·嵌入式硬件·算法
乐迪信息2 小时前
乐迪信息:AI防爆摄像机在船舶监控的应用
大数据·网络·人工智能·算法·无人机
风栖柳白杨2 小时前
【语音识别】soundfile使用方法
人工智能·语音识别
胡西风_foxww2 小时前
ObsidianAI_学习一个陌生知识领域_建立学习路径和知识库框架_写一本书
人工智能·笔记·学习·知识库·obsidian·notebooklm·写一本书