理论:
模型决策是否调用工具:“工具使用的一个重要特性是条件性调用。 模型并非对所有问题都盲目调用工具,而是能智能判断”:哪些问题要调用工具,哪些不需要就能解决答复。
工具即函数,工具类型: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 是什么?
关键收获:
让系统自己编写并执行代码来解决问题:
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 的调用,然后将结果返回给客户端。来源:部分服务器由服务提供商开发,但也有大量第三方开发者贡献。