核心内容摘要
《少女心事:一段跨越次元的奇幻之旅》
什么是Skills在 AI 智能体Agent和智能运维AIOps的语境里Skills 就是 AI 智能体的 “专项能力包”—— 是针对某一类特定任务、可复用、可标准化的执行逻辑能让智能体不只是 “听懂指令”更能 “落地做事”。
它更像是工作流定义了完成一件事需要怎么做的流程适用于将工作中有固定sop的事项转换为skills。
比如要对磁盘空间告警实现自愈可以定义一个skills里面包括了检查空间、清理日志等功能而其中的检查、清理等原子性操作则通过MCP或者代码的形式实现。
所以skills也可以看成是一堆功能的串接目的是为了完成一个固定的动作。
把 AI 智能体想象成一个全能的运维工程师Skills 就是这个工程师掌握的具体职业技能这个工程师会“服务器日志分析”→ 对应 AI 的日志异常检测 Skill这个工程师会“批量启停服务”→ 对应 AI 的服务生命周期管理 Skill这个工程师会“资源使用率趋势预测”→ 对应 AI 的容量规划 Skill没有 Skills 的智能体就像一个 “懂理论但不会动手” 的新手你告诉他 “排查下服务器高负载问题”他知道要查 CPU、内存、进程但不知道具体怎么查、怎么分析日志、怎么定位瓶颈而加载了对应 Skills 的智能体能直接按标准化流程完成操作。
因而为了智能体能够按照某个流程处理一件事情就需要skills。
skills与MCP、提示词的关系以处理磁盘空间告警的智能体为例skill、MCP、提示词三者的关系如下提示词下达需求运维人员给智能体发指令 →“帮我处理服务器 A 的根目录满告警”Skills 规划执行步骤智能体调用“磁盘满处理 Skill”→ 该 Skill 内置逻辑执行df -h确认使用率→用find命令找大文件→筛选非核心文件→执行删除/归档MCP 提供操作通道Skill 的每一步操作都通过对应的 MCP 完成 → 比如通过SSH MCP执行find命令通过监控MCP更新告警状态所以没有提示词→ 智能体不知道要做什么-没有 MCP→ 智能体有技能但没工具无法落地操作没有 Skills→ 智能体只能 “口头分析”无法按标准化流程完成任务容易遗漏步骤比如只删文件不确认导致误删核心数据。
总结来说Skills 是 “能力”→ 解决“怎么标准化做一件事”的问题是可复用的 “方法论”MCP 是 “通道”→ 解决“怎么连接底层系统”的问题是智能体的 “手脚”提示词是 “指令”→ 解决“要做什么事”的问题是智能体的 “任务清单”。
这样就比较清楚了skills并不神秘就是为了完成一件事定制的一个流程。
一个实际例子以智能运维场景为例完整拆解“磁盘满自动清理 Skill”的技术实现过程结合代码片段和执行流程让技术细节更直观。
需求与前置条件触发条件智能体通过监控 MCP 获取到 “服务器根目录使用率 85%” 的告警Skill 目标安全清理非核心文件将磁盘使用率降至 70% 以下依赖 MCPSSH MCP执行服务器命令df -h/find/rm运维平台 MCP查询服务器角色如是否为数据库服务器核心目录有哪些
技术实现步骤步骤 1定义输入参数模型Pydanticfrom pydantic import BaseModel, Field from typing import Optional, List # 定义Skill输入参数规范对应Skill的输入Schema class DiskCleanSkillInput(BaseModel): server_ip: str Field(description目标服务器IP地址必填参数) disk_path: str Field(default/, description待清理磁盘路径默认根目录/) safe_threshold: int Field(default70, description磁盘安全使用率阈值(%)默认70%) core_dirs: List[str] Field(default_factorylambda: [/var/lib/mysql, /etc], description禁止清理的核心目录列表)步骤2封装MCP调用这个不详细讨论就是将MCP的调用过程进行封装使得这个过程可以复用。
class SSHMCP: def __init__(self, username: str admin, password: str admin123, port: int
: self.username username self.password password self.port port retry(stopstop_after_attempt(
, waitwait_exponential(multiplier1, min2, max
) def execute(self, server_ip: str, command: str) - str: 此处忽略具体实现 ssh_mcp SSHMCP() ssh_mcp.execute(ip,command) #封装后通过输入IP和需要执行的命令则可以调用相应的MCP服务。
步骤3实现核心逻辑并转换为langchain的tool这里也只是简单展示不陷入具体逻辑实现from langchain.tools import StructuredTool from typing import Dict, Any def disk_clean_skill( server_ip: str, disk_path: str /, safe_threshold: int 70, core_dirs: List[str] None ) - Dict[str, Any]: 磁盘满自动清理Skill安全清理服务器非核心日志/临时文件将磁盘使用率降至安全阈值以下 禁止清理核心目录支持自定义阈值和目标路径 此处省略具体实现逻辑 # 关键将Skill封装为LangChain结构化Tool绑定参数模型 disk_clean_tool StructuredTool.from_function( funcdisk_clean_skill, namedisk_clean_skill, description用于自动清理服务器磁盘空间支持指定服务器IP、磁盘路径、安全阈值和保护目录仅清理大体积日志/临时文件, args_schemaDiskCleanSkillInput, # 绑定参数校验规则 return_directFalse # 执行结果返回给Agent而非直接输出 )步骤4集成到langchain Agent实现自然语言调用skills。
将封装好的 SkillTool注册到 AgentAgent 通过大模型解析提示词自动匹配并调用对应的 Skill完成全流程自动化。
from langchain_openai import ChatOpenAI from langchain.agents import create_openai_tools_agent, AgentExecutor from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder import os # 配置OpenAI密钥也可使用其他LLM如通义千问、豆包 os.environ[OPENAI_API_KEY] 你的API_KEY #
初始化大模型 llm ChatOpenAI(modelgpt-
5-turbo, temperature
#
定义Agent提示词模板 prompt ChatPromptTemplate.from_messages([ (system, 你是专业的AIOps智能运维助手可调用内置Skills处理服务器故障。
严格按照Skill规则执行操作禁止删除核心目录文件), MessagesPlaceholder(variable_namechat_history), (user, {input}), MessagesPlaceholder(variable_nameagent_scratchpad), ]) #
注册所有Skills可批量注册多个Tool形成Skill集合 skills [disk_clean_tool] #
创建Agent并初始化执行器 agent create_openai_tools_agent(llm, skills, prompt) agent_executor AgentExecutor(agentagent, toolsskills, verboseTrue) #
测试通过自然语言提示词触发Skill调用 if __name__ __main__: response agent_executor.invoke({ input: 帮我处理服务器
192.
168.
100的磁盘满问题根目录磁盘使用率安全阈值设为65%保护目录新增/opt/data, chat_history: [] }) print(\n 执行结果 ) print(response[output])
与众不同的关键能力
标准化 Skill 管理所有 Skill 统一封装为StructuredTool具备名称、描述、参数规范大模型可自动理解和调用支持批量注册为Toolkit实现 Skills 的分类管理如运维 Skill 集、数据库 Skill 集。
自动参数解析与校验基于 Pydantic 自动校验输入参数类型、必填项避免非法调用大模型会自动将自然语言如
192.
168.
1.
阈值65%转化为 Skill 需要的结构化参数。
灵活的流程编排支持单 Skill 独立调用、多 Skill 串行 / 并行执行结合 LCEL 语法可实现复杂的 Skill 编排逻辑
与 MCP / 外部系统解耦Skill 只调用 MCP 的标准化接口不关心底层实现SSH/HTTP/SDK替换 MCP 时无需修改 Skill 核心逻辑。
完善的可观测性AgentExecutor开启verboseTrue后会打印完整执行链路大模型决策过程匹配的 Skill 名称传入的参数Skill 执行日志最终结果
五、
总结LangChain 中用StructuredTool Pydantic是实现标准化 Skill 的最佳实践覆盖参数校验、逻辑编排、异常处理全流程封装后的 Skill 可直接集成到 Agent支持自然语言触发、自动参数解析、多 Skill 编排架构实现了解耦设计Skill 逻辑、MCP 接口、提示词解析相互独立便于维护和扩展代码可直接适配生产环境仅需替换 MCP 的真实连接配置和大模型密钥即可落地。
学习资源推荐如果你想更深入地学习大模型以下是一些非常有价值的学习资源这些资源将帮助你从不同角度学习大模型提升你的实践能力。
全套AGI大模型学习路线AI大模型时代的学习之旅从基础到前沿掌握人工智能的核心技能因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取
640套AI大模型报告合集这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。
无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取
AI大模型经典PDF籍随着人工智能技术的飞速发展AI大模型已经成为了当今科技领域的一大热点。
这些大型预训练模型如GPT-
BERT、XLNet等以其强大的语言理解和生成能力正在改变我们对人工智能的认识。
那以下这些PDF籍就是非常不错的学习资源。
因篇幅有限仅展示部分资料需要点击文章最下方名片即可前往获取