如何构建Skills与知识系统,使AI拥有特定领域的专业能力?

摘要:Skills 与知识系统:让 AI 具备领域专业能力 AI 核心技能系列 · 第 10 篇 导语 通用大模型什么都会一点,但什么都不精。你让 GPT 写一份金融合规报告,它写得"像那么回事
Skills 与知识系统:让 AI 具备领域专业能力 AI 核心技能系列 · 第 10 篇 导语 通用大模型什么都会一点,但什么都不精。你让 GPT 写一份金融合规报告,它写得"像那么回事"但经不起专业审查;你让它做医疗辅助诊断,它能说出一堆教科书知识但不了解临床实践。 企业需要的不是"什么都会的通才",而是"懂我这个行业的专家"。怎么让 Agent 从通用走向专业? 答案是 Skills 系统 + 知识库。Skills 定义"怎么做",知识库提供"知道什么",再加上 MCP 连接"能做什么"——三者协同,让 Agent 具备真正的领域专业能力。 一、从通用到专业:Agent 能力进化路径 Level 0: 裸模型 ↓ 加 System Prompt Level 1: Prompt 定制(角色设定、规则约束) ↓ 加 RAG Level 2: RAG 增强(接入领域知识库) ↓ 加 Skills Level 3: Skills 加载(领域工作流 + 最佳实践) ↓ 加 MCP 工具 Level 4: 全能专家(知识 + 流程 + 工具三位一体) 每一层解决不同的问题: 层级 解决什么 局限 Prompt "用什么角色、什么风格" 信息量有限,无法传递大量知识 RAG "需要知道什么" 只提供参考信息,不指导工作流程 Skills "按什么流程做" 封装领域最佳实践和操作规范 MCP "能执行什么操作" 连接真实世界的工具和数据 二、Skills 系统设计理念 2.1 什么是 Skill Skill 是一个结构化的知识包,以 Anthropic 标准格式定义。一个 SKILL.md 文件包含: YAML 前置元数据:name(技能标识符,小写连字符)和 description(功能描述及使用时机) Markdown 正文:具体的工作流程(Workflow)、指南(Guidelines)、示例(Examples)等指令内容 可选依赖:dependencies 字段声明运行所需的软件包 2.2 渐进式披露(Progressive Disclosure) Skill 的信息架构采用三层结构,按需加载,避免一次性塞入过多信息: ┌─────────────────────────────────────┐ │ Layer 1: 元数据层(Frontmatter) │ │ name + description │ │ → 用于 Skill 发现和选择 │ │ 大小:name ≤64字符, desc ≤200字符 │ ├─────────────────────────────────────┤ │ Layer 2: 指令层(Instructions) │ │ 工作流程、Guidelines、Examples │ │ → 加载 Skill 时自动注入 │ │ 大小:几百字到几千字 │ ├─────────────────────────────────────┤ │ Layer 3: 参考层(Reference) │ │ 完整的 API 文档、示例、边界情况 │ │ → 通过 REFERENCE.md 等文件按需查阅 │ │ 大小:任意 │ └─────────────────────────────────────┘ 2.3 Skill 的生命周期 发现 → 加载 → 使用 → 卸载 1. 发现:Agent 根据用户需求,从 Skill 列表中找到匹配的 Skill 2. 加载:将 Skill 的指南层注入到 Agent 的上下文中 3. 使用:Agent 按 Skill 定义的流程完成任务 4. 卸载:任务完成后释放上下文空间 三、实战:创建你的第一个 Skill 3.1 Skill 文件结构 skills/ ├── code-reviewer/ │ ├── SKILL.md # Skill 定义文件 │ ├── templates/ # 模板文件 │ │ └── review-report.md │ └── examples/ # 示例 │ └── sample-review.md ├── sql-optimizer/ │ ├── SKILL.md │ └── ... └── README.md # Skill 目录索引 3.2 SKILL.md 编写示例 Anthropic 定义的 Skill 标准格式要求 SKILL.md 以 YAML 前置元数据(frontmatter)开头,包含 name 和 description 两个必填字段,然后是 Markdown 正文指令: --- name: code-reviewer description: 专业的代码审查助手,对 Python/JavaScript/Go 代码进行安全性、性能、可维护性审查,输出结构化报告。当用户要求代码审查、Code Review 或安全审计时使用。 --- # Code Reviewer - 代码审查专家 ## 工作流程 ### Step 1: 理解上下文 - 确认编程语言和框架 - 了解代码的业务场景 - 询问审查重点(安全/性能/规范/全面) ### Step 2: 逐层审查 按以下优先级逐层审查: 1. **安全性**(P0) - SQL 注入、XSS、CSRF - 敏感数据暴露 - 认证/授权缺陷 - 输入验证缺失 2. **正确性**(P1) - 逻辑错误 - 边界条件处理 - 错误处理缺失 - 并发安全问题 3. **性能**(P2) - N+1 查询 - 内存泄露风险 - 不必要的计算 - 缓存机会 4. **可维护性**(P3) - 代码重复 - 命名规范 - 注释和文档 - 测试覆盖 ### Step 3: 输出报告 使用以下格式输出审查报告: | 优先级 | 文件:行号 | 类型 | 问题描述 | 修复建议 | |--------|----------|------|----------|----------| | P0 | app.py:42 | 安全 | SQL注入风险 | 使用参数化查询 | ### 审查统计 - P0 (阻塞): X 个 - P1 (重要): X 个 - P2 (建议): X 个 - P3 (可选): X 个 ## Guidelines - 对 P0 问题必须提供修复代码 - 每个问题都要说清楚"为什么这是问题" - 好的代码也要给予肯定 - 审查意见要具体,不要笼统的"代码需要优化" ## Examples - 用户说"帮我 review 这段代码"→ 激活本 Skill,按四层优先级审查 - 用户说"检查一下安全漏洞"→ 激活本 Skill,聚焦 P0 安全性审查 3.3 在 Agent 中使用 Skill class SkillManager: """Skills 管理器""" def __init__(self, skills_dir: str): self.skills = {} self.load_skills(skills_dir) def load_skills(self, directory: str): """加载所有 Skill 的描述层""" for skill_dir in os.listdir(directory): skill_path = os.path.join(directory, skill_dir, "SKILL.md") if os.path.exists(skill_path): content = open(skill_path).read() # 提取描述(第一段) desc = self._extract_description(content) self.skills[skill_dir] = { "description": desc, "full_content": content, "loaded": False } def find_skill(self, user_request: str) -> str: """根据用户需求匹配 Skill""" skill_list = "\n".join( f"- {name}: {info['description']}" for name, info in self.skills.items() ) # 用 LLM 判断哪个 Skill 最匹配 response = llm.chat(f"用户需求: {user_request}\n\n可用Skills:\n{skill_list}\n\n最匹配的Skill是:") return response # 返回 skill 名称 def activate_skill(self, skill_name: str) -> str: """激活 Skill,返回完整指南注入到 Agent 上下文""" skill = self.skills.get(skill_name) if skill: skill["loaded"] = True return skill["full_content"] return "" 四、知识库构建方法论 4.1 知识库的类型 类型 内容 用途 示例 文档库 产品文档、技术手册 RAG 检索 公司产品手册 FAQ 库 常见问题和标准答案 快速匹配 客服知识库 案例库 历史案例和解决方案 参考学习 运维故障案例 规则库 业务规则和约束条件 决策依据 合规审查规则 4.2 知识结构化流程 原始数据 结构化处理 知识库 ┌──────────┐ ┌──────────────┐ ┌──────────────┐ │ PDF 文档 │ │ 提取+清洗 │ │ 向量化存储 │ │ Word 文档 │ → │ 分类+标签 │ → │ 元数据索引 │ │ 网页内容 │ │ 关联+去重 │ │ 版本管理 │ │ 数据库 │ │ 质量审核 │ │ 权限控制 │ └──────────┘ └──────────────┘ └──────────────┘ 4.3 知识更新策略 策略 频率 做法 自动同步 实时/每日 监控数据源变化,自动更新向量库 定期重建 每周/每月 全量重新处理,保证一致性 人工审核 按需 关键知识变更需要人工确认 五、Skills + MCP + RAG 协同 三者各有分工,组合起来才是完整的企业级 AI 能力: ┌─────────────────────────────────────────────┐ │ 用户请求 │ │ "帮我审查这份合同是否符合最新的合规要求" │ └──────────────────┬──────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────┐ │ Skills: "合规审查" Skill 被激活 │ │ 定义了审查流程: │ │ 1. 提取合同关键条款 │ │ 2. 对照合规规则逐条检查 │ │ 3. 标记风险点并给出建议 │ │ 4. 生成审查报告 │ └──────────────────┬──────────────────────────┘ │ ┌────────┼────────┐ │ │ │ ▼ ▼ ▼ ┌────────────┐ ┌────────┐ ┌──────────┐ │ RAG: │ │ RAG: │ │ MCP: │ │ 检索最新的 │ │ 检索 │ │ 读取合同 │ │ 合规法规 │ │ 历史案例│ │ 文件内容 │ └────────────┘ └────────┘ └──────────┘ │ │ │ └────────┼────────┘ │ ▼ ┌─────────────────────────────────────────────┐ │ Agent 按 Skill 流程整合所有信息 │ │ 输出结构化的合规审查报告 │ └─────────────────────────────────────────────┘ 三者的关系总结: Skills 定义 "怎么做"(流程和规则) RAG 提供 "知道什么"(领域知识) MCP 连接 "能做什么"(工具和数据) 六、企业级案例 案例一:金融合规审查 Agent Skills: 合规审查流程(反洗钱规则、KYC 流程、风险评级标准) RAG: 最新法规库 + 历史违规案例库 MCP: 交易数据库连接 + 客户信息查询 + 报告生成工具 效果: 审查时间从 2 天缩短到 2 小时,漏检率降低 40% 案例二:技术客服 Agent Skills: 故障排查流程(分层诊断、升级标准、话术规范) RAG: 产品文档库 + FAQ 库 + 历史工单库 MCP: 工单系统 + 监控系统 + 知识库管理 效果: 一次解决率从 45% 提升到 78% 案例三:代码审查 Agent Skills: 代码审查规范(安全→正确性→性能→可维护性四层审查) RAG: 编码规范文档 + 安全漏洞库 MCP: Git 仓库访问 + CI/CD 触发 + 代码分析工具 效果: 审查覆盖率 100%,P0 漏洞检出率提升 60% 七、职业视角 能设计 Skills 系统 = 能做 AI 产品化。这是从"能用 AI"到"能让 AI 产出业务价值"的关键跃升。 问题 核心答案要点 怎么让 Agent 具备领域能力? Skills(流程)+ RAG(知识)+ MCP(工具)三层协同 Skill 和 System Prompt 的区别? Skill 更结构化、可复用、按需加载;System Prompt 一次性全量注入 知识库怎么保持更新? 自动同步 + 定期重建 + 人工审核三策略结合 总结 能力进化路径:Prompt → RAG → Skills → MCP,四层递进 Skills 三层架构:元数据层(发现)→ 指令层(使用)→ 参考层(深入) 知识库四种类型:文档库、FAQ 库、案例库、规则库 三者协同:Skills 定义流程,RAG 提供知识,MCP 连接工具 企业落地:金融、客服、代码审查等场景已有成熟实践 本文是 AI 核心技能系列 第 10 篇,共 12 篇。上一篇:MCP 深入理解 | 下一篇:多模态与模型评测 关注公众号「coft」,获取完整系列更新、配套代码和学习路线图。一起交流 AI 转行经验,助力职业跃升,迈向高薪岗位。