4A企业架构和TOGAF如何指导Agent Skill设计

作者:袖梨 2026-07-18

引言:AI Skill设计的"巴别塔"困局

当下的AI Agent生态,正陷入一种似曾相识的混乱。

4A企业架构+TOGAF如何指导Agent Skill设计

去年帮一家保险公司梳理Agent技能库,发现100多个Skill横七竖八地堆在一起——有的直接调API,有的内嵌业务逻辑,有的把数据获取和分析揉成一团。问架构师这些Skill怎么分类,回答是"按安装顺序排的"。再问两个Skill之间数据怎么流转,回答是"各写各的"。一个股票监控Skill自己爬数据、自己做分析、自己发消息,三件事耦合在同一个脚本里。换一个场景想复用其中的分析逻辑?做不到,只能重写。

这不是个例。几乎所有率先部署AI Agent的企业都面临同样的困境:Skill越堆越多,越堆越乱。缺乏统一的能力域划分,缺乏标准化的数据接口,缺乏清晰的组合规则,缺乏可复用的构建块沉淀。

听起来很熟悉?没错——这正是企业架构在20年前要解决的问题。当年企业信息化的混乱,和今天AI Skill的混乱,本质上是一回事:没有架构约束的开发,必然走向无序。

4A企业架构(业务架构BA、数据架构DA、应用架构AA、技术架构TA)加上TOGAF的构建块思想,为Agent Skill设计提供了一套经过验证的方法论。本文试图建立这二者之间的映射框架,并用实际案例说明其可行性。

4A映射框架:四个问题驱动Skill设计

企业架构的核心是四个问题:做什么(BA)、数据怎么流(DA)、用什么组合(AA)、底层怎么支撑(TA)。这四个问题同样适用于Skill设计。

架构层 核心问题 Skill映射 输出物
BA 业务架构 做什么业务 Skill能力域划分、价值链映射 能力域地图
DA 数据架构 数据怎么流 Skill间数据流、信息交换标准 数据流图 接口规范
AA 应用架构 怎么组合 Skill组合关系、依赖图谱 组装蓝图
TA 技术架构 底层怎么支撑 Skill运行时、基础设施 技术选型方案

BA:Skill能力域划分

业务架构解决"干什么"的问题。4A框架下,BA层将企业能力分解为可组合的业务能力块,每个能力块对应一个或一组Skill。

我们以金融行业为例,将AI能力划分为6个能力域:

能力域 核心Skill 典型场景
知识检索 KnowledgeRAGHandler 合规模范查询、产品手册问答
数据分析 DataAnalysisHandler 渠道效能分析、业绩归因
报告生成 ReportGenHandler 尽调报告、审计底稿
文本生成 TextGenHandler 营销话术、会议纪要
评分决策 ScoringEngineHandler 信用评估、风险评级
文档解析 OCRParserHandler 发票查验、进件核对

每个能力域是一个高内聚的Skill集合。能力域之间的边界由业务流程决定——知识检索和数据分属不同能力域,因为它们的业务语义和用户角色不同;但知识检索配合报告生成可以组装成更复杂的业务流程。

DA:Skill间的数据流设计

数据架构解决"数据怎么流"的问题。最关键的决策是:Skill之间交换数据的格式和协议。

我们的实践是采用JSON Schema作为Skill间数据交换的契约:

每个Handler声明输入Schema和输出Schema 上游Handler的输出Schema必须兼容下游Handler的输入Schema 非兼容的连接需要通过Adapter Skill桥接

这种设计保证了Skill组合的数据安全性。在实际生产中,我们遇到过两个教训:

评分引擎的输出直接喂给报告生成器,但评分结果缺少置信度字段,导致报告措辞过于绝对。修复方式是在ScoringEngineHandler的输出Schema中增加confidence字段,并要求下游Handler根据置信度调整输出语气。

文档解析输出的数据结构包含嵌套的表格数据,数据分析Handler无法直接消费。解决方案是引入一个FlattenAdapter Skill,将嵌套结构展平为二维表格格式。

AA:Skill的组合关系

应用架构解决"怎么组合"的问题。这一层决定了Skill的组装粒度和复用边界。

我们使用三层组装模式:

原子Skill:单个Handler完成单一功能,如OCRParserHandler做发票识别 复合Skill:多个原子Skill按流程编排,如尽调报告 = OCR解析 数据分析 报告生成 场景Skill:面向最终用户的端到端体验,如企业尽调智能体 = 用户交互 尽调报告 风险评分

组装的关键约束是:复合Skill只能调用原子Skill或子复合Skill,不能跨层直接调用Handler。这保证了每一层都有明确的抽象边界。

TA:技术架构支撑

技术架构解决"底层怎么支撑"的问题。核心是三个选择:

Skill运行时:选择支持Skill热加载和版本管理的运行时 编排引擎:选择支持DAG编排的流程引擎 状态管理:选择支持Skill间状态共享的存储方案

