Tools 是 Model 通过结构化 function calling 调用的能力:读文件、搜索、执行终端、编辑代码、启动子 Agent 等。
Harness 定义 schema、执行实现、把结果序列化为 tool 角色消息回灌 Model。
Model 输出 tool_calls ──► Harness 路由 ──► 执行 ──► tool results ──► Model
| 类型 | 示例 | 特点 |
|---|---|---|
| 只读 | Read, Grep, Glob | 低风险,可并行 |
| 写入 | Write, StrReplace | 需沙箱与 diff 审查 |
| 环境 | Shell | 副作用最大 |
| 元 | Task(子 Agent) | 编排入口 |
- Schema 即文档:参数名、枚举、必填项清晰。
- 幂等与边界:写工具说明是否可重复调用。
- 输出截断:大输出应摘要或分页,保护上下文窗口。
- 并行:只读工具鼓励 batch,降低延迟。
内置 Tools 延迟低、与 IDE 深度集成;MCP Tools 适合外部系统。Harness 对 Model 呈现统一「可调用面」。
- tool-design.md — 工具契约设计