为什么有了大模型,还需要 Skill 和 Agent?
裸模型确实“能干”,但在软件工程场景下存在三大硬伤——指令不稳定、上下文拥堵、权限失控。Skill 和 Agent 正是为了解决这三大工程化痛点而生的必要封装。
一、裸模型的三大硬伤
假设你直接让大模型在命令行/IDE 环境中干活:
| 硬伤 | 具体表现 |
|---|---|
| ① 指令不稳定 | 每次都要口头重复“检查 SQL 注入、检查密钥泄露、检查日志脱敏……”。今天说全了,明天可能漏一条;这次模型听懂了,下次上下文长了它可能“偷懒”只查前两条。 |
| ② 上下文拥堵 | 让模型“排查 5 万行日志”,它会把这 5 万行全塞进主聊天窗口。主窗口一旦占满,你紧接着让它改一行代码,它都可能因 Token 不足而“失忆”或报错。 |
| ③ 权限失控 | 为了排查日志,你不得不给模型授予 Bash 和 Write 权限——这意味着它既能读日志,也能随手删除你的生产配置文件。你敢让它随便跑吗? |
二、Skill 如何解决问题?(解决 ①)
Skill 的本质:一份可版本控制的强制标准作业程序(SOP)。
- 没有 Skill:你每次靠“嘴”教,模型靠“记忆”执行——这是非标的。
- 有了 Skill:你把检查清单固化进
SKILL.md。系统在相关任务触发时强制将这段文本注入上下文,确保模型永远不会漏掉第 3 条或第 4 条检查项。(类似于飞行员的 checklist)
Skill 的价值:把“随缘的提示词”变成“稳定的工程资产”——标准化、可复用、可迭代。
三、Agent 如何解决问题?(解决 ② 和 ③)
Agent 的本质:一个拥有独立上下文窗口和独立工具权限的隔离执行体。
针对上下文拥堵(②)
- 没有 Agent:5 万行日志堆满主窗口,正常对话被阻塞。
- 有了 Agent:主模型把任务委派给
log-analyzerAgent。Agent 在自己的“独立小黑屋”里读完 5 万行日志,最终只回来一句话:“90% 是 Redis 超时,建议加缓存。”——主窗口干干净净,Token 额度完好无损。
Agent 的价值①:实现资源隔离——脏活累活在子窗口干,主窗口只接收结论。(不占用主窗口上下文(Context))
针对权限失控(③)
- 没有 Agent:模型要么没权限(干不了活),要么全权限(风险极高)。
- 有了 Agent:你创建一个
read-only-auditorAgent,在头部声明tools: ["Read", "Grep"],严禁包含Write或Bash。它只有“眼睛”没有“手”。
Agent 的价值②:实现最小权限原则——不同任务授予不同工具集,从根本上杜绝越权操作。
四、一个类比帮你记住
| 场景 | 裸模型 | + Skill | + Agent |
|---|---|---|---|
| 实习生 | 刚毕业,智商极高,但你得每件事都口头交代清楚 | 发给他一本 《公司操作白皮书》 ,他自己翻书,绝不记错流程 | 把他关进独立隔音办公室,只给查资料权限,查完只汇报结论,满屋草稿纸不会弄脏你的办公室 |
五、到底什么时候该写?
- 一次性的、闲聊式的任务(“解释这段代码”、“翻译这段文字”)——裸模型足矣。
- 重复执行的、涉及大量数据读取的、需要调用系统工具的工程任务(“每次 Push 前自动审查代码”、“定时扫描仓库密钥泄露”、“重构模块时保持 API 兼容”)——必须写 Skill 和 Agent。
写在最后:
写 Skill 和 Agent,不是为了“让大模型能干活”——它本来就能干。
而是为了“让大模型稳定、安全、高效地重复干复杂的脏活累活”。这是 AI 从“玩具”走向“工程工具”的必经之路。
浙公网安备 33010602011771号