简介:本教程系统讲解如何让AI Agent在大型存量分布式系统中承担「架构师」职能,独立产出可执行、可验证、可审计的技术方案。内容涵盖上下文缺口根因分析、四类工程知识库构建、六阶段Agent工作流设计、约束校验与审计机制搭建,以及常见问题排查与优化建议,帮助团队将AI方案完备度稳定提升至95%以上。
用AI从零写一个小系统,效果往往惊艳;但把AI扔进运行多年的大型存量分布式系统,效果立刻开始飘忽。AI写代码本身并不慢,真正慢的是它不知道从哪里开始,也不知道哪些地方绝对不能动。
本教程要解决的就是这个问题:如何让大型存量系统变成AI可理解、可推理、可验证的工程系统,让AI Agent真正承担「架构师」的核心职能,独立产出可执行、可验证、可审计的技术方案。
完成本教程后,你将能够:
适合的读者:
适合的场景:
不太适合的场景: 没有存量约束的全新绿地项目、代码量极小的小型工具系统——这类场景直接让AI编码即可,不需要本教程的完整体系。
先给结论:这不是模型能力问题,而是上下文缺口问题。
当前主流大模型的代码生成能力已经足够强:局部修改、补测试、解释调用链,都做得不错。真正的困难在于——复杂系统里最重要的知识,并不完整地存在于代码中。
举几个典型例子:
这些信息散落在历史方案文档、事故复盘、配置平台、老员工经验和从未被正式记录的团队约定里。人类工程师靠长期参与和「事故记忆」补齐了这部分上下文;AI没有这些事实,只能基于局部代码做推断。
所以AI在存量系统里最典型的错误不是语法错误,而是「局部正确、整体错误」。三个真实工程案例:
更要命的是,AI Coding的效率会同时放大方案的正确与错误:方向对了,产能倍增;方向错了,AI只会更快地把错误落实成大量代码。
一个直观对比:同一名工程师,用AI一周可以从零写出类似某成熟CRM系统的原型;但让他在一个已运行多年的同类大型商业系统上做一次中等规模迭代,一周反而搞不定。原因在于:新系统是白纸,存量系统是旧城——旧城改造必须先摸清地下管线,而这正是本教程要系统化解决的问题。
一句话总结:代码能解释实现,架构才能支撑判断。让AI当架构师,前提是先把「判断所需的上下文」工程化。
在动手搭建之前,请确认以下条件:
1. 知识资产盘点权限
2. 基础工程环境
3. 组织与流程前提
4. 基础知识要求
做什么: 把影响方案设计的知识分为四类,逐一盘点。
为什么做: 这是整个体系的地基。Agent判断质量的上限,由知识库的覆盖度决定,而不是由模型决定。
大型分布式系统中至少有四类知识同时影响方案设计:
注意: 不要追求一步到位。建议先覆盖核心链路相关的知识,再逐步向边缘模块扩展。
做什么: 把四类知识结构化入库,并建立按需检索机制。
为什么做: 模型的上下文容量有限,必须按需检索注入,而不是全量塞入。
知识条目建议采用结构化格式,示例:
knowledge_entry:id: KD-2024-017type: constraint # business / architecture / constraint / runtimetitle: 订单结果消息体字段约束content: >订单结果消息已有多个历史下游在消费。只允许新增可选字段,不允许修改既有字段语义或删除字段,否则历史消费者解析失败。source: 2023年Q2 事故复盘记录scope: [order-service, message-consumer-group]confidence: confirmed # confirmed / pendinglast_verified: 2024-06-01
入库时的三个要点:
last_verified字段定期校验,及时淘汰过期知识。检索机制建议:
做什么: 把人类架构师做方案的过程,拆解为Agent可执行的分阶段流水线。
为什么做: 一次性让AI「写个方案」,只会得到泛泛而谈的通用方案;拆解为阶段任务,才能保证每个环节的深度。
阶段1,需求理解与澄清: Agent解析需求文档,抽取业务目标、功能点、非功能要求,并列出「信息缺口清单」反问需求方。需求完整度低时,宁可先澄清,不要硬编。
阶段2,上下文检索与组装: 根据需求涉及的对象与服务,从知识库检索四类知识,组装成带来源标注的上下文包。
阶段3,方案生成: 强制要求方案包含固定章节——现状分析、候选方案对比(至少两个)、选型理由、变更点清单、影响面分析、灰度与回滚设计。
阶段4,约束校验: 将方案的每个变更点,逐一与知识库中的约束条目比对,输出「冲突清单」。这是防止「局部正确、整体错误」的关键关卡。
阶段5,影响面分析: 基于调用链知识与下游消费关系,输出变更影响的完整清单并标注风险等级。
阶段6,审计报告输出: 输出可审计的方案文档,每个关键决策引用知识条目编号作为依据。
流水线伪代码示意:
def design_pipeline(requirement):goal, gaps = clarify(requirement) # 阶段1:需求澄清if gaps.critical:return ask_back(gaps) # 主动澄清而非硬编context = retrieve_knowledge(goal) # 阶段2:上下文组装draft = generate_design(goal, context) # 阶段3:方案生成conflicts = check_constraints(draft) # 阶段4:约束校验impacts = analyze_impact(draft) # 阶段5:影响面分析if conflicts.blocking:draft = revise(draft, conflicts) # 冲突迭代修正return audit_report(draft, conflicts, impacts) # 阶段6:审计输出
做什么: 让方案做到可验证、可审计。
为什么做: 可审计是信任的前提。没有依据的方案,评审环节无法判断对错。
三层验证设计:
审计要求:
做什么: 把每次方案评审变成知识库的反哺入口。
为什么做: 评审中暴露的判断,往往正是知识库里缺失的条目;不回收,缺口永远补不上。
具体做法:
关键配置项及其含义与风险:
如何判断这套体系是否真正跑通:
1. 单元级验证
2. 指标级验证
3. 过程级验证
问题1:方案「看着都对,但很空洞」
原因:知识库覆盖不足,或检索召回的条目与需求无关。
排查:检查阶段2的检索命中情况;补充需求涉及范围内的知识条目;调整检索策略,优先对服务名、接口名做精确关键词匹配。
问题2:方案反复在同一处冲突打转
原因:知识库条目之间互相矛盾,或存在过时条目。
排查:按last_verified排序,优先复核最久未验证的条目;矛盾条目交由知识守门人裁决后更新。
问题3:约束校验误报过多
原因:条目scope设置过宽(例如写成了整个系统),导致不相关变更也被拦截。
排查:收窄条目作用域;为条目补充更精确的触发条件描述。
问题4:需求方反馈「AI总在问很初级的问题」
原因:业务知识条目缺失,Agent只能从零问起。
排查:把需求方回答中的通用信息沉淀为业务知识条目,同类问题不再重复出现——这正是知识库自我增强的良性循环。
问题5:方案完备度长期上不去
原因:通常是需求本身不完整,或历史决策类知识严重缺失。
排查:统计「待人工确认」决策的分布;对高频出现的无依据决策类型,定向补充对应知识条目。
性能与成本:
安全与合规:
可维护性:
组织协同:
本教程围绕「让AI在存量系统里当架构师」这一目标,给出了一条系统化落地路径:
后续可以持续关注的方向包括:把影响面分析接通运行时链路数据,让分析从静态知识走向实时事实;从代码与配置变更历史中自动挖掘隐性约束,降低知识库的冷启动成本;以及让同一套上下文体系贯通「方案设计到编码实现」的完整链路,使AI架构师与AI编码真正协同工作。