news 2026/4/16 15:28:47

【实践篇】我在某AI Native系统架构设计与实现上做了一点尝试:双路径架构

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【实践篇】我在某AI Native系统架构设计与实现上做了一点尝试:双路径架构

不能光吹牛,不动手实践!那样是不对的。


一、架构核心理念

1.1 设计目标

Javis 采用双路径架构(Dual-Path Architecture),核心目标是将 AI 交互成本与业务逻辑执行完全解耦。这种设计允许系统在需要 AI 能力时调用 LLM,而在执行传统业务操作时完全不消耗 AI 资源。

1.2 核心原则

  1. Agent-Service 分离: AI 交互成本与业务逻辑执行解耦

  2. 端到端类型安全: 通过类型系统消除运行时错误

  3. 业务语义对齐: 架构实体严格映射到 PRD 定义

  4. 规范驱动一致性: Agent 行为受 Contract Docs 约束

  5. 人机协作循环: 三轮迭代反馈机制,然后进入手动编辑模式


二、双路径架构概览

2.1 架构层次图

ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line用户界面层 (Next.js) │ ├─── Agent Path (无状态路径) │ │ │ ├── 特点: 无状态、成本优化、快速响应 │ ├── 功能: LLM 调用、提示工程、规范注入 │ └── 输出: 临时响应,不持久化 │ └─── Service Path (有状态路径) │ ├── 特点: 有状态、已验证、工作流驱动 ├── 功能: CRUD 操作、验证、工作流编排、持久化 └── 输出: 数据库持久化、活动日志

2.2 路径交互关系

两个路径通过上下文交换进行协作:

  • Agent Path 从 Service Path 获取上下文(如 Contract Docs、Issue 信息)

  • Service Path 接收 Agent Path 生成的内容并持久化

  • 两者通过明确的接口边界分离,避免混合执行


三、Agent Path(AI 交互层)

3.1 核心定位

Agent Path专门处理所有 LLM 交互,目标是最小化 token 消耗,最大化响应速度

3.2 关键特征

无状态设计
  • 不执行数据库写入操作

  • 上下文是临时的、短暂的

  • 每次调用都是独立的,不依赖之前的调用状态

成本优化策略
  • 响应缓存: 相同请求的响应缓存 5 分钟,避免重复调用

  • 流式响应: 使用流式传输,用户可立即看到部分结果

  • 提示压缩: 移除冗余上下文,减少 token 消耗

  • 规范嵌入: 使用向量数据库查找相关 Contract Docs,而非全量注入

高性能设计
  • 并行 API 调用,同时处理多个请求

  • 早期返回机制,一旦有结果立即返回

  • 避免阻塞操作,保持响应速度

规范注入机制
  • 所有 Agent 调用自动注入项目规范(Contract Docs)

  • 通过中间件统一处理,确保一致性

  • 规范内容从缓存或数据库获取,优化性能

3.3 主要职责

Agent Path 负责以下功能需求:

  • FR-03: 从需求文档(Demand Doc)中探索生成问题(Issues)

  • FR-04: 从问题(Issue)生成用户故事(User Stories)和测试用例(Test Cases)

  • FR-06: Figma MCP 集成,处理设计资产

  • 迭代反馈: 根据用户反馈重新生成 Issues 或 Stories

3.4 技术实现

  • 实现方式: Next.js API Routes(独立于 tRPC)

  • 外部集成: BMAD Agent API、Figma MCP、Cursor API

  • 缓存层: Redis 用于响应缓存和规范缓存


四、Service Path(业务逻辑层)

4.1 核心定位

Service Path处理所有业务逻辑、验证、持久化和工作流编排,完全不消耗 AI token

4.2 关键特征

有状态设计
  • 所有操作都涉及数据库事务

  • 保证 ACID 特性(原子性、一致性、隔离性、持久性)

  • 维护完整的业务状态

严格验证
  • Schema 验证:确保数据符合数据库模型

  • 业务规则验证:执行业务逻辑约束

  • Contract Doc 验证:确保生成内容符合项目规范

工作流驱动
  • 使用状态机管理业务流程

  • 事件驱动架构,响应状态变更

  • 消息队列(BullMQ)处理异步工作流

可审计性
  • 完整的活动日志记录

  • 版本控制支持

  • 所有操作可追溯

可追踪性
  • 所有者跟踪(responsibleUserId)

  • 时间戳记录(创建时间、更新时间)

  • 操作历史完整保留

4.3 主要职责

Service Path 负责以下史诗(Epics):

  • Epic 1: 项目与资产基线管理(GitLab 集成)

  • Epic 2: 文档管理(需求文档 vs 规约文档)

  • Epic 3: 问题管理(CRUD、状态、类型)

  • Epic 4: 用户故事与测试用例管理

  • Epic 5: 规约文档版本控制

  • Epic 6: 代码交付与 CI/CD

