尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

新手小白 Agent 开发第4课:让 AI 学会用工具,Tool Calling 第一步

发布时间:2026/9/28 20:12:19

资讯中心
01
ARTICLE

新手小白 Agent 开发第4课:让 AI 学会用工具,Tool Calling 第一步

新手小白 Agent 开发第4课:让 AI 学会用工具,Tool Calling 第一步
前面三课我们的程序会聊天、有记忆但它始终只会「动嘴」——不能查、不能算、不能替你做任何实际操作。这一课我们给它装上第一件工具计算器。做完之后你的程序就不再只是聊天机器人而是迈出了 Agent 的第一步。一、先建立项目结构现在的项目应该长这样my-agent/ │ ├── .venv/ │ ├── main.py │ └── tools.py其中main.py负责Agent 的「大脑」调用模型、协调流程tools.py负责Agent 的「工具」真正干活的函数这种「大脑」和「手」分离的结构是 Agent 后面能不断扩展工具的基础。二、先写一个计算器打开tools.pydef calculator(a, b, operation): if operation add: return a b elif operation subtract: return a - b elif operation multiply: return a * b elif operation divide: return a / b else: return 不支持的运算先单独测一下。在tools.py末尾加两行print(calculator(10, 20, add)) print(calculator(10, 20, multiply))运行python tools.py看到30 200说明工具本身没问题。然后把这两行测试代码删掉。三、让 DeepSeek「认识」这个工具现在是关键我们不是写if 用户输入里带乘号就调用计算器而是把工具描述给模型让它自己决定用不用。在main.py里这样告诉模型tools [ { type: function, function: { name: calculator, description: 进行数学计算, parameters: { type: object, properties: { a: {type: number, description: 第一个数字}, b: {type: number, description: 第二个数字}, operation: { type: string, enum: [add, subtract, multiply, divide], description: 要执行的运算 } }, required: [a, b, operation] } } } ]这段看着复杂但不用背。你只要理解我们是在给模型写一份「说明书」我有一个工具名字叫 calculator 作用是数学计算 需要三个参数a、b、operation 其中 operation 只能是 add / subtract / multiply / divide。于是当用户问「100 × 200 等于多少」时模型就可能输出{ name: calculator, arguments: {a: 100, b: 200, operation: multiply} }这就叫Tool Calling工具调用。四、让模型做决定然后真正执行接着把请求发出去并检查模型是否要求调用工具messages [ {role: user, content: 12345 × 6789 等于多少} ] response client.chat.completions.create( modeldeepseek-chat, messagesmessages, toolstools ) message response.choices[0].message if message.tool_calls: tool_call message.tool_calls[0] function_name tool_call.function.name arguments json.loads(tool_call.function.arguments) if function_name calculator: result calculator( arguments[a], arguments[b], arguments[operation] ) print(计算结果, result) else: print(message.content)运行后你会看到计算结果 83810205五、一个必须理解的分工模型思考Python 执行这里有一个特别容易误解的点DeepSeek 并没有真正执行 Python 计算。它只是告诉我们「我想使用这个工具参数是这些。」真正去调用calculator的是我们写的 Python 代码。┌─────────────┐ │ DeepSeek │ 负责思考、选择工具 └──────┬──────┘ │ Tool Call我要用 calculator ↓ ┌─────────────┐ │ Python │ 真正执行工具 └─────────────┘一句话概括模型负责「想」代码负责「做」两者各司其职。六、对比一下你就懂差在哪了维度聊天机器人会 Tool Calling 的程序能做的事只会生成文字能计算、查询、调用 API谁决定用不用工具无没工具模型自己决定判断逻辑无由模型生成非硬编码本质文本生成向 Agent 靠近一句话概括给模型一件工具它就从「回答者」变成了「行动者」。总结这一课的核心模型负责决策Python 负责执行。我们用一个计算器跑通了 Agent 最关键的机制——Tool Calling。但现在还有个问题我们的代码只会执行一次工具就结束。如果任务需要「先搜索、再计算」一次根本不够。下一课我们就来手搓整个系列最重要的东西——Agent Loop。下一课预告第5课手搓 Agent Loop让 AI 自己循环执行工具。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。