Intent Debt(意图债)
意图债(Intent Debt) 是指将团队约定、架构决策、“我们不这么做是因为那次事故"等隐性知识存储在人脑中而非外部文档里,导致 AI Agent(智能体) 每次新会话都必须从零重新猜测这些规则所积累的系统性成本。
为什么会产生意图债
Agent 的每次会话都从空白上下文开始。你没说清楚的地方,它会用一个"自信的猜测"来填上——通常是合理的,但未必符合你的项目实际约定。
意图债来自两类未外化的知识:
- 显性约定:代码风格、命名规范、测试覆盖要求、构建流程
- 隐性经验:「这个 API 不能直接调,上次我们因此出了事故」、「这个模块的修改必须同时更新 docs/」、「数据库迁移一定要先跑 staging」
显性约定容易意识到需要写下来;隐性经验往往只在 Agent 犯错、复现老问题时才发现应该早点说清楚。
意图债的表现
- 同样的约定每次新会话都要重新告知 Agent
- Agent 用"自信但错误"的方式处理你以为约定俗成的边界情况
- 同一类错误在不同会话中反复出现
- Agent 每次开始新任务时花大量 token 推断项目结构和规则
解决方案:分层外化
偿还意图债不是把所有内容塞进一个大文件,而是按适用范围外化:
| 知识类型 | 合适载体 |
|---|---|
| 每次会话都要遵守的项目约定 | CLAUDE.md、AGENTS.md |
| 只适用于某类文件的规则 | .claude/rules/ 路径作用域规则 |
| 多步骤流程或专项领域知识 | Skill(技能) |
| Agent 在工作中发现的经验和偏好 | Agent Memory(Agent 记忆) |
| 必须强制执行的安全边界 | Hook、权限配置、沙箱 |
Claude Code 的实现能说明这种分层:人维护 CLAUDE.md 表达稳定意图,Claude 用 Auto Memory 积累工作中发现的模式,专项流程按需加载 Skill。指令和记忆都只是上下文;真正不可违反的约束必须进入确定性的执行层。
| 未外化 | 已分层外化 |
|---|---|
| 每个周期从零推导约定 | 每次运行加载或按需读取已沉淀的意图 |
| 隐性知识存在人脑 | 知识进入可审计、可维护的文件或配置 |
| 意图债随时间累积 | 规则、Skill 和 Memory 随校正持续完善 |
| Loop 复利消耗 | Loop 复利积累 |
意图债与理解债的区别
| 维度 | 意图债 | Comprehension Debt(理解债) |
|---|---|---|
| 谁付出代价 | Agent(每次重新猜测) | 工程师(不理解 AI 产出) |
| 代价形式 | Token 浪费 + 错误决策 | 认知缺口 + 无法诊断问题 |
| 解决方式 | 把知识写进 Skill/文档 | 主动阅读和调试 Agent 产出 |
| 风险时机 | 任务开始时(上下文错误) | 任务完成后(结果难以理解) |
两种债都是Loop Engineering(循环工程)长期运行时必须主动管理的系统性成本。
相关概念
- Loop Engineering(循环工程) — 通过规则、Skills、Memory 与执行约束持续偿还意图债
- Claude Code — CLAUDE.md、路径规则和 Auto Memory 的具体实现
- Skill(技能) — 多步骤流程与专项知识的按需载体
- Agent Memory(Agent 记忆) — Agent 自己发现的经验与模式的持久层
- Comprehension Debt(理解债) — 意图债发生在任务开始前,理解债发生在任务完成后
- Context Engineering(上下文工程) — 意图债可视为上下文工程中"稳定知识注入"未完成时的系统性缺口