趋近智
尽管大型语言模型(LLM)在理解和生成人类语言方面拥有出色的能力,但它们的行动能力常受其固有架构限制。它们主要处理文本数据,缺少与外部系统直接交互的机制,无法获取实时信息,或进行超出其训练数据范围的精确计算。为了构建不仅能进行智能对话,还能有效行动的智能体,我们必须赋予它们使用外部工具和功能的能力。这里阐述了集成这些功能的方法和考量,使你的智能体能执行更多样化的任务,并更有效地与环境互动。
将外部工具集成到大型语言模型(LLM)智能体中,解决了几个基本局限性:
通过启用工具使用,我们将智能体从纯粹的认知实体转变为实际的问题解决者,能够进行复杂交互。
基于大型语言模型(LLM)的智能体使用外部工具的主要方式是通过一种机制,通常被称为“函数调用”或“工具使用”。这通常涉及一个由智能体控制逻辑协调的多步骤过程:
工具定义:你为智能体定义一套可用的工具。每个工具都通过其名称、明确说明其功能,以及其预期输入参数的结构(包括名称、类型和说明)来描述。此定义会提供给大型语言模型(LLM),通常作为其系统提示的一部分或通过专门的API功能。
大型语言模型(LLM)决策:基于用户的查询和可用工具的说明,大型语言模型(LLM)判断是否需要工具来完成请求。如果需要,它会识别合适的工具并生成必要的参数,通常以JSON等结构化格式。
例如,如果用户询问:“伦敦的天气怎么样?英镑兑美元的当前汇率是多少?”,大型语言模型(LLM)可能会决定调用两个工具:
get_weather(location: "London")get_exchange_rate(base_currency: "GBP", target_currency: "USD")编排与执行:你的应用程序代码(“编排器”)接收大型语言模型(LLM)的结构化输出。它解析此输出,识别请求的工具和参数,然后执行相应的函数或进行相关的API调用。
结果反馈:工具的输出(例如,天气数据、汇率)然后返回给编排器。
大型语言模型(LLM)响应生成:编排器格式化工具的输出并将其反馈给大型语言模型(LLM)。大型语言模型(LLM)然后使用这些新信息合成对用户的最终响应。例如,“伦敦天气为15°C,多云。当前汇率为1英镑=1.25美元。”
以下图表说明了智能体使用外部工具时的这种一般交互流程:
此图表展示了用户查询如何引导大型语言模型(LLM)决定使用工具,工具调用的编排,以及随后大型语言模型(LLM)使用工具输出生成响应的整个流程。
主要的LLM供应商(如OpenAI、Google、Anthropic)和框架(如LangChain和LlamaIndex)都提供内置的函数调用支持,标准化了工具定义和大型语言模型(LLM)输出的格式。这显著简化了使用工具的智能体的开发。
大型语言模型(LLM)正确选择和使用工具的能力,很大程度上取决于该工具的描述质量。为你的智能体设计工具接口时,请考虑以下做法:
target_currency 而非 tc)。例如,一个简单货币转换工具的定义可能如下所示(采用JSON格式):
{
"name": "get_currency_conversion",
"description": "使用当前汇率将金额从源货币转换为目标货币。",
"parameters": {
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "要转换的金额。"
},
"source_currency": {
"type": "string",
"description": "源货币的三字母代码(例如,USD、EUR)。"
},
"target_currency": {
"type": "string",
"description": "目标货币的三字母代码(例如,JPY、GBP)。"
}
},
"required": ["amount", "source_currency", "target_currency"]
}
}
这种详细程度有助于大型语言模型(LLM)生成准确的请求,例如:
{"tool_name": "get_currency_conversion", "args": {"amount": 100, "source_currency": "USD", "target_currency": "EUR"}}
许多工具将涉及与外部API(应用程序编程接口)交互。这需要注意以下几点:
一种更高级的工具集成形式涉及允许智能体在沙盒环境中生成和执行代码,通常是Python。这对以下任务很有用:
然而,代码执行带来了重要的安全考量:
尽管功能强大,但直接代码执行功能应以极其谨慎的态度和安全措施来实施。对于许多使用场景,对预先编写的、受信任的代码进行明确定义的函数调用(通过标准工具集成)是更安全的替代方案。
随着多智能体系统复杂度增加,工具集成中的几个高级议题变得相关:
集成外部工具和功能是构建真正有能力的大型语言模型(LLM)智能体的基本步骤。通过精心设计工具接口、安全管理API交互以及考量编排逻辑,你可以将智能体的能力拓展到远超简单文本生成,使它们能够获取信息、执行行动,并以更扎实和有效的方式解决复杂问题。这为我们将在后续章节中讨论的更复杂的工作流编排和协作行为奠定了坚实基础。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造