|
claude 提出的 skills 和 MCP 编程模式迅速普及,现在的编程开发过程,都在尝试使用这种模式,不过很多人说清楚这种模式背后的逻辑。
这种编程模式的转变,本质上是编程以代码为中心,转变为以文档为中心,后续开发和维护的不是代码而是文档。mcp 相当于提供功能服务,skills 提供 mcp 的调用方式数据返回格式描述,主要是提供给大模型阅读的,大模型根据 skills 和 mcp 生成完整的逻辑代码。如果服务有什么变更,更新的是 skills 文档,大模型根据最新的文档更新代码。
最初的编程模式是卡带,连基本的操作系统都没有。程序员通过说明书设计编程卡带,让计算机完成计算操作,如果有点错误需要重新设计卡带,耗时费力效率低下。
后面有了操作系统和汇编语言,编程通过英语词汇实现指令数据调用。现在来看汇编语言开发成本极高,但是在当时相对于卡带指令,编程效率提升了很多,但是汇编语言也有很多问题,比如可复用问题,不同 cpu 指令移置问题等。
后面逐渐出现了高级编程语言,高级编程语言进一步降低软件开发成本,提升软件的开发效率,通过编译器屏蔽底层平台指令的差异,服务以组件化和模块化形式提供,通过这种现有的组件和模块,其他人可以通过说明文档,快速复用其他人封装好的逻辑。
程序员也从最开始的科学家,中间的编程极客,到后面的程序员,对编程人员的要求逐渐降低。在 AI 出现之前,编程需要程序员完成服务封装,软件流程开发和数据调用。整个流程就是把领域逻辑的解决思路,翻译成程序代码,这个时期代码是编程的核心。这也是当前编程问题的所在,代码是领域逻辑的实现,变更维护的应该是这个领域逻辑的描述,但是由于现阶段程序开发的特点,维护的是具体的代码实现,在长时间的变更和维护过程中,代码会变得不可控,本质原因是丢失了领域逻辑和代码的关联关系,有些代码不知道是解决的什么问题。
现在的 vibe coding,claude 使用 skills 和 mcp 这种模式,其实有两个方向的升级,一个是编程方式通过自然语言实现,有点计算机编程基础的人,就可以通过文字描述好的领域逻辑,让模型按需调用 skills 文档,生成对应代码调用 mcp 服务;另一个是编程的核心资产,由原来的代码程序,逐步迁移变更为文档描述。
这种核心资产的转变,最大的好处是编程的开发维护,由变更代码变成了变更领域逻辑文档,代码变成了交付产物副,领域逻辑和文档是核心资产。
这种模式的变更,进一步降低程序开发的要求,有点编程基础的普通人,也可以快速实现自己需要的服务,不需要专业程序员的介入,扩大了编程人员的群体。
从编程范式变更的历史来看,这种 skills 这种模式其实也是一种过渡,后续的模式可能变成,只需要语音的描述,就可以获得所需要的服务,完全屏蔽了编程的过程。 |