AI Agent工程化的五个标志——从一篇Multi-Agent架构文章说起
光尘阁已经在AI Agent这条路上跑了一年多。我们自己的Clacky系统每天都在跑内容生产、数据备份、平台运维——不是"用AI",而是"造AI"。
今天看到一篇讲Multi-Agent编排的文章,核心是OpenSpec + Superpowers + Harness三层架构。文章本身是框架推广文,但里面藏了一套工程化方法论,值得拆开看看。
一、文章在说什么
一个高速养护安全研判系统,5秒完成风险评估:输入隧道养护的作业参数,输出风险等级、关键因素、建议措施,中间跑一个6节点的DAG(有向无环图)。
架构分三层:
| 层 | 角色 | 类比 |
|---|---|---|
| OpenSpec | 通信协议,规定Agent间数据格式 | HTTP |
| Superpowers | 技能模块,封装原子能力 | 微服务 |
| Harness | 调度中心,编排多Agent协作 | K8s |
一句话:OpenSpec管"说什么",Superpowers管"会什么",Harness管"怎么干"。
二、真正有价值的是五个工程化标志
框架名称不重要——重要的是背后这套工程化原则。我提炼出五个标志,任何Agent系统做到这五点,就是工程化的:
标志一:白盒Agent,不是黑盒LLM
LangChain的AgentExecutor是黑盒——你给它工具,它自己决定怎么调用,不可控。LangGraph是白盒——你画好DAG,LLM只在节点内做局部决策,整体流程可观测、可调试。
核心原则:主流程由代码定义,LLM只在节点内做增强。不要让LLM决定"下一步做什么"。
标志二:配置即架构
加一个新的子Agent,只需要在YAML里写一段配置 + 把技能文件丢到目录。核心代码零改动。
光尘阁的Clacky Skills体系本质上也是这个思路——每个Skill是一个独立的markdown指令文件,加能力不改框架。差距在于我们的Skill注册是隐式的(靠prompt路由),不够结构化。
标志三:全链路降级——每个依赖都有备胎
这是ToB系统的基本素养,但大多数AI应用根本没做。文章的降级链:
LLM挂了 → 跳过LLM增强,用规则引擎
Embedding挂了 → 用Hash模拟向量
Milvus挂了 → 内存字典+手写相似度
五维评分挂了 → 缺失维度用默认值
Langfuse挂了 → 降级到本地日志
核心原则:生产级Agent系统必须假设每个依赖都会挂,每挂一个都有备胎。
标志四:横切关注点外置
9种Hook(BEFORE_LLM_CALL / AFTER_TOOL_CALL / ON_ERROR / ON_CONTEXT_INJECT...)是AOP思想在Agent系统的落地。
节点关心"做什么",中间件关心"附带做什么"——日志、鉴权、熔断、上下文注入,全部外置。
Clacky目前没有这一层。invoke_skill直接调用,没有统一的Hook链。如果某个skill调用频繁失败,没有自动熔断;如果某个API超时,没有自动降级。
标志五:数据飞轮——让系统越用越准
四维评估器(风险等级40% + 格式20% + 规范20% + 评审20%)给每次输出打分,低于0.7的case自动入队人工标注,回流到训练集。
不是"跑一次就完了",而是"每一次输出都在为下一次优化提供数据"。
三、光尘阁的对照:我们走到哪了
对照Clacky现状:
| 工程化标志 | Clacky现状 | 差距 |
|---|---|---|
| 白盒Agent | ⚠️ 偏向黑盒——靠prompt路由决策 | 关键流程可以考虑显式DAG |
| 配置即架构 | ✅ Skill体系符合,但注册表不够结构化 | markdown → 结构化配置 |
| 全链路降级 | ❌ 基本没有 | 每个关键依赖需要降级方案 |
| 横切关注点 | ❌ 无中间件层 | invoke_skill需要统一Hook |
| 数据飞轮 | ❌ 无评估体系 | skill质量靠人工判断 |
四、三个近期可做的
不需要等"大版本重构",这三个是低成本的:
1. 给invoke_skill加一层Hook 每次skill调用前后自动记日志。如果某个skill连续3次失败,自动告警。改动量很小,收益很大。
2. Skill注册表结构化 把现有的markdown指令文件加一个YAML header,声明skill的名称、触发词、权限级别、降级策略。不改现有逻辑,只是加元数据。
3. 梳理Agent能力地图 把Clacky现有的150+ skills按领域画一张图谱——哪些是数据层、哪些是执行层、哪些是编排层。不画不知道,一画会发现大量能力重叠和空白。
Multi-Agent编排不是换个框架的事。工程化的本质是——把不确定性关进笼子里。LLM有不确定性,但系统不能有不确定性。代码控制流程,LLM只做增强,每个依赖有降级,每次调用有观测。
这才是2026年AI Agent工程化的分水岭。
光尘阁出品 | AI Agent工程化系列