zizi
314b421ac1
feat(saa): form① 进程内派发器 + step5 MysqlSaver checkpoint + observation 埋点收口 (HJ-AGI-002)
把已跑通的 Python agentic 生成系统 SAA 迁移从 spike 推进到生产收口:form① 进程内派发器 + 迁移 step5(checkpoint) + 可观测埋点,并修 split-brain、调和依赖。
- form①: GenerationDispatcher 契约 + SaaGraphDispatcher 进程内直调 difyCallbackService.handleCallback(消灭 HTTP+HMAC);默认 dispatcher=http 逐字非破坏,saa 仅 opt-in,SAA 图懒构造在席零开销
- test→main: SaaGenNodes/SaaPrompts/SaaStudioNodes 提升;抽 SaaStudioGraph 为唯一布线源,SaaStudioGraphTest 改调 build()(修 split-brain,杜绝两处布线漂移)
- step5: MysqlSaver checkpoint(懒建/一图一 saver/注 yudao Druid/releaseThread(false)/CREATE_IF_NOT_EXISTS),SaaGraphDispatcher threadId 缝接实;Flyway 零撞名(GRAPH_CHECKPOINT/GRAPH_THREAD 大写引擎私有,测试隔离 saa_spike schema,生产 ruoyi-vue-pro 零污染)
- observation: GraphObservationLifecycleListener 节点级 trace/耗时/失败埋点(经 starter-graph-observation 自动配置)
- 依赖调和: 删 agent-framework/builtin-nodes(零引用·后者硬钉 1.1.2.2 脱 BOM 版本钉债,拖 tika 全家桶),留 graph-core/starter-graph-observation/spring-ai-starter-model-openai;MysqlSaver/observation 机芯均在 graph-core(动 pom 前已核归属)
- 验证: 全 SAA 套件 16 run/0 fail/3 skip(harness-gated 正确跳过);test-compile 门绿;依赖树 Boot 全 3.5.14/redisson 4.4.0/零 3.22 泄漏;checkpoint 真恢复 6/6 确定性(查库 GRAPH_CHECKPOINT 实有 node_id=n1/next=n2 行 + 跨实例 N1_RUNS==1 真接续非重放)
- 框架坑记档: SAA MysqlSaver.saved_at 秒级 TIMESTAMP、load SQL ORDER BY saved_at DESC 无 tiebreaker → 同秒多 checkpoint 时默认 resume() 非确定;修法=getStateHistory 按内容选中断点、显式 checkPointId 续跑绕开排序
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:19:48 +08:00
..
2026-06-16 10:19:48 +08:00
2026-06-16 10:19:48 +08:00