可控 Agent 工程:Context、Harness 与 Loop 设计
课程定位
面向两类开发者:已经在用 Claude Code、想把任务执行质量和自动化程度往上推一层的;以及需要设计更可控的 agent 工程体系、管权限、管成本、管多 agent 协作的。不讲怎么写提示词,讲设计信息、设计约束、设计循环。
你会学到什么
大多数人用 Claude Code 停留在"对话驱动"阶段——手动发任务、手动看结果。这门课的目标是让你往后退一步,从设计信息、设计约束、设计循环的角度来用 agent,把原来需要你盯着的工作,变成可以无人值守跑起来的系统。
课程结束后你会清楚三件事:loop 这个概念在工程上到底是什么、什么场景真正需要它、什么场景用不上别硬套;以及普通场景下最实用的落地路径——用 interview skill 把需求转成 spec.md,再用 /goal 执行,少盯、少手动、少返工。
学习大纲
模块一:Context Engineering(1 节)
1-1 核心原则
- Context Window 是零和资源,填什么、不填什么都是决策
- Context Rot 是什么、为什么越长越烂
- 关键信息放中间为什么会被遗忘(Lost-in-the-Middle 问题)
- 实操:CLAUDE.md 应该写什么 vs 不该写什么
模块二:Harness Engineering(3 节)
2-1 五层框架
- Memory / Tools / Permissions / Hooks / Observability 各层作用
- Harness vs Prompt 的区别:一个是建议,一个是强制
2-2 Hooks 深度
- PreToolUse hook:唯一能无条件拦截工具调用的机制
- 退出码 2 的语义和实际用法
- 实操:写一个阻断危险操作的 hook
2-3 权限与沙箱设计
- allow-list vs deny-list 策略取舍
- 多 agent 场景下权限边界怎么划
- 可观测性:怎么知道 agent 在干什么
模块三:Loop Engineering(4 节)
3-1 什么是 Loop,为什么现在可行
- Loop 的本质:cron + 决策者——模型每个 tick 决定下一步动作,不是硬编码的分支
- 为什么现在才行:context window 够大,一次能装下整个代码库;成本也降到合理区间
- 演化路径:ReAct → AutoGPT → ralph → /goal → 现在的编排 loop
3-2 两种 Loop 类型
- 确定性 loop:测试通过 / 代码编译 / 健康检查返回 200——成功条件客观,最安全,可完全无人值守
- 非确定性 loop:需要 verifier agent,写的 agent 和检查的 agent 不应是同一个(模型给自己打分会系统性偏宽)
- 如何选:有明确 pass/fail 信号就用确定性,目标模糊就别上 loop
3-3 Ralph 模式与 context reset
- 核心洞察:长 agent session 随 window 填满旧推理和死路而降级
- Ralph 的解法:每次迭代都是全新 agent,从磁盘读当前仓库状态,做一个工作单元,commit,退出
- 状态活在磁盘和 git 里,不活在对话里
- 实操:用 Claude Code 的
-p模式和/goal命令跑一个 ralph 式 loop
3-4 Loop 的成本控制与失效模式
- 成本重心转移到 loop 管理:限制迭代次数、检测无进展、设 dollar budget
- 最大的错误:在 verification gate 可信之前就让 loop 跑起来——一个烂 loop 会更快地 ship 烂代码
- 多 agent 监督结构:orchestrator + sub-agent + verifier agent 三角