4.4 工作流编排

Service Path 使用消息队列编排复杂工作流:

  • 问题探索队列: 处理从需求文档生成问题的任务

  • 故事分解队列: 处理从问题生成用户故事的任务

  • 状态同步: 自动同步迭代状态与问题状态

  • 事件触发: 状态变更触发后续工作流步骤

4.5 技术实现

  • 实现方式: tRPC Procedures(类型安全的 RPC)

  • 数据库: PostgreSQL(通过 Prisma ORM)

  • 消息队列: BullMQ(异步任务处理)


五、双路径交互模式

5.1 模式一:生成-审查-持久化

流程描述:

  1. Agent Path 从需求文档生成内容(轻量级、可缓存)

  2. 用户界面展示生成结果供审查(无成本)

  3. 用户批准后,Service Path 持久化到数据库

适用场景:

  • 从需求文档探索问题

  • 从问题生成用户故事

  • 任何需要人工审查的 AI 生成内容

成本特点:

  • Agent Path 调用产生 AI 成本

  • 审查和持久化不产生 AI 成本

5.2 模式二:获取上下文-处理-存储结果

流程描述:

  1. Service Path 获取完整上下文(问题信息、规约文档等)

  2. Agent Path 处理上下文并生成结果(产生 AI 成本)

  3. Service Path 存储生成结果到数据库(无 AI 成本)

适用场景:

  • 问题分解为用户故事

  • 基于现有内容生成新内容

  • 需要完整上下文的复杂生成任务

成本特点:

  • 上下文获取不产生 AI 成本

  • 仅 Agent Path 处理产生 AI 成本

  • 结果存储不产生 AI 成本

5.3 模式三:三轮迭代反馈

流程描述:

  1. Agent Path 生成初始内容

  2. 用户提供反馈

  3. Agent Path 根据反馈重新生成(最多 3 轮)

  4. 如果 3 轮后仍不满意,Service Path 切换到手动编辑模式

迭代限制:

  • 最多执行 3 轮 AI 重新生成

  • 每轮迭代记录在数据库中

  • 超过限制后自动切换到手动模式

成本控制:

  • 限制迭代次数避免无限成本

  • 手动模式完全无 AI 成本

5.4 模式四:状态同步机制

流程描述: 当迭代(Iteration)状态变更时,自动同步关联问题(Issue)的状态,确保数据一致性。

状态映射规则:

迭代状态变更

问题状态同步

业务含义

Planning → InProgress

Open → InProgress

迭代开始,问题进入开发状态

InProgress → Completed

InProgress → Closed

迭代完成,问题关闭

InProgress → Cancelled

InProgress → Open

迭代取消,问题回退到开放状态

Completed → Released

无变更

发布不影响问题状态

实现特点:

  • 自动批量更新符合条件的关联问题

  • 只更新状态匹配的问题(避免误更新)

  • 完全在 Service Path 执行,无 AI 成本


六、架构优势分析

6.1 成本优化

显著优势:

  • AI 成本仅发生在真正需要生成内容时

  • 审查、持久化、查询等操作完全不消耗 token

  • 缓存机制减少重复调用

  • 流式响应提升用户体验同时控制成本

成本对比:

  • 传统混合架构:每次操作都可能调用 AI

  • 双路径架构:只有 Agent Path 产生 AI 成本

6.2 清晰分离

架构清晰度:

  • Agent Path 和 Service Path 职责明确

  • 开发者容易理解哪个路径负责什么

  • 代码组织更清晰,维护更容易

边界明确:

  • 无状态 vs 有状态

  • 临时响应 vs 持久化存储

  • AI 处理 vs 业务逻辑

6.3 独立扩展

扩展能力:

  • Agent Path 可根据 LLM 需求独立扩展

  • Service Path 可根据业务流量独立扩展

  • 两者互不影响,优化更灵活

性能优化:

  • Agent Path 优化响应速度和成本

  • Service Path 优化数据库查询和事务处理

  • 各自使用最适合的技术栈

6.4 规范驱动

一致性保证:

  • 所有 Agent 调用自动注入项目规范

  • 通过中间件统一处理,无法绕过

  • 确保生成内容符合架构、设计、测试标准

可维护性:

  • 规范集中管理(Contract Docs)

  • 修改规范自动影响所有 Agent 调用

  • 减少重复代码和配置


七、架构决策记录(ADR-001)

7.1 决策背景

Javis 需要同时支持:

  • LLM 交互(成本高、无状态)

  • 传统 CRUD 操作(无成本、有状态)

