驾驭工程 (Harness)
驾驭工程 (Harness)
本章讲解 Harness(驾驭系统)的五要素与设计原则。
Agent 产品 = 模型 + Harness感知、推理、行动的能力来自模型训练,不是来自外部代码的编排。 但一个能干活儿的 Agent 产品,需要模型和 Harness 缺一不可。模型是驾驶者,Harness 是载具。
Harness 的五要素
Harness = Tools + Knowledge + Observation + Action Interfaces + Permissions| 要素 | 职责 | 举例 |
|---|---|---|
| Tools | 给 Agent 一双手 | 文件读写、Shell 执行、API 调用、浏览器控制、数据库查询 |
| Knowledge | 给 Agent 领域专长 | 产品文档、架构决策记录、风格指南、合规要求 |
| Observation | 给 Agent 感知能力 | git diff、错误日志、浏览器状态、传感器数据 |
| Action | 给 Agent 行动能力 | CLI 命令、API 调用、UI 交互 |
| Permissions | 给 Agent 边界 | 沙箱隔离、审批流程、信任边界 |
设计原则
工具设计
- 原子化:每个工具做一件事,做好
- 可组合:多个工具可以顺序/并行调用
- 描述清晰:name + description + input_schema 必须让 LLM 准确理解何时使用
- 安全内建:路径沙箱、超时控制、输出截断、命令白名单
知识策划
- 按需加载,不要前置塞入全部文档
- Agent 应该知道有什么可用(索引),然后自己拉取所需
- 知识与工具分离:知识管"知道什么",工具管"能做什么"
权限控制
- 沙箱化文件访问(限制工作目录)
- 对破坏性操作(删除、覆盖、外部推送)要求审批
- 在 Agent 和外部系统之间实施信任边界
💡 这也是安全工程与 Harness 工程的交汇点。