智能体工具怎么搭:Agents-Course 3 步跑通

发布时间:2026/9/2 14:50:15
智能体工具怎么搭:Agents-Course 3 步跑通 智能体工具怎么搭Agents-Course 3 步跑通【免费下载链接】agents-courseThis repository contains the Hugging Face Agents Course.项目地址: https://gitcode.com/GitHub_Trending/ag/agents-courseHuggingFace 的 Agents-Course 是一份从零教人搭智能体的课程。读完本篇你可以照着仓库示例用 10 行代码给智能体装上第一个工具并看懂它背后的调用原理。先跑通最小示例给智能体装一个工具 ️课程第一单元实战用的是 smolagents 框架添加工具的套路很固定写一个 Python 函数套上tool装饰器框架会自动从源码里提取函数名、文档字符串和参数类型生成给模型看的文本描述。课程里的时区查询工具是很好的起点from smolagents import CodeAgent, InferenceClientModel, tool tool def get_current_time_in_timezone(timezone: str) - str: 查询指定时区的当前本地时间。 Args: timezone: 合法时区字符串如 America/New_York import datetime, pytz return datetime.datetime.now(pytz.timezone(timezone)).strftime(%Y-%m-%d %H:%M:%S)注意三个要点函数名用有意义的英文、输入输出带类型注解、docstring 的 Args 段写清每个参数。接着实例化智能体把工具传进去model InferenceClientModel( max_tokens2096, temperature0.5, model_idQwen/Qwen2.5-Coder-32B-Instruct, ) agent CodeAgent(modelmodel, tools[get_current_time_in_timezone]) print(agent.run(东京现在几点))跑起来后智能体会自己写一段代码调用get_current_time_in_timezone(Asia/Tokyo)并返回时间说明它真的读懂了工具描述而不是在做字符串匹配。完整应用模板和发布 Space 的步骤见 unit1 教程。概念速览智能体、工具、调用循环各是什么角色用餐厅类比三个角色一句话讲清角色干什么模型LLM厨师只负责文本进、文本出自己碰不到外部世界智能体Agent服务员把模型的文字翻译成真实的函数调用再把结果端回来工具Tool菜品模型可以点单的函数比如查时间、搜网页调用循环是三步转台模型先以结构化文本JSON 或代码写出调用意图智能体解析后停止继续生成、执行函数再把结果写回对话发给模型。模型自始至终文本进、文本出真正干活的是智能体的代码。unit1 工具说明逐段拆解了这个流程actions则对比了 JSON、代码、函数调用三种动作格式。场景扩展从单工具到文档分析工作流单个工具应对一次性查询足够真实任务往往是多步连续操作。拿文档分析举例先识别图片笔记里的文字再按需做计算最后输出摘要。课程 LangGraph 单元 就用图把这件事拆开视觉模型识别手写笔记封装成extract_text工具简单的divide工具处理笔记里的计算需求assistant 节点把工具描述注入系统消息后调用模型工具节点在模型发出调用时执行为什么改成图结构原因有三个。一是步骤顺序明确消息需要在节点间通过状态AgentState传递流程顺序一眼可见。二是模型能调工具后一次响应不一定能结束需要tools_condition判断回到模型还是结束流程。三是出问题时能看到卡在哪个节点比单次agent.run的黑盒更容易定位。反过来如果任务没有条件分支、只想要最少的代码继续用单个 CodeAgent 加工具即可把流程控制交给模型自己。选型什么场景用什么做法 场景推荐做法上手试水、小型演示smolagents 的 CodeAgent tool装饰器流程有固定顺序、需要可审计LangGraph 状态图显式定义节点与边工具逻辑复杂有状态、多输出继承 Tool 类显式写 name / inputs / forward不想自己写工具用load_tool从 Hub 加载社区预制工具同一工具要在多个框架复用用 MCP 协议封装统一接口工具如果只是简单函数tool就够了不必急着继承类当工具内部需要维护中间状态时再迁到 Tool 子类写法unit2 smolagents 工具一节有完整对比。调试检查清单工具不听话时先查这 5 处函数名是否英文且表意明确叫helper这种含糊名字模型很难选对工具。类型注解是否完整输入缺类型模型生成的参数会不稳定。docstring 里每个参数是否都有描述smolagents 靠 Args 段构建工具描述。实际输出类型是否与注解一致模型预期 str 却拿到 list下一步就容易崩。动作格式是否规范收尾格式坏了解析器抽不出函数名循环会空转先开verbosity_level1看模型原始输出。下一步可以做什么做一遍 unit1 的最终测验巩固消息、动作、观察的完整循环在教程的 Gradio 界面里试一个多工具任务比如生成一张图并告诉我纽约天气需要扩展规模时去 unit2 横向对比 LangGraph、LlamaIndex 与 smolagents【免费下载链接】agents-courseThis repository contains the Hugging Face Agents Course.项目地址: https://gitcode.com/GitHub_Trending/ag/agents-course创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考