01 结论先行

双栈不是炫技
边界清晰 · 门禁才是底线

口播一句话:双栈是分工,契约是母语,门禁是底线。

Java 扛业务主链,Python 扛编排与 AI 周边。
证据:AgentX SpringBoot+FastAPI · DigitalHuman 2s→500ms · 乐心亿级归主链纪律。

Review × CI 门禁 老李 · 架构师 共享契约三层
下一页听课地图:Why → What → How → Do
02 听课地图

全场叙事 · 浅的是边界,不是语言

按一条线听:崩点 → 分工 → 契约 → 门禁

口播面试问「两边都浅?」——反过来答:浅的是边界。

1

Why 为什么谈

契约分裂、门禁缺位。
线上最先崩的是联调。
风险立住。

2

What 是什么

双栈底座 ≠ 全员全栈。
合规门禁 ≠ 多审一眼。

3

How 怎么拴

API · 事件 · 观测三层。
同 traceId 串两端。

4

Do 怎么落

Review 三维 + CI。
AgentX / DH / 乐心。

先看崩法:Python 偷偷加字段,Java 还当成功——然后呢?
03 ① Why · 痛点

为什么 · 两套栈、两套标准,线上最先崩

风险不在栈数量:在契约分裂与门禁缺位

口播别把乐心亿级流量说成「Python 扛出来的」——那是主链纪律。

崩法①REST 发版 · DAG 偷加字段
→
崩法②Celery 超时 · Java 当成功
→
崩法③AI 缺幂等 · Review 只看能跑
乐心纪律

Dubbo 日请求亿级 · 可用性 99.99%

教的是主链并发与性能心智——双栈门禁是后来在 AgentX 把同一套契约钉死。

小结

浅的是边界,不是语言

会两种语言 ≠ 会双栈工程。边界写进架构图,比「全员双栈」省一半扯皮。

痛点钉住——下一页给定义:双栈底座 + 架构合规门禁。
04 ② What · 定义

是什么 · 分工底座 + 门禁,不是全员全栈

Java 稳主链 · Python 快改编排

口播门禁不是「多审一眼」:AI 产出先过 Review,再进 CI,过不了就不合入。

侧主责典型技术
Java业务服务 · 稳定主链 · 高并发Spring Boot / Cloud · Dubbo
Python编排 · 脚本 · AI 周边 · 批处理FastAPI · DAG · Celery
Java 侧 业务服务 Agent 推理编排 Python 侧 FastAPI · DAG Celery RabbitMQ · Redis · ES 统一观测
定义清楚——为什么用:边界对了,AI 产量才是资产。
05 ② What · 为什么用

证据 · 边界清晰,才扛得住 AI 产量

三个锚点:AgentX · DigitalHuman · 乐心

口播反直觉:双栈的价值是减负,不是加人。

AX

AgentX

Java Agent 推理编排 + Python DAG 拖拽。SpringBoot + FastAPI + Redis + RabbitMQ + ES + Celery + K8s。

DH

DigitalHuman

Java 主链 + LLM:延迟 2s → 500ms(降 75%),可用性 99.9%。不是换语言换出来的。

乐

乐心亿级

主链纪律:线程池可解释、超时分层、背压优先。勿绑双栈神话。

减负公式

Java 少碰一次性脚本 · Python 少扛核心账务与长稳 SLA · 边界写进架构图

证据齐了——下一页把两座山拴住:共享契约三层。
06 ③ How · 契约

怎么拴 · 共享契约是双栈的唯一母语

三层不断:API · 事件 · 观测

口播谁改字段谁先改契约测试;同一 traceId 串 Java 服务与 Python Worker。

1

API 契约

OpenAPI / 错误码 / 幂等键

2

事件契约

Topic · Schema · 重试与死信两端一致

3

观测契约

同 traceId;延迟与错误率同一套看板

Java RabbitMQ Py 事件含 traceId · Schema 校验 统一观测看板 超时分层:入口 / 下游 / 任务 Celery 并发对齐 broker / DB 池
契约拴住了——门禁怎么装进 Agent 能读的文件和流水线?
07 ③ How · 门禁

怎么装 · 别搞百人规范,只钉四件事