混合执行会导致成本效率低下和架构复杂性。

7.2 决策内容

将 Agent Path(AI 交互)与 Service Path(业务逻辑)分离,以优化成本并保持清晰的边界。

7.3 决策后果

正面影响:

  • ✅ 成本优化:只为生成内容付费

  • ✅ 清晰分离:Agent Path 无状态,Service Path 有状态

  • ✅ 独立扩展:可根据不同需求分别扩展

需要权衡:

  • ⚠️ 复杂度:开发者需要理解两个执行路径

  • ⚠️ 协调:需要明确两个路径的交互模式


八、实施建议

8.1 开发原则

  1. 明确路径选择: 每个功能明确属于 Agent Path 还是 Service Path

  2. 避免混合: 不要在 Service Path 中调用 LLM,不要在 Agent Path 中持久化

  3. 规范注入: 所有 Agent 调用必须通过中间件注入规范

  4. 成本意识: 优先使用 Service Path,仅在需要生成内容时使用 Agent Path

8.2 最佳实践

  1. 缓存优先: Agent Path 响应优先使用缓存

  2. 批量处理: 尽可能批量处理以减少调用次数

  3. 流式响应: 使用流式传输提升用户体验

  4. 迭代限制: 严格执行三轮迭代限制

  5. 状态同步: 利用自动状态同步机制保持数据一致性

8.3 监控指标

Agent Path 监控:

  • AI API 调用次数和成本

  • 缓存命中率

  • 响应时间分布

  • 错误率和重试次数

Service Path 监控:

  • 数据库查询性能

  • 事务处理时间

  • 工作流执行状态

  • 活动日志生成量


九、总结

Javis 的双路径架构设计通过明确分离 AI 交互与业务逻辑,实现了:

  1. 成本优化: 只在需要时消耗 AI 资源

  2. 架构清晰: 职责分明,易于理解和维护

  3. 性能提升: 各自优化,互不干扰

  4. 规范驱动: 确保生成内容符合项目标准

  5. 人机协作: 三轮迭代机制平衡自动化与人工控制

这种架构设计特别适合需要频繁使用 AI 生成内容,同时需要严格业务逻辑管理的企业级应用场景。


AI时代企业生存指南:CEO必须警惕的五大致命内因

2025-12-11

颠覆传统,极致闭环:探索AI赋能下的“三人行”开发组织新模式。

2025-12-10

AI时代,要么Builder,要么Loser,你会怎么选?

2025-12-08

Claude Skills工具简直太爽了!动手实践写了个AI自动代码检查,让AI提升代码质量!

2025-12-07

【AI谈】Elevo,是我对AI认知与思考的具象化表达

2025-09-29

运维老王:创业第十年,我用Elevo找回内心翻腾的梦想

2025-09-12

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:38:21

Flutter跨平台应用配置优化实战指南:从性能瓶颈到极致体验

Flutter跨平台应用配置优化实战指南:从性能瓶颈到极致体验 【免费下载链接】gsy_github_app_flutter Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNativ…

作者头像 李华
网站建设 2026/4/16 11:06:40

ChineseFoodNet:释放AI美食识别潜力的关键数据集

ChineseFoodNet:释放AI美食识别潜力的关键数据集 【免费下载链接】ChineseFoodNet大规模中国食物图像识别数据集分享 ChineseFoodNet是一个大规模的中国食物图像识别数据集,旨在为研究人员和开发者提供丰富的图像资源,用于训练和测试食物识别…

作者头像 李华
网站建设 2026/4/16 11:07:27

Featuretools终极指南:5分钟快速构建企业级时间序列预测系统

Featuretools终极指南:5分钟快速构建企业级时间序列预测系统 【免费下载链接】featuretools 项目地址: https://gitcode.com/gh_mirrors/fea/featuretools 在当今数据爆炸的时代,企业每天面对海量的时序数据挑战——从用户行为记录到设备传感器数…

作者头像 李华
网站建设 2026/4/16 10:40:08

思源笔记导出功能:如何高效管理你的知识资产

思源笔记导出功能:如何高效管理你的知识资产 【免费下载链接】siyuan A privacy-first, self-hosted, fully open source personal knowledge management software, written in typescript and golang. 项目地址: https://gitcode.com/GitHub_Trending/si/siyuan …

作者头像 李华
网站建设 2026/4/16 12:45:34

万国邮政联盟:2025年全球邮政发展报告

《2025 年全球邮政发展报告》核心结论:全球邮政行业面临网络碎片化、收入与 GDP 脱钩、发展差距扩大三大核心挑战,需通过构建分布式网络、服务多元化、针对性投资实现转型。一、核心挑战网络碎片化严重:新冠疫情后,国际邮政网络从…

作者头像 李华