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

输入关键词开始搜索。

    文档目录

    ASTER CODE / 03

    Harness 实现对比

    比较 Aster Code、Codex、Claude Agent SDK、Deep Agents 和 LangGraph 的用途与接入方式。

    Harness 与编排框架各做什么

    Aster Code、Codex、Claude Agent SDK 和 Deep Agents 都提供模型调用、工具执行和上下文管理能力,组织模型使用工具完成多步任务。

    LangGraph 主要负责流程编排:保存状态、安排步骤、暂停和恢复任务。具体使用什么工具、如何组织 agent、怎样验收结果,需要由上层应用决定。Deep Agents 就是在 LangGraph 上构建的一套 harness。

    架构图应用、Harness 与编排的职责各 Harness 使用各自的编排实现。Aster 使用 aster-effect。
    应用、Harness 与编排各负责什么各 Harness 使用各自的编排实现。Aster 使用 aster-effect。应用界面、任务与业务信息AsterIDE业务应用Agent Harness模型、工具与运行规则Aster CodeCodexClaude Agent SDKDeep Agents编排运行时状态、步骤与恢复Aster: aster-effectDeep Agents: LangGraph
    1. 01应用先定义用户体验

      应用接收任务,显示执行过程,并提供业务信息。

    2. 02Harness 组织模型与工具

      Harness 准备上下文,组织调用,并处理运行约束。

    3. 03编排实现维持运行状态

      Aster 使用事实驱动的 aster-effect。图中的其他实现有各自边界。

      fact_control.rs L126 ↗

    下载 SVG ↗

    五种实现的侧重点

    这些框架的功能有不少重叠。例如,权限检查、会话恢复和工具扩展并非 Aster Code 独有。实际选型时,更需要看接入方式,以及哪些工作由框架完成、哪些需要应用自己实现。

    Harness 与编排运行时对比
    框架提供什么如何接入或扩展
    Aster Code可嵌入的 Rust 编码运行时直接创建 Rust 会话;组合执行组件,接入不同模型供应商
    Codex完整 agent harnessCLI、SDK、app-server;管理会话、工具、沙箱、审批与事件
    Claude Agent SDK在应用中使用 Claude Code 的执行能力用 Python、TypeScript 调用;配置工具、权限和生命周期钩子(hooks)
    Deep Agents面向多步任务的通用 harness基于 LangGraph 提供文件系统、子代理和记忆;可替换后端和中间件
    LangGraph有状态的流程编排用状态图连接固定步骤、模型调用和人工审批;上层提供具体工具与验收规则

    Aster Code 的三个取舍

    用日志恢复执行状态

    执行组件根据同一份事实日志决定下一步,恢复时也读取这份日志。这样可以沿着记录追查某一步为什么发生。不过,外部操作的结果如果没有及时写入日志,仍需另外核实,不能直接重试。

    由 Rust 宿主组合执行组件

    宿主可以替换或组合提示、工具、预算和调度组件。权限与完成检查始终由 Core 执行。这种方式适合需要控制执行过程的 Rust 应用;接入者也需要理解组件如何读取日志,以及它们何时开始、何时结束。

    检查报告对应哪次修改

    发生修改后,需要有一份对应当前修改的检查通过报告。如果没有,宿主必须明确批准任务按未验证状态结束。报告能证明多少,取决于实际运行了什么检查。文件存在检查只能证明文件还在,覆盖业务行为的测试才能进一步检查代码是否正确。

    选型依据

    已有 Rust 应用且需要嵌入执行循环时,可以使用 Aster Code 的会话接口。围绕 Codex 或 Claude Code 开发应用时,使用对应 SDK 可以减少会话、工具和上下文管理的开发工作。

    需要自行规定固定步骤、模型步骤和人工审批流程时,LangGraph 提供较底层的控制能力。需要文件系统、子代理和记忆组件时,可以选择 Deep Agents。

    官方资料

    资料核对日期:2026-10-26。