news 2026/7/13 4:59:21

AI Skills技能系统,让 Agent 自动变强

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Skills技能系统,让 Agent 自动变强

什么是 Skill
Skill(技能)是一种可复用的功能单元,用于扩展 Agent 的任务执行能力。每个 Skill 封装了特定领域的指令、脚本和参考资料,使 Agent 能够胜任各类专业任务。

这种设计的核心思想是模块化。就像给手机安装 App 一样,我们可以为 Agent 动态加载不同的技能,让它具备代码审查、文档生成、数据分析等能力。每个技能都是独立的,可以单独开发、测试和复用。

文件/目录说明

SKILL.md

必需。包含技能指令和元数据(name、description)

scripts/

可选。存放可执行脚本(Python、Shell 等)

references/

可选。存放参考文档、示例数据等辅助资料

SKILL.md 文件结构
每个 Skill 的核心是一个名为 SKILL.md 的文件。这个文件由两部分组成:Frontmatter 元数据和 Markdown 指令。

Frontmatter 元数据位于文件开头,采用 YAML 格式,定义了技能的名称、描述等关键信息。其中,description 字段尤为重要,它直接决定了 Agent 能否在正确的时机找到并使用该技能。一个好的描述应该简洁明确,并包含触发条件,让 Agent 一看就知道"什么场景下该用我"。

Markdown 指令部分则是技能的具体内容,告诉 Agent 拿到这个技能之后该怎么做、按什么步骤执行、有哪些注意事项。这部分内容会被注入到 Agent 的上下文中,指导它完成任务。

--- name: code-review description: 审查代码质量、检查常见问题。当用户要求代码审查时使用。 --- # 代码审查 审查代码文件,检查以下问题: - 语法错误和潜在 Bug - 代码风格和规范 - 性能问题 - 安全漏洞 ## 使用方法 当用户要求审查代码时,执行: ```bash python /skills/code-review/scripts/review.py <file_path> ``` ## 输出格式 按严重程度分类: - 🔴 严重问题(必须修复) - 🟡 警告(建议改进) - 🟢 提示(可选优化)

Skills 的执行流程
理解了文件结构,再来看 Skill 是如何运作的。整个执行流程可以分为三个阶段:扫描匹配、加载注入、执行反馈。

当用户输入一个请求时,Agent 首先扫描 skills 目录下所有 SKILL.md 的前置元数据,提取各技能的名称与描述,生成可用技能清单。然后,Agent 将用户请求与清单中的描述进行语义匹配。一旦找到合适的技能,就调用 load_skill 方法将该技能的完整提示指令加载到对话上下文中。最后,Agent 按照加载的指令执行任务,并将结果返回给用户。

这个过程对用户来说是透明的。用户只需要表达意图,Agent 会自动找到并使用合适的技能完成任务。

实践:集成代码审查 Skill

理论讲完了,接下来通过一个完整的示例来演示如何将 Skill 集成到 Agent 中。我们已经创建好了一个代码审查 Skill,现在要让它工作起来。

首先需要安装 deepagents 开发包。

pip install deepagents

需要注意的是,deepagents 目前不支持通过 init_chat_model 构造的模型 对象,因此需要调整模型的初始化方式。

最关键的是 create_deep_agent 的调用,其中 skills 参数指定了技能目录。

create_deep_agent 默认使用内存后端 StateBackend,无法读取本地文件系统。如果要加载磁盘上的 Skill 文件,必须显式传入 FilesystemBackend。这是一个容易忽略的配置点。

