|
阅读
← → 翻页 · ESC 索引
Architecture Review · Health Agent
Vol.01
TECHNICAL REVIEW
健康 Agent
平台后端
从普通聊天接口,到健康陪伴型 Agent 架构
基于代码实态的 5 层 Agent 化架构判断。
H5RESTSSEAgentScopeMem0
架构判断 · 技术评审版
01 / 18
Conclusion · System Shape
02 / 18
先给结论
它已经不是
简单骨架。
这个工程更像一个完整后端雏形:健康业务、Agent 运行时、记忆体系、数据工具和会话治理已经互相咬合。
Not Just
Chat
不是普通问答接口
Actual Form
Agent
动态人格与技能装配
Review Lens
5 Layers
比传统三层更贴近实态
README 之外,要看运行时的真实耦合
Conclusion
Frame · Why Not Three Layers
03 / 18
判断框架
传统三层
解释不了它。
业务层不只是调用模型;它在托管会话、拼装人格、路由技能、注入记忆,并把健康数据变成 Agent 能力。Review Position · Architecture over package tree
Three-layer model misses
01
运行时身份
appId + userId 决定上下文、Soul 和 Skill 装配。
02
认知状态
agents.md、soul.md、长期记忆不是静态配置。
03
会话治理
Session Provider、活跃会话映射、SSE 输出一起影响体验。
核心问题不是 Controller / Service / DAO,而是 Agent Runtime
Frame
Act I · Five-layer Model
04 / 18
更贴近代码实态的表达
5 层 Agent 化架构
01
接入交互
H5 / REST / SSE
02
应用编排
会话解析到后处理
03
Agent 认知
Prompt / Soul / Memory
04
能力集成
Skills / Tools / Session
05
数据基础设施
MySQL / Redis / Model
Layer model · Agent-native backend
Overview
Layer 01 · Access
05 / 18
第 1 层
接入
交互层
这一层定义用户怎么进入 Agent:页面、接口、流式反馈,共同决定交互体验。
H5 Frontend
index.html + app.js 承载聊天入口与前端状态。
REST API
Controller 层提供聊天与 Agent Profile 接入。
SSE Stream
流式输出让长推理过程可被用户感知。
Evidence: static/app.js:57 · static/index.html:19 · ChatController.java:45
Access is part of the runtime, not decoration
Layer 01
Layer 02 · Orchestration
06 / 18
第 2 层
应用编排层
它不是薄薄一层 Service,而是一条完整运行链:从身份解析到 Agent 调用,再到持久化与后处理。
Runtime workflow
01
会话解析
确认 appId、userId、conversation。
02
建档预热
首次用户触发初始化逻辑。
03
上下文组装
把配置、历史和记忆放进系统输入。
04
调用 Agent
进入 AgentScope 运行时。
05
持久化
写入会话与兼容日志。
06
后处理
异步抽取信号并演化 Soul。
Evidence: AgentConversationService.java:46 · RuntimeBootstrapService.java:32
Layer 02
Layer 03 · Cognition
07 / 18
第 3 层
Agent
认知层
系统人格、长期记忆和 Soul 演化在运行时被拼装,形成用户可感知的差异化。
这一层回答的不是“模型怎么调”,而是“这个 Agent 为什么像它自己”。
Prompt
agents.md 与业务上下文共同进入系统输入。
BASE
Soul
soul.md 初始化、信号抽取、异步演化。
STATE
Memory
长期记忆通过 Hook 注入,影响后续对话。
MEM0
Safety
提示词治理与安全边界不是外围配置。
RULES
Evidence: ContextAssembler · AgentPromptBuilder · SoulSignalExtraction · SoulEvolution
Layer 03
Layer 04 · Capability
08 / 18
第 4 层
能力集成层
Agent 的能力不是写死的工具箱,而是按 appId 装配、按对话需要激活的运行时组合。
AgentScope
把 ReActAgent 与 Session Provider 组合成可运行实体。
SkillBox
技能从数据库发布,并按应用维度装配。
Toolkit
睡眠、饮食、用户画像等业务工具进入 Agent 能力面。
Lazy Activation
对话中根据意图延迟激活,而不是每轮全量暴露。
Evidence: AgentFactory · AgentSkillService · SleepHealthTool · AgentScopeSessionConfig
Layer 04
Layer 05 · Data Infrastructure
09 / 18
第 5 层
数据与
基础设施层
底座不只是数据库。它同时承载业务健康数据、Agent 元数据、长期记忆、模型网关和可观测性。
MySQL
b2c_agent
+ b2c_hm503
+ b2c_hm503
Agent 元数据与健康业务数据分工存放。
Runtime State
Redis
or Memory
or Memory
Session、活跃会话与缓存决定多实例能力。
External Brain
Mem0
+ Model
+ Model
长期记忆服务与 OpenAI 兼容模型网关。
Evidence: schema.sql · B2cHealthDataMapper · HealthMem0LongTermMemory · RequestTraceFilter
Layer 05
Diagram · Technical Architecture
10 / 18
系统组件与依赖关系
技术架构图
Access
H5 Frontend
index.html / app.js
index.html / app.js
Controllers
Chat / Profile
Chat / Profile
Application
AgentConversationService
RuntimeBootstrapService
AgentScope Session
Agent Runtime
ContextAssembler
PromptBuilder
PromptBuilder
ReActAgent
AutoContextMemory
AutoContextMemory
SkillBox + Toolkit
Infrastructure
MySQL
b2c_agent / b2c_hm503
b2c_agent / b2c_hm503
Redis / Mem0
Model Gateway
OpenAI Compatible
OpenAI Compatible
主链路是 Controller 进入应用编排,再进入 Agent 认知与能力装配;数据、记忆、模型和会话状态不是边缘依赖,而是运行时闭环的一部分。
Redrawn from Mermaid as readable review diagram
Diagram 01
Judgement 01 · Dynamic Personality
11 / 18
核心架构判断 1
它是
动态人格 Agent。
系统提示词并非静态字符串,而是运行时把配置、Soul 和长期记忆拼装起来。
Runtime prompt assembly
Input
agent_config
应用与 Agent 的基础设定。
State
soul.md
首次建档和后续演化共同塑造人格。
Memory
long-term memory
长期记忆通过 Hook 注入系统上下文。
Output
个性化回答
同一个接口在不同用户上表现不同。
Static prompt is not the architecture boundary
Judgement 01
Judgement 02 · Session Custody
12 / 18
核心架构判断 2
它是会话托管型 Agent。
业务层没有自己拼 history 作为全部上下文,而是把真实会话状态交给 AgentScope Session 承载。
Business Layer
维护活跃会话映射、处理入口身份和持久化日志。
AgentScope Session
承载真实对话状态,是 Agent 运行时的一部分。
Provider Choice
Memory 或 Redis 的选择直接影响生产部署形态。
评审重点:Session Provider 不是实现细节,它决定多副本时是否串会话、丢上下文或难以横向扩展。
Evidence: AgentScopeSessionConfig.java:33
Judgement 02
Judgement 03 · Skills On Demand
13 / 18
核心架构判断 3
它是技能
按需加载型 Agent。
Skill 从数据库发布、按 appId 装配,再根据对话意图延迟激活。
发布
技能不是代码里固定枚举,而是进入数据管理面。
DB
装配
不同 appId 获得不同 SkillBox 和 Toolkit。
APP
激活
睡眠、饮食、画像工具跟随上下文进入推理链。
CHAT
闭环
工具结果回到回答、记忆与后续个性化。
LOOP
Fixed toolbox would understate the system
Judgement 03
Diagram · Business Flow
14 / 18
一次健康咨询如何流动
业务技术架构图
Conversation path
01
用户问题
健康咨询、图片问答或睡眠分析。
02
身份解析
appId + userId 确定运行上下文。
03
建档判断
未建档时初始化 soul.md。
04
Prompt 组装
agents.md + soul + memory。
05
技能路由
睡眠、饮食或普通问答。
06
生成与演化
保存会话,异步抽取信号。
Sleep Skill
查询睡眠数据,生成分析。
查询睡眠数据,生成分析。
Diet Skill
查询饮水、热量和饮食相关数据。
查询饮水、热量和饮食相关数据。
Profile Tool
把用户画像纳入回答边界。
把用户画像纳入回答边界。
Conversation is a governed workflow, not a single model call
Diagram 02
Diagram · Production Topology
15 / 18
推荐生产环境
部署架构图
Web / App / H5
Nginx / Gateway
Kubernetes
Spring Boot Agent Service
Replica A
Stateless
Replica B
Stateless
Replica N
Stateless
Redis Cluster
Session / Cache
Session / Cache
MySQL 主从
Agent + Health Data
Agent + Health Data
Model Gateway
vLLM / Compatible API
vLLM / Compatible API
Mem0 + Observability
Secret Manager
Scale the model layer independently from business orchestration
Diagram 03
Production Risks · Required Changes
16 / 18
上线前必须处理
部署风险不是边角料。
P0 Session
生产必须从 memory 切到 Redis Session,否则多实例会串会话或丢上下文。
P0 Secret
模型和 Mem0 明文配置必须迁移到环境变量或 Secret Manager。
P1 Stateless
Spring Boot 节点只做编排,本地不保存不可恢复会话状态。
P1 Model Scale
模型网关或 vLLM 集群独立扩缩容,避免长推理拖垮 API。
Evidence: application.yml:1 · AgentScopeSessionConfig.java:33
Risk
Test Note · Boundary
17 / 18
测试补充
测试失败
不推翻架构判断。
mvn test 的失败点主要落在 Java 25 与 Mockito / ByteBuddy 版本兼容性,而不是这次架构分层判断本身。
Observed Failure
Mockito / ByteBuddy 对 Java 25 的支持问题导致测试运行失败。
Architecture Impact
不影响代码实态中对接入、编排、认知、能力、基础设施的识别。
Follow-up
升级测试依赖或固定 JDK 版本后,再补跑完整单元与集成测试。
Risk boundary · dependency compatibility
Test
Close · Architecture Position
18 / 18
一句话总评
以 Agent 编排为核心
以健康数据工具为增强,以 Soul / 长期记忆为差异化能力。这是健康陪伴型 Agent 平台后端,而不是普通聊天接口。
OrchestrationMemorySkillsHealth DataRuntime Governance
Health Companion Agent Platform
End
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/edudaily/post/20251208/ppt/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com
See Also
没有标签