趋近智
大型语言模型(LLM)虽拥有丰富的知识储备,但其信息通常是静态的,固定在其上次训练时的数据上。为了执行需要即时信息、与外部系统交互或专门计算的任务,LLM需要借助工具进行增强。这种增强将LLM从一个复杂的文本生成器,转变为一个能够在多种环境中执行操作的AI代理的思考中枢。
本质上,工具增强型LLM依据委托原则运行。LLM本身不直接执行网页搜索或运行Python代码片段。相反,它利用其高级推理能力来理解何时需要外部工具、哪种特定工具适合该工作以及该工具需要什么输入。在这种情况下,LLM的输出不仅仅是文本答案;它是一个“工具调用”的结构化表示,供外部系统执行。可以将LLM看作一位懂得如何将任务有效委派给专业团队成员(工具)的高级经理。
使LLM能够使用工具的系统通常由几个共同工作的主要组成部分构成:
这些组成部分之间的交互通常遵循一个迭代循环,最显著地在ReAct(推理与行动)等框架中被明确。这个循环使代理能够分解复杂问题并对新信息作出反应:
思考: LLM分析当前目标、现有知识以及先前行动和观察的历史。基于此,它形成一个想法或计划,其中可能包括决定使用特定工具。例如,如果被问到“伦敦天气如何?”,LLM可能会想:“我需要当前天气信息。我应该使用get_weather工具。”
行动: 如果某个工具被认为必要,LLM会生成一个结构化的“行动”命令。这并非自由格式的文本,而是一个精确指令,通常以JSON或执行层可以解析的特定函数调用语法格式呈现。对于天气示例,行动可能是:get_weather(location="London")。
观察: 工具调用层执行此行动。get_weather工具将调用伦敦的天气API。此执行的结果(例如,“15°C,部分多云”)或遇到的任何错误,随后被格式化为“观察结果”并反馈到LLM的上下文中。
这个“思考-行动-观察”循环重复进行。LLM考虑新的观察结果,完善其想法,并决定下一步行动,这可能是使用另一个工具、综合答案或提出一个澄清问题。
工具增强型LLM的迭代循环:思考、行动和观察,由提示指令驱动。
在这个框架中,提示远不止简单的查询。它们是指示和引导LLM在使用工具方面行为的主要机制。一个设计良好的提示将:
定义可用工具: 列出代理可以使用的工具,并清晰描述其功能、所需输入(及其类型)和预期输出格式。例如:
您可以使用以下工具:
- `web_search(query: string)`: 根据给定查询搜索网络并返回最相关结果。
- `run_python_code(code: string)`: 执行提供的Python代码并返回其输出或错误。
引导工具选择: 指导LLM根据任务决定何时以及使用哪个工具。
指定输出格式: 规定LLM在调用工具时必须使用的精确语法,确保工具执行层能够解析它。这可能涉及要求JSON输出或特定的函数调用字符串。
管理工具输出处理: 帮助LLM解读工具返回的结果(或错误),并将此信息整合到其持续推理过程中,以决定下一步。
例如,在web_search行动之后,观察结果可能包含一个搜索片段列表。提示随后指导LLM如何使用这些片段来回答原始用户查询,或判断是否需要另一个工具或行动。
工具使用的转变代表了LLM的重大进展。它们不再仅仅生成人类可读的文本,而是学习生成机器可解释的指令。这种方法的优点在于,LLM通常可以学会使用它们从未专门进行微调的工具,仅仅通过理解提示中通过上下文学习提供的工具描述。LLM不仅仅是回忆事实;它正在将其推理能力应用于这些新的工具描述来解决问题。
这种与外部系统交互的能力带来了一系列应用,从能执行研究和总结发现的代理,到能管理您的日程、与电子商务网站交互,甚至通过执行代码并分析输出来帮助调试的代理。
理解这些基本原理很重要。在本章后续部分,我们将介绍有效管理工具交互每个阶段所需的具体提示工程技术:选择正确的工具、格式化其输入、处理其输出以及从错误中恢复。这些技术将帮助您构建真正有能力的AI代理。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造