直接答案
编码代理上下文工程,是对仓库指令、任务证据、外部参考和工具输出进行有意识的选择、排序与生命周期管理。目标不是塞入尽可能多的 Token,而是让活跃上下文足够、最新、可归因,并避免过期或不可信内容悄悄主导任务。
关键结论
- 把仓库规则、任务证据、外部参考和代理工作笔记视为不同的上下文类别。
- 按需加载权威资料,并记录每项关键结论来自哪个文件、命令或 URL。
- 把长期有效的决策写入经过审查的文件或交接产物,不依赖会话记忆。
- 在阶段切换时重建上下文,并确认过期假设已经移除。
关键事实
这篇内容解决什么问题
帮助团队为长任务与大型仓库建立可重复的上下文边界。
核验范围与限制
- 证据类型
- 官方文档协议规范
- 核验范围
- 本文依据 Codex、Claude Code 已公开的上下文入口与 MCP 工具、资源边界整理架构方法。
- 限制与失效条件
- - 不声明任何具体模型的上下文上限。
- - 不把某一种检索策略描述为普遍最优。
- - 客户端升级后仍需在本地重新核对行为。
按信任等级和寿命划分上下文类别
仓库指令表达长期约定,任务证据描述当前代码与故障,外部资料描述上游契约,工具输出是一次观察,代理笔记则是暂时解释。把这些内容混成一段对话后,就很难判断哪些信息仍然有效、哪些具有权威性、哪些可以安全复用。
为每类内容指定所有者、来源、刷新条件与保留规则。构建命令可能几个月不变,而修复后的错误堆栈必须立即刷新。Issue 评论或网页中的文字只能作为证据,除非维护者明确把它提升为指令。
建立最小但充分的工作集
先加载任务、允许修改的路径、验收命令以及最近的仓库指令,再让代理查看相关入口,而不是一开始读取整棵目录与全部文档。只有当决策确实依赖某份资料时才引入它,并把 URL 或文件路径与结论一起保存。
“最小”不能以遗漏为代价。包级测试命令或生成代码规则若未进入工作集,造成的损失会超过少量冗余文本,因此需要结合仓库结构和变更边界检查上下文是否充分。
- 当前任务与明确的非目标
- 适用的指令文件
- 相关代码与测试
- 已经核对的外部契约
- 验收与回滚证据
持久化决策,而不是保存整段对话
跨会话任务应留下简洁交接:当前 commit、已作决策、证据、改动文件、执行命令、未决问题和下一步。交接内容必须可审查且不含凭据。新会话应能依靠这份产物与仓库权威文件恢复工作,而不需要重放全部探索过程。
只有经过人类审查的稳定约定才进入长期文档。临时假设保留在任务范围内,证据变化后应删除或明确标记为已失效。
在阶段边界刷新上下文
从诊断进入实现、从实现进入验证,或切换子系统时,都应重建工作集。重新读取已经变化的文件并再次运行权威命令,不要信任缓存输出。这样才能让结论与代理真正修改的仓库状态一致。
- 01盘点列出活跃来源,标记所有者、时间与信任等级。
- 02裁剪移除过期日志、推测笔记与无关参考。
- 03重载读取当前代码、适用指令和最新验证结果。
- 04交接把决策与开放风险写入可审查的持久产物。
让上下文质量可以被检查
审查关键决策是否引用来源、适用指令是否加载、最终验证是否基于当前 diff,以及敏感或不可信文字是否被错误写入长期指令。这些控制检查上下文流程,不假装测量模型不可见的内部推理。
- 每项关键结论都能指向文件、命令或官方 URL。
- 交接明确记录仓库 revision。
- 不可信内容始终带标记,且不会自动升级为指令。
- 最终检查发生在最后一次改动之后。
官方来源与核验范围
本文以公开官方文档为事实依据;命令和配置可能随客户端版本变化,执行前请同时核对对应来源。
查看技术核验方法