规范进 Agent 文件 · 门禁进流水线能挡的步骤

口播人盯不住产量,机器可以——抽查会漏,门禁会挡。

1

Review 清单

进 AGENTS.md / PR 模板

2

契约测试

OpenAPI diff · Schema 失败即红

3

架构规则

禁 Python 直连核心账务写路径;跨栈只走 API/事件

4

合入门禁

AI diff:Review 标签 + 流水线,缺一不可

安装心智 = Agent 可读规范 × 流水线可挡步骤
下一页走一遍:给 AgentX 加「失败自动重试」节点的最小闭环。
08 ④ Do · 实战

怎么落 · 一次 AI 跨栈改动的最小闭环

先改契约测试:再改代码 · 红了只修契约

口播场景:AgentX 加「失败自动重试」节点——禁止「先合后补」。

1

改 Schema

Python DAG 节点定义前,先更新事件契约与测试

2

对齐 Java

消费侧字段与幂等键

3

最小测试

契约 / 主链 / DAG / 观测

4

PR 贴结论

正确性 · 安全 · 架构合规

5

CI 绿合入

红了只修契约与测试

AI 生成diff
→
三维Review
→
CI契约+测试
→
绿合入 · 红则修
闭环有了——下一页把 Review 清单和测试最小集贴出来,面试可直接背。
09 ④ Do · 清单

怎么验 · 三维 Review + 四类最小测试

够用就停:再多就是仪式

口播正确性 / 安全 / 架构合规——三维必问;测试四类各带破坏性用例。

维度必问
正确性边界 · 幂等 · 超时与重试可证明
安全密钥不进仓 · 越权 · 注入 · PII
架构合规是否越界直连 · 破坏契约 · 绕过观测
测试最小集
  • 契约:API / 事件各 1 正向 + 1 破坏性
  • 主链:Java 关键路径 1 条集成(含超时)
  • 编排:DAG 成功 / 失败重试 / 死信各 1
  • 观测:同 traceId 两端能搜到
清单可背——提炼三条洞见收口。
10 洞见

提炼 · 边界 · 契约 · 门禁

三条判断:边界比栈贵 · 契约是母语 · AI 必过门禁

口播DigitalHuman 的 2s→500ms,背后是主链纪律,不是提示词运气。

①

边界比栈更值钱

Java 扛 SLA 与账务,Python 扛编排与 AI。写进架构图,省一半扯皮。

②

契约是唯一母语

API / 事件 / 观测不断,两座山共济;一裂,再强语言也救不了联调。

③

产量过门禁才是产能

Review 管三维,CI 管合入。过不了门禁的产量,一律不算交付。

API契约
+
事件契约
+
观测契约
→
可联调门禁合入
洞见齐了——速查表五步,面试怎么讲完。
11 方法论速查

带走 · 五步可排期

面试叙事顺序:边界 → 契约 → 性能心智 → Review → 测试

口播证据收口甩 AgentX 栈、DigitalHuman 数字、乐心亿级——主链纪律勿绑双栈。

步骤动作验收
1 定边界Java 主链 / Python 编排与 AI架构图无越界写库
2 钉契约API + 事件 + 观测同 traceId契约测试进 CI
3 校准性能超时分层 · 队列与连接池对齐延迟与可用性可复盘
4 上门禁Review 三维 + CI 合入AI diff 无门禁不合入
5 最小测试契约 / 主链 / DAG / 观测四类各有破坏性用例
最后一页:三条公式 + 唯一行动号召。
12 收束回顶

带走 · 结论 → 证据 → 唯一 CTA

听懂不够:下次跨栈改动,先改契约测试

口播双栈是分工,契约是母语,门禁是底线——三句背完就能讲。

① 双栈 = Java 主链 × Python 编排/AI(边界减负)
② 母语 = API + 事件 + 观测(traceId)
③ 产能 = AI 产量 × Review+CI 门禁(过不了不算交付)
证据一句

AgentX 双栈 · DH 2s→500ms · 乐心亿级归主链纪律,勿绑双栈神话。

心智

规范写进 Agent 能读的文件;门禁写进流水线能挡的步骤。

下次让 AI 改跨栈功能:先改契约测试,再改代码——过不了门禁的产量,一律不算交付。