软件工程的发展不断提高抽象层。
从:
机器语言
↓
函数
↓
模块
↓
框架
↓
云服务
每一次演进,都是把底层复杂度封装起来,让开发者关注更接近目标的问题。
过去的软件抽象主要解决:
如何让机器执行计算。
Agent 时代,可能出现新的抽象:
从可执行代码,到可执行经验。
一、Skill:从计算逻辑到任务经验
传统函数解决:
输入
↓
计算
↓
输出
它回答:
如何完成一次计算。
而 Agent Skill 更接近:
目标
↓
判断
↓
行动
↓
验证
↓
反馈
它回答:
如何完成一个领域任务。
一个成熟的 Skill 不只是 Prompt,而是包含:
- 任务目标;
- 执行流程;
- 工具调用;
- 验收标准;
- 风险边界。
传统代码复用的是:
已经实现的计算逻辑。
Skill 复用的是:
已经验证过的问题解决方式。
二、Skill 是一种新的任务抽象层
过去的软件抽象主要封装确定性的计算。
例如 MFC 将 Win32 API 封装成更高层接口,让开发者不需要直接处理窗口、消息循环和底层系统调用。
Agent Skill 面对的问题不同。
它封装的不是系统 API,而是完成任务的方法。
一个 Skill 定义:
- 输入条件;
- 上下文要求;
- 执行流程;
- 验收方式;
- 风险边界。
因此,Skill 更接近一种任务级接口。
传统 API 连接的是:
程序与程序。
而 Skill 连接的是:
人类目标与 Agent 行动。
三、Skill 需要 Architecture 组织
传统软件中:
函数提供能力,架构决定系统如何组合。
Agent 时代也是如此。
Skill 解决:
Agent 能做什么。
Architecture 解决:
这些能力如何形成完整流程。
例如:
需求分析 Skill
↓
规划 Agent
↓
编码 Skill
↓
测试 Skill
↓
审查 Skill
决定系统能力的,不只是单个 Skill,而是:
- Skill 如何连接;
- 状态如何流动;
- 任务如何分解;
- 结果如何验证。
因此:
Skill 是智能系统中的能力单元,Architecture 决定这些能力如何形成系统。
未来的软件工程,不仅需要设计代码结构,也需要设计智能结构。
四、Skill 会形成范式,但标准化仍面临挑战
软件工程的发展通常会从大量探索,逐渐收敛到少量经典模式。
例如:
- MVC;
- REST;
- ORM;
- CI/CD。
Agent 时代也可能出现类似范式:
开发 Skill
审查 Skill
测试 Skill
分析 Skill
部署 Skill
复杂任务通过组合成熟 Skill 完成。
但 Skill 要像传统软件模块一样复用,还需要解决新的工程问题。
1. Skill 如何组合?
传统模块依靠明确接口组合:
输入
+
输出
而 Skill 处理的是复杂任务。
多个 Skill 连接时,需要保证:
- 上下文一致;
- 目标不漂移;
- 输出满足下一阶段要求。
因此,Skill 组合不仅需要数据接口,也需要语义约束。
2. 状态如何传递?
复杂任务需要共享:
- 当前状态;
- 中间结果;
- 历史经验;
- 验证结果。
因此,未来 Skill 标准不仅需要定义:
Skill 能做什么。
还需要定义:
Skill 如何连接、验证和恢复。
这需要类似传统软件基础设施的支持:
- Agent 运行环境;
- Skill 描述规范;
- 评估标准;
- 状态管理机制。
Skill 可能成为新的软件抽象层,但距离 MVC、REST 这样的成熟范式,还需要整个生态的发展。
未来的软件工程,不只是设计代码模块,也需要设计:
可组合的智能模块。
五、Skill 需要工程约束
如果 Skill 只是:
帮我完成任务
它并不是工程资产。
真正成熟的 Skill 需要:
目标
+
流程
+
状态
+
验证
+
失败处理
因为模型具有概率性,而软件工程需要可靠性。
未来成熟 Skill 可能是:
确定性流程 + 概率性推理
的结合。
模型负责:
- 生成方案;
- 处理复杂情况;
- 提供候选结果。
工程结构负责:
- 限制范围;
- 保存状态;
- 验证结果;
- 控制风险。
六、从代码资产到经验资产
过去的软件工程竞争:
谁写出了更好的代码。
未来可能变成:
谁能把领域经验抽象成可复用、可验证、可执行的智能系统。
代码让机器执行。
Skill 让 Agent 获得能力。
Architecture 让这些能力形成系统。
如果这一趋势成立,软件工程的核心资产也许会从:
可执行代码(Executable Code)
扩展到:
可执行经验(Executable Experience)
再进一步扩展到:
可组合的智能系统(Composable Intelligent Systems)。
312

被折叠的 条评论
为什么被折叠?



