LangChain 中 Deep Agent 与 SKILL 的集成实践:构建高阶智能体

张开发
2026/4/18 18:15:20 15 分钟阅读

分享文章

LangChain 中 Deep Agent 与 SKILL 的集成实践:构建高阶智能体
在 LangChain v1.0 的架构里Deep Agents已经成为实现那些需要多个步骤、逻辑复杂的智能体任务的重要工具因为它不仅能自己把大任务拆成小任务、记住中间过程还能在需要的时候调用更专业的子智能体并且通过引入Skills技能机制让开发者可以像安装插件一样轻松给智能体加上新本事。这篇文章会一步步教你如何在 Deep Agent 里加载和使用 SKILL帮助你快速做出能用在实际项目中的 AI 应用。一、Deep Agent 与 SKILL 是什么Deep Agent 是什么Deep Agent 是 LangChain 团队推出的一个高级智能体运行框架主要用来解决老式 Agent 在面对长时间、复杂任务时容易出错或者卡住的问题它具备自动规划、本地存取中间数据、调用子智能体以及通过中间件扩展功能等核心能力。SKILL 是什么SKILL 是一种轻量级的功能扩展方式想法来自 Anthropic 的工具设计理念每个 SKILL 通常由两部分组成一个是叫SKILL.md的描述文件用 YAML 格式写清楚这个技能叫什么、能干啥、需要什么输入、返回什么结果另一个是具体的执行脚本比如arxiv_search.py里面是一个真正的 Python 函数负责完成实际工作。Agent 会通过SkillsMiddleware自动扫描指定目录发现这些技能并加载它们在需要时直接调用完全不用在代码里硬编码工具列表。二、动手做给 Deep Agent 加上自定义 SKILL第一步安装依赖先在命令行运行下面这行命令把需要的包都装好pip install langchain-core langchain langchain-community deepagents第二步写一个 SKILL我们拿“在 ArXiv 上搜索学术论文”当例子在项目根目录下新建一个文件夹skills/arxiv-search/然后在里面放两个文件首先是SKILL.md注意这里必须用 YAML frontmatter 格式不能写成表格--- name: arxiv_search description: 用关键词在 ArXiv 上找最新的学术论文 parameters: - name: query type: string description: 搜索用的关键词 output: 返回包含标题、摘要和链接的论文列表 ---然后是arxiv_search.py这是真正干活的代码from arxiv import Search def arxiv_search(query: str): search Search(queryquery, max_results3, sort_byrelevance) results [] for r in search.results(): results.append({ title: r.title, summary: r.summary, url: r.entry_id }) return results第三步创建 Deep Agent 并加载 SKILL接下来写主程序先初始化大模型比如用通义千问的 Qwen再创建 Agent 并告诉它去哪找技能from deepagents import create_deep_agent from langchain.chat_models import init_chat_model model init_chat_model(modelqwen-max) agent create_deep_agent( modelmodel, skills[./skills], # 指向刚才建的技能文件夹 instructions你是一个科研助理能帮用户找最新的学术论文。 )⚠️ 注意如果不同路径下有名字一样的 SKILL后面加载的那个会把前面的盖掉。第四步运行 Agent最后调用它试试看response agent.invoke(帮我找三篇关于 LangChain Deep Agents 的最新论文) print(response)这时候 Agent 会先理解你的请求然后从./skills目录里找到arxiv_search这个技能自动调用对应的函数去 ArXiv 搜论文再把结果整理成一段人话返回给你。三、常见问题和建议❌ 问题一技能没被加载最常见的原因是SKILL.md文件格式不对比如用了 Markdown 表格而不是 YAML。解决办法很简单确保文件开头和结尾都是三个短横线---中间内容是合法的 YAML。❌ 问题二调用技能时报错这通常是因为函数的参数名字或类型跟SKILL.md里写的不一致或者缺少必要的第三方库。建议你先把脚本单独跑一遍确认没问题再集成进 Agent。✅ 好的做法可以把不同用途的 SKILL 分门别类放在不同子文件夹里比如web-tools/放网络相关功能email-utils/放发邮件的工具同时配合 LangSmith 查看每一步的执行记录方便排查问题如果任务特别复杂可以让主 Agent 调度多个 SKILL 和子 Agent 一起协作完成。四、总结LangChain 的 Deep Agent 配合 SKILL 机制提供了一种简单、灵活又容易复用的智能体开发方式只要你把具体功能打包成标准技能就能让 Agent 自动学会新本事不仅提升了解决问题的能力也让团队合作变得更顺畅。建议与其在旧版 LangChain 上不断打补丁不如直接用 v1.0 和 Deep Agents 重新搭建你的项目这样能用上更现代、更稳定的开发体验

更多文章