鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
10
5
7

Claude Code凯神实战指南 - 第四章:让Claude连上一切——MCP、Hooks与Subagent实战

lenyan
lenyan
2026-03-23 17:59
阅读 4584
lenyan
2026-03-23 17:59
阅读 4584

第四章:让Claude连上一切——MCP、Hooks与Subagent实战

📖 项目简介

这是由凯神精心打造的一套完整的 Claude Code 实战教程系列,从零基础环境安装,到企业级安全合规,全面系统地覆盖 Claude Code 的所有核心功能。

8个完整章节,包含:Commands / MCP / Hooks / Skills / Plugins / 团队协作 / 企业安全 等全部内容。

全中文编写,实战导向,每个章节都经过真实场景验证,帮助你快速从零开始,到能独立管理企业级项目。


👨‍🏫 关于作者

Lenyan 凯神

一名即将进入社会的应届生开发工程师。在学习 Claude Code 的过程中,深刻体验到它能极大提升开发效率。凯神把自己的学习笔记和实践经验整理成这套教程,希望帮助更多同学和新人开发者快速掌握这个强大工具。

这套教程的初衷很简单:让大家真正用上 Claude Code,提升编程效率,少走弯路。

凯神的观点:做好指挥官,让 AI 为你工作。


📚 笔记链接目录

1、Claude Code 实战指南 - 从零到起飞✨第一章

2、Claude Code 实战指南 - 30+命令与快捷键✨第二章

3、Claude Code 实战指南 - 自定义Commands让AI秒懂你✨第三章

4、Claude Code 实战指南 - MCP、Hooks与Subagent实战✨第四章

5、Claude Code 实战指南 - Skills定制给Claude装能力✨第五章

6、Claude Code 实战指南 - Plugins全攻略✨第六章

7、Claude Code 实战指南 - 企业级协作规范与CICD✨第七章

8、Claude Code 实战指南 - 企业深水区密钥安全✨第八章


立即开始学习 → 点击上方任意章节开始你的 Claude Code 之旅!🚀

目录

  • 1. 前言
  • 2. MCP 集成
    • 2.1 MCP 是什么
    • 2.2 配置方式
    • 2.3 常用服务器速查
    • 2.4 三大作用域
    • 2.5 在 Commands 中调用 MCP
    • 2.6 故障排查
    • 2.7 参考资料
  • 3. Hooks 系统
    • 3.1 Hooks 是什么
    • 3.2 配置方式
    • 3.3 实战示例
    • 3.4 可用环境变量
    • 3.5 常用场景速查
    • 3.6 故障排查
  • 4. Subagent 子代理体系
    • 4.1 Subagent 是什么
    • 4.2 快速安装
    • 4.3 /agents 交互式创建(从零搭建)
    • 4.4 代理目录总览
    • 4.5 并行调用多个专家
    • 4.6 故障排查
  • 5. 总结
  • 6. 参考资料
  • 下一步学习

1. 前言

学完 Commands,你已经能把重复提示词压缩成一个词。

但 Claude 本身有能力边界——它不能直接操作数据库、不能搜网页、不能推代码到 GitHub。

MCP 和 Hooks 就是突破这个边界的两把钥匙:

工具解决什么问题类比
MCP让 Claude 调用外部服务(数据库/GitHub/搜索)给 Claude 装"插件"
Hooks让 Claude 在操作前后自动触发脚本(lint/测试/通知)给 Claude 设"自动触发器"

2. MCP 集成

2.1 MCP 是什么

MCP(Model Context Protocol)是 AI 连接外部工具的**"USB 标准"**——统一协议,任何 MCP Server 都能即插即用地被 Claude 调用。

对比没有 MCP有 MCP
对接成本每个工具单独开发一次开发,处处复用
兼容性各平台不通用开放标准,跨平台
生态各自为战社区共建,直接拿来用

2.2 配置方式

方式一:配置文件(推荐团队)

在项目根目录创建 .mcp.json:

▼
json
复制代码
{ "mcpServers": { "服务器名": { "command": "npx", "args": ["-y", "包名", "附加参数"], "env": { "API_KEY": "${环境变量名}" } } } }

${GITHUB_TOKEN} 会自动读取同名环境变量,不要把密钥硬写进文件。

方式二:CLI 快速添加(个人测试)

▼
bash
复制代码
claude mcp add <具体mcp地址> # 添加 claude mcp list # 查看所有 claude mcp remove <名称> # 删除
▼
text
复制代码
claude mcp add filesystem -s user -- npx -y @modelcontextprotocol/server-filesystem D:/Desktop D:/develop

