【智能体】Agent新范式:2026的技术ers必会技能之Agent Skills
2026必会技能之Agent Skills
·
一文掌握Agent Skill全技能
一、Agent Skill 是什么?
1.1 官方 / 学术定义
Agent Skill(智能体技能):
是一段封装了明确目标、输入输出、执行逻辑、工具调用或业务规则的可复用能力单元,由智能体(Agent)加载、调度、执行,用于完成某一类专一、确定、可评估的任务。
简单理解:
给 Agent 安装一个 “专业插件 / 技能包”,让它只会、也只能做好一件确定的事。
1.2 核心特征
- 专一性:一个 Skill 只解决一类任务(如:查天气、写周报、调接口、数据清洗)
- 确定性:输入输出格式固定,行为可预期
- 可复用:不同 Agent、不同场景可共用
- 可组合:多个 Skill 可串联成复杂工作流(Skill Chain / Workflow)
- 可监控:执行过程、结果、失败原因可追踪
1.3 与普通 LLM Prompt 的区别
| 对比项 | 普通 Prompt | Agent Skill |
|---|---|---|
| 目标 | 通用对话 | 专一任务执行 |
| 输出稳定性 | 不稳定,易跑偏 | 强约束,格式固定 |
| 工具 / 系统对接 | 弱支持 | 原生支持函数、API、数据库 |
| 复用性 | 复制粘贴,难维护 | 模块化、可版本管理、可继承 |
| 适用场景 | 问答、闲聊、创意生成 | 自动化、业务流程、生产环境 |
二、为什么需要 Agent Skill?
2.1 传统Prompt模式的瓶颈
在2023-2025年,开发者主要依赖“提示词工程”控制AI行为,但这种模式面临两大难题:
上下文污染(Context Pollution):为覆盖所有边界情况,Prompt长达数万Token,导致模型注意力分散,产生“指令漂移”。
复用性极差:复杂的业务逻辑被硬编码在对话历史中,无法跨项目、跨团队迁移。
2.2 实测数据对比
| 维度 | 传统System Prompt | Agent Skill模式 |
|---|---|---|
| 规则载体 | 纯文本随会话发送 | 本地结构化文件 |
| 上下文占用 | 全量占用 | 按需加载,降低60%-80% |
| 可维护性 | 极低 | 高(模块化封装) |
| 执行能力 | 仅限于文本生成 | 支持脚本执行与文件操作 |
| 首字延迟(TTFT) | 基准 | 降低45% |
2.3 从“提示词工程”到“技能工程”
2025年10月,Anthropic推出Agent Skill作为Claude生态的实验性功能;
2025年12月,它被确立为开放标准(Open Standard),正式标志着AI开发进入 “技能工程(Skill Engineering)” 的新阶段。
截至2026年初,开源社区已有超过6万个Claude Skills可供使用
三、Agent Skill 典型应用场景
Skill 不局限于某一领域,凡是可标准化的任务,都能封装成 Skill。
3.1 通用场景
- 信息抽取 Skill:从文本抽姓名、电话、金额、时间
- 文本分类 Skill:判断意图、情感、违规、分类
- 数据清洗 Skill:格式化、去重、补全
- 报告生成 Skill:周报、月报、总结
- 搜索总结 Skill:联网搜索 + 内容整理
3.2 业务 / 系统场景
- 订单查询 Skill:调用订单 API 返回订单状态
- 天气查询 Skill:请求天气接口
- 数据库查询 Skill:执行安全 SQL
- 邮件 / 通知发送 Skill
- 代码生成与执行 Skill(代码解释器)
- RAG 检索 Skill:从知识库精准检索
3.3 多 Agent 协作场景
- 客服 Agent:使用 “问答 Skill + 订单查询 Skill + 退款 Skill”
- 写作助手 Agent:使用 “大纲 Skill + 扩写 Skill + 校对 Skill”
- 数据分析 Agent:使用 “数据读取 Skill + 可视化 Skill + 总结 Skill”
四、Agent Skill 标准结构(如何设计一个 Skill)
一个生产可用的 Skill 通常包含 6 部分:
- Skill 元信息
- 名称、描述、版本、作者、分类
- 输入定义(Input Schema)
- 参数名、类型、是否必填、示例
- 输出定义(Output Schema)
- 固定格式:JSON / Markdown / Text
- 执行逻辑
-Prompt 模板
-函数 / API 调用
-业务规则、校验逻辑 - 异常处理
-参数缺失、调用失败、超时、无结果
五、Agent Skill 通用使用方式(流程)
5.1 开发阶段
- 明确任务边界
- 定义输入输出 Schema
- 编写 Prompt / 函数逻辑
- 测试用例验证
- 注册到 Skill 库
5.2 运行阶段
- Agent 接收用户请求
- 意图识别 / 路由:选择对应 Skill
- 解析并校验用户输入
- 执行 Skill(调用 LLM / 工具 / API)
- 格式化结果返回
- 记录日志与监控

