DEV Community

兆鹏 于
兆鹏 于

Posted on

4A Enterprise Architecture + TOGAF: How to Guide Agent Skill Design

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

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

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

去年帮一家保险公司梳理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设计。

┌───────────────────────────────────────────────────────────────┐
│                  4A → Skill 映射框架                           │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│  BA 业务架构                                                  │
│  ┌─────────────────────────────────────────────────────────┐  │
│  │ Skill的业务能力域划分、价值链映射                          │  │
│  │ → 回答"这套Skill体系解决什么业务问题"                      │  │
│  └────────────────────────────┬────────────────────────────┘  │
│                               │                               │
│  DA 数据架构                  │                               │
│  ┌────────────────────────────▼────────────────────────────┐  │
│  │ Skill的数据流、信息交换标准                               │  │
│  │ → 回答"Skill之间数据怎么流转、用什么格式"                  │  │
│  └────────────────────────────┬────────────────────────────┘  │
│                               │                               │
│  AA 应用架构                  │                               │
│  ┌────────────────────────────▼────────────────────────────┐  │
│  │ Skill的组合关系、依赖图谱                                 │  │
│  │ → 回答"哪些Skill可以组装、依赖关系是什么"                   │  │
│  └────────────────────────────┬────────────────────────────┘  │
│                               │                               │
│  TA 技术架构                  │                               │
│  ┌────────────────────────────▼────────────────────────────┐  │
│  │ Skill的运行时、工具链、基础设施                            │  │
│  │ → 回答"Skill跑在什么环境上、需要哪些依赖"                   │  │
│  └─────────────────────────────────────────────────────────┘  │
│                                                               │
└───────────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

用表格更清晰地展示每一层的核心映射关系:

架构层 核心问题 Skill映射 示例
BA 业务架构 Skill解决什么业务问题? 按能力域分组:协同办公、内容生产、数据智能、系统运维等 "数据智能"域包含客户画像、股票监控、财务智能等Skill
DA 数据架构 Skill间数据如何流转? 统一数据格式(Markdown/JSON),标准化数据源→转换→消费管道 搜索Skill输出Markdown,报告Skill消费Markdown生成PDF
AA 应用架构 Skill如何组合复用? 构建依赖图谱,上层组合下层,同类可替换 日报Skill = 搜索 + 摘要 + PDF转换 + 消息推送
TA 技术架构 运行环境与基础设施? 运行时(Node.js/Python/Bash)、外部API、认证体系 飞书Skill依赖OAuth 2.0,股票Skill依赖行情API

BA:从业务能力域出发

BA层的核心工作是"能力域划分"。不要按技术实现分类Skill,要按业务价值分类。一个"协同办公"能力域下面,飞书日程、企业微信待办、钉钉审批虽然对接不同平台,但解决的是同一个业务问题。反过来,"飞书套件"把日历、文档、消息、任务捆在一起,看似整齐,却掩盖了能力域的本质。

正确的做法是先画出业务能力地图,再把Skill填进去。缺失的能力域意味着需要新建Skill,同一域内的重叠Skill意味着需要合并或分层。实践中我们发现,7个能力域(协同办公、内容生产、数据智能、系统运维、开发工具、消息通道、娱乐生活)足以覆盖70+个Skill的分类。

DA:让数据在Skill间自由流动

数据架构解决的是Skill之间的"对话协议"。两个Skill要协作,必须约定数据格式。在实践中我们确立了几条规则:文档类输出统一用Markdown,API数据交换统一用JSON,时间字段统一用ISO 8601,用户标识统一用开放平台ID。同时识别出三类数据角色:数据源Skill(搜索、行情接口)、数据转换Skill(摘要、画像生成)、数据消费Skill(报告推送、告警通知)。数据流向必须是"源→转换→消费",不允许消费Skill直接做原始数据采集——这跟数据仓库的ODS→DWD→ADS分层是一个逻辑。

AA:构建可组装的Skill图谱

应用架构关注的是Skill之间的组合与依赖。核心原则是:上层Skill必须组合下层Skill,绝不重复实现下层逻辑。一个股票监控Skill自己写爬虫——违反了这条原则。正确做法是依赖"搜索Skill"获取数据,自己只负责分析逻辑。这样当搜索能力升级(比如换了更快的API),所有上游Skill自动获益。

依赖分为强依赖和弱依赖。强依赖意味着Skill无法独立运行(如报告Skill依赖PDF转换),弱依赖意味着功能降级但可用(如故障排查Skill对平台套件的依赖是可选的)。在实际部署中,强依赖必须标注在Skill元数据中,弱依赖可以按环境条件加载。

TA:基础设施决定Skill的上限

