跳到主要内容

第十节 — 关键场景流转图

这一节回答:典型场景下子系统如何按时序协作?哪些步骤同步、哪些异步、哪些可降级?

场景清单

下列 8 个场景覆盖第一阶段的关键时序:

场景触发条件
S1 同步问答端到端流用户单一文本提问
S2 TaskGroup 多任务并发用户输入命中复合任务
S3 主动信号触发复盘市场变化触及已确认 Judgment Record 的失效条件
S4 候选状态写入与用户确认任务执行产出可沉淀状态
S5 Provider 降级路径L1 用户 Provider 不可用
S6 边界拒收凭证用户输入含凭证类信息
S7 clarify 工具触发的澄清回路LLM 给出低 confidence 的工具调用
S8 长会话压缩Session Context 超额

每个场景含 Sequence 图 + 关键说明 + 失败 / 降级路径。

子系统简称(图中使用):

  • IO = Input/Output Pipeline
  • TO = Task Orchestration
  • CR = Capability Registry
  • PA = Provider Adapter
  • ES = Evidence + Synthesis
  • SM = State Management

S1 — 同步问答端到端流

关键点:第一屏先回答用户题眼,反方 / 详细条件等通过 streaming 后续到达。事后任务类型标签由 TO 完成(不是 LLM 自报),用于审计 trail。


S2 — TaskGroup 多任务并发

关键点:复合任务在 FinBayes 意图层显式拆解,不依赖 LLM 原生处理多轮(业界研究确认 LLM 多轮 function calling 不稳定)。Partial Result 先到达可流式呈现给用户,最终结果由 Result Merger 整合。

失败隔离:任务 A 失败不阻塞任务 B;最终归并时明示哪个任务降级。


S3 — 主动信号触发复盘

关键点:主动信号不退化为价格提醒 / 新闻推送。信号必须明示触及哪条判断、哪个条件、当前变化是什么。信号节奏由用户配置的关注密度控制。

降级:触发器宕机时不影响主动 query;信号补发不实时。


S4 — 候选状态写入与用户确认

关键点:长期状态经用户主动确认才写入——是战略不变量"用户主权"在工程层的硬承接。FinBayes 不悄悄写入用户长期状态。

清空操作:用户清空画像时系统显式提示"协作上下文已重置"(战略不变量)。


S5 — Provider 降级路径(L1 → L1' → L2 → L3 → L4)

关键点:4 层降级(L1 → L1' → L2 → L3 → L4)自动切换。每层失败带明确原因(超时 / 鉴权失败 / 用户未配置 等),用户能看到当前在哪一层。

用户配置作为 first-class:用户偏好顺序优先于系统默认;用户拒绝 fallback 时 L1' 不触发。


S6 — 边界拒收凭证

关键点:凭证不变量的工程承接 —— 不收、不存、不训练 在边界 hook 层实现。规则路径必须在 LLM 之前(不让 LLM 自由决定是否处理凭证)。

输入端 vs 输出端:输出端 hook 也扫描(防 LLM hallucinate 出地址 / 密钥串后被状态意外捕获)。


S7 — clarify 工具触发的澄清回路

关键点:clarify 作为标准工具(不是管道阶段),由 LLM 自己决定何时调用。澄清后回到 LLM Function Calling 起点,不绕过工具池。

澄清问题:动态生成(基于 LLM 当前的意图候选),不用固定模板。


S8 — 长会话压缩

关键点:上下文压缩不是单纯聊天摘要。必须保留四类金融语义:用户关注对象、已确认 Judgment Record 的成立 / 失效条件、当前问题的信息缺口、后续复盘需要引用的来源时间点。

失败处理:压缩失败时 Session 切断 + 新 Session 起 + 引用历史 Judgment Record(而不是用残缺 Context 继续)。


8 个场景间的关系

关系说明
S1 → S2S2 是 S1 的复合扩展(命中多任务时走 S2)
S1 → S4S1 末尾若有可沉淀状态走 S4
S1 → S5S1 中的 PA 调用若失败走 S5
S1 → S6S1 入口前若识别凭证走 S6
S1 → S7S1 中的 LLM 调用若低 confidence 走 S7
S1 → S8长会话累积后自动触发 S8
S3与 S1 独立但产物(复盘任务)走 S1 类似流程

详细的状态对象在每个场景中的生命周期由下一章承接。