Agent Debt
What it is
Agent Debt(Agent 债务)指快速搭建的 Agent 工作流在初期"能跑"但积累的技术债务:脆弱的提示词、硬编码的上下文、无版本控制的工具链、缺乏测试的决策逻辑。gregisenberg 提出,Agent 时代的"快速原型"正在重演早期软件工程的"快速上线→后期重构"循环。
Why it matters
- 快速搭建的代价:用 200 行 prompt 搭建的 Agent 在 3 个月后变成不可维护的黑箱
- 上下文漂移:原始 prompt 基于特定模型版本,模型更新后行为 silently 改变
- 工具链锁定:Agent 依赖特定工具(如某版本的 Claude Code),工具更新后 Agent 失效
- 隐性成本:表面上是"零成本"的 AI 自动化,实际是人力维护成本被隐藏
债务类型
| 债务类型 |
表现 |
偿还成本 |
| 提示词债务 |
长 prompt 无注释、无版本 |
重构提示词架构 |
| 上下文债务 |
硬编码的上下文窗口 |
迁移到动态上下文管理 |
| 工具债务 |
依赖特定工具版本 |
抽象工具接口层 |
| 测试债务 |
无自动化测试 |
补全测试覆盖 |
| 知识债务 |
决策逻辑未记录 |
提取和文档化决策规则 |
与软件工程债务的对比
| 维度 |
传统技术债务 |
Agent Debt |
| 可见性 |
代码可审计 |
提示词/上下文黑箱 |
| 版本控制 |
Git 成熟 |
Prompt 版本控制不成熟 |
| 测试 |
单元测试/集成测试 |
Agent 行为测试仍在早期 |
| 重构 |
有明确最佳实践 |
Agent 重构方法论缺失 |
| 领域知识 |
代码即文档 |
提示词≠文档 |
缓解策略
- 提示词工程化:将 prompt 视为代码——版本控制、模块化、注释
- 契约化接口:AGENTS.md 定义 Agent 的行为边界
- 自动化测试:记录 Agent 的输入输出,检测行为漂移
- 渐进式复杂化:从简单 Agent 开始,逐步添加复杂度,而非一次性搭建复杂工作流
- 文档化决策:Agent 的每个关键决策记录到日志
Open questions
- Agent Debt 是否可以通过更好的工具(如 prompt 版本控制、Agent 测试框架)系统性解决?
- "快速搭建→积累债务→重构"是否是 Agent 时代的必然循环?
- 何时应该"偿还债务",何时应该"弃用重写"?