AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 数学基础
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Agentic AI
  • Transformer
  • PyTorch
  • HuggingFace
  • LangChain
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • Cursor
  • 概念
  • 意图识别
  • 工具
  • 学习路线
  • PyTorch 资料
  • 公式学习
  • PyTorch 基础练习
  • AI For Everyone

    • 什么是AI
    • 构建 AI 项目
    • 在公司内构建AI
    • AI与社会
  • AIGC_2024大会

    • 大模型下的软件工程:进展与挑战
    • 大语言模型智能体高效协作框架
    • 生成式人工智能的数学与统计学基础
    • 脑认知启发的人工智能
    • LLM Reasoning and Generalization
  • AIGC_2025大会

    • 构建人工智能安全的微基准测试
    • 大语言模型与软件自动化的变革与趋势
    • 基于大模型的代码生成和摘要技术
  • Agentic AI

    • 智能体工作流

      • 什么是智能体 AI?
      • 自主程度
      • 智能体 AI 的优势
      • 智能体 AI 的应用
      • 为什么需要任务分解?
      • 评估智能体 AI
      • 智能体设计模式
    • 反思设计模式

      • 反思如何改进任务输出
      • 为什么不一次直接生成?
      • 图表生成工作流程
      • 评估反思的影响
      • 使用外部反馈
    • 工具使用

      • 什么是工具
      • 创建工具
      • 工具调用语法
      • 代码执行
      • MCP
    • 构建智能体 AI 的实用技巧

      • 评估(Evals)
      • 错误分析与优先级
      • 更多错误分析示例
      • 组件级评估
      • 如何解决问题
      • 延迟与成本优化
      • 开发流程总结
    • 高度自主智能体模式

      • 规划工作流
      • 创建并执行 LLM 计划
      • 基于代码执行的规划
      • 多智能体工作流
      • 多智能体通信模式
      • 总结

工具使用 Tool Use

核心思想:工具即函数,模型自主决策

关键在于,模型拥有自主决策权。它不再是被动地根据内部知识库生成答案,而是能主动判断:在当前情境下,是否需要、以及应该调用哪个工具来完成任务。 就像人类借助锤子、扳手等工具能完成徒手无法做到的事情一样,语言模型通过调用“函数工具”,也能突破自身训练数据和能力的限制,变得无比强大。

简单工具执行流程

例子:工具使用的运作流程 以“现在几点?”为例,清晰展示了工具使用的完整闭环:

  1. 输入提示 (Input Prompt): 用户提问 “What time is it?”。
  2. 模型决策 (Model Decision): LLM 意识到自己无法提供实时时间,于是决定调用名为 get_current_time() 的工具。
  3. 工具执行 (Tool Execution): 系统执行该函数,返回精确的时间值,例如 15:20:45。
  4. 结果反馈 (Result Feedback): 这个时间值被作为新的上下文(对话历史)回传给 LLM。
  5. 最终输出 (Final Output): LLM 结合这个新信息,生成自然语言回复:“It's 3:20pm.”

整个过程的关键点:

  • 工具是函数:get_current_time() 是一段 Python 代码,它负责与系统时钟交互并返回字符串。
  • 模型自主选择:模型自行决定何时、何地调用哪个工具。
  • 动态上下文:工具返回的结果会融入对话历史,供模型后续推理使用。

alt text

何时调用,何时不调用?

工具使用的一个重要特性是条件性调用。 模型并非对所有问题都盲目调用工具,而是能智能判断。

  • 调用工具的例子:当被问及“现在几点?”,模型知道需要实时数据,因此调用 get_current_time()。

  • 不调用工具的例子:当被问及“绿茶含多少咖啡因?”,模型可以基于其内部知识库直接回答:“Green tea typically contains 25-50 mg of caffeine per cup.”,无需调用任何工具。

    这体现了模型的“智能”——它能区分哪些信息是静态的(可内化),哪些是动态的(需外求)。

工具使用的实际应用示例

Prompt (提示)Tool (工具)Output (输出)
“你能找到加州山景城附近的一些意大利餐厅吗?”web_search(query="restaurants near Mountain View, CA")“Spaghetti City 是一家位于山景城的意大利餐厅...”
“给我看看买了白色太阳镜的顾客。”query_database(table="sales", product="sunglasses", color="white")“28位顾客购买了白色太阳镜。他们是...”
“如果我存入500美元,年利率5%,10年后我会得到多少钱?”interest_calc(principal=500, interest_rate=5, years=10)“$814.45”

alt text

多工具协作

对于更复杂的请求,模型可以串联调用多个工具,形成工作流。 案例:日历助理

  • 用户请求: “请在周四我的日历中找一个空闲时段,并与Alice预约。”
  • 提供的工具集:
    • check_calendar(): 查询日历,返回空闲时段。
    • make_appointment(): 创建预约。
    • delete_appointment(): 取消预约。
  • 模型执行流程:
    1. 首先调用 check_calendar(),获得结果:“Thursday, 3pm; Thursday, 4pm; Thursday, 6pm”。
    2. 基于返回的信息,模型决定选择“3pm”这个时段。
    3. 接着调用 make_appointment(time="3pm", with="Alice")。
    4. 工具返回确认信息:“Meeting created successfully!”。
    5. 最终,模型整合信息,回复用户:“Your appointment is set up with Alice at 3 PM Thursday.”

alt text

总结 工具使用是构建下一代 AI 应用的关键技术。它让语言模型从“只会聊天”的伙伴,进化为能够“动手做事”的智能助手。 核心价值:

  • 超越知识边界:通过调用工具,模型可以获取实时数据、访问数据库、执行计算。
  • 实现复杂逻辑:支持多步推理和工具链协作,处理现实世界的复杂需求。
  • 提升应用价值:无论是餐厅推荐、零售分析还是个人日程管理,都能因工具而变得更实用、更强大。
最近更新: 2026/6/27 21:49
Contributors: klc407073648
Next
创建工具