BodySense 项目 MOC

BodySense(体悟)AI 体态健康助手的知识地图,覆盖生产级 Diagnosis Agent、Treatment action feedback、Consultation streaming runtime、Python Async/RAG 工程、前后端工程、可观测性与部署。

#type / moc #status / growing #tech / ai #tech / dev

[!info] related notes

BodySense 项目 MOC

从零到一搭建一个 AI 体态健康助手的知识地图。

从这里开始

  1. BodySense 项目概览 — 项目全貌
  2. 多服务架构 — 三服务为什么这样拆
  3. L1 · BodySense Diagnosis Agent Architecture — 从 LLM 调用到 Evidence、DecisionAuthority、Replay、Eval/Promotion 的生产 Agent 心智模型
  4. L2 · BodySense Treatment Vertical Slice — 只学习 Diagnosis 之外的增量:Proposal/Acceptance/Execution、Temporal Validity、Outcome Feedback
  5. L3 · BodySense Consultation Streaming Architecture — StreamEvent Trust Boundary、ActiveTurn、durable recovery、interrupt/resume
  6. L4 · BodySense Python Async / RAG Engineering — Event Loop blocking、Async Postgres Pool、Embedding 执行边界、Targeted RAG、Grounding/Faithfulness

当前推荐的差分学习路线

[!important] Knowledge Delta 原则 已经在前一阶段真正掌握的通用概念不重复开课。进入新模块时只问:这个场景新增了什么 domain invariant、authority boundary、runtime state 或 failure mode?

L1 Diagnosis
事实 / 推理 / Evidence / Authority / Durable History / Governance
        ↓ 已掌握,作为通用底座

L2 Treatment
新增:Action lifecycle + temporal authorization + real-world outcome feedback


L3 Consultation
新增:Streaming projection + durable event recovery + interrupt/resume


L4 Python Async / RAG
新增:Event Loop resource boundary + async DB lifecycle + embedding execution + targeted evidence + grounding

L1 · Diagnosis — 已完成

统一入口:BodySense Diagnosis Agent Architecture

核心已掌握:

LLM Proposal
→ Runtime Verification
→ Evidence / Policy Facts
→ SafetyEnvelope
→ DecisionAuthority
→ Authorized Result
→ Immutable Analysis / DecisionTrace
→ Replay / Eval / Promotion

L2 · Treatment — 只学习新增内容

统一入口:BodySense Treatment Vertical Slice

Diagnosis 中已经学过、在 L2 只做映射的内容:

  • typed PydanticAI Agent;
  • AgentConfiguration / LiteLLM;
  • EvidenceGap / EvidenceBudget / EvidenceAttempt;
  • Evidence Admissibility;
  • deterministic policy / fail closed;
  • DecisionTrace / Provenance / Replay;
  • Eval / Shadow / Canary / Promotion。

真正新增的 5 个知识点:

  1. Proposal、Acceptance 与 Execution Authoritycan propose ≠ can accept ≠ has executed
  2. Temporal Validity 与 Reauthorization — 合法生成不代表稍后仍合法接受
  3. Treatment Aggregate 与 Immutable Revisions — mutable current aggregate + immutable plan history
  4. Intervention → Outcome → BodyState Feedback Loop — Action → Observation → State Update → Review
  5. Association vs Causationafter ≠ because of

L2 最终闭环:

BodyState / Diagnosis
→ Generate Proposal
→ Generation Authority
→ proposed TreatmentRevision
→ Acceptance Authority
→ accepted Treatment
→ durable Intervention
→ actual Outcome
→ new BodyState revision
→ review current Treatment
→ new revision if needed

L3 · Consultation Streaming — 只学习组合后的 Runtime 增量

统一入口:BodySense Consultation Streaming Architecture

已有基础页直接复用:

真正新增/值得深挖的 4 个节点:

  1. StreamEvent Trust Boundary — 网络 JSON 必须 unknown → validate → trusted StreamEvent
  2. Active Turn State Machine — 当前流式 turn 的唯一投影、pure reducer、effects 分离
  3. Durable SSE Recovery with after_seq — SSE transport 与 durable Event Log 分离,断线后 cursor catch-up
  4. Agent Interrupt / Resume Lifecycleask_user 是 runtime interrupt,不是普通消息

L3 最终闭环:

Network bytes
→ runtime-validated StreamEvent
→ ActiveTurnReducer
→ ActiveTurnState
→ Streaming UI

             network drop

Durable Runtime Event Log
→ after_seq catch-up
→ same StreamEvent handlers/reducer
→ recovered projection

interaction.required
→ interrupted
→ answer
→ run.resumed
→ continue same run

[!warning] 当前真实实现缺口 packages/contracts 已有完整 StreamEvent 静态 union,但当前 live SSE 和 durable event API 的前端入口仍存在 as StreamEvent 类型断言,尚未形成真正的 runtime validation boundary。L3 笔记将其明确标为待补边界;另外 roadmap 要求理解 cancellation,但当前 Consultation feature 尚未发现完整的显式用户 cancel-run path,因此不要把概念目标误记为已实现能力。