技术架构层容易被忽视,却决定了整个Skill体系的天花板。需要明确四个子层:运行时层(Node.js网关、Python脚本引擎、Bash命令行、浏览器自动化)、工具链层(Git、tmux、curl、Chromium)、基础设施层(Skill注册中心、记忆系统、消息路由器)和外部集成层(飞书/企微/钉钉/GitHub等开放平台)。每一层的选型都影响Skill的可移植性和可扩展性。比如,如果一个Skill强依赖Chromium的特定版本,它在无头服务器上的部署就会受限。

TOGAF构建块思想:从原子能力到多智能体联动

TOGAF将架构元素分为架构构建块(ABB)和解决方案构建块(SBB)。映射到Skill体系:ABB是原子级Skill,不可再分;SBB是组合Skill,由多个ABB组装而成。更进一步,多个SBB可以再次组合,形成解决特定行业场景的"组合的组合";而跨Agent之间的协同编排,则构成了多智能体联动场景。

┌─────────────────────────────────────────────────────────┐
│  ABB → SBB → 组合的组合 → 多智能体联动                    │
│                                                         │
│  ABB(基础Skill): 消息发送、搜索、文件读写...              │
│       │                                                 │
│       ▼ 组合                                            │
│  SBB(组合Skill): 任务流编排、文档管道、故障诊断...         │
│       │                                                 │
│       ▼ 再组合                                          │
│  业务域Skill: 股票监控、日报生成、客户画像...              │
│       │                                                 │
│       ▼ 跨Agent编排                                     │
│  多智能体场景: 投研生产线、编码军团、故障响应中心...        │
└─────────────────────────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

以"投研生产线"为例:L1层的搜索Skill和行情Skill是ABB;L2层的报告模板引擎是SBB;L3层的投研报告生成是业务域Skill;L4层面,投研报告+股票监控+客户画像+日报推送组成完整的生产线,多个Agent各司其职。

构建块思想的核心价值是复用。统计表明,一个核心L1 Skill(如消息推送)被5个以上的L3 Skill依赖。如果没有构建块分层,每个L3 Skill都自建消息推送逻辑,改一个通知格式就要改5个地方。有了构建块,改一次,全部受益。

L0-L4五层分类体系

结合4A思想和构建块复用原则,我们设计了L0到L4的五层分类模型:

┌───────────────────────────────────────────────────────────┐
│  L4 多智能体联动  │ 编码军团、投研生产线、故障响应中心      │
│                   │ 跨Agent协作、分布式执行                   │
├───────────────────┼───────────────────────────────────────┤
│  L3 业务域编排    │ 股票监控、日报生成、客户画像、投研报告   │
│                   │ 完整业务流程、有状态管理                  │
├───────────────────┼───────────────────────────────────────┤
│  L2 组合Skill     │ TaskFlow引擎、文档管道、渠道配置         │
│                   │ 跨域集成、可复用模式                     │
├───────────────────┼───────────────────────────────────────┤
│  L1 基础Skill     │ 飞书套件、企微套件、搜索、GitHub...      │
│                   │ 单域封装、可直接调用外部API              │
├───────────────────┼───────────────────────────────────────┤
│  L0 原子能力      │ 浏览器、Web搜索、文件读写、Shell执行...  │
│                   │ 工具原语、不嵌入任何业务逻辑             │
└───────────────────┴───────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode
层级 数量 复用度 开发成本 行业属性
L0 ~15 极高 全行业通用
L1 ~50 低-中 全行业通用
L2 ~8 全行业通用
L3 ~6 行业专用
L4 ~2 极高 视场景而定

一个关键规则:L3及以上Skill必须依赖L2和L1,绝不重复实现下层逻辑。L0层绝不嵌入业务逻辑。这保证了85%的Skill是跨行业通用的,行业特殊性只体现在L3和L4层。

无边界信息流:Skill间的信息破壁

TOGAF的III-RM参考模型有一个核心愿景:无边界信息流——信息应该在正确的时间、以正确的格式、交付给需要的人或系统,不受组织边界和技术边界的限制。

映射到Skill体系,这意味着:一个分析结果不应该被锁在生成它的Skill内部,而应该能被任何需要它的Skill消费。具体落地需要三件事:

第一,统一数据格式。 Markdown作为文档标准,JSON作为API标准,ISO 8601作为时间标准。任何Skill的输出都应符合这三项标准之一。

第二,解耦数据源与数据消费。 搜索Skill只负责"获取",分析Skill只负责"加工",推送Skill只负责"送达"。一个典型的信息流是:外部数据源→搜索层→分析层→分发层。搜索Skill获取新闻,摘要Skill提炼要点,报告Skill生成简报,消息Skill推送到飞书或企微——四个Skill各司其职,数据沿管道流动。