▼
text
复制代码
claude mcp list 或者/mcp

▼
text
复制代码
claude mcp remove filesystem -s user

删除成功:

作用域指定:

▼
bash
复制代码
claude mcp add --scope project <名称> ... # 项目级(默认) claude mcp add --scope user <名称> ... # 用户级(全局)

2.3 常用服务器速查

分类服务器包名需 API Key推荐
文件filesystem@modelcontextprotocol/server-filesystem❌⭐⭐⭐
文件memory@modelcontextprotocol/server-memory❌⭐⭐
数据库sqlite@modelcontextprotocol/server-sqlite❌⭐⭐⭐
数据库postgres@modelcontextprotocol/server-postgres❌(需连接串)⭐⭐
开发github@modelcontextprotocol/server-github✅⭐⭐⭐
开发git@modelcontextprotocol/server-git❌⭐⭐
搜索brave-search@modelcontextprotocol/server-brave-search✅⭐⭐⭐
搜索fetch@modelcontextprotocol/server-fetch❌⭐⭐
知识context7@upstash/context7-mcp❌⭐⭐⭐
自动化puppeteer@modelcontextprotocol/server-puppeteer❌⭐⭐

典型配置示例(Filesystem + GitHub):

▼
json
复制代码
{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."], "env": {} }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" } } } }

启动 claude 时看到 ✓ filesystem ✓ github 即配置成功,C盘目录下 用户名下的 .claude.json文件。

image.png

2.4 三大作用域

作用域存储位置优先级适用场景
Local~/.claude.json(项目条目)最高含 API Key,绝不提交 Git
Project项目根 .mcp.json中团队共享,版本控制
User~/.claude.json(全局)最低个人通用工具,跨项目可用

选择原则:含密钥 → Local;团队必需 → Project;个人常用 → User。

2.5 在 Commands 中调用 MCP

第三章的 allowed-tools 直接支持 MCP 工具,格式:mcp__服务器名__工具名

▼
markdown
复制代码
--- allowed-tools: - mcp__github__create_issue - mcp__filesystem__read_file - mcp__brave-search__brave_web_search ---

这样 Commands 就能直接驱动 GitHub、文件系统、搜索等外部服务,形成完整自动化工作流。

2.6 故障排查

现象原因解决方法
启动时看不到 MCP 服务器配置文件路径或格式错误确认 .mcp.json 在项目根目录,JSON 格式正确
服务器启动失败Node.js 版本过低升级到 v18+
${VAR} 环境变量未生效变量未导出或终端未重启echo $VAR 验证,重启终端
工具调用被拒allowed-tools 未声明在 Commands frontmatter 加入工具名
npx 下载超时网络问题npm config set registry https://registry.npmmirror.com

3. Hooks 系统

3.1 Hooks 是什么

Hooks 是事件驱动的自动化触发器——Claude 执行特定操作时,自动运行你预设的 shell 脚本。

比如可以在ClaudeCode 写完代码后,自动执行某些命令的格式化,以便让最终的代码更加美观,更加符合我们的需求

Hook 时机触发事件典型用途
PreToolUseClaude 调用工具之前安全拦截危险命令、参数校验
PostToolUseClaude 调用工具之后自动 lint / 测试 / 格式化
PostToolUseFailureClaude 调用工具失败后错误日志记录、重试机制触发、失败原因分析
NotificationClaude 发送通知时桌面弹窗、音效提醒
StopClaude 完成一轮回复后自动保存、发送完成通知

类比:MCP 是给 Claude 装插件,Hooks 是给 Claude 装"自动触发器"——它做完某件事就自动帮你跑一段脚本。

3.2 配置方式

Hooks 写在 settings.json 的 hooks 字段,支持两个位置:

位置路径生效范围
项目级.claude/settings.json仅当前项目,可提交 Git
用户级~/.claude/settings.json所有项目

配置格式:

▼
json
复制代码
{ "hooks": { "事件名": [ { "matcher": "工具名正则", "hooks": [ { "type": "command", "command": "要执行的 shell 命令" } ] } ] } }

matcher 正则匹配规则详解:

matcher 用于精确控制 Hook 触发的工具范围,支持正则表达式:

模式含义示例
空字符串 ""匹配所有工具任何工具操作都触发
精确匹配工具名相同Write 仅匹配 Write 工具
竖线 |逻辑 OR,多个工具Write|Edit 同时匹配两个工具
.匹配任意单字符Wr.te 匹配 Write
^字符串开始^Bash$ 精确匹配 Bash,避免误匹配
$字符串末尾Tool$ 匹配以 Tool 结尾的工具

