Guides vs Sensors:Harness 的双核控制框架

Guides vs Sensors:Harness 的双核控制框架

系列第 2 篇 · 前置:第 1 篇 Harness Engineering 入门:Agent = Model + Harness


上一篇讲了 Harness 是什么------包裹在模型外面的七层系统。这一篇讲 Harness 最核心的控制框架,也是整个领域最有用的心智模型:Guides vs Sensors


一、两种控制:前馈 vs 反馈

Harness 通过两种互补的控制方式来约束 Agent:

swift 复制代码
Guides(前馈控制)------ 在 Agent 行动之前引导它
  目标:提高第一次就做对的概率
  例子:CLAUDE.md、架构文档、Skill 指令、bootstrap 脚本、LSP 集成

Sensors(反馈控制)------ 在 Agent 行动之后观察它,让它能自我修正
  目标:发现做错了,反馈给它改
  例子:linter、类型检查、测试、代码评审 Agent、LLM-as-judge

一句话区分:

  • Guides 管"做之前" ------告诉它该怎么做
  • Sensors 管"做之后" ------检查它做得对不对

二、为什么必须两个都有

只有 Guides 没有 Sensors,是希望(hope)------靠模型自觉。

只有 Sensors 没有 Guides,是空转(thrashing)------瞎试不收敛。

只有 Guides(没有反馈)= 希望

objectivec 复制代码
你写了一份完美的 CLAUDE.md:
  "代码必须遵循 MVVM 架构,token 必须持久化,UI 不能自己判断登录状态"

AI 读完了,开始写代码。
→ 它写得对不对?你不知道。
→ 它可能遵守了,也可能忘了。
→ 你只能"希望"它遵守了。

这就是 hope------把质量寄托在模型的记忆力和自觉性上。

只有 Sensors(没有引导)= 空转

arduino 复制代码
你什么规范都没写,只配了一堆检查工具:
  linter、类型检查、单元测试、代码评审 Agent

AI 开始写代码。
→ 测试失败了 → AI 改 → 又失败了 → 又改
→ 它不知道"正确长什么样",只能瞎试
→ 改了五轮还在同一个地方打转

这就是 thrashing------有反馈但没有方向,反复试错但不收敛。

两个都有 = 闭环

arduino 复制代码
Guides 告诉 AI "正确长什么样"(MVVM、token 持久化、状态驱动)
AI 按 Guides 写代码
Sensors 检查 "写出来的对不对"(编译、测试、评审)
不达标 → Sensors 给出具体反馈 → AI 对照 Guides 改
→ 收敛到达标

一个真正的 Harness 是闭环:Guides 给方向,Sensors 给反馈,两者配合才能收敛。


三、Guides 和 Sensors 各有两种类型

不管 Guides 还是 Sensors,都分两种:

类型 性质 速度/成本 例子
Computational(计算型) 确定性,CPU 跑,可靠 毫秒到秒,便宜 测试、linter、类型检查、正则守卫
Inferential(推理型) 非确定性,GPU/NPU 跑,需要判断 慢,贵 语义分析、AI 代码评审、LLM-as-judge

Guides 的两种类型

objectivec 复制代码
Computational Guides(确定性引导):
  bootstrap 脚本(自动生成项目骨架)
  LSP 集成(实时提示 API 用法)
  代码模板(固定文件结构)
  → 这些是"程序强制"的引导,不会忘

Inferential Guides(推理性引导):
  CLAUDE.md(模型读了自己理解)
  架构文档(模型读了自己参考)
  Skill 指令(模型读了自己遵守)
  → 这些是"建议",模型可能忽略

Sensors 的两种类型

bash 复制代码
Computational Sensors(确定性检查):
  ./gradlew assembleDebug(编译通过吗?)
  ./gradlew test(测试通过吗?)
  ktlint / detekt(代码规范吗?)
  → 客观、可靠、便宜,每次都该跑

Inferential Sensors(推理性检查):
  独立评审 Agent("这段代码架构合理吗?")
  LLM-as-judge("这个回答准确吗?")
  语义分析("这个函数职责单一吗?")
  → 主观、有判断、贵,留到检查点跑

四、设计原则:计算型每次跑,推理型留检查点

反面教材:

arduino 复制代码
错误做法 1:全靠 Inferential
  每次改完代码都让一个独立评审 Agent 审一遍
  → 慢、贵、而且评审 Agent 自己也可能出错
  → 一个简单的编译错误,花 30 秒等 LLM 评审才发现

错误做法 2:全靠 Computational
  只跑编译和测试,不做任何语义评审
  → 编译通过、测试通过,但架构一塌糊涂
  → "能跑"不等于"做得对"

