[理论]大模型工具调用(function call)

[理论]大模型工具调用(function call)

_

比如我在服务器部署了openclaw机器人。

现在有两个模型

  • grok-4-thinking(不支持function call)

  • gpt-5.2 (支持function call)

如果我给机器人配置grok4,然后给它一个github地址,让他帮我部署项目,他会“纯理论”帮你部署。(误以为自己部署成功了)但是实际上什么也没发生,因为他没有调用工具的能力,无法帮你部署

如果我给机器人配置gpt-5.2,然后给它一个项目代码的地址(github地址),让他帮我部署项目,他就可以调用各种工具,使用各种命令,来完成任务。

所以如果你遇到了让AI做xxx事情,他总是说做不到,或者说自己做了,实际上什么也没做,不是AI蠢,只是它单纯不支持……

我们经常会遇到一个需求是AI和项目的结合,能查询数据库的内容。

两种方式:

(1)AI + SQL操作MCP 实现对数据库的操作,用户询问AI,AI能根据用户询问的内容,查询数据库(但是注意一个问题:AI能查询整个数据库,这意味着 会存在数据隐患

(1)Ai + Skill。目前(20260302)我对AI的项目做的不多,在我目前了解到的方式中,我觉得这是一个更适合 有多角色,具有权限控制系统 使用的方案(设想)。AI想要数据,不需要自己查询数据库。而是调用接口,所以我们要做的有三点

a、权限控制文档,声明这个系统有的角色,角色有的权限,可调用的接口(提供一个接口给AI获取当前登录人的角色以匹配预设参数进行控制)

b、接口文档——涉及到哪些业务板块的时候,AI能够调用哪些接口来快速获取数据回答用户的问题

c、补充与限制文档:一方面是映射关系补充给AI,AI根据接口拿到数据后能对某些数据做映射,让用户有更好的体验

如果说缺点的话,如果AI遇到没有合适接口的问题,可能就查询不出来;skill维护的工作量是比较大的,尤其是有接口变动,要及时同步给AI

https://www.xrilang.top/archives/guan-yu-aizhong-de-skill

分享我在这方面的一个实践

(1)最开始,我不懂这方面,随便选了一个模型,希望他能根据用户的提问,查询数据库的数据,做一个统计,结果AI告诉我做不到,他不支持function call

(2)我找到了一个支持function call 的模型(openai-oss-120b),让AI想办法实现能获取数据库数据的功能(我当时是做一个销售系统,需要支持 用户通过和AI对话能了解到库存信息,销售情况,商品信息)

AI的做法是现根据需求写后端接口,然后根据用户的问题去调用合适接口来获取数据(无skill,比较简单的demo了算是),能正确获取到数据。

[未完待续,后面有跟多实践了继续更新本文]

[解决方案]OpenClaw联网搜索功能 2026-02-27
[渠道分享]Skill下载网站和Skill推荐 2026-03-02

评论区