第三,记忆层打通跨会话壁垒。 很多Skill的输出需要持久化。加入记忆层(长期记忆文件、每日日志)后,今天的分析结果可以成为明天的上下文。一次投研报告中的行业判断,下次生成同类报告时自动引用。这是更高层次的无边界——时间维度的信息流。

实战案例:四个垂直行业的Skill蓝图

4A架构不是纸上谈兵。以下展示教育、医疗、法律、地产四个行业的Skill设计思路,每一条都遵循BA→DA→AA→TA的自上而下推导。

教育行业:课程编排与学情追踪

BA层识别出三个核心能力域:课程管理、学情追踪、教学资源。DA层的数据标准是:课程用JSON Schema描述,学习进度用时间序列数据,作业用Markdown。AA层组合方案:学情追踪Skill = 飞书多维表格(数据源)+ 摘要Skill(分析)+ 消息推送(通知家长)。TA层需要日历API集成和分数采集接口。

医疗行业:健康监测与就诊编排

BA层能力域:健康监测、预约管理、病历解读。DA层:健康指标用FHIR标准格式,预约数据走医院HIS接口,病历文本用Markdown存储。AA层:健康监测Skill = 可穿戴设备数据源 + 阈值告警引擎(L2可复用) + 企微卡片推送。TA层需要医疗设备对接和隐私合规(数据脱敏是前提)。

法律行业:合同审查与案例检索

BA层能力域:合同审查、法规检索、案例分析。DA层:合同用结构化JSON描述风险条款,法规数据用法条编号索引,案例用Markdown摘要。AA层:合同审查Skill = 文档解析(L1) + 风险识别引擎(L2) + 修订建议生成(L3)。这个场景的价值在于,L2层的风险识别引擎可以同时服务合同审查和合规检查两个L3 Skill,体现构建块复用。

地产行业:房源匹配与市场分析

BA层能力域:房源搜索、市场分析、贷款计算。DA层:房源用GeoJSON描述位置属性,行情数据用时间序列,贷款参数用结构化JSON。AA层:市场分析Skill = 地图POI搜索(L1) + 趋势分析(L2) + 区域报告生成(L3)。其中L2趋势分析引擎与金融行业的股票趋势分析同构,可跨行业复用。

四个行业的共性在于:L0和L1层完全通用(搜索、消息、文档、地图),L2层的模式引擎(告警、分析、模板)高度可复用,行业差异集中在L3层的业务规则和L4层的协作模式上。这正是4A架构的价值所在——用分层隔离变化,用构建块沉淀复用。

回过头看,一个常见的误区是"先写Skill再想架构"。这种做法在Skill数量很少时看不出问题,一旦超过20个,就会遇到开头描述的困境:重复建设、数据孤岛、组合困难、难以演化。正确做法是"架构先行":先做完BA能力域梳理,再开发Skill;先定DA数据格式标准,再做跨Skill集成;先画AA依赖图,再决定组合方式;先确认TA运行环境,再选技术路线。先慢后快,整体效率反而更高。

还有一个实际建议:建立Skill注册中心。每个Skill在注册时必须声明四项元数据——所属能力域(BA)、数据输入输出格式(DA)、依赖的其他Skill(AA)、需要的运行时环境和API密钥(TA)。这四项声明就是Skill的"架构身份证",有了它,Skill的发现、复用、替换才有据可依。没有注册中心的Skill体系,就像没有资产目录的仓库——东西都在,但谁也找不到。

总结:从IT治理到AI治理

企业架构思想从IT时代传承到AI时代,其核心没有变:用结构化思维对抗复杂性。4A告诉我们要分层思考(从业务到技术),TOGAF告诉我们要用构建块组合(而非从零开始),无边界信息流告诉我们要让数据自由流动(而非锁在孤岛里)。

变化的是治理对象:从数据库和中间件,变成了Agent Skill和提示词;从SOA服务契约,变成了Skill间的JSON数据格式;从ESB企业服务总线,变成了消息路由器和记忆系统。不变的是方法论:先做业务能力域划分(BA),再定义数据流转标准(DA),然后设计组合依赖图谱(AA),最后选型基础设施(TA)。

AI Agent生态正处在从"能用"到"好用"的拐点。能写一个Skill不难,难的是让100个Skill有序共存、可组合、可演化。企业架构不是AI开发者的负担,而是避免"巴别塔"重演的脚手架。当Skill数量突破临界点时,有没有架构,决定了生态是繁荣还是坍塌。


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

AI生成

Top comments (0)