游乐游手机版
首页/AI教程/文章详情

春哥Agent通关秘籍05:工具调用知识与思路

时间:2026-06-06 17:01
LLM 刚出来那会儿,大家都喜欢拿一些“刁钻”的问题去考它。最经典的一个就是:7 11 和 7 9 哪个数字更大? 你也可以翻开第一节课的check_env py代码,试着问AI:“今天是几月几日?” 早期的deepseek会自信地给你一个离谱的答案。 那时候,AI对这类需要精确计算或实时信息的问题

LLM 刚出来那会儿,大家都喜欢拿一些“刁钻”的问题去考它。最经典的一个就是:7.11 和 7.9 哪个数字更大?

春哥的Agent通关秘籍05:工具调用 Function Calling【知识与思路篇】

你也可以翻开第一节课的check_env.py代码,试着问AI:“今天是几月几日?” 早期的deepseek会自信地给你一个离谱的答案。

春哥的Agent通关秘籍05:工具调用 Function Calling【知识与思路篇】

那时候,AI对这类需要精确计算或实时信息的问题毫无防备,闹了不少笑话。

但到了Agent时代,这些根本不是问题。加减乘除、大小比较、日期查询,都能稳定搞定。不信你去DeepSeek官网或豆包问“今天是几月几日”,返回的都是准确结果。

春哥的Agent通关秘籍05:工具调用 Function Calling【知识与思路篇】

为什么?因为官网和APP都在底层用到了我们这节课要讲的核心能力:Function Calling(工具调用)。

一、Function Call的历史及现状

为了解决大语言模型早期在精确计算和实时信息获取上的短板,2023年6月13日,OpenAI在发布gpt-4-0613和gpt-3.5-turbo-0613时,推出了一个革命性的设计:Function Calling。

发布这个功能之前

开发者(包括早期的LangChain用户)想让AI调用工具,只能用ReAct模式——在System Prompt里写一大段话:“你是一个可以使用工具的AI。如果你想用计算器,请输出Action: Calculator, Input: 1+1。” 这种做法充满了痛点:

  • 不稳定:AI经常忘了格式,或者多打个标点符号。

  • 解析难:开发者得写复杂的正则表达式去抓取AI的回复。

  • Token浪费:工具描述全塞在Prompt里,占用大量上下文。

OpenAI的创新

OpenAI受Meta的Toolformer启发,通过微调让模型在底层“原生”支持了调用外部工具的能力。你不再需要在Prompt里求AI“请按格式输出”——只需要把JSON Schema传给API,模型就能极度稳定地输出结构化的JSON调用指令。

可以说,Function Calling是OpenAI将“学术界的Tool Learning”转化为“工业级API标准”的产物。它标志着AI Agent开发从“手搓Prompt的黑客时代”迈入了“标准化工程开发时代”。如今,Anthropic(Claude)、Google(Gemini)、DeepSeek等主流厂商都跟进并支持了这一标准。

二、Function Calling 基本流程

下面这张图展示了用户输入“北京今天天气如何”后,整个架构的流转:

春哥的Agent通关秘籍05:工具调用 Function Calling【知识与思路篇】

你会发现一个重要的定律:LLM对于Agent而言,其实是无状态的。 当Agent朝LLM发起会话时,每次都需要携带历史记录才能完成多轮会话;每次都需要携带注册到Agent中的Function列表;每次都需要写System Prompt。

春哥的Agent通关秘籍05:工具调用 Function Calling【知识与思路篇】

这带来了三个很大的负担:

  1. 人设负担:每次会话都要重新声明人设,不然LLM就不知道自己是干什么的。
  2. 技能树负担:每次会话都要重新声明所有Agent拥有的全技能JSON Schema,这会占用巨大的Token。
  3. 记忆负担:随着对话进行,messages列表会越来越长。

进而引发一系列问题:

  • 费钱:LLM按输入Token收费,第1句的历史在第100轮对话时被重复计费了100次。
  • 变慢:处理的文字越多,首字延迟(TTFT)越高。
  • 溢出:一旦超过模型上下文上限(比如32k或128k),模型就会报错或强制截断,导致“失忆”。
  • 变蠢:Token过长时,LLM对会话关键信息的注意力会被稀释。

来源:https://juejin.cn/post/7602800677712019490
上一篇LLM训练三阶段深度解析:AI如何实现类人对话 下一篇MCP模型上下文协议技术深度理解第一篇
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Continue Windows 本地安装配置教程 2026 最新版 下载地址与环境要求
AI教程 · 2026-07-02

Continue Windows 本地安装配置教程 2026 最新版 下载地址与环境要求

Continue是面向VSCode与JetBrains的AI编程插件,可连接云端或本地模型。Windows安装需准备编辑器、运行环境与模型服务,配置时应重点处理接口、索引、隐私与性能问题。

Tabnine新手从下载到首次运行保姆级安装教程
AI教程 · 2026-07-02

Tabnine新手从下载到首次运行保姆级安装教程

Tabnine是面向开发者的AI编程工具,适合在常见代码编辑器中辅助补全代码。安装前需确认环境、账号与编辑器版本,首次运行应完成登录、项目索引、补全测试和隐私设置。

Tabnine安装失败常见报错、日志排查与升级回滚方案
AI教程 · 2026-07-02

Tabnine安装失败常见报错、日志排查与升级回滚方案

Tabnine安装异常通常与编辑器版本、网络连接、权限、缓存或插件冲突有关。可按环境检查、日志定位、重装清理、版本切换和回滚流程逐步处理,并注意代码隐私与插件来源安全。

Tabnine插件安装配置全流程:浏览器编辑器扩展市场
AI教程 · 2026-07-02

Tabnine插件安装配置全流程:浏览器编辑器扩展市场

Tabnine适合在主流编辑器中提供代码补全与生成辅助。安装前需确认官方来源、账号策略和编辑器版本,按扩展市场或离线包方式完成配置,并注意隐私、授权与兼容问题。

Tabnine本地模型运行全攻略:下载配置与性能优化
AI教程 · 2026-07-02

Tabnine本地模型运行全攻略:下载配置与性能优化

Tabnine可在本地运行代码补全模型,适合重视代码隐私、网络环境不稳定或企业内网开发场景。配置重点包括版本确认、模型下载、路径设置、资源分配、IDE检查与性能调优。