课程 ID: 19184
描述:
话题概述:
当前 AI Coding 工具在企业级复杂系统中面临“结构不可控、上下文幻觉、资产难维护”的落地困境,代码采用率往往不足 10%。本演讲将分享 Toco AI 探索的 “建模驱动开发 (MDD) + LLM” 新范式。
演讲题纲:
1. 痛点:为什么 Chat-to-Code 在复杂系统中失效? (5 min)
- 现象: “Vibe Coding” 的繁荣与企业级落地的“10% 采用率”悖论。
- 根因分析:
- 熵增效应: 概率性生成导致代码同义异表(Same Intent, Different Code),维护成本指数级上升。
- 信任危机: 上下文窗口限制导致的“结构性幻觉”(引用不存在的类/循环依赖)。
- 结论: 在 AGI 到来前,必须引入“中间层”(DSL)来锁定确定性。
2. 新范式:构建“神经符号”双核架构 (10 min)
- 核心设计: Agent (右脑/概率) + Engine (左脑/确定性)。
- Agent 职责: 意图理解、模糊匹配、非结构化胶水代码生成。
- Engine 职责: 拓扑计算、架构约束、DDD/CQRS 骨架渲染。
- 工作流解密:
- Input: 自然语言需求 -> Output: 中间态 DSL -> Action: 静态语法校验 -> Result: 渲染标准 Spring 代码。
3. 关键技术实践与 DSL 边界 (15 min)
- 技术点 1:DSL 的“克制”哲学
- 挑战: 如何避免重蹈 UML 覆辙(变得极其复杂且难用)?
- 方案: 坚决不侵入 if/else。DSL 仅描述实体 (Entity)、聚合 (Aggregate) 和读写契约 (Contract)。
- 技术点 2:解决“N+1”与复杂查询的读写建模
- 方案: 引入 CQRS(读写分离) 策略。
- Write Model: 基于聚合根的事务一致性保障。
- Read Model: 基于 Toco-DTO 的自动组装器(Auto-Assembler)实现,解决跨表 JOIN 与脱敏。
- 技术点 3:从模型到代码的渲染机制 (M2C Engine)
- 如何通过 AST 操作生成人类可读、可 Debug 的原生 Java 代码,而非二进制黑盒。
4. 踩坑经验与反直觉教训 (10 min) [重点]
- 坑 1:Brownfield(存量系统)的阻抗失配
- 问题: 在“屎山”代码上强行叠加 MDD 模式遭遇失败。
- 认知迭代: 承认技术的适用边界。该模式最适合 Greenfield(新模块/重构)。对于老系统,采用“双模开发” + “防腐层(ACL)”策略。
- 坑 2:AI 并非全自动驾驶
- 问题: 试图让 AI 全自动设计架构,结果出现不合理的聚合边界。
- 认知迭代: 强调 Human-in-the-loop。人必须作为“架构审核员”介入 DSL 的确认环节。
- 坑 3:All-in Prompt 的失败
- 教训: 无论 Prompt 多精妙,无法解决长链路依赖。必须用 Engine 兜底结构正确性。
5. 实施效果与总结 (5 min)
- 数据支撑: 某电商场景重构,Code Review 耗时下降 70%,架构类 Bug 归零。
- 终局思考: AI 时代,Code 是过程,Model 才是资产。
话题亮点:
1. 目前基于DSL实现的Spec coding在业内属于探索阶段,我们的方案完整实现了服务端的dsl spec coding的完整实现
2. 在大型团队管理、大项目上下文管理领域mdd模式展现出更易落地的能力