Aster文档
搜索 Aster 文档
ESC
产品
版本

输入关键词开始搜索。

    文档目录

    ASTER EFFECT / 01

    Aster Effect 产品概览

    aster-effect 的程序值、不可变事实日志、Actor 恢复和等待边界。

    aster-effect 是 Aster Code Harness 的 Actor Runtime。当前版本为 0.2.1,要求 Rust 1.85 或更新版本。

    Effect 把程序描述与执行分开。Actor 把不可变事实日志折叠成视图,再执行视图允许的状态转换。

    该 crate 不是其他 Agent 框架的移植,也不嵌入 TypeScript Effect Runtime。

    架构图Effect 的程序值与事实日志循环Effect 只在 run 边界执行。Actor 折叠不可变事实日志,执行允许的 Transition,再追加事实。恢复使用同一循环。
    Effect 的程序值与事实日志循环Actor 折叠不可变事实,得到视图和允许的 Transition。Effect run 执行后追加新事实。恢复重新读取同一日志。无可用 Transition不可变事实日志Component Fold视图 + 可用 TransitionEffect::run服务 / 重试 / 取消 / 释放追加新事实确认或问题等待resume 执行零步回答事实到达

    两个核心机制

    Effect 与 Actor 的职责
    机制职责关键边界
    Effect 程序值描述成功值、预期错误和所需服务只有 Effect::run 才执行服务
    不可变事实日志保存已经发生的事实恢复读取同一日志,不依赖进程内等待器
    Component Fold把日志折叠为视图和可用 Transition相同 Transition Key 不重复执行
    Actor Resume执行 Transition 并追加新事实重复 Key 在执行前返回 DuplicateTransition

    构建、映射或包装 retry 都不会进入服务。Effect::run 是描述变成结果的边界。

    三种退出状态

    Exit 的停止语义
    状态含义Retry 行为
    Exit::Fail携带 ActorError 的预期失败可以按 Schedule 重试
    Exit::Die缺陷或不可恢复错误不重试
    Exit::Interrupt父 Scope 发出的取消不按预期失败处理

    catch_fail 只处理 Exit::Fail,不会吞掉 Exit::Die。bracket 在成功、失败和取消路径上释放资源。

    等待由事实结束

    Coding Scheduler 在 CodingPhase::Confirm 等待 confirmation.answered,在 CodingPhase::Question 等待 question.answered。

    等待期间没有可执行 Transition,resume 执行零步。该路径没有进程内计时器,也没有隐式超时。

    文档入口

    实现依据