常见 matcher 模式示例:

▼
json
复制代码
{ "hooks": { "PostToolUse": [ { "matcher": "", "hooks": [{"type": "command", "command": "echo '任何工具都会触发'"}] }, { "matcher": "Write", "hooks": [{"type": "command", "command": "echo '仅 Write 工具触发'"}] }, { "matcher": "^Bash$", "hooks": [{"type": "command", "command": "echo '精确匹配 Bash,避免 BashScript 误触发'"}] }, { "matcher": "Write|Edit", "hooks": [{"type": "command", "command": "prettier --write $CLAUDE_FILE_PATHS"}] }, { "matcher": "Read.*", "hooks": [{"type": "command", "command": "echo 'Read 开头的工具'"}] } ] } }

最佳实践:

  • 使用 ^精确匹配$ 避免正则范围过宽导致的意外触发
  • 在 PreToolUse 中用严格正则防御危险命令
  • PostToolUse 可用较宽松的正则(如 Write|Edit)

3.3 实战示例

**写完文件自动格式化(最常用)**提取路径 + 格式化文件

▼
json
复制代码
{ "hooks": { "PostToolUse": [ { "matcher": "Write|Edit", "hooks": [ { "type": "command", "command": "jq -r '.tool_input.file_path' | xargs prettier --write" } ] } ] } }

3.4 可用环境变量

Hook 脚本执行时,Claude 会注入以下变量:

变量含义示例值
$CLAUDE_TOOL_NAME当前调用的工具名Write
$CLAUDE_FILE_PATHS被操作的文件路径(空格分隔)src/app.ts src/utils.ts
$CLAUDE_PROJECT_DIR项目根目录/Users/me/project
$CLAUDE_TOOL_INPUT工具的完整输入(JSON){"command":"ls -la"}

3.5 常用场景速查

场景事件工具 matcher脚本示意
保存后自动 prettierPostToolUseWrite|Editprettier --write $CLAUDE_FILE_PATHS
保存后自动 ESLintPostToolUseWrite|Editeslint --fix $CLAUDE_FILE_PATHS
写完跑单元测试PostToolUseWritenpm test -- --passWithNoTests
记录所有 Bash 命令PreToolUseBashecho $CLAUDE_TOOL_INPUT >> audit.log
完成后播放音效Stop(空)afplay /System/Library/Sounds/Glass.aiff
完成后桌面通知Stop(空)osascript -e 'display notification...'

注意:PreToolUse Hook 退出码为 2 时会阻止该工具调用,其余退出码不会阻断执行。

3.6 故障排查

现象原因解决方法
Hook 没有触发settings.json 路径或格式错误确认文件位置,JSON 格式用在线工具验证
脚本报"命令未找到"脚本用了 shell 别名或 PATH 不完整写完整路径,如 /usr/local/bin/prettier
PreToolUse 误拦截matcher 正则范围太宽精确化正则,如 ^Bash$ 而非 Bash
文件路径变量为空工具不涉及文件操作改用 $CLAUDE_TOOL_INPUT 获取完整输入

4. Subagent 子代理体系

4.1 Subagent 是什么

学完 MCP 和 Hooks,你已经能扩展 Claude 的能力边界——让它能调用外部服务、自动运行脚本。

但还有个更深的问题——一个 Claude 怎么同时精通 100+ 个专业领域?

Subagent(子代理)就是答案:Claude Code 通过 Task 工具启动的专业化 AI 代理,每个都是该领域的专家。

工具解决什么问题类比
MCP让 Claude 调用外部服务给 Claude 装"插件"
Hooks让 Claude 自动运行脚本给 Claude 设"自动触发器"
Subagent让 Claude 调动专家团队给 Claude 配"顾问团队"

Subagent 的核心优势

并行协作:同时启动多个专家代理,处理不同任务,效率翻倍。

▼
text
复制代码
单个 Claude 顺序处理: 代码审查 → 性能优化 → 安全审计 → 文档生成(耗时) 多个 Subagent 并行处理: code-reviewer ─────┐ performance-pro ────┼──→ 同时并行,结果聚合(快速) security-auditor ───┤ doc-writer ────────┘

领域专业化:每个 Subagent 都是特定领域的深度专家,质量远高于通用 Claude。

按需扩展:100+ 专家代理库,你只需说一句话,Claude 自动调用最合适的专家。

⚠️ 重要提醒:使用多 Agent 并行调用的 token 消耗量巨大。每启动一个子代理都会消耗独立的上下文窗口。建议按需调用,不要一次性启动太多代理。


4.2 快速安装