import os from dotenv import load_dotenv from deepagents import create_deep_agent from langchain.chat_models import init_chat_model from langchain_core.tools import BaseTool from langchain_community.tools import WriteFileTool, ReadFileTool, ListDirectoryTool from deepagents.backends import FilesystemBackend load_dotenv() # 使用 configurable_fields 创建可配置模型 # model = init_chat_model( # model_provider="openai", # configurable_fields=["model", "api_key", "base_url"], # config_prefix="QWEN" # ).with_config({ # "configurable": { # "QWEN_model": os.getenv("QWEN_MODEL"), # "QWEN_api_key": os.getenv("QWEN_API_KEY"), # "QWEN_base_url": os.getenv("QWEN_BASE_URL") # } # }) os.environ["OPENAI_API_KEY"] = os.getenv("QWEN_API_KEY") os.environ["OPENAI_BASE_URL"] = os.getenv("QWEN_BASE_URL") model = f"openai:{os.getenv('QWEN_MODEL')}" class CalculateTool(BaseTool): name: str = "calculate" description: str = "计算数学表达式的值" def _run(self, expression: str) -> str: try: return f"计算结果: {eval(expression)}" except Exception as e: return f"计算错误: {str(e)}" async def _arun(self, expression: str) -> str: return self._run(expression) # ========== 初始化工具 ========== calculate = CalculateTool() write_file = WriteFileTool() read_file = ReadFileTool() list_dir = ListDirectoryTool() # ========== 创建 Deep Agent ========== agent = create_deep_agent( model=model, tools=[calculate, write_file, read_file, list_dir], system_prompt="你是一个助手,会用工具计算、读写文件、列出目录。", skills=["skills"], backend=FilesystemBackend(root_dir=os.getcwd()), debug=True ) queries = [ "审查 mcp_weather.py 代码", "计算 2024*12+500,然后把结果保存到 result.txt", "读取 result.txt 的内容", "列出当前目录文件" ] for q in queries: print(f"\n问:{q}") result = agent.invoke({"messages": [{"role": "user", "content": q}]}) print(f"答:{result['messages'][-1].content}")

Skill 系统让 Agent 的能力扩展变得模块化和可插拔。通过编写清晰的 SKILL.md 文件,定义准确的描述和完整的执行指令,Agent 就能在合适的时机自动找到并使用相应的技能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 4:59:42

如何选择一家值得信赖的流水线贴标机供应商?

在现代制造业中&#xff0c;流水线贴标机是提高生产效率和产品包装质量的关键设备之一。然而&#xff0c;在众多供应商中选择一家值得信赖的合作伙伴并非易事。本文将从多个方面探讨如何选择一家可靠的流水线贴标机供应商&#xff0c;并介绍东莞市万志自动化科技有限公司&#…

作者头像 李华
网站建设 2026/7/13 4:59:39

Android 模拟器开启关闭网络

Android 模拟器断网有几种常用方法&#xff0c;取决于你用的是 Android Studio Emulator 还是命令行启动的模拟器。方法 1&#xff1a;模拟器界面直接断网&#xff08;最简单&#xff09;打开模拟器点击右侧工具栏的 “…”&#xff08;Extended controls&#xff09;进入&…

作者头像 李华
网站建设 2026/7/13 4:59:38

SpaceX造富神话点燃资本热情,卫星通信产业在MWC26上海展现新图景

在2026年世界移动通信大会&#xff08;MWC26上海&#xff09;上&#xff0c;卫星通信行业人士热议上市、融资话题。SpaceX的造富神话让全球资本涌入商业航天&#xff0c;我国也在“空天地海”一体化建设发力&#xff0c;卫星物联网和终端发展亮点颇多。SpaceX引发资本热潮 Spac…

作者头像 李华
网站建设 2026/7/13 4:59:41

Wand-Enhancer:免费解锁游戏修改器完整功能的终极指南

Wand-Enhancer&#xff1a;免费解锁游戏修改器完整功能的终极指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款专为Wand&#xf…

作者头像 李华
网站建设 2026/7/12 11:25:35

计算机毕业设计之基于深度学习的复杂场景下船舶目标检测

本研究针对复杂场景下的船舶目标检测问题&#xff0c;设计并实现了一种基于YOLOv11深度学习模型的检测系统。该系统通过多尺度检测、路径聚合网络和自注意力机制等关键技术&#xff0c;有效提升了船舶检测的精度和速度。实验结果表明&#xff0c;该系统在复杂环境恶劣天气、夜间…

作者头像 李华
网站建设 2026/7/12 16:35:46

AutoCAD2027免费版下载安装教程(附安装包)AutoCAD 2027 保姆级安装教程

文章目录前言AutoCAD2027安装前的准备工作AutoCAD2027安装包下载AutoCAD 2027 安装教程&#xff08;超详细图文版&#xff09;AutoCAD 2027基础操作指南&#xff1a;建筑设计入门必学的10个命令前言 AutoCAD 2027的安装过程中容易踩的坑不少&#xff0c;网上很多教程要么漏掉关…

作者头像 李华