1.1 操作手册还是实习生?
小王已经写了一堆 Skill,AI 遵循得很好。但他遇到复杂任务时,Skill 不够用了——他需要知道什么时候该让 AI 自己判断。
什么是 Skill?
Skill 是 AI 工具的可复用能力单元,本质上是一份结构化的指令文件,在合适的时机被注入到 AI 的上下文中,让 AI"知道怎么做"。
一次定义,反复使用:把重复的指令写成配置文件,避免每次对话都重新解释
按需注入:AI 在合适时机自动加载或用户通过命令触发
被动知识:Skill 本身不执行、不决策,它只是告诉 AI"遇到这类任务时该怎么做"
什么是 Agent?
Agent 是能自主感知、规划、行动的 AI 系统。它不再是被动地回答问题,而是给定目标后自己决定"怎么做"。
Agent 核心公式
Agent = 自主决策 + 工具使用 + 循环执行 + 目标追踪
Agent 的四层核心组件:
| 层级 | 组件 | 作用 |
|---|---|---|
| L1 | 系统提示词 | 定义角色、能力和行为边界——"你是谁、该做什么、不能做什么" |
| L2 | 工具 | 与外部世界交互的能力——读文件、跑命令、调 API |
| L2 | 记忆 | 保持上下文连贯性——工作记忆、短期记忆、长期记忆、用户记忆 |
| 核心 | 决策循环 | 思考 → 行动 → 观察 → 反思 → 再思考,直到任务完成 |
核心类比:操作手册 vs 实习生
操作手册
告诉 AI:先检查什么、后检查什么、发现问题怎么记录、报告怎么写。
操作手册不会自己翻页——你翻到哪一页,它就告诉你那一页的内容。
= Skill(被动参照)操作手册不会自己翻页——你翻到哪一页,它就告诉你那一页的内容。
实习生
给一个目标:"把这批 PR 的安全问题都找出来"——实习生自己拆解任务、查资料、写报告、遇到意外自己调整。
实习生会自己决定下一步做什么。
= Agent(自主决策)实习生会自己决定下一步做什么。
关键区别:决策循环
Skill 和 Agent 的根本区别不在于"能做什么",而在于有没有决策循环。
Skill 运行流程
注入上下文→AI 参照执行→输出结果
模式:输入 → 输出,一步完成
没有循环,没有"下一步该做什么"的判断
模式:输入 → 输出,一步完成
没有循环,没有"下一步该做什么"的判断
Agent 运行流程
接收目标→思考→行动→观察→反思↻再思考
模式:循环往复直到目标完成
决策循环是 Agent 的核心突破
模式:循环往复直到目标完成
决策循环是 Agent 的核心突破
举例:Skill 写了"检查 SQL 注入",AI 就检查 SQL 注入。但如果代码用的是 ORM 而非原始 SQL,Skill 没写"检查 ORM 注入",AI 就跳过了。Agent 会自己发现"这是 ORM"并调整检查策略。
Skill 在各工具中的实现
| 工具 | 实现方式 | 文件结构 | 触发方式 |
|---|---|---|---|
| Claude Code | Skills 目录 | .claude/skills/name/SKILL.md | /name 命令或自动发现 |
| Cursor | Custom Commands | 设置 → Commands | 快捷键或手动调用 |
| Windsurf | Cascade Rules | .windsurfrules 内规则块 | Cascade 自动匹配 |
| Cline | Custom Instructions | .clinerules | 自动或手动 |
渐进式披露:手电筒 vs 长明灯
Skill 的哲学根基是渐进式披露(Progressive Disclosure)——来自人机交互领域的经典原则:不是"给更多信息",而是"在正确的时间展示正确的信息"。
长明灯(项目指令文件)
CLAUDE.md 等项目指令文件是"始终开着的灯"——照亮一切但也浪费电。所有内容一直占着上下文。
30 个指令全量加载 = 90,000 token
手电筒(Skill 技能包)
技能包是"按需打开的手电筒"——需要时照亮,不需要时零消耗。只注入当前任务相关的知识。
30 个技能包 Level 1 = 3,000 token,节省 97%
本节核心要点
- Skill = 可复用的结构化指令文件,被动注入,告诉 AI"怎么做"——像操作手册
- Agent = 自主感知、规划、行动的 AI 系统,主动决策,自己决定"怎么做"——像实习生
- 两者根本区别:Skill 没有决策循环,Agent 的突破就是决策循环
- Skill 的哲学是渐进式披露——手电筒比长明灯更省电
思考题:你当前的工作中,哪些任务是在"翻操作手册"(Skill 就够了),哪些任务需要"派一个实习生"(需要 Agent)?