K2.1.1 Task 2.1

简略描述 30% 误路由,详细描述接近零

模型根据工具描述来选择工具。简略描述(“Extracts data from invoice documents”)导致 30% 误路由。详细描述带用途、输入、输出、示例和边界条件能产出 95%+ 的准确率。描述是模型和工具之间的接口——把它当最重要的字段来对待。

有效描述的五个要素

  1. 用途:工具做什么
  2. 输入格式:期望什么数据、什么形式
  3. 输出格式:返回什么
  4. 示例用例:什么时候用
  5. 边界条件:什么时候不该用,以及该用哪个替代工具

示例:“搜索文件内容中的模式,如函数名、错误信息或 import 语句。输入:正则表达式。用于:找一个函数的所有调用方、定位错误信息、追踪 import。不要用来按名称找文件——用 Glob。”

“不要用来”这行直接防止了最常见的混淆。

简略描述导致误路由

三个提取工具的描述都是”Extracts data from [type] documents”,只差一个词。生产数据:30% 的合同误路由到发票工具,20% 的报告误路由到合同工具。 选对工具时准确率 95%+——问题在选择,不在执行。

修复:用文档特征扩展描述。发票有行项目、数量、合计、付款条款。合同有当事方、义务、条款、签名。模型需要这些信号来区分它们。

模糊描述 ≠ “模型应该自己搞定”

通用名称(“Search tool A” / “Search tool B”)给零信息。Unix 命令名(“grep” / “find”)依赖隐式知识。“搜索代码库” vs “查找文件”无法清晰区分内容搜索和路径匹配。模型需要显式、无歧义的描述。

工具拆分:一个工具服务多种操作

一个通用 analyze_document 工具处理数据提取、摘要和声明验证。35% 参数错误率,因为模型无法判断该用哪种操作模式。

修复:拆成三个专用工具(extract_data_pointssummarize_contentverify_claim),各有聚焦的描述和定制的输入 schema。模型不需要猜操作模式——每个工具有一个清晰的用途。错误率降到接近零。

拆分条件:一个工具服务多种不同的操作,各有不同的参数要求。模型在单个工具内切换模式时很吃力。

描述质量 → 准确率管线

工具描述不是写给人看的文档。它们是模型用来决定哪个工具适合当前任务的主要输入。一个 6 工具系统的数据:

  • 40-50 词描述(用途、I/O、消歧)的工具:93-96% 准确率
  • 5-8 词描述(“Runs analysis”)的工具:52-61% 准确率

工具描述里的每个词都通过提升选择可靠性来证明自己的价值。


一句话总结: 详细描述(用途、I/O、示例、“不用于”边界)产出 93-96% 选择准确率 vs 简略的 52-61%——参数错误率超 10% 时应把通用多用途工具拆成聚焦的专家工具。