架构设计 · 系统改造 · 业务里的 AI 智能体

从一套新系统的第一版架构,到跑不动、改不动的遗留系统:模块边界怎么切、微服务怎么拆、消息与存储怎么调;也能把一个智能体接进你的单据、工单和流程里,让它答得上你自己业务的细节。

55
篇实战拆解
3471
累计阅读
17
万字实战正文

精选内容

全部文章

按问题找方案

解决过的难题

更多实战

每个系统都有自己的历史包袱。这一段讲的是当时卡在哪、怎么下的判断、凭什么说这个判断是对的——数字只是结果,怎么得出这个数才是能搬走的东西。

从零搭一套与在跑系统的重写

架子从空白起,和在跑的系统上换骨架,两件事难的地方不一样:前者难在几十个人同时往里写,后者难在改的每一刀都不能让用它的人察觉。

新系统从 0 到 1

二十多个服务仓、三个团队一起写:约定做成骨架,不靠评审兜底

当时新系统真正难的不是选哪个注册中心,是几十个人同时往里写——三个月后同一件事会有五种写法,而写在文档上的约定活不过第三个月。

怎么拆服务按两问切层:要不要独立看几个域要用、进哪一层看有没有业务规则——六个平台服务不带一条规则,财务这种整仓都是规则的留在业务域;每个仓固定六层、新服务从骨架复制;降级统一返回一个能被判出来的失败;全局事务只钉在开单、结算这类跨服务写入口;网关路由放进配置中心,接一个新服务不占发版窗口。

20+
服务仓
3
个团队
80
人协作
这段的完整复盘
在跑系统的重写

六周、484 次提交:只借鉴功能,客户那边一个字都不用改

当时一套跑了几年的系统还在赚钱,但业务规则已经和最初那批人的写法长在一起了。整体替换的风险和双轨维护的成本,同时摆在一张桌子上。

怎么拆功能照做、代码全重写:平台层沉进一个约 26 万行、带 3438 个测试方法与覆盖率门禁的底座,业务侧只写业务;对外的 URL、字段名、错误码原样保留,前端和第三方系统零改动;端点数 178 对 178、契约模块零越界引用,每一阶段都留一个能核对的量。

484
次提交
27
个模块
178
端点对齐
这段的完整复盘

老系统改造的六个环节

一张单子从立项走到验收,这六步各有各的卡点,每一步都给一条能对着自己系统核对的判据。

立项评审

「能不能改」要能在白板上被证明

当时方案写得再细也没用。多数改造项目的死因是立项时没验三件事:流量能不能切过去、怎么证明改前改后行为一样、数据改歪了能不能退回来。

怎么拆把这三件事写成开工的前置条件,而不是登记成一条风险:流量能切、改前改后能比对上、数据能退。再配两份盘点——系统里到底有什么、哪些约定没人写在文档上。这三条过不了,「今年先不改」就是个正当结论。

这段的完整复盘
没有测试的老系统

改之前,先让它自己交代行为

当时没有测试、没有文档的系统里,最贵的不是写新代码,是「不知道它现在到底在做什么」。

怎么拆先让老系统把自己的行为录下来再动手改:录哪些输入、结果记到哪一层、写接口跑一遍会不会污染线上数据。比对出差异时每一条都要归到原因,不许写「先不管」。

这段的完整复盘
数据迁移

代码能退回去,写歪的数据退不回去

当时改造里唯一真正不可逆的部分是数据,而它常被排在最后草草处理。

怎么拆四步逐步走:新旧字段同时留着、两边同时写、逐条对账、最后切读。每一步都写清会在哪儿出事——双写挂在哪一层,决定了两边不一致时听谁的;线上还在往里写的时候,「对上了」得有一个能核对的定义;从某一步起,退回去就要丢数据。

这段的完整复盘
灰度切流

放量放的是这次最多赔多少,不是进度

当时放量被当成进度展示时,它真正的作用就丢了:把一个大失败换成若干个小失败。

怎么拆一次放给谁、放多少,按「哪块坏了最疼」来排,不是从 1% 加到 100% 了事;每个开关都要有主人、有到期那天;回滚要当场答出三件事——多久退完、退回去丢不丢数据、谁有权按那颗按钮;演练换一个没写过这套代码的人来执行。

这段的完整复盘
成本与止损

工期估得准不准要能核对,什么时候停手要在开工前写下

当时改造估时的真正问题不是偏大或偏小,是口径不可核对:按模块估的工期,没有任何东西能校准它。

