设计好用的工具

设计好用的工具:把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面,通过架构、轨迹和故障重放完成验收。

学习目标

  • 能解释“设计好用的工具”如何把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面
  • 能区分ACI、工具边界、poka-yoke、结构化错误、工具评测,并指出控制权、数据与副作用边界
  • 能固定输入与版本,沿以下证据定位首个分叉:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率
  • 能注入“提供多个功能重叠的万能工具,参数含糊,错误只返回 internal error”,完成阻断、恢复、复位和同输入重放

来源、课程编排与适用边界

“设计好用的工具”以Anthropic 公开全文《Building effective agents》为总纲,并用Anthropic《Writing effective tools for agents》核对本单元机制;涉及 MCP 的控制权边界再由MCP 2025-06-18 官方规范交叉检查。

这不是 Anthropic 出版的“19 章教材”。平台把公开文章、官方工具文档与协议规范重组为 19 个应用单元;下列 152 个节点是站内课程地图,不冒充原文目录。正文、代码、图表、实验和练习均为独立教学重写;产品接口、模型行为或协议版本变化时必须重新验证。

本单元的八个课程坐标

  • 设计好用的工具:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 1 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 先打个比方:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 2 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 先看全景:好工具的五个维度:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 3 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第一个取舍:工具粒度——不大不小才好用:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 4 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第二个关键:错误信息——决定 agent 能不能自己爬起来:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 5 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 第三个关键:返回值——给精料,别甩一地原料:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 6 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 动手看:错误信息的好坏,怎么让 agent 一个爬起来、一个躺平:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 7 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。
  • 代码对照:同一个工具,坏的写法 vs 好的写法:这是“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的第 8 个课程坐标;必须进入机制解释、实验观察或练习证据,不能只停在目录。

术语与运行合同

本页不变量是:工具名称、边界、参数和返回语义共同指向一个清晰动作,危险操作默认不可达。任何“成功”结论都要保存以下证据:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率,模型生成的计划或自信不能替代环境事实。

关键机制与可推翻实验

工具定义本身就是提示

模型依据名称、描述、参数和示例选择工具,它们需要与系统提示同等评测。

动手验证:只改工具描述,在冻结任务集上比较选择混淆矩阵。

贴近模型自然表达

要求复杂转义、手工行号或冗长 diff header 会制造格式错误。

动手验证:比较整段重写与复杂补丁接口的首轮成功率。

参数结构承担防错

绝对路径、枚举、互斥字段和资源标识可把错误挡在执行前。

动手验证:提交相对路径或冲突参数,确认 schema 直接拒绝。

结果只返回决策所需信息

原样倾倒大对象浪费上下文;应给摘要、稳定标识和按需深入入口。

动手验证:比较原始响应与紧凑结果的 token 和下一步正确率。

先预测,再操作三类证据

分步1 / 3

1. 架构与复杂度边界

在“设计好用的工具”中切换简单基线、受控工作流与自主循环,先预测“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”在哪个阶段需要增加控制权,再比较延迟、成本、可观测性和自主性。

Architecture decision laboratory

设计好用的工具

把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面

复杂度档位

不变量:工具名称、边界、参数和返回语义共同指向一个清晰动作,危险操作默认不可达

受控工作流:只激活能够由收益证明的阶段1任务轨迹2边界切分3参数防错4结果压缩5评测迭代蓝色表示当前方案承担的责任;虚线阶段仍留在系统边界外。关键证据:工具选择混淆矩阵、…
自主性46
延迟52
成本48
可观测78

最小可运行实现

const readFileTool = defineTool({
  name: "read_file",
  description: "读取工作区内一个绝对路径;目录请改用 list_directory",
  schema: z.object({ absolutePath: workspacePath }),
  run: async ({ absolutePath }) => ({
    content: await readLimited(absolutePath),
    truncated: false,
  }),
});

这段切片只暴露“把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面”的最小运行合同。交付版本还要补齐超时、密钥隔离、结构化日志、幂等和批量评测;缺少工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率时,代码能运行也不代表本章结论成立。

练习与答案

练习

问题 1:最小证明。 怎样用最少样本证明“工具名称、边界、参数和返回语义共同指向一个清晰动作,危险操作默认不可达”?

问题 2:课程覆盖。 设计好用的工具、先打个比方、先看全景:好工具的五个维度、第一个取舍:工具粒度——不大不小才好用、第二个关键:错误信息——决定 agent 能不能自己爬起来、第三个关键:返回值——给精料,别甩一地原料、动手看:错误信息的好坏,怎么让 agent 一个爬起来、一个躺平、代码对照:同一个工具,坏的写法 vs 好的写法如何进入可操作验证?

问题 3:恢复闭环。 怎样证明“提供多个功能重叠的万能工具,参数含糊,错误只返回 internal error”已经修复?

本章回顾

  • “设计好用的工具”的主问题是把工具设计成模型容易选、难以误用、结果紧凑且错误可恢复的操作界面。
  • 核心不变量是工具名称、边界、参数和返回语义共同指向一个清晰动作,危险操作默认不可达。
  • 首要反例是提供多个功能重叠的万能工具,参数含糊,错误只返回 internal error。
  • 最小证据包包含工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

名词解释

本章出现的专业名词,用大白话再讲一遍。

ACI

面向智能体设计的计算机操作界面。在“设计好用的工具”中必须能按以下证据重新定位:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

工具边界

一个工具负责和明确不负责的动作范围。在“设计好用的工具”中必须能按以下证据重新定位:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

poka-yoke

通过接口结构让常见错误更难发生的防错设计。在“设计好用的工具”中必须能按以下证据重新定位:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

结构化错误

包含错误类型、可否重试和恢复提示的结果。在“设计好用的工具”中必须能按以下证据重新定位:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

工具评测

在代表轨迹上测量选择、参数、结果理解和恢复的过程。在“设计好用的工具”中必须能按以下证据重新定位:工具选择混淆矩阵、参数错误率、恢复率、token 成本、权限拒绝与任务成功率。

阅读导航

← Function Calling 原理 · MCP:模型上下文协议 →

讨论

评论区加载中…