六、代码实战:从零实现一个 Agent Skill 系统
6.1 环境安装
pip install pydantic openai python-dotenv
6.2 基础架构设计
- BaseSkill:所有技能的抽象基类
- SkillManager:技能注册、查找、执行管理器
- 每个技能独立成类,遵循统一输入输出
6.3 完整代码实现
1)定义基础 Skill 基类
from abc import ABC, abstractmethod
from pydantic import BaseModel, Field
from typing import Any, Dict, Optional, Type
# 输入输出基类
class SkillInput(BaseModel):
pass
class SkillOutput(BaseModel):
success: bool
data: Optional[Any] = None
error: Optional[str] = None
# 技能抽象基类
class BaseSkill(ABC):
# 元信息
name: str = ""
description: str = ""
input_schema: Type[SkillInput] = SkillInput
@abstractmethod
def execute(self, input_data: SkillInput) -> SkillOutput:
"""执行技能"""
pass
2)实现 Skill 1:天气查询 Skill
class WeatherQueryInput(SkillInput):
city: str = Field(..., description="城市名,如:北京")
date: Optional[str] = Field(None, description="日期,如:2026-02-28")
class WeatherQuerySkill(BaseSkill):
name = "weather_query"
description = "根据城市和日期查询天气信息"
input_schema = WeatherQueryInput
def execute(self, input_data: WeatherQueryInput) -> SkillOutput:
# 模拟调用天气 API
try:
weather_info = {
"city": input_data.city,
"date": input_data.date or "今日",
"weather": "晴",
"temperature": "10℃ ~ 20℃",
"wind": "微风"
}
return SkillOutput(success=True, data=weather_info)
except Exception as e:
return SkillOutput(success=False, error=str(e))
3)实现 Skill 2:文本信息抽取 Skill
from openai import OpenAI
import os
from dotenv import load_dotenv
load_dotenv()
client = OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
class InfoExtractInput(SkillInput):
text: str = Field(..., description="需要抽取信息的文本")
class InfoExtractSkill(BaseSkill):
name = "info_extract"
description = "从文本中抽取:姓名、电话、金额、时间"
input_schema = InfoExtractInput
def execute(self, input_data: InfoExtractInput) -> SkillOutput:
prompt = f"""
从下面文本中抽取信息,只返回JSON,不要其他内容:
字段:name, phone, money, time
文本:{input_data.text}
"""
try:
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt}]
)
result = response.choices[0].message.content
return SkillOutput(success=True, data=result)
except Exception as e:
return SkillOutput(success=False, error=str(e))
4)实现 Skill 3:周报生成 Skill
class WeeklyReportInput(SkillInput):
username: str
finished_work: list[str]
next_plan: list[str]
problems: Optional[list[str]] = None
class WeeklyReportSkill(BaseSkill):
name = "weekly_report"
description = "根据工作内容自动生成周报"
input_schema = WeeklyReportInput
def execute(self, input_data: WeeklyReportInput) -> SkillOutput:
try:
finished = "\n".join([f"- {item}" for item in input_data.finished_work])
plan = "\n".join([f"- {item}" for item in input_data.next_plan])
problems = "\n".join([f"- {item}" for item in input_data.problems]) if input_data.problems else "无"
report = f"""
# 个人周报
姓名:{input_data.username}
## 本周完成工作
{finished}
## 下周计划
{plan}
## 遇到问题
{problems}
"""
return SkillOutput(success=True, data=report)
except Exception as e:
return SkillOutput(success=False, error=str(e))
七、总结
Agent Skill = 智能体的最小执行单元
- 让 Agent 从 “通用语言模型” 变成 “任务执行引擎”
- 可控、可靠、可复用、可组合、可工程化
- 是企业落地 LLM Agent 的必备架构
未来智能体系统一定会走向:
- Skill 库 + 调度引擎 + 监控平台 的标准化架构
我是小鱼:
- CSDN 博客专家;
- AIGC 技术MVP专家;
- 阿里云 专家博主;
- 51CTO博客专家;
- 企业认证金牌面试官;
- 多个名企认证&特邀讲师等;
- 名企签约职场面试培训、职场规划师;
- 多个国内主流技术社区的认证专家博主;
- 多款主流产品(阿里云等)评测一等奖获得者;
更多推荐



所有评论(0)