Agentic AI 教程

3.1 什么是工具

介绍工具使用的核心思想、简单工具执行流程、实际应用示例以及多工具协作。

3.1 什么是工具

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

一、简单工具执行流程 (Simple Tool Execution)

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

  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 代码,它负责与系统时钟交互并返回字符串。
  • 模型自主选择:模型自行决定何时、何地调用哪个工具。
  • 动态上下文:工具返回的结果会融入对话历史,供模型后续推理使用。

何时调用,何时不调用?

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

  • 调用工具的例子:当被问及“现在几点?”,模型知道需要实时数据,因此调用 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”

三、多工具协作

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

  • 用户请求: “请在周四我的日历中找一个空闲时段,并与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.”

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

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

On this page