乐于分享
好东西不私藏

3分钟源码揭秘:Skill和Custom Agent的本质区别!一张图看懂什么时候写哪个!

3分钟源码揭秘:Skill和Custom Agent的本质区别!一张图看懂什么时候写哪个!

像VS Code Github Copilot这样的AI编辑器 里,我们可以通过两种方式定制 AI 助手的行为:Skill 和 Custom Agent

它们都能让 AI 按照你写的文档来工作,但很多人用了半天,却没搞懂到底什么时候该用哪个。

今天,我们就从底层原理出发,用最直白的大白话讲明白这两者的本质区别,然后给你一张清晰的选型地图。


先说结论:一个像“临时工”,一个像“贴身助理”

  • Skill:你告诉 AI 有份资料放在某个地方,需要用的时候自己去读。AI 读完之后,资料就留在了聊天记录里。聊得久了,记录太长,早期的资料可能就被系统“截掉”了。

  • Custom Agent:你把资料直接贴在 AI 的“耳边”(系统提示词里),每次对话它都听得一清二楚,无论聊多久都不会忘。

听起来好像 Custom Agent 更厉害?别急,我们看它们到底是怎么工作的。


一、Skill 的加载机制:目录 + 自助取阅

每次你发消息时,VS Code Copilot 会先扫描整个工作区,把所有 Skill 的名称、简短描述和文件路径整理成一份轻量级的 XML 目录(大约只占 100 个 token),塞进系统提示词里给 AI 看。

这份目录就像图书馆的检索卡,只告诉你书名和在哪排书架上,不给你看书的内容。

然后,AI 会根据当前的任务,判断有没有需要的 Skill。如果有,它就会调用 read_file (阅读文件)的工具去读取对应的 SKILL.md 文件。读取的结果会以“工具执行结果”的形式,放进聊天历史里。

关键点来了:这个“工具结果”是有容量限制的——单个结果不能超过整个上下文窗口的 50%。而且聊天历史本身优先级不高,一旦对话太长、token 不够用,系统会优先“剪掉”老的历史记录。换句话说,Skill 的内容很可能在几轮对话后就被遗忘了。

所以,Skill 适合那种一次性、用完即弃的知识——比如某个特定代码格式的检查规则,AI 读完用一次,后面忘了也无所谓。


二、Custom Agent 的加载机制:每轮强行“洗脑”

Custom Agent 完全不同。当你切换到某个 Agent 模式后,它的 .agent.md 文件正文会被系统拿出来,在每次请求时重新渲染,放到所有聊天历史之前的 SystemMessage 或 UserMessage 里。

这意味着:无论对话多长,AI 每轮都能看到完整的 Agent 指令,就像有人在它耳边反复念叨“记住,你现在是某某角色,要遵守以下规则……”。这些指令永远不会沉入历史,也永远不会被截断。

此外,Custom Agent 还可以作为独立的“子任务”运行,拥有自己隔离的上下文,适合处理需要多步协作、且不希望被外部干扰的复杂任务。


三、到底怎么选?一张决策树就够

如果你的知识只在某个特定请求中用一次,流程简单几步搞定(比如代码规范检查、一次性审计脚本),那就用 Skill,让 AI 自己读一次就行;
但如果这个知识或角色设定需要贯穿整个对话始终(比如专属的代码审查助手、持续的设计顾问),或者你想把复杂任务隔离起来只求最终结果(比如独立的单元测试生成),又或者你需要限制工具权限(比如只读环境),那就必须上 Custom Agent——它能保证每轮对话指令都在,不会被历史冲走,还能独立控制上下文和工具权限。


四、总结

Skill 是“阅后即焚”的临时知识,Custom Agent 是“刻在脑子里”的永久设定。

理解了这一点,你就能在 VS Code Copilot 里游刃有余地组合使用它们,让 AI 真正成为得力的助手。

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 3分钟源码揭秘:Skill和Custom Agent的本质区别!一张图看懂什么时候写哪个!

评论 抢沙发

8 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