在我们的实践中,选择了Phase-Orchestrator作为编排引擎,它支持4-Phase强制链式调用和条件分支。状态管理采用结构化JSON传递,在每个Phase的入口和出口进行schema校验。

TOGAF构建块思想:Skill的可复用单元

4A给出了Skill的架构框架,TOGAF的构建块(Building Block)思想则给出了Skill的可复用设计规范。

什么是构建块

TOGAF定义的构建块有两个核心特征:

功能内聚:一个构建块封装一组紧密相关的功能 接口标准:构建块通过标准接口对外暴露能力,内部实现对外不可见

这与Skill设计的要求完全一致。一个设计良好的Skill应该是一个标准的构建块:内部封装具体的Handler逻辑和数据访问,外部只暴露输入输出接口。

构建块的分类

TOGAF将构建块分为两类:

架构构建块(ABB):定义能力边界和接口规范,类似于接口 解决方案构建块(SBB):ABB的具体实现,类似于实现类

在Skill体系中,这对应两个层次:

层次 对应概念 示例
ABB Handler接口定义 ScoringEngineHandler声明输入为客户数据、输出为评分结果
SBB 具体Skill实现 信用评分Skill实现逻辑回归评分,风险评级Skill实现规则引擎评分

ABB/SBB分离带来了两个直接好处:

实现可替换:同一个ABB可以有多种SBB实现,根据场景选择最适合的实现 接口驱动开发:先定义ABB(接口),再开发SBB(实现),降低开发耦合

构建块的组合规则

TOGAF的组合规则对Skill设计有三条约束:

单一职责:一个Skill只做一件事。违反此规则的典型表现是股票监控Skill同时做数据获取和分析 依赖显式声明:Skill的依赖关系必须在配置中声明,不允许隐式依赖 数据流方向单一:Skill之间的数据流必须是单向的,不允许循环依赖

实战案例:企业尽调智能体

以企业尽调智能体为例,展示4A TOGAF如何指导一个完整Skill系统的设计。

BA层:定义能力域

企业尽调需要6个能力域覆盖:

能力域 Skill 业务价值
文档解析 OCRParserHandler 提取财务数据
知识检索 KnowledgeRAGHandler 查询合规要求
数据分析 DataAnalysisHandler 计算财务指标
评分决策 ScoringEngineHandler 输出风险评级
报告生成 ReportGenHandler 生成尽调报告
可视化 VisualizationHandler 风险仪表盘

DA层:设计数据流

6个能力域的数据流向:

文档解析 → 数据分析 → 评分决策 → 报告生成
知识检索 → 评分决策
评分决策 → 可视化
报告生成 ← 可视化

每个箭头代表一条JSON数据流,每条数据流都有对应的Schema约束。

AA层:组合Skill

两层组装:

原子层:6个Handler各自作为原子Skill 复合层:企业尽调Skill = 文档解析 数据分析 评分决策 报告生成

知识检索和可视化作为可选增强,不纳入核心流程。

TA层:技术选型

编排引擎:Phase-Orchestrator,4-Phase链式调用 状态管理:结构化JSON,Phase间传递 运行时:Python 3.10 ,Skill热加载

经验总结:从方法论到实践的三个教训

架构要先行但不求完美。先建立4A的骨架,让每个Skill至少知道自己属于哪个能力域、数据从哪来往哪去。细节在迭代中补齐,但框架不能缺。

构建块粒度由业务决定,不由技术决定。一个股票分析Skill之所以应该拆分为数据获取 分析 通知三个Skill,不是因为技术上做不到合一,而是因为业务上存在独立复用这三个能力的场景。

Schema是Skill间的契约,不是建议。松散的接口约定会随Skill数量增长而崩溃。只有强制执行Schema校验,才能确保Skill组合的可预测性。

4A和TOGAF不是新概念,但将它们系统性地映射到Agent Skill设计,当前实践尚少。希望本文的框架能为AI Agent的架构化发展提供一个起点。

Agent Skills 开源生态

本文涉及的技能和框架已开源,欢迎 Star / Fork / PR:

仓库 内容 协议 链接
financial-ai-skills 104个金融AI技能,零API费 MIT https://github.com/yuzhaopeng-up/financial-ai-skills
teleagent-skills 5个通用Agent技能(评分引擎/证据链/数据聚合/可视化/NL2Query) Apache 2.0 https://github.com/yuzhaopeng-up/teleagent-skills
agent-cluster-comm 5层集群通信技能(L1-L5) Apache 2.0 https://github.com/yuzhaopeng-up/agent-cluster-comm
skill-framework 208技能分类体系 L0-L4框架 YAML模板 MIT https://github.com/yuzhaopeng-up/skill-framework
fintech-h5-demos 12个零依赖金融H5演示 MIT https://github.com/yuzhaopeng-up/fintech-h5-demos

相关文章

精彩推荐