You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:该架构是否为Dual State Machine?求对应架构官方称谓

你的架构是分层状态机(嵌套状态机)+ 状态机组合

看起来你正在使用的是分层状态机(Hierarchical State Machine, HSM)(也常被称为嵌套状态机),同时这种设计也属于**状态机组合(State Machine Composition)**的典型场景——主状态机作为全局协调者,管理多个独立的子状态机,并且基于子状态机的状态来驱动自身的行为。

具体对应你的场景:

  • 顶层主状态机:就是你控制UI的那个状态机,负责处理全局用户交互(比如点击Home/Next切换全局UI状态),它是整个状态系统的入口和协调中心。
  • 子状态机:每个分析类自带的独立状态机,它们封装了各自业务领域内的状态逻辑(Set Up、Running、Completed、Error),只专注于自身的分析流程状态,和全局UI逻辑解耦。
  • 状态依赖转移:主状态机可以感知子状态机的当前状态,并根据这些状态做出UI层面的状态切换(比如分析类处于Running时显示进度标签页,Completed时显示结果标签页),这正是分层状态机的核心特性——上层状态可以依赖下层子状态的变化来触发自身的状态转移。

这种架构的优势:

  • 关注点分离:UI交互逻辑和业务分析逻辑完全分开,各自的状态机只处理自己范围内的事情,不会出现逻辑混杂的情况。
  • 可扩展性:新增分析模块时,只需要给它实现对应的子状态机,主状态机只需要添加针对这个子状态机的状态转移规则即可,不需要改动原有逻辑。
  • 可维护性:每个状态机的状态流转都相对简单,排查问题时可以分别聚焦在主UI状态机或者某个分析类的子状态机上,降低了调试复杂度。

补充一点实现细节:

通常这种架构里,子状态机的状态变化会通过事件通知给主状态机(比如子状态机进入Running状态时发送一个AnalysisRunning事件,主状态机监听这个事件来切换UI),这样可以保证主状态机和子状态机之间的低耦合,避免直接依赖。

内容的提问来源于stack exchange,提问作者Mr Dog

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 06:32:42