3.工具使用

理论:

模型决策是否调用工具:“工具使用的一个重要特性是条件性调用。 模型并非对所有问题都盲目调用工具,而是能智能判断”:哪些问题要调用工具,哪些不需要就能解决答复。

工具即函数,工具类型:1.网络搜索——》获取实时数据 2.函数计算——》执行计算 3.数据库执行动作——》访问数据库。

工具使用的意义和核心价值:见最后总结。

如今的主流语言模型都经过直接训练去使用工具,没有训练的语言模型就必须得写提示词来告诉模型如何使用工具。

使用工具步骤:

1.实现工具:开发者编写功能函数:例如 get_current_time()。

2.设计系统提示告知模型:开发者编写系统提示词 (System Prompt),告诉模型可以访问哪些工具,并规定调用它的精确格式(即如何请求调用)。

3.1用户提问

3.2 LLM决策,分析问题后,意识到调用工具

3.3 LLM模型根据提示词输出特定格式的文本:这个文本不是最终答案,而是一个“请求”,例如 FUNCTION: get_current_time()。

4.1解析输出:开发者编写代码解析,监听读取模型的输出;

4.2意图识别,识别输出中是否包含“FUNCTION”关键字的“请求”,

4.3 提取这个“请求”的参数, 然后真正地调用对应的函数,获得返回值。 

5.构建对话历史:将函数结果连同之前的对话历史(用户问题和llm的函数请求)作为新的上下文输入给模型。【LLM(大语言模型)本身不会直接调用工具。LLM 会“请求”开发者去调用某个工具,开发者负责执行该工具并将其结果返回给 LLM。】

5.2反馈结果:让LLM模型生成最终的自然语言回复。

AISuite 仓库

AISuite 负责 schema 暴露、参数绑定、执行与步骤间结果传递——你可以专注于智能体做成了什么,而不是如何调用 API。

疑问点:

1)docstring 是什么?

“你已经看到工具的 docstring 可以帮助 aisuite 自动把函数变成 LLM 可用的工具”清晰且文档完备的函数(精确的 docstring)有助于模型判断何时、如何使用工具。

2)schema 是什么?

工具通过列表传入;但列表中的每个工具都遵循一套约定的 schema。该 schema 包含几个关键部分:name:你在本地定义的对应函数名。description:解释函数用途的描述,供 LLM 判断何时使用。parameters:若函数有参数,这里也会描述参数名与参数含义”

关键收获:

工具调用(tool calling)让 LLM 超越纯文本生成——它们可把函数作为推理的一部分。清晰且文档完备的函数(精确的 docstring)有助于模型判断何时、如何使用工具。AISuite 负责将 Python 函数转换为工具 schema 并编排多步工作流。选择合适模型很重要:小模型在简单任务上更快更便宜,强模型更适合重推理的工作流。观察完整的会话流程(promopts提示、tool calls工具调用、results结果、final response最终响应)对于调试与改进智能体性能至关重要。

让系统自己编写并执行代码来解决问题:

1.设计系统提示词 (System Prompt)2.模型输出3.提取与执行4.反馈与格式化      沙盒环境

MCP (Model Context Protocol)-模型上下文协议

MPC核心组件:

1. 客户端 (Clients)

角色:希望访问外部工具或数据的应用程序。示例:Cursor, Claude Desktop, Windsurf。功能:向 MCP 服务器发送请求,获取数据或执行操作。

2. 服务器 (Servers)

角色:提供工具和数据源的软件服务。示例:Slack, Google Drive, GitHub, PostgreSQL。功能:作为“包装器”,接收来自客户端的请求,并将其转换为对原始工具 API 的调用,然后将结果返回给客户端。来源:部分服务器由服务提供商开发,但也有大量第三方开发者贡献。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容