把Skills当作编程语言,把Agent当作执行器,普通人自然语言编程时代降临

广告位招租
扫码页面底部二维码联系

Agent Skills已经被作为一项标准开放,Cursor、Trae、Codex等第三方工具也陆续支持Skills。过去4个月,人们开始逐渐适应不再需要MCP,Skills成为2026年初的核心话题。作为很早就接触MCP,也很早接触Skills的一波人,我能感受到,Skills正在颠覆传统的编程原语,它即将打破临界,成为普通人(非编程人员)的计算机对话武器。这篇文章,我不会去讲其他文章中能读到的Skills的原理、使用方法、技巧等,我会从一个刁钻的视角,聊一聊,Skills如何在非程序员人群中发挥价值,以及改变我们的工作方式。

Skills的核心理念“渐进式披露”

简单讲,Skills(技能)不过是碎片化的prompt。但真实的情况比这复杂的多。

传统(其实也就3年时间)对话系统,它们的提示词构成主要模式是“system prompt + user prompt”,偶尔会参杂“tools”信息。这些提示词,构成了用户和chatbot的对话历史。

随后,上下文工程兴起,引入了外挂记忆、compact压缩、滑动上下文窗口、长中短期记忆策略等等。

而Claude Code走了一条非常另类的路线。它不在追求上下文要反映“历史记忆”,而是追求“问题发现”和“自主理解”。当用户提出需求时,Claude Code会通过与大模型的多次交互,来确定辅佐用户目标的上下文。他们找到了一种自发现的路径,就是先提供一些线索,当大模型告诉Claude Code的Agent,应该将哪些线索对应的更详细内容告诉自己时,Claude Code会基于大模型提供的线索,将对应的详细的信息披露给大模型,大模型借此对如何实现用户需求,有了更丰富的资料,就可以进行有针对性的更深度的思考。

这个过程中,“提供线索”的动作,其实和以前提供“工具列表”的方式非常像,大模型会根据工具列表告诉客户端调用什么工具。而Skills也提供描述列表,由大模型告诉Code Agent应该披露哪些Skills的具体内容,甚至,Code Agent会根据大模型的返回,进行局部筛选,再将这些信息披露给大模型,从而使得信息更准确上下文token更少。大模型拿到这些信息后,结合之前的上下文,发现还缺少一些知识,就会再次要求Code Agent披露更多内容,如此循环。

另外,Skills在接收到大模型的指令后,可以在本地运行脚本,将脚本的运行结果再披露给大模型。

你会发现,Code Agent不再是傻傻的构造一大堆上下文,试图一次对话(或外加工具调用)就解决需求,而是把一次需求解决的任务,分解为让大模型不断思考,“它需要什么,我就披露什么”的方式,分多次对话,逐渐的完成用户的需求目标。

这种一而再再而三的把本地信息披露给大模型,通过多次对话,最终解决问题的理念,是为“渐进式披露”。

原本,“渐进式披露”是交互设计领域的独有方法论。渐进式披露,也称渐进呈现,遵循从“抽象到具体”的原则,将选择或信息分成若干部分,引导用户以更舒适和愉快的方式使用产品。如今,这个概念被引入到Agent领域。

Anthropic的官方文档中解释道:“Claude 按需分阶段加载信息,而不是预先消耗上下文。”“渐进式披露确保任何给定时间只有相关内容占据上下文窗口。”在文档中,被披露的层级(或者说优先级)被分为3个层级:

级别加载时间令牌成本内容
第 1 级:元数据始终(启动时)每个 Skill 约 100 个令牌YAML 前置数据中的 name 和 description
第 2 级:指令触发 Skill 时不到 5k 个令牌包含指令和指导的 SKILL.md 主体
第 3 级+:资源按需实际上无限制通过 bash 执行的捆绑文件,不将内容加载到上下文中

而Skills的设计,完全依赖于文件系统(就行Linux一样),而非依赖外部工具或库文件,“这种基于文件系统的模型是使渐进式披露工作的原因。

不止于Code Agent

虽然,Agent Skills起源于Claude Code,而且,现在各类编程开发工具已经都支持了Skills,但是,并不代表,只有Code Agent需要Skills。我认为,所有需要利用本地计算机能力,完成用户需求的Agent,都需要Skills这种形态的功能,这种功能,将奠定未来Agent的基本形态。

Claude率先在自家桌面应用中,上线了一款叫Cowork的产品,这款产品脱胎于Claude Code,同时结合了桌面应用的用户环境特征,打造了一款适合非编程人员的Agent产品,但是,它的底层理念与Claude Code一脉相承。

在Cowork上线之前,Claude Code早已被广泛应用于非编程场景,它的上线属于“自然而言,呼之欲出”的结果。

