AI工程师手册实战:从零实现 AI Agent 工具调用(Tool Use),打造你的第一个工具型智能体
AI工程师手册实战从零实现 AI Agent 工具调用Tool Use打造你的第一个工具型智能体【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook你是否好奇AI Agent 是怎么做到查汇率、订机票、调 API的答案就藏在**AI Agent 工具调用Tool Use**这个核心机制里。本文基于开源项目《AI 工程师手册》ai-angineers-handbook中的 Tool Use 实战模块带你从零实现一个会用工具的智能体全程不依赖任何 LLM 编排框架手写核心逻辑让你真正看懂大模型智能体的底层原理。读完本文你就能亲手打造出第一个工具型智能体。什么是 AI Agent 工具调用Tool Use大语言模型本身只会生成文字它并不知道实时汇率、天气或你的私有数据库。而Tool Use工具调用正是破解这一局限的关键让 LLM 根据用户提问自主决定是否需要调用工具、调用哪个工具、传入什么参数再把工具返回的真实结果组织成回答。上图是《AI 工程师手册》中给出的智能体基础架构Core核心里的 LLM 负责决策Controller控制器协调调度Memory记忆提供上下文Planning规划拆解任务而Tools工具则负责真正执行外部操作——这就是工具型智能体的全貌。为什么工具调用是智能体的核心能力能力扩展模型不会的知识实时汇率、搜索结果工具可以替它完成自主决策智能体自己判断这个问题要不要用工具而不是机械地每次调用可组合多个工具可以串成一条流水线完成复杂任务精准可靠计算、查库这类任务交给代码执行远比模型瞎编靠谱。项目结构一览Tool Use 实战模块在哪在《AI 工程师手册》仓库中Tool Use 是 Building Agents from Scratch从零构建智能体系列的第一部分所有源码位于 building_agents_from_scratch/tool_use/ 目录src/tool_registry.py工具注册与元信息解析这是整个工具调用机制的地基src/tools.py示例工具——实时货币换算src/main.pyAgent 主类负责决策、规划与执行notebooks/tool_use.ipynb交互式 Jupyter 教程适合边看边跑。三步走从零实现 AI Agent 工具调用第一步打造工具注册中心Tool Registry想让智能体认识工具第一步是定义统一的数据结构。在 tool_registry.py 中一个工具被抽象为包含name名称、description描述、func可执行函数、parameters参数说明四个字段的对象。更巧妙的是项目用一个tool()装饰器自动解析函数的类型注解和 docstring把参数信息整理成结构化描述。这样你只需写一个普通 Python 函数就能自动变成 LLM 可理解的工具——这也是后续所有工具调用的基础。第二步编写你的第一个工具——货币换算我们来实现一个最直观的工具实时货币换算。核心逻辑在 src/tools.pytool() def convert_currency(amount: float, from_currency: str, to_currency: str) - str: Converts currency using latest exchange rates. Parameters: - amount: Amount to convert - from_currency: Source currency code (e.g., USD) - to_currency: Target currency code (e.g., EUR) # 调用免费汇率 API按 amount × rate 完成换算函数体调用免费汇率接口获取最新牌价返回格式化结果。注意tool()装饰器会自动从 docstring 中提取参数说明并生成 LLM 需要看到的 JSON Schema。你的任何 Python 函数加上装饰器就能上岗。第三步实现 Agent 核心——让 LLM 学会决定用不用工具这是工具调用的灵魂所在。在 src/main.py 中Agent类维护一个工具字典通过add_tool()注册工具、use_tool()执行工具。真正精彩的是 create_system_prompt()它把可用工具的描述、参数、甚至使用示例以 JSON 形式写进系统提示词并明确告诉模型三件事只有必要时才用工具——能直接回答的问题就直接答需要工具时先输出thought思考再给出plan计划最后按tool_calls数组有序执行工具调用。而 execute() 方法 完成了完整的执行闭环调用 LLM 生成规划 → 判断requires_tools→ 依次执行工具 → 汇总思考、计划与结果返回给用户。整个过程不到 40 行代码就把决策—规划—执行打通了。运行效果智能体如何智能地选择性用工具模块自带了两条测试问题见 main.py我准备从塞尔维亚去日本旅行手头有 1500 当地货币能换多少日元——智能体判断需要汇率数据自动调用convert_currency工具完成换算你好吗——闲聊问题智能体判断无需工具直接给出文字回复。这种该用才用的克制正是高质量工具型智能体与机械式调用的区别也体现了 Tool Use 设计的精妙之处。快速上手一键安装与运行步骤想亲手跑起来只需三步克隆仓库git clone https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook安装依赖进入building_agents_from_scratch/tool_use目录用 requirements.txt 安装依赖推荐使用uv pip install -r requirements.txt运行示例先导出OPENAI_API_KEY环境变量然后执行python src/main.py即可看到效果。更推荐的方式是打开 notebooks/tool_use.ipynb 逐行运行边改边观察智能体的思考过程学习效率翻倍。进阶方向从工具调用走向完整智能体掌握了 Tool Use你就拿到了智能体的入场券。在《AI 工程师手册》的 Building Agents from Scratch 系列中接下来你还可以探索规划能力building_agents_from_scratch/planning/reflection/ 展示如何让智能体自我反思、优化计划深度研究智能体building_agents_from_scratch/deep_research_agent/ 演示多工具、多步骤协作的完整案例未来还有 Memory记忆与 Evaluation评估模块帮你构建更完整的智能体知识体系。总结通过本文的实战你不仅理解了AI Agent 工具调用Tool Use的核心原理——注册工具、描述工具、让 LLM 决策并执行——还亲手搭建了第一个工具型智能体。这套从零实现的思路不依赖任何框架让你对智能体的每个环节都心中有数。现在去克隆《AI 工程师手册》把代码跑起来再试着添加你自己的工具比如查天气、算数学你会发现打造一个能动手干活的 AI 智能体真的就这么简单【免费下载链接】ai-angineers-handbook项目地址: https://gitcode.com/gh_mirrors/ai/ai-angineers-handbook创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考