方法一:交互式脚本安装(推荐)

▼
bash
复制代码
claude plugin marketplace add VoltAgent/awesome-claude-code-subagents
▼
text
复制代码
claude plugin install <plugin-name>

或者/plugin Installed界面自行安装

方法二:手动安装(完全控制)

  1. 确定存放路径:

    • 全局可用:~/.claude/agents/
    • 项目专用:.claude/agents/(项目根目录)
  2. 复制文件:从仓库的 categories/ 文件夹中找到你需要的 .md 代理定义文件,复制到上述路径即可。

验证安装:

▼
bash
复制代码
# 查看已启用的子代理 claude /agents

故障排查与相关截图:

如果是网络问题需要检查自己的代理软件(🪜)

可能安装过程需要代理软件,看自己的个人配置(自己的代理接口)或者手动安装

▼
text
复制代码
$env:HTTP_PROXY = "http://127.0.0.1:7897" $env:HTTPS_PROXY = "http://127.0.0.1:7897"


4.3 /agents 交互式创建(从零搭建)

除了安装现成的代理库,你还可以用 /agents 命令从零创建自己的 Subagent——整个过程全程交互式引导,不需要手写任何配置文件。

第一步:输入 /agents

在 Claude Code 对话中输入 /agents,你会看到当前已有的代理列表,底部有 Create new agent 选项:

第二步:选择存放位置

选项说明适合场景
Project (.claude/agents/)仅当前项目可用项目专用代理
Personal (~/.claude/agents/)全局可用通用代理,跨项目复用

image.png

第三步:选择创建方式

方式说明适合
Generate with Claude(推荐)你只需描述需求,Claude 自动生成完整配置新手首选
Manual configuration手动填写每个字段需要精确控制的场景

第四步:描述代理职责

用自然语言描述这个代理应该做什么、什么时候被调用。写得越详细,生成效果越好:

▼
text
复制代码
这是一个用于代码审核的 SubAgent。在用户要求"代码审核"的时候调用它。

第五步:等待 Claude 生成

Claude 会根据你的描述自动生成代理的名称、系统提示词、工具选择等配置:

第六步:选择工具权限

选择这个代理可以使用哪些工具。根据代理职责按需勾选:

工具类别包含工具说明
Read-only toolsGlob、Grep、Read 等只读,安全无副作用
Edit toolsEdit、Write 等可修改文件
Execution toolsBash 等可执行命令
MCP tools已配置的 MCP 服务调用外部服务

第七步:选择模型

模型特点建议场景
Sonnet性能均衡,速度与质量兼顾日常代理首选
Opus最强推理能力,成本最高复杂架构 / 深度分析
Haiku速度快、成本低简单任务 / 批量处理
Inherit from parent继承主会话模型跟随当前设置

第八步:选择颜色标识

给代理设置一个背景色,方便在会话中一眼识别它的输出(比如代码审核用绿色、安全审计用红色)。

第九步:配置记忆

选项说明建议
Enable (.claude/agent-memory/)项目级记忆,代理会记住历史上下文推荐
None无持久记忆一次性任务
User scope全局记忆(~/.claude/agent-memory/)跨项目通用代理
Local scope本地记忆,不提交 Git含敏感信息的场景

第十步:确认保存

最终会展示代理的完整配置,确认无误后按 s 或 Enter 保存:

▼
text
复制代码
Name: code-reviewer Location: .claude/agents/code-reviewer.md Tools: Glob, Grep, Read, WebFetch, WebSearch Model: Sonnet Memory: Project (.claude/agent-memory/) Description: Use this agent when the user explicitly requests a '代码审核' (code review), '审查代码', '检查代码'... System prompt: 你是一位资深代码审核专家,拥有超过15年的软件工程经验, 精通多种编程语言和架构模式...

实战调用

保存完成后,直接在对话里说 "给我做下代码审核"——Claude 会自动识别并调用刚刚创建的 code-reviewer 代理。

你会看到绿色标识,表示 Subagent 正在独立执行审核任务:

审核完成后,代理会返回完整的审核报告,收工:

凯神提醒:/agents 交互式创建是目前最推荐的方式——不需要手写 .md 文件,Claude 帮你自动生成完整配置(名称、描述、系统提示词、工具权限全都有),新手 2 分钟就能搞定一个专属代理。


4.4 代理目录总览

VoltAgent 提供的 10 大类专家代理(100+ 代理),按需安装:

1️⃣ 核心开发 (Core Development)

api-designer / backend-developer / electron-pro / frontend-developer / fullstack-developer / graphql-architect / microservices-architect / mobile-developer / ui-designer / websocket-engineer / wordpress-master