首先是视频创作。抖音博主“废材俱乐部Club”,通过多个视频,详细拆解了,如何利用Claude Code的自发现能力,在不需要编程的情况下,就可以驱动一个完整的视频创作工作流,从剧本的创作,到分镜制作,到视频制作,只需要编写提示词、Skills、接入MCP,几条简单的命令,就可以完成自己的创作。

再来就是硬件编排。一位完全不懂编程的博主,通过Claude Code,学习和掌握开发板的开发、PCB的绘制、硬件驱动程序的开发,全部都由Claude Code来完成,最终开发了自己的机器人雏形。

普通人缺乏的只是编程的知识,缺乏的只是代码写作的具体语法,而非缺乏编排的逻辑,更非缺乏对逻辑、概念设计的创意。而Claude Code是第一个,让普通人在不写代码,仅仅通过自然语言的陈述的情况下,就可以将具体的逻辑流程落地的产品。这种感觉,就像,你完全不懂火箭发射,但是你看过火箭发射的场景,你通过“发射时将尾焰改为彩虹色”这么纯粹的提示,来完成火箭发射效果的修改。通过对现有世界的特征重组,创造出无限可能性。这是我看到的价值所在。

将Skills想象成编程语言

我们总是会将新生事物与传统事物进行类比,“不过就是xx,加了一点yy而已”。这种方式,虽然粗糙,但是是我们认识新事物最简单直接的方式。我们对新事物的认识,必然是一层一层慢慢展开的,而不会永远停留在“不过是加了点yy的xx而已”的这个初级表象上。Skills从一开始的“不过是一些碎片化prompt”,到“能够执行脚本的插件(工具)”,到“渐进式披露的Agent原语”,现在,我认为,从非编程人员的角度来看,它更像是“与机器对话的自然语言编程语言(Natural Language Programming Language,NL-Lang)”。

Agent Skills标准,定义了这门语言的基本语法。基于对Skills的编程,我们可以让AI帮我们完成大部分需要通过计算机执行才能完成的工作。当然,除了编程语言本身,编程语言的解释器执行器也同等重要。Code Agent就是这类执行器。

理想情况下,未来所有具备支持自然语言作为人机交互的Agent,本质上只需要具备如下的能力:

  • 操作文件系统的能力
  • 连接网络的能力
  • 执行脚本(bash、shell等)的能力
  • 工具(如MCP)调用的能力

有了以上能力,Agent可以自由生长、自发现、自进化。首先,Agent可以自己写代码来完成本身不具备的能力,例如上面提到视频创作。Agent本身并不具备生成视频的能力,但是,视频可以通过ffmpeg合成帧图像和音频来得到,而Agent可以通过写一个脚本来驱动ffmpeg合成视频。或者另一个思路,Agent可以通过实例化一个remotion项目,通过代码来无中生有创建视频,在创建完视频之后,把这个实例化的remotion项目从电脑上抹除,就像它从未出现过一样。这就是Agent即使不具备某项能力,也可以通过上述4项原力,来实现世间(虚拟世界的)万事万物

这并不是拥有了工作流的特性这么简单的事,实际上,这种基于自身能力,演进出超出自身能力的新能力的情况,在以往几乎所有的计算机系统中,都没有表现的如此自然。

我们不能简单的将这种情况称为“学习”,因为它没有表现出反馈机制。你说,这应该叫什么呢?

自进化的Agent系统

一项技能,可以被不断升级。

最简单的方式,就是我们手工修改SKILL.md文件,通过不停的对技能进行优化,来让它符合我们的使用习惯,让Agent可以执行出更好的效果。

但是,还有一种自进化的升级方式,就是让Agent在使用完技能之后,主动对技能的执行效果进行评估,对执行的参数、流程、用例进行总结,并在执行结束后,自动将SKILL.md文件或相关资料进行更新,这样,在无需人工参与的情况下,Skills就自己在演进和升级。

这种自进化系统(我是指原始能力,而非数据层面)在过往的所有计算机系统中,从未出现过。没有任何一个系统,在代码写好后,在不进行代码迭代的情况下,还能自己进化出新功能。就像你写了一个用来记录每日消费的记账软件后,在你不对它进行功能迭代的情况下,它永远不可能自己演化出基于用户数据,给出投资建议的功能,必须由程序员来捅破这层窗户纸。

过去,我们很长一段时间认为,开发一个Agent系统,就是要做好工具调用。把工具调用做到极致,我的Agent就是无敌。然而,现在我们发现,或许,我们的Agent可以不需要那么多工具,甚至只需要上面提到的4项原始能力,它就可以自我衍生出无限的可能性。

跨项目和多任务的难题

目前,Claude Code还有两个问题没有解决。

