第 01 模块 · 4 节

Agent 调试与迭代

《Codex 生产级工程》01 自定义 Agent 构建 · 本节时长 32 分钟

Agent 是「养」出来的,不是「配」出来的

你配好了一个 Agent,但它不一定一次就对——可能误判业务、可能越界、可能输出不合规。别灰心,Agent 本来就要迭代。 这一节讲怎么调试和迭代,让它越用越准。

核心心态:每次「不对」,都是一次改进的线索。

贯穿项目deploy-bot 第一次跑几乎肯定不完美:可能部署顺序错了、可能没上报结果、可能误把 staging 当 production。这一节教你用「真实部署失败」驱动它迭代,让 deploy-bot 从「能跑」长成「靠谱」。

Agent 常见的四类问题

问题 症状 方向
误判 识别错了业务类型 规则不够具体
越界 做了配置说不该做的 边界没写清
不合规 输出格式/流程不对 规则/步骤含糊
不稳 时好时坏 规则太多或冲突

先定位是哪类,再对症。

对 deploy-bot,把这张表翻译成部署语境:

问题 deploy-bot 的症状 方向
误判 判断「门禁过了」实际没过 门禁判据写具体
越界 越权碰了生产/数据库 权限边界收紧
不合规 部署顺序乱、没上报 流程步骤写清
不稳 同一代码这次成下次败 规则冲突/环境不一致

调试的步骤

1. 复现问题:拿真实任务再跑一遍
2. 定位环节:是识别/规则/工具/边界的哪一环出错
3. 查配置:看对应的规则写清楚没有
4. 改配置:一次改一处
5. 再验证:跑真实任务确认改对了

一次改一处,否则不知道哪个改动起作用。

deploy-bot 的调试尤其要「可复现」:部署失败时先保留当时的版本号、日志和触发条件,否则你没法确定下一次「改好了没有」。


迭代的三原则

1. 用真实案例驱动

别凭空改配置,用真实出错的案例驱动:哪个案例错了,就针对它调规则。

对 deploy-bot 就是:哪次部署出过事故,就针对那次事故改规则。比如「上次把未过门禁的提交部署了」,那就把「必须验证明白门禁通过」这条规则再写死一点。

2. 规则越具体越好

「误判」往往是因为规则太模糊。把「怎么判断」写具体:

❌ 「识别紧急工单」 ✅ 「包含『故障/停机/宕机』等词,或优先级字段为紧急,判定为紧急工单」

对 deploy-bot:

❌ 「部署前确认代码没问题」 ✅ 「仅当 npm test 退出码为 0 且覆盖率 ≥ 80%,才允许部署 staging」

3. 加边界 + 转人工

拿不准的,别让它硬猜,配置「不确定时转人工」

⚠️ 无法确定工单类型时,标记「需人工确认」,不要自行分派。

对 deploy-bot 更是铁律:

⚠️ 任何一步不确定(环境、版本、门禁状态不清)时,停止部署并上报人工,绝不硬闯。


一个迭代示例

问题:工单 Agent 把「退款咨询」误判成「紧急」。
定位:规则只写了「紧急词」,没排除退款语境。
改:紧急判定加排除——「仅当包含故障类词且不涉及退款时判定紧急」。
验证:再跑退款案例,判定为普通,通过。

换到 deploy-bot:

问题:deploy-bot 把 staging 的改动误部署到了 production。
定位:配置没写清「只有验收通过才允许 production」。
改:流程加硬性判断——「production 部署前必须验明 staging 验收状态 = 通过」。
验证:再造一次「验收未通过」的场景,deploy-bot 拒绝部署 production,通过。

一次改一处,验证通过。


建立「迭代记录」

给 Agent 维护一份变更记录,追踪它怎么长大的:

v1.0 初始配置
v1.1 修复退款误判(+排除规则)
v1.2 增加转人工兜底

有记录,才能复盘「为什么改、改得对不对」。

deploy-bot 的迭代记录尤其值钱——因为部署事故是重放风险最高的。建议把每次部署失败/回滚都登记:

deploy-bot 迭代记录
v1.0 初始配置
v1.1 修复未验门禁就部署(+门禁硬判断)
v1.2 补 staging/production 密钥分离
v1.3 增加生产部署人工确认兜底

常见坑:出了事故「拍脑袋改配置」,一次改好几处

最大的调试坑,是出事之后慌不择路,一次性改掉好几条规则,结果根本不知道哪条起作用。

真实场景:deploy-bot 把 staging 改部署到了生产。你慌了,一口气改了部署顺序、加了权限判断、又改回滚逻辑。下次再出问题,你完全分不清是哪个改动带来的。

为什么:同时改多处 = 变量太多,无法归因。「一次改一处 + 每处单独验证」,是调试的基本纪律。

怎么破:每次只动一处,改完立刻用真实场景验证,通过才进入下一处。给每次改动留一句记录(改了什么、为什么、验证结果)。改坏了也能精准回退,而不是整个推倒。


小结

  1. Agent 要迭代,别指望一次配对
  2. 四类问题:误判、越界、不合规、不稳,先定位
  3. 调试:复现 → 定位 → 查配置 → 一次改一处 → 验证
  4. 用真实案例驱动、规则写具体、加转人工兜底、记迭代记录
练习给 deploy-bot 做一次完整调试。①三步走:a. 挑一个真实失败案例(如「未验门禁就部署」);b. 按「复现 → 定位 → 查配置 → 改一处 → 再验证」跑一遍;c. 把改动记进它的迭代记录 v1.x。②怎么判断做对了:能说清「这个案例错在哪一层、改了哪条规则」;改完后用同一个失败案例重跑,结果变对;迭代记录里多了一行带原因的改动。③卡住了怎么办:定位不到是哪一层,就先把日志和触发条件记下来,用「排除法」一次关一个环节重试;改了一处没生效,先确认验证场景真能复现,再改下一处。

下一模块进入「CLI 与自动化」。