AI魔法学院客服
大模型是怎么“用工具”的:一文讲透 Function Calling 策略
文章总结:Function Calling策略使大模型能准确调用函数处理用户问题,包括注册工具、生成调用指令、由智能体系统执行并返回结果给大模型。大模型负责理解问题、匹配工具、输出JSON调用指令,需经过结构化函数调用数据训练。Function Calling优点是标准、清晰、安全可控,是大模型的结构化、工程化解决方案。
 2025-07-25
收藏 复制地址分享海报


当用户说帮我算一下3377”,大模型为啥能准确调用函数来算?

这背后用的就是 —— Function Calling 策略

今天我们就把这个机制讲明白。


第一步:注册工具

开发者需要先把工具挂到菜单上,供大模型选择使用:

{
  
"name": "add",
  
"description": "执行加法运算",
  
"parameters": {
    
"type": "object",
    
"properties": {
      
"a": { "type": "number" },
      
"b": { "type": "number" }
    }
  }
}

👆这相当于告诉大模型:你有个叫 add 的工具,能处理两个数字相加。

注意几点:

  • 名字不能模糊(get_weather总比tool_1好)
  • 描述要清晰,别让模型靠猜

第二步:生成调用指令

用户提问:“3377等于多少?

大模型不是直接算答案,而是生成一个结构化的调用请求:

{
  
"tool_call": {
    
"name": "add",
    
"arguments": { "a": 33, "b": 77 }
  }
}

这叫工具调用意图,本质是模型说:我打算调用这个函数,参数如下。


第三步:谁来执行?

不是模型自己执行工具调用,而是外面的智能体系统根据 JSON 指令去找对应函数执行,然后把结果再交回给大模型。

可以简单理解成:

大模型:我判断要用加法函数。智能体:好的我来调。大模型:收到结果,我来组织答案。


模型到底做了什么?

Function Calling 策略下,大模型的角色只有三个:

  1. 理解你的问题
  2. 匹配哪个工具最合适
  3. 输出符合格式的 JSON 调用指令

想让模型调用得准,重点优化这两块:

  • 工具描述写清楚
  • 给系统写个引导 prompt,例如:

system_prompt = "你是一个可以调用工具的智能体。遇到适合使用工具的问题,请优先使用工具。"


训练依赖:模型得支持Function Calling

Function Calling 是靠模型训练出来的。只有经过结构化函数调用数据训练/微调的大模型才能做到:

·阅读工具描述

·匹配用户意图

·自主生成 JSON 函数调用格式

·执行结果后再续写内容

代表模型:GPT-4Claude 3qwen-plus等。


Function Calling 的优点:

  • 调用标准、结构清晰
  • 非常适合标准 API、函数库、数据库接口等
  • 不需要来回猜测模型到底想调用哪个函数
  • 更安全、可控

小结一句话:

Function Calling 就是让大模型当项目经理,提出清晰的调用需求,让智能体来跑流程。比起靠 prompt 引导的混沌行为,Function Calling 是结构化、可控、工程化的解决方案。



阅读 110

修改于20250715

原文出自:https://mp.weixin.qq.com/s/TUsiO3_KR5DdMvvUzmAj0w

本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。 客服请加微信:skillupvip
评论
1 评论
岁月流光2025/7/25 11:51:18
这Function Calling策略确实是个处理用户问题的好方法,结构清晰,分工明确,感觉很有潜力。

20秒读懂全文
伴读
### 1. 一句话总结文章摘要
文章介绍了大模型如何通过Function Calling策略准确调用函数来处理用户请求的机制。

### 2. 生成关键词和可能相关的关键词

**关键词**:
- Function Calling策略
- 大模型
- 工具注册
- 调用指令生成
- 智能体系统执行

**可能相关的关键词**:
- API调用
-
One More Thing
One More Thing again ...

找组织,加入AI魔法学院群