一是多任务的问题。我们在网上经常听到某某开了5个Claude Code窗口同时干活。听上去很geek,但是实际上,这里面有个很糟糕的问题。当我们在一个窗口运行Claude Code,完成各种处理后,如果新开窗口运行一个新的Claude Code,那么这个新的Claude Code,无法直接拥有上一个对话窗口的历史。多个session之间,无法共享记忆。就目前来说,一种可行的办法,是把记忆保存在一个文档中,多个session都可以读取这个文档。但是,这对用户的实际操作来说,是比较麻烦的,而且也比较废tokens。而且最重要的是,这使得多任务这件事非常割裂,因为开发者心理想的是,我是在一个项目下面干活,但是实际上Claude Code并不这么想。我想Claude Code的官方团队,会在下一阶段去解决同一项目下多任务间的记忆共享的问题。

另一个是跨项目的问题。这可能是一个更深层次的问题,当我们在同时做两个项目时,究竟是应该共享它们之间的信息,还是保持其独立,本身就比较难处理,我们人自己本身还没想明白这件事。但是,这又是现实中所面临的真实状况。我们不可能把所有的时间都专注在一个项目上。我在做一个小游戏的同时,可能还在做一款炒饭APP,我的创意是无限的,虽然我以前说现在idea很廉价,但是我仍然有兴趣广泛。在多个项目之间,它们可能共享了底层的开发框架、自建的UI库等等,这些被项目共享的,或者说,项目本身相互之间可能就有依赖关系的,我们的claude code是无法感知的(除非你把这些项目再扁平的放在一个文件夹里,把这个文件夹当作一个大项目)。如何处理多项目的问题,可能连Claude Code官方团队都还没有着手考虑这件事。

对未来Agent的遐想

现在,市面上的Agent产品已经很多了,比如前段时间再度上热搜的Manus,以及国内不怎么知名但是海外顶级的GenSpark,另外还有一些平民产品,例如即梦的Agent模式(作图Agent)。但是,这些Agent都无法与Claude Code相提并论,它们只解决了对用户的交付问题,而无法称为一个全流程的生产力工具。而正如前文所说,Claude Code虽然现在看上去已经很牛批了,可是还是有不足的地方。

在我的想象中,未来的Agent应该真的是和人类对话(声音)的模式进行交互。现在的Agent交互模式,都是通过文字输入,像Claude Code这样的工具,还需要依赖非常多明确的指令。我认为基于需要记忆的指令来进行交互,不是完美形态,真正的完美形态是自然语言的交互。Agent需要能够“懂人”,能够识别人类意图,并结合历史记忆,选择执行符合当前语境的任务。当然,你可能会说,如果没有明确的指令和输入,准确性如何保证呢?我认为其实可以做到,首先是Agent的反馈机制,它在不理解、不确定的情况下,会向用户提问,给出一些选择(就像现在Claude Code做的一样);其次是它可以感知环境事件,并将这些事件作为输入(包括人类使用硬件来辅助输入),我们现在的所有Agent系统,还不具备环境感知能力,因此,只能通过强化的指令来进行遵从。

说到这里,我最近公布一个自己在做的研究项目,“智能推送式上下文管理(PCM)与常驻多流交互Agent系统”,这套系统不仅考虑到了上述提到的环境感知,还考虑到了如下这些:

  • 历史记忆不丢失,按需调取历史记忆
  • 构建直指目标的上下文,无噪声,AI的精准执行
  • 同一窗口,可承载多话题,且无需人工手动切换,自主识别话题(类似人类闲聊时话题来回切换)
  • 多任务同步并行,任务执行过程中,仍然可以继续对话
  • 对话分支,可直接基于历史对话中的某个节点,创建新的对话分支,以重新引导对话
  • 超长工具、MCP、Skills列表支持
  • 环境感知,将环境变化信息加入上下文,以适应环境变化
  • 整套系统可伪装为纯LLM服务(API),接入成本低

详细信息,可以阅读论文内容,或者在github上拉源码在本地运行,这里就不多赘述。

总而言之,我理想中的Agent,可能只能用钢铁侠的“贾维斯”系统来进行类比了。

结语

本文主要探讨Skills的特性“渐进式披露”,以及它所表现出来的先进性。通过类比“编程语言”,来强调非编程人员可以通过自然语言,在Skills驱动的Agent中,完成复杂的人机交互。另外,我还提到了Agent系统,可以在执行任务过程中,同步更新Skills文档来更新技能,形成一种自进化的机器模式,这种模式在以往所有计算机系统中从未出现过。最后,我也大胆的畅想了未来Agent的形态。通过这篇文章,我希望你可以重新深入思考Skills这一重要的功能,它可能不仅再重新定义编程工具,甚至可能在重新定义我们的人机交互形式。我知道你可能会有很多顾虑,比如失业、人生的意义之类的话题,但是我们从纯人类科技发展的角度去看,新的人机交互形式,带来的变革会非常深远,有挑战,也有机遇。你可以订阅我的博客 www.tangshuang.net,在我的博客首页点击订阅按钮,每周关注我的推送,让我们一起思考AI时代,自己的职业和人生定位。

2026-01-18 274

为价值买单,打赏一杯咖啡

本文价值2.74RMB