
软件开发中,一个常见的问题是:代码可以正常运行,就意味着系统架构设计合理吗?答案显然不是。一个系统可能功能完善,却存在模块耦合严重、扩展困难、单点故障或部署复杂度过高等问题。这些问题未必会在开发初期暴露,却可能随着业务增长逐渐成为维护和迭代的阻碍。随着 AI Agent 开始深度参与软件开发,我们希望它不仅能帮助编写代码,还能站在软件工程的角度,评估系统架构是否符合真实的业务目标。为此,我们推出了 Architecture Reviewer(架构审查技能)v0.1.0,并将其加入 Keying Agent Skills 开源仓库。
01|Architecture Reviewer 是什么?
Architecture Reviewer 是一款面向软件系统架构与设计方案审查的 Agent Skill。它并非自动生成架构图的独立工具,也不是简单的代码质量检查器,而是一套指导 AI Agent 开展架构审查的标准化方法与工作流。它通过分析项目的实际代码、配置、部署结构及设计文档,帮助开发者理解系统的模块关系、数据流向、技术约束与潜在风险。
与单纯追求技术先进性不同,它强调:没有脱离业务场景的最优架构,只有符合实际约束的合理选择。
02|核心能力
软件架构与模块边界审查
围绕系统组件、模块职责及依赖方向开展分析,识别潜在的高耦合、循环依赖和不合理的服务拆分。帮助开发者理解系统当前的结构,以及可能影响未来维护和扩展的设计问题。
架构风险识别
从可靠性、可用性、性能、安全、可观测性和数据一致性等维度评估架构风险。重点关注单点故障、关键链路、权限边界、容量约束及故障恢复等实际工程问题。风险判断需要对应具体证据和使用场景,而不是简单套用通用架构规范。
技术方案对比与权衡
面对单体架构、微服务或其他架构演进方案,Skill 会引导 Agent 综合考虑开发成本、团队能力、维护复杂度、迁移风险与业务需求。例如,一个用户规模较小的系统,是否真的需要引入微服务?Architecture Reviewer 不会因为某项技术看起来先进,就默认推荐采用。它要求把保持现状也纳入候选方案,从而更客观地比较不同选择。
架构决策与演进建议
在完成审查后,Skill 可以指导 Agent 整理架构风险列表、方案权衡矩阵及 ADR(架构决策记录)草案。帮助开发者明确推荐方案的适用条件、验证方式、迁移路径及潜在代价。
03|标准化架构审查流程
Architecture Reviewer 将审查任务划分为七个阶段:
明确架构问题:识别业务目标、规模、预算和关键约束。
构建架构视图:梳理组件关系、依赖方向与数据流。
识别质量属性:明确可靠性、扩展性、安全性等关注重点。
分析架构风险:检查耦合、故障域、一致性及容量问题。
对比设计方案:分析现状与候选方案的收益和代价。
形成决策记录:整理建议、适用条件及验证计划。
输出审查结果:提供风险列表、权衡矩阵和架构建议。
整个流程强调从证据到结论的完整关联,避免仅凭经验给出架构修改意见。
04|证据驱动,而不是凭空判断
Architecture Reviewer 采用四级证据状态:
| 状态 | 含义 |
|---|---|
| Verified | 有直接证据支持 |
| Likely | 多项证据支持,仍需进一步验证 |
| Needs Verification | 存在合理疑点,需要核实 |
| Unknown | 当前信息不足,无法判断 |
例如,在没有真实负载测试结果的情况下,Agent 不应直接断言某套架构能够承受特定规模的并发请求。对于缺少关键业务约束的技术决策,也需要说明结论成立的条件。好的架构建议,不仅要说明应该怎么做,还要解释为什么,以及在什么条件下才值得做。
05|默认只读,避免不必要的工程风险
Architecture Reviewer 默认采用分析模式。在未经授权的情况下,不会主动修改项目配置、部署结构、数据库或云资源。如果用户明确要求“只分析,不修改”,Skill 必须遵守这一操作边界。同时,它也不会因为发现某项架构存在潜在问题,就直接执行大规模重构。架构调整需要考虑业务连续性、迁移成本和回滚能力,最终应由开发者结合实际情况进行决策。
06|如何使用?
Architecture Reviewer 已加入 Keying Agent Skills 仓库。开发者可以获取完整的 skill-architecture-reviewer 目录,并将其放入受支持的 Agent Skills 搜索路径。安装示例:
cp -r skills/development/skill-architecture-reviewer /path/to/agent/skills/实际路径以 Agent 宿主要求为准。完成集成后,可以尝试以下任务:
“分析当前项目的模块划分是否合理。”
“评估这个系统是否适合从单体架构迁移到微服务。”
“检查现有架构的单点故障和扩展瓶颈。”
“审查这份系统架构设计文档,并给出改进建议。”