L4 · Python Async / RAG Engineering — 工程执行与证据边界

统一入口:BodySense Python Async / RAG Engineering

已有通用基础直接复用:

L4 真正新增/需要工程化掌握的 5 个节点:

  1. Event Loop Blocking 边界async def ≠ non-blocking,同步 DB 与本地 encode 都可能占住 loop thread
  2. KnowledgeLibrary Async Postgres Pool — lifespan-owned pool、短生命周期 connection lease、事务与 pgvector session setup
  3. Embedding Async 执行边界 — remote API 用 native async;local transformer 用 bounded executor/semaphore,而不是伪 async
  4. Targeted RAG 与 Evidence Provenance — Gap → acquisition → attempt → normalized Evidence → admissibility → resolved/unresolved
  5. RAG Grounding / Faithfulness 校验 — 从动作名 substring checker 升级到 material claim grounding:provenance → admissibility → field-level semantic support → optional Judge

L4 最终闭环:

Agent decision needs evidence

Typed EvidenceGap

Targeted acquisition

Async DB / Remote API / Bounded local embedding

Normalized Evidence + provenance

Admissibility

Grounding / Faithfulness

Resolved or unresolved Gap

SafetyEnvelope / DecisionAuthority

L4 最重要的不等式:

async def
≠ non-blocking execution

await
≠ guaranteed suspension

pool
≠ faster SQL

retrieved evidence
≠ admissible evidence
≠ resolved gap

embedding similarity
≠ semantic support

grounded claim
≠ automatically authorized action

Diagnosis Agent 学习主线

[!important] 当前推荐入口 如果目标是理解 BodySense 这轮“从怎么调用模型,一路走到怎么证明 Agent 有资格上线并安全自动处理 case”的学习内容,先读统一总览,再按下面顺序下钻。

1. Typed Agent 与执行边界

2. Configuration / Eval / Model Gateway

3. EvidenceGap 与受控取证

4. Durable Diagnosis Domain

5. Safety 与 Decision Authority

6. Audit / Provenance / Replay

7. Agent 稳定性与生产排障

最终心智模型

LLM Proposal

Runtime Verification

Evidence / Policy Facts

SafetyEnvelope

DecisionAuthority

Authorized Result

Immutable Analysis + DecisionTrace

Replay / Eval / Promotion

以及四个循环:

A. Reasoning / Evidence
Reason → Gap → Acquire → Evidence → Reason

B. Authority
Facts → SafetyEnvelope → DecisionPolicy → Authorized Action

C. Longitudinal
BodyState Revision → New Immutable Analysis

D. Governance
Production → Trace/Replay → Eval → New Config → Qualification → Promotion

用项目学习五门语言

按“语言心智 → 典型代码 → 小任务 → 跨端交付”推进:

  1. JavaScript 学习路线 — 从事件循环进入流式协议
  2. TypeScript 学习路线 — 从 StreamEvent 契约学习联合、泛型与运行时边界
  3. React 学习路线 — 从 Active Turn 状态机学习 Reducer、Context 与副作用
  4. Go 学习路线 — 从运行时事件持久化学习 context、错误、Mutex 与批处理
  5. Python 学习路线 — 从流式路由、Event Loop、DB/Embedding 资源边界学习 Pydantic、异步生成器与资源管理

流式问诊的细节入口:

第一批 React + TypeScript 教学走廊

先预测代码会怎样运行,再阅读实现;知识笔记负责解释机制,源码负责展示真实约束。

  1. packages/contracts/src/stream-events.ts → 泛型、字面量类型、可辨识联合与运行时边界
  2. apps/web/src/features/consultation/hooks/useSSEProcessor.tsJSON.parse、不可信输入与当前类型断言缺口
  3. apps/web/src/features/consultation/runtime/activeTurnReducer.ts → Reducer、事件收窄、幂等与失败策略
  4. apps/web/src/features/consultation/context/ActiveTurnContext.tsx → 状态/操作 Context 拆分与引用稳定性
  5. apps/web/src/components/ui/Button.tsxInput.tsx → props 继承、ref 与 CVA 变体类型
  6. apps/web/src/features/consultation/hooks/useConsultationSessionQuery.tsuseQuery、条件查询与 Suspense 的选型边界

项目设计

架构与设计

AI 服务能力

[!warning] 历史架构笔记 AI Gateway 模型路由器设计 记录的是旧 application-owned AIService → ModelRouter → ProviderAdapter 演进阶段。Diagnosis Agent Platform 完成后,仓库级 LLM 路由已经统一收口到 LiteLLM logical-model gateway;旧 Provider/ModelRouter 栈已退休。阅读该页时应把它当作历史演进证据,而不是当前 North-Star。

Context Engineering

Go 后端

React 前端

部署与 DevOps

遇到的问题

创建于 2026/6/25 更新于 2026/8/23