SH

Soloharness

概念 · 故事 · Agent

← 返回概念解读

Concept Fable精修版

工具调用

Tool Calling, Function Calling · AI agent platform

先读故事。这里不急着给定义,先让问题自己长出来。

寓言故事

只会开药方的医生,第一次走进药房

青河镇有一位年轻医生,诊断很准。病人说头晕,他能问出是不是昨夜受寒;商人说心口闷,他能判断是不是连日赶路。镇上的人喜欢他,因为他说得清楚,也很有耐心。

可是诊所开了三个月后,麻烦慢慢出现。医生每天能写很多药方,但药房在街对面。病人拿着药方过去,常常读错字、漏掉剂量,或者把早上的方子和下午的新方子混在一起。医生明明判断对了,最后病却没有好。

有人说,这不是医生的问题,是病人不够细心。于是诊所开始把药方写得更大、更工整。确实少了一些错,但新的问题来了:有些药需要现煎,有些药要查库存,有些药不能和别的药同服。医生写得再清楚,也不知道药房此刻到底有没有药。

后来医生试着在药方上写更多说明:如果没有甲药,就用乙药;如果病人发热,就少放半钱;如果药房排队,就先抓急症。药方越来越长,药房伙计越来越怕。因为他们不确定哪些话是建议,哪些话是命令,哪些情况需要回来问医生。

真正出事的一天,一个孩子同时拿着两张方子来到药房。旧方子写着继续服用,新方子写着立即停药。药房伙计问:听哪张?孩子说,都是医生写的。

镇长把医生、药房掌柜和伙计叫到一起。掌柜说:我们不是不信医生,而是不知道医生什么时候是在解释,什么时候是在下单;不知道这张单需要哪些字段;不知道缺药时能不能自动替换;不知道抓药后要把结果回给谁。

于是他们重新做了一套木牌。每张木牌只允许写固定几栏:病人编号、药材名称、剂量、禁忌、是否允许替代、是否必须回诊所确认。药房收到木牌后,只能按栏位执行;执行完要盖章回传;缺药、冲突、剂量异常,都必须把木牌送回医生那里。

一开始,医生觉得木牌太死板。他过去随手一句话就能表达很多意思,现在必须把意图拆成明确字段。但几周后,诊所安静了。药房知道什么时候该抓药,什么时候该拒绝,什么时候该请示。病人也不再靠猜测把话传来传去。

医生这才明白:真正让诊断变成治疗的,不是把药方写得更漂亮,而是让诊断能以药房听得懂、查得清、负得起责的方式发出请求。

揭示

这个故事讲的是:工具调用

工具调用,也叫 Function Calling,是模型以结构化方式请求外部函数、API、数据库、文件系统或业务系统来完成任务的机制。模型不再只是生成自然语言建议,而是输出符合预定义 schema 的调用请求,由运行时检查参数、权限和风险,再执行工具并把结果返回给模型。它是 Agent 从“会说”走向“会做”的关键接口。

它重要的地方在于:它不只是一个术语,而是在真实 AI / Agent 系统里会反复出现的结构性问题。理解它,才能判断什么时候该加模型,什么时候该改流程,什么时候该补治理。

隐喻映射

  • 年轻医生:大语言模型,能理解问题、生成方案和做出判断
  • 药方:自然语言输出,看似清楚,但容易被误读、漏读或过度解释
  • 药房:外部系统或工具,例如 API、数据库、搜索、邮件、CRM、文件系统
  • 病人传话:没有工具调用时,模型输出和真实执行之间靠人工搬运,容易出错
  • 越写越长的药方:用提示词和自然语言说明硬凑执行流程,复杂后很难稳定
  • 固定栏位木牌:函数 schema,规定工具名称、参数字段、类型和约束
  • 药房盖章回传:工具执行结果返回给模型,形成下一步决策依据
  • 缺药或剂量异常送回医生:工具调用失败、参数异常、权限不足或需要人工确认
  • 诊断变成治疗:模型能力通过工具调用进入真实业务动作

Soloharness 判断

这个概念的实战价值,是帮你把“看起来聪明的 AI 功能”拆成可交付、可验收、可治理的工作单元。

Function schemaagent runtimeAPI callstructured outputpermissionstool result