2️⃣ 语言专家 (Language Specialists)

typescript-pro / python-pro / rust-engineer / golang-pro / java-architect / javascript-pro / react-expert / vue-expert / angular-architect / nextjs-developer / swift-expert / kotlin-expert / cpp-pro / csharp-developer / php-pro / sql-pro / django-developer / laravel-expert / rails-expert / spring-boot-engineer / flutter-expert / elixir-expert / dotnet-core-expert / powershell-pro

3️⃣ 基础设施 (Infrastructure)

cloud-architect / devops-engineer / kubernetes-expert / terraform-engineer / database-admin / sre / deployment-engineer / azure-infra-engineer / network-engineer / platform-engineer / security-engineer / incident-responder / windows-infra-admin

4️⃣ 质量与安全 (Quality & Security)

code-reviewer / security-auditor / qa-automation-engineer / performance-engineer / debugging-expert / error-detective / penetration-tester / architecture-reviewer / accessibility-tester / chaos-engineer / compliance-auditor / testing-automation-expert

5️⃣ 数据与人工智能 (Data & AI)

ai-engineer / llm-architect / ml-engineer / data-engineer / data-scientist / data-analyst / database-optimizer / postgres-pro / mlops-engineer / nlp-engineer / prompt-engineer

6️⃣ 开发者体验 (Developer Experience)

refactoring-expert / documentation-engineer / git-workflow-manager / legacy-code-modernizer / mcp-developer / build-engineer / cli-developer / dependency-manager / dx-optimizer / tooling-engineer

7️⃣ 专业领域 (Specialized Domains)

blockchain-developer / game-developer / fintech-engineer / iot-engineer / embedded-systems-engineer / api-documenter / seo-specialist / mobile-app-developer / m365-admin

8️⃣ 业务与产品 (Business & Product)

product-manager / business-analyst / project-manager / scrum-master / technical-writer / ux-researcher / customer-success-manager / sales-engineer / legal-advisor / content-marketing-specialist

9️⃣ 元数据与编排 (Meta & Orchestration)

multi-agent-coordinator / workflow-orchestrator / agent-organizer / agent-installer / context-manager / task-dispatcher / error-coordinator / performance-monitor / knowledge-synthesizer / it-ops-orchestrator

推荐新手起点:

  • code-reviewer(代码审查)
  • debugging-expert(调试)
  • refactoring-expert(重构)
  • documentation-engineer(文档)

4.5 并行调用多个专家

自动识别调用

当你的描述符合某个子代理的专业领域时,Claude 会自动调用对应的专家:

▼
text
复制代码
你:这段代码有性能问题 Claude:[自动识别] 调用 performance-engineer 代理... 基于性能优化的最佳实践,我来分析瓶颈... 你:帮我检查代码质量 Claude:[自动识别] 调用 code-reviewer 代理... 我注意到以下代码质量问题...

显式调用多个专家

对于复杂任务,显式并行调用多个专家:

▼
text
复制代码
并行调用各个专家查看/解决 XXXX 问题 需要: - code-reviewer 检查代码质量 - performance-engineer 分析性能 - security-auditor 审计安全漏洞

Claude 会同时启动 3 个子代理,返回综合报告。

常见场景示例

场景调用代理效果
代码审查code-reviewer快速找出质量问题
性能优化performance-engineer + database-optimizer全面分析瓶颈
安全审计security-auditor + penetration-tester深度安全检查
新项目启动architecture-reviewer + project-manager + tech-writer快速生成架构文档
重构遗留代码legacy-code-modernizer + refactoring-expert系统现代化
API 设计api-designer + api-documenter完整的设计方案

4.6 故障排查

现象原因解决方法
/agents 看不到任何代理安装路径错误或仓库未克隆确认代理文件在 ~/.claude/agents/ 或 .claude/agents/
代理安装成功但不被调用Subagent 定义文件格式错误检查 .md 文件的 frontmatter 格式
并行调用代理导致超时启动的代理太多,超过 token 限制减少并行代理数量,改为分批调用
代理返回结果不符合预期代理描述匹配度不高在调用时更明确地说明需求,或显式指定代理
Token 消耗过多每个子代理都有独立上下文按需调用,避免一次性启动太多代理

5. 总结

