项目介绍
1.1 项目概述
1.1.1 什么是 AmritaSense?
AmritaSense 是下一代通用工作流与事件流引擎。它摒弃了传统的拓扑图式设计,转而采用计算机底层的运行模式——指令集、指针向量和程序计数器——来实现工作流的编排与控制。
与那些需要显式定义节点和边、再依赖调度器解析图结构的系统不同,AmritaSense 提供一种直观的编排方式:你只需要像写普通 Python 代码一样组合节点和控制结构,框架会自动将其编译为线性化的指令序列,并由一个轻量级的“虚拟机”逐步执行。这种设计使得 AmritaSense 在保持极低开销的同时,具备了无与伦比的表达能力和运行时控制精度。
此外,AmritaSense 内建了完整的事件与依赖注入子系统,不再依赖任何外部框架。工作流节点可以触发自定义事件,事件处理器可以与节点共享同一套依赖注入机制,实现了“编排”与“响应”在单一运行时内的统一。
1.1.2 为什么选择 AmritaSense?
我们认为:工作流应该为“工作”设计,而不是被“流”所局限。“流”只是一种呈现形式,不应当成为你设计逻辑时的枷锁。
- 原生图灵完备:你无需在程序内部定义各种复杂的边界条件,就能实现完整、任意的控制逻辑。AmritaSense 原生支持条件分支(
IF/ELIF/ELSE)、循环(WHILE/DO-WHILE)、无条件跳转(GOTO)、子程序调用(CALL)和异常处理(TRY/CATCH),不依赖外部图引擎或状态机。 - 虚拟机寻址模型:AmritaSense 使用类似经典计算机的寻址与执行模型(
PointerVector+ 调用栈),所有高级控制流在编译期就被展开为统一的指针指令。运行时只有整数运算和函数调用,调度开销几乎为零。 - 为 AI 智能体与复杂业务而生:无论是工具调用循环、嵌套子工作流、挂起等待用户输入,还是异常恢复与回退,AmritaSense 都能以最直接的方式表达,并以极高的效率执行。
1.1.3 核心价值主张
- 计算机底层的运行模式:用指针向量 + 调用栈代替拓扑图,运行时极简,性能远超传统图引擎。
- 原生图灵完备:
IF、WHILE、DO‑WHILE、GOTO、CALL、TRY、INTERRUPT等指令全部原生支持,无需模拟。 - 聚焦流程逻辑:告别繁杂的边定义和状态字典,专注于你真正关心的业务流程。
- 声明式依赖注入:节点和事件处理器通过函数签名声明所需参数,框架自动完成关键词匹配与类型解析。
- 异步优先,可挂起恢复:原生
async/await支持,内建全双工流控基座(SuspendObjectStream),可在节点之间精确挂起与恢复。 - 解释器树与子图隔离:
fork_interpreter()创建子解释器并行执行;wait_all/terminate_all管理整棵解释器树;FUN_BLOCK实现独立中间件和错误边界的子工作流隔离调用。 - 自包含运行时:内建日志系统、事件总线与依赖注入,零外部强制依赖,可嵌入任何 Python 项目。