怎么拆一个批次一个批次地算四笔钱:摸清现状、动手改造、新旧两套同时跑的这段日子、老代码什么时候允许真删——最容易漏的是最后一笔。立项那天就把停手的条件写下来,别等烧了半年再坐到会议室里谈。

这段的完整复盘
交付验收

上线那天,「完成」这个词最容易被用坏

当时上线不等于改造完成,而验收口径含糊的项目会在半年后为同一批问题返工。

怎么拆验收时一次回答五个问题,每个都要拿得出能核对的东西:改前改后行为一样吗、数据对得上吗、有没有变慢、运维接得住吗、换一个没参与过的工程师还能改吗。再加一条常被整段跳过的判据——老代码什么时候才允许真删。

这段的完整复盘

能一起做的事

新业务系统的设计与架构

要做一套自己的业务软件——订单、履约、结算、内部平台——产品口径有了,架子还没有

从产品口径走到能开工的设计:模块边界、数据模型、技术选型一起定下来,交出来的方案能直接进开发排期

  • 产品口径到模块边界
  • 数据模型与单据流转
  • 技术选型与依赖边界
  • 接口约定与演进空间

系统性能与稳定性优化

大促宕机、慢 SQL、消息积压频发的系统

定位瓶颈并给出可验证的优化结果

  • 链路与瓶颈分析
  • 中间件与存储调优
  • 容量与预案

遗留系统微服务改造

单体要拆分、老 ERP 要续命的企业

比整体替换更低成本、更短周期完成升级

  • 现状与技术债盘点
  • 拆分与迁移路线
  • 灰度与回滚方案

业务系统里的 AI 智能体

已有 ERP、MES、工单这类单据明确的系统,想让 AI 答得上业务细节的团队

一个读得懂你自己单据的智能体:数据怎么接、哪些能查、答不准怎么退回人工,连评测集与运维交接一起给,不停留在 Demo

  • 数据接入与只读边界
  • 业务动作做成模型能调的工具
  • 标注过的评测集与上线合格线
  • 答不准时退回人工那条路

约一次沟通

留个手机号,挑一个方便联系的时间段,说清楚系统卡在哪。我在那个时段里打给你,先听你说现状与约束,再谈怎么改。 隐私说明

暂时不接新的沟通。 想聊的话直接写信: 508509000@qq.com

最新更新

全部文章
  • 系统只有一个人会改,要不要加人

    "只有一个人会改"看着是人力问题,实际是三格不同的东西:知识、验证、权限。它们的价格和解法都不一样——加人只能补其中一格,而且常常补不到。这篇摊开四条比加人便宜的路各挡得住哪一格、什么情况下确实该加人,以及最省的那一步今天就能做的三件事。

  • 服务挂过一次,要不要花钱做双活

    一次故障之后最容易冒出来的念头是"要不要做双活"。这篇把这件事拆成能算账的三段:双活真正贵在哪三处(机器钱是最小的一块)、停机一小时到底赔多少钱、以及比双活便宜得多却更管用的那一档做法。结论不是"别做",而是多数系统该买的是"多快恢复",不…

  • 员工把客户资料贴进了公网 AI,要不要全禁

    禁止员工用公网 AI 这件事,多数公司输在执行上:需求不会消失,规避成本比执行成本低得多,禁令最后只把使用推进地下。这篇不讨论该不该用,只拆三件能落地的东西:贴出去的内容分几类、四条路各自的真实代价、以及不花钱今天就能做的三件事。

  • 系统越来越慢,是加服务器还是该重构了

    你的系统用了三年,用户从 100 涨到 1000,现在每个人都抱怨 太慢了 。老板问你:是加服务器,还是让技术团队重构? 这个问题没有标准答案,但有判断框架。 先分清 慢 是哪一种 慢 有三种,解法完全不同: 第一种:偶尔慢 。月初结账、活…

  • AI 落地失败的十个原因,你中了几个

    AI 落地失败的十个原因,你中了几个 行业数据显示,AI 项目的失败率高达 80%。但 失败 的原因,大多不是算法不好、模型不准,而是组织、管理、预期这些 非技术 问题。 总结了十个常见原因,看看你中了几个。 原因一:为了 AI 而 AI…

  • 数据准备好了吗,AI 项目的前置条件

    数据准备好了吗,AI 项目的前置条件 很多人以为 AI 项目的关键是算法,其实不是。算法是现成的,开源社区有大量成熟的模型。真正的关键是数据——你的数据质量决定了 AI 项目的上限。 数据没准备好就启动 AI 项目,就像没有食材就请厨师。再…