本章你已掌握:

  1. MCP 本质:AI 连接外部工具的 USB 标准,.mcp.json 配置,npx 启动
  2. 常用服务器:filesystem / github / sqlite / context7 等 10 个主流 Server 速查
  3. 三大作用域:Local(私密)> Project(团队)> User(全局),按需选择
  4. Commands 联动:mcp__服务器名__工具名 在 Commands 中直接调用 MCP
  5. Hooks 本质:事件驱动的 shell 脚本,PreToolUse / PostToolUse / Stop 三大时机
  6. Hooks 实战:自动格式化、安全日志、完成通知,一次配置永久生效
  7. Subagent 本质:Claude 调动的专家团队,100+ 代理库,按需并行协作
  8. /agents 创建:交互式引导从零搭建专属代理,2 分钟完成,不需手写配置
  9. Subagent 实战:快速安装、自动识别、显式并行调用,提升开发效率 10 倍

6. 参考资料

MCP 相关资源

  • Claude Code 官方 MCP 文档
  • 知乎深度讲解:MCP 协议与应用实战
  • CSDN 教程:Claude Code MCP 集成完整指南

Hooks 相关资源

  • Claude Code 官方 Hooks 文档
  • 知乎深度讲解:Claude Hooks 自动化工作流完全指南
  • CSDN 教程:Claude Hooks 实战与最佳实践

Subagent 相关资源

  • Claude Code 官方 Subagent 文档
  • CSDN 深度教程:Subagent 子代理完整指南
  • ClaudeCN 中文文档:Subagent 高级用法

下一步学习

章节主题你将学到
第05章Skills 定制——给Claude装上专属能力包Skill 开发、自动激活机制、复杂提示词组织
第06章CLAUDE.md 完整配置指南项目规范管理、长期记忆维护、团队协作
第07章Plugins 生态完整指南插件安装、配置与自定义开发

作者简介:一名正在实习的Java开发工程师,热爱技术分享,专注于性能优化和系统架构设计。

觉得有用的话可以点点赞 (/ω\),支持一下。

如果愿意的话关注一下。会对你有更多的帮助。

每周都会不定时更新哦 >人< 。

版权声明:本文为原创技术文章,转载请注明出处。

AI
文档
笔记
10
7
分享
操作

相关专栏

ClaudeCode实战指南

ClaudeCode实战指南

ClaudeCode实战指南

评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题

目录

