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

输入关键词开始搜索。

    文档目录

    ASTER CODE / 功能参考

    运行记录与故障定位

    事件分页、资源状态、错误分类与恢复检查。

    故障定位所需的信息

    至少保留产品与构建版本、session_id、run_id、operation_id、工作区身份、源 revision 和时间范围。凭据不进入日志。UI 的“第七条消息”或某个页面标题不能代替运行身份。

    runs() 列出当前保留的 Run,run_snapshot() 读取一项状态,run_events() 读取保留事件,run_event_page() 用 sequence 游标分页。检查 retention_gap;出现缺口时标成不完整历史,不能显示“此前没有工具调用”。

    trace_events() 适合诊断路径和关联耗时;事实日志负责可重放事实;验证报告负责检查结论;artifact 保存受限的大输出。它们相互关联,不能随意互换用途。

    按失败位置排查

    现象先查下一步
    会话创建失败ACL 解析、工作区、宿主服务准入修正具体配置,不扩大默认权限
    提交后立即忙当前 Run 和 stream 消费者消费或取消原流;追加输入用 steer
    模型没有工具当前工具投影、后端能力、provider 状态显示不可用原因,不伪造 schema
    一直等确认pending 列表与剩余时间按 tool_id 处理;丢包后重新拉取
    工具 Rust 调用返回 Ok 但任务失败ToolCallResult 的工具级错误区分传输成功与操作成功
    搜索旧内容源摘要、索引 generation、命中复核更新相关索引,勿删除共享状态碰运气
    任务说完成但仍停住verification、effect_digest、等待条件重新检查当前修改或明确豁免
    取消后仍有资源原 Run 的结算与 effect close定位原资源,保留失败,不泛杀进程
    恢复被拒绝checkpoint、namespace、policy、provider 绑定按原范围重新注入;不改宽边界

    资源寿命和退出顺序

    停止新请求,发出取消,等待 Run 与子任务结算,关闭 Session,再关闭 Agent。外部服务由实际 owner 释放。MCP、浏览器、索引、租约和文档引用不能只从 UI 列表删除而不等待关闭。

    Agent::close_session 与 Session 的 close 是生命周期入口;关闭期间不再接受新的变更注册。需要保留产物时在保留窗口内另存,不把内存 artifact store 当成永久文件库。

    长期目标冲突和等待

    目标有自己的 definition、plan、control、wait 与 revision,不以最后一轮聊天结束为完成。宿主先提交定义和计划提议,再显式接受计划;执行切片必须绑定被接受的计划、源身份和 work policy。

    等待应记录类型化条件与观测证据。时间到达、用户决策和外部结果各有来源,不能用相同的字符串“ready”代替。旧 revision 的计划、接受或等待解除命令被拒绝后,读取新状态并重新决定,不能删除 revision 条件自动重试。

    执行切片返回不等于目标接受结果。先检查该步骤的 Run、源身份、验证和结算,再按目标合同接受结果;取消、暂停或等待时停止调度。preview_goal_tick 供宿主检查是否可推进,tick_goal、stream_goal_tick 才执行,reconcile_goal_slices 核对已记录切片。详细类型见 goal_control,起步代码见长期目标教程。

    等待和冲突的具体处理

    等待 kind声明内容满足条件的依据
    question_answer需要用户回答的问题宿主提交明确 answer
    confirmation_answer需要确认的 request与该请求对应的 approved 结果
    source_revisionsubject 与 after_digestExternalObservationV1 证明同一对象的摘要已变化
    utc_due非零 due_unix_msCore 读取自己的时钟;调用方不传“现在几点”

    GoalWaitCommandV1 携带 operation_id、goal_id、session_id、workspace、work_policy_digest、expected_goal_revision、expected_plan_revision、expected_goal_sequence 和 step_id。declare_wait 提交 condition,observe_wait 提交与已声明 kind 相符的 evidence。需要显式空值的 Option 字段也不能擅自省略,按 serde 类型定义构造。

    goal.conflict 表示版本或顺序前提已变,刷新定义、计划与 sequence 再决定;goal.receipt_unsettled 需要核对原执行,goal.evidence_stale 需要新的证据;goal.waiting、goal.paused、goal.budget_exhausted 与 goal.deadline_expired 各有独立停止原因。不能把它们全部当作网络故障重试。

    上线前的最小检查

    用无外网、固定返回值的测试替身覆盖成功、明确拒绝、超时、取消、事件丢包、旧 revision、清理失败和进程重启恢复。真实模型、MCP、浏览器、对象存储与索引各自另外验收,记录实际构建和命令。

    文档站的构建、链接和浏览器检查不能证明 Rust 教程整包已经跑通,也不能沿用历史 benchmark 作为当前工作树的性能结论。

    实现依据