正确做法:

复制代码
每次改代码后:
  → 跑编译(Computational,2秒)
  → 跑单元测试(Computational,10秒)
  → 跑 linter(Computational,1秒)

每轮迭代结束时(检查点):
  → 独立评审 Agent 对照标准审一遍(Inferential,30秒)
  → 只在检查点跑,不每次都跑

Computational 防"明显错",Inferential 防"微妙错"。 前者是底线,后者是质量上限。


五、用登录模块看 Guides vs Sensors 怎么落地

拿之前 Loop 系列里的登录模块当例子,看看一个完整的 Harness 控制闭环长什么样:

Guides(行动前引导)

bash 复制代码
Computational Guides:
  项目骨架已生成(Compose + MVVM + Hilt)
  .editorconfig 固定代码风格
  LSP 实时提示 API

Inferential Guides:
  CLAUDE.md:"登录模块遵循 MVVM,UI 只看 ViewModel 状态"
  Skill/login-dev:"token 用 SharedPreferences,7 天过期"
  设计文档:八条验收标准

Sensors(行动后检查)

bash 复制代码
Computational Sensors(每次改完都跑):
  ./gradlew assembleDebug → 编译通过
  ./gradlew test → 单元测试通过
  ktlint → 代码规范

Inferential Sensors(每轮结束跑):
  独立评审 Agent 对照八条标准检查
  → "token 用了内存变量,重启丢失 | 严重"
  → "UI 自己维护登录判断,应靠 ViewModel | 中等"

闭环

arduino 复制代码
Guides 告诉 AI "八条标准是什么"
AI 写代码
Computational Sensors 查 "能不能跑"(编译/测试)
Inferential Sensors 查 "做得对不对"(独立评审)
不达标 → 反馈带位置+证据 → AI 对照 Guides 改
→ 直到八条全过

六、一个最容易犯的错:把 Guides 当 Sensors 用

objectivec 复制代码
错误:在 CLAUDE.md 里写 "写完代码后请自行检查是否符合规范"
  → 这是让模型自己当 Sensor
  → 同一个模型写的代码,同一个模型检查
  → 就是 Loop 系列里讲的"自己评自己"→ 假达标

正确:用独立的工具/Agent 当 Sensor
  → 编译是工具跑的,不是模型说的
  → 测试是工具跑的,不是模型说的
  → 评审是另一个 Agent 做的,不是写代码的那个

Guides 是"告诉模型规则",Sensors 是"独立于模型验证规则"。 让模型自己验证自己,等于没有 Sensor。


七、这一篇总结

markdown 复制代码
1. Harness 通过两种控制约束 Agent:Guides(前馈)+ Sensors(反馈)
2. Guides 管"做之前"------给方向;Sensors 管"做之后"------给反馈
3. 只有 Guides = hope(靠自觉);只有 Sensors = thrashing(瞎试)
4. 两者配合才是闭环,才能收敛
5. 每种控制都分 Computational(确定性/便宜)和 Inferential(推理/贵)
6. 设计原则:Computational 每次跑,Inferential 留检查点
7. Guides 不能当 Sensors 用------让模型自己查自己 = 假达标

下篇讲 Harness 的七层解剖------从 Instructions 到 Observability,每层具体是什么、怎么落地、常见坑在哪。

相关推荐
AIGCmagic社区1 小时前
DeepSeek-V4.1-Flash 技术报告:输入激活 8B、KV 缓存每 token 890 字节
人工智能·aigc·ai多模态
Behaviour1 小时前
豆包手机助手消费者版发布:首款量产 AI 智能体手机 9 月 16 日开售
人工智能·语言模型·aigc·ai编程
这个DBA有点耶2 小时前
AI Agent操作数据库的安全边界:只读沙箱、操作预演与自动回滚如何落地?
数据库·sql·程序人生·aigc·数据库架构·dba
xiezhr3 小时前
微信里多了个[小微],可以帮你看朋友圈、发消息、点外卖了
微信·aigc·agent
日常通勤穿搭11 小时前
2026 电商 AI 作图工具推荐|淘宝抖音跨境商品主图 AI 生图测评
人工智能·aigc·ai工具·电商美工
郑州光合科技余经理12 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
小虎AI生活13 小时前
微信 AI 社交灰度测试:企业 AI 落地真正的门槛在知识库治理
ai编程
蚕豆糯米饭14 小时前
Github Copilot 研发效能提升实战指南
ai·github·copilot·ai编程
Ray Wang15 小时前
Agent学习
ai编程