🔥 热门文章
1
手把手教你设计一个成熟的 Agent Harness
2500
2
我用 REA 逆向了付费颜色 APP,结果很意外!
570
3
离谱,DeepSeek 崩了 5 小时,大家却喊:梁圣恩情还不完??
420
4
DeepSeek 全新模型发布,性价比最高的一集!
380
5
B 站上 DeepSeek 闹鱼灾了,我发起《大肥鱼清除计划》!
370
6
自己学习ai,直接买cursor 的套餐,还是买gpt 或者claude 的套餐?
360
7
又一个国产版 Codex 神器,也来卷办公了!
330
8
day3-如何写出一个高质量的 Skill(组内分享) 高质量 Skill 不是“一个调得很顺的巨型 Prompt”,而是一个可验证、可回归、可维护的能力包。 先定义“什么算好”,再实现“怎么做好”。评估体系先于 Skill 本身成型。 下面用“故障诊断 Markdown 转 YAML”作为例子,但方法是通用的。 --- 一、先想清楚:Skill 到底是什么 一个 Skill 至少包含四部分: 部分 作用 接口 输入什么、输出什么、边界在哪 流程 分几步做,每步的产物是什么 规则 硬约束、经验规则、失败模式 降级策略 不确定时怎么办,而不是硬编一个看似合理的结果 高质量 Skill 的共同点:职责单一、接口清晰、规则可定位、输出可验证。 反例:把几十条经验全塞进一个主 Prompt,改一条规则要重调整个 Prompt,评估时也不知道是哪条规则退化。 --- 二、核心方法:先建评估,再写 Skill 不要先写转换器再补测试。正确顺序是: 1. 定义输出契约:什么算合法、什么算合格; 2. 建金标准集:一小批人工认可“可放行”的样本; 3. 先写评估 Skill:让它在金标准集上跑出基线; 4. 再迭代生成 Skill:每次修改跑同一套评估,无退化且目标维度提升才算正向。 这就是评估驱动开发:评估是 Skill 的单元测试,金标准集是回归锚点。 --- 三、评估 Skill:三层门禁,逐层递进 前一层不过,后一层不跑。每层留可追溯证据。 第 1 层:确定性硬门禁 用解析器、Schema、校验器完成,不消耗模型成本。 · 输出可解析; · 必填字段齐全,类型/枚举合法; · 引用目标存在,无悬空引用、无不可达节点; · 关键路径至少有一条能到达预期出口。 不通过直接打回。 第 2 层:语义断言 用脚本 + 结构遍历检查“逻辑对不对”,仍然保持确定性。 通用检查项: · 覆盖率:源材料里的关键步骤、分支、条件,输出里是否都有对应? · 完整性:每个判断节点是否都有明确出口?有没有死胡同? · 可达性:每条路径是否都能到达预期终点?有没有无出口循环? · 顺序与依赖:有先后依赖的操作,是否保留了顺序?有没有被拍平成无序列表? 例子:故障诊断转换中,检查“每个判断项是否有是/否/异常出口”“每条路径是否能到根因”。 第 3 层:LLM-as-Judge 只处理解析器表达不了的维度:忠实度、完整性、可执行性。 但 Judge 会漂移,不能单独放行,必须建立在第 1、2 层之上。Judge 的 Prompt、rubric、模型版本都要版本化,换模型必须用金标准集重新校准。 通用 Judge 维度: 维度 问什么 忠实度 输出是否忠实源材料意图?有没有自行发明内容? 完整性 关键步骤、条件、证据是否保留?隐式知识有没有被压成空话? 收敛性 输出是否仍指向原目标,而不是发散? 可执行性 下游不依赖源材料能否直接使用? --- 四、金标准集:回归测试的锚点 不需要一开始就标注几百份。用已认可的样本当种子,扩到 15~30 份,覆盖失败模式而非随机抽样: · 完整正例:典型流程; · 边界/异常分支:异常路径、循环、前置失败回退; · 已知易错模式:实际踩过的坑; · 留出集:不参与调优,只用于最终验收,防过拟合。 金标准不需要完美,只需要当前标准下认可可放行。 回归指标:关键路径用 pass^k(k 次全过),稳定性用 pass@k。 --- 五、工程约束:让批量产出可重放 · 幂等:同输入 + 同 Skill 版本 + 同规则 → 输出一致,否则无法判断变好是 Skill 改了还是随机波动; · 隔离不阻断:单份失败进隔离队列,记录失败层和原因,不阻塞其余; · 版本绑定:规则、rubric、金标准集进 Git;每份报告绑定“源版本 + 生成 Skill 版本 + 评估 Skill 版本 + Judge 模型版本”; · 抽样人工复核:Judge 临界样本 + 易错模式,人工抽检结果反过来校准 rubric。 --- 六、Skill 本身怎么写 · SKILL.md 控制篇幅,写清:输入约定、输出契约、分步流程、硬规则、降级策略; · 经验规则放 references/ 或 rules/,按失败模式分类,不要全塞进主 Prompt; · 不确定时标 needs_review: true,不要硬编看似合理的结果; · 迭代由评估报告驱动:报告告诉你哪层挂了、哪类失败模式,你改对应规则文件,而不是漫无目的调 Prompt。 --- 七、落地顺序(不要反过来) 1. 固化输出契约:Schema + 结构约束; 2. 建金标准集:从已认可的 + 最易出错的样本开始; 3. 先写评估 Skill:跑出基线报告; 4. 再迭代生成 Skill:每次修改对比逐项通过率,无退化且目标提升才算正向; 5. 批量运行 + 隔离回放:失败进队列,结束后人工抽检; 6. 评估 Skill 自身版本化:换 Judge 模型必须重新校准。 --- 八、给组员的三条硬要求 1. 不许凭感觉说“变好了”:每次修改必须附评估报告对比,逐项通过率说话。 2. 不许跳过确定性门禁直接看 Judge 分数:前两层挂了,Judge 分数没有意义。 3. 不许把规则堆进主 Prompt:规则按失败模式分文件,评估报告要能定位到具体文件。 --- 一句话收尾 生成 Skill 决定“能不能做”,评估 Skill 决定“敢不敢用”。 先让评估体系站稳,再让生成器迭代。这样交付的不是一堆“看起来还行”的产出,而是一套可证明、可回归、可交接的 Skill 质量体系。
310
9
AI 越强,被它拒绝的代价就越大 我有时候会想:AI 越来越厉害之后,有些事情,会不会反而越来越难做? 这个想法看起来有点矛盾。AI 明明在降低门槛,让不会写代码的人做出软件,让不会画画的人生成图片,让一个人完成过去需要整支团队才能完成的工作。但今天用 Codex 的时候,AI 拒绝帮我编写 SQL 注入的请求体,而那还是我有源码、在本地跑测试的情况。那么,往后是否只会更难? 我们假设某一天,AI 说:「这个请求违规,我不能帮助你。」到那个时候,你还有多少能力,能绕过它,把事情做完? 这里的「违规」需要打个引号。平台的规则、模型的判断、法律的要求,以及一件事实际有没有造成伤害,彼此之间并不总是画得上等号。一个请求可能确实危险,也可能只是缺少上下文被误判,或者恰好落在某家公司的限制范围里。 无论是哪种情况,随着我们越来越依赖 AI,这句拒绝都可能变得越来越贵。 今天,一个程序员让 AI 帮忙写代码,AI 拒绝了,他大概率还有别的办法:查文档、找开源项目、问同行,或者自己写。麻烦一点,慢一点,但路还在。 可如果十年之后,大部分程序都由 AI 完成,情况就不一样了。 很多人从接触编程的第一天起,就习惯了描述需求、等待生成、运行结果、继续迭代。他们能做出相当复杂的产品,却未必经历过独立处理底层问题的训练。平时,这种能力结构完全够用,效率甚至更高。只有 AI 拒绝的时候,他们才会发现:平常被省掉的那段学习过程,恰好是此刻最需要的东西。 到那时,一次拒绝的成本,可能就从「今晚多花两个小时」,变成「先花半年学会这门技术」。 拿 SQL 注入举个稍显极端的例子:往后,连真正理解这类攻击如何发生、能够独立构造测试的人,会不会也越来越少? 这里也包括那些有正当需求的人。一个开发者想检查自己的旧系统,一个经过授权的安全研究员想复现漏洞,假如 AI 识别到危险模式就拒绝,而使用者又只熟悉「让 AI 帮我检查」,这项原本可以独立完成的工作,就这样卡住了。 但是安全专家不会因此消失,但这类技能可能越来越集中在少数人手里。你仍然可以找专家,只是要付出更多的钱、更多的时间,以及更高的沟通成本。 类似的困境,未必只发生在网络安全领域。 你想从一个停止维护的软件里取回自己的数据,需要解析它的旧文件格式。AI 判断这涉及规避保护措施,拒绝继续。你拥有这些数据,却没有能力把它们读出来。 你买了一台设备,厂商停止提供服务。你想修改程序让它继续运转,过程中需要处理某种访问限制。AI 不愿协助,而你所掌握的维修方式,早已只剩下「把报错发给 AI」。 你想给常用的网站写一个辅助工具,减少重复操作。平台将此归入自动化限制,AI 也据此拒绝。过去会写脚本的人可以自己判断、自己处理;未来的使用者,可能连从哪里开始都不知道。 这些例子有一个共同点:当工具同时承担了「执行工作」和「传授知识」的角色,它的拒绝就不只是挡住了一次任务,也挡住了获得这种能力的机会。 更麻烦的是,这种依赖往往是我们主动选择的,而且每一步都很合理。 既然 AI 几秒钟就能做好,为什么还要花几个月学习?既然公司可以采购成熟的 AI 服务,为什么还要养一支负责基础工作的团队?既然市场上已经很少有人手写这些东西,学校为什么还要花大量时间教? 对个人、公司和学校来说,这些选择都有现实依据。但叠加起来,整个社会保留的独立能力就可能越来越少。等到某项能力突然受到限制,我们才发现,备用方案早已在追求效率的过程中被一点点削掉了。 所以,「AI 越强,做事越便宜」可能只描述了未来的一半。 另一半是:被允许的事情越来越便宜,被拒绝的事情依然需要人工完成,却要面对更少的人才、更高的报价,以及越来越难获得的知识。两边的成本差距,会越拉越大。 有人会说,可以换一个模型,或者用本地模型。这确实是重要的选项。只要工具之间还有充分竞争,开放模型还足够可用,限制就未必能形成真正的门槛。 但备用方案也需要维护。它需要硬件、知识、软件生态,以及一群仍然理解这些系统的人。如果大多数人已经习惯了最方便的商业服务,那么「理论上还有别的办法」和「普通人实际用得起、用得明白」,之间仍然可能隔着很远。 我担心的,正是这段距离。 我不指望 AI 对任何请求都照单全收。对明显会伤害他人的行为设置限制,有充分的理由。但我们也需要关心:限制由谁定义,误判有没有申诉渠道,用户能不能换工具,以及脱离这个工具之后,还剩下多少独立行动的能力。 保留这些能力,平时看起来甚至有点低效,明明可以自动生成,还要理解原理;明明可以一键完成,还要知道手动怎么做。 但这些看似多余的知识,会在工具拒绝、失效、涨价或改变规则的那一刻,成为真正的选择权。 AI 越强,我们可能越需要留意它说「不」的那一刻。 因为那句话的分量,最终取决于:它拒绝之后,我们还能做什么。
310
10
什么是LLM
300