ASTER CODE / 内核原理
Aster 内部执行机制
系统提示词、执行循环、长期任务、恢复和完成依据。
一次修复的执行过程
以下示例修复日期导出的跨月错误。 输入包含目标、文件范围和验收条件。 模型读取代码并提出修改。 工具执行修改,测试产生检查结果。 Core 核对执行依据,再决定能否结束。
- 01先说清想得到什么
你提供目标、范围和完成条件。界面负责接收输入。
- 02把界面请求送入内核
ACP 把协议消息转成 Core 会话调用。Rust 宿主支持直接使用 SDK。
turn.rsL26 ↗ - 03检查实际发生的结果
Core 调用模型与受控工具。事实日志保留执行依据。
fact_control.rsL126 ↗
图中的“模型”指生成下一步建议的服务。 “工具”指读取文件、修改文件和运行命令的能力。 “宿主”指使用 Core 的应用。 终端、桌面和 Rust 应用都属于宿主。
文档入口
| 主题 | 文档 | 内容 |
|---|---|---|
| 系统提示词 | 系统提示词 | 默认文本、宿主插槽和运行契约 |
| 任务执行 | 执行循环 | 提案、权限、效果和事实 |
| 长期任务 | 长期任务 | 计划、等待、预算和切片 |
| 中断恢复 | 恢复 | 日志重放与操作重试的区别 |
| 完成条件 | 完成判定 | 修改摘要、验证和资源收尾 |
| 上下文 | 上下文 | 来源替换、去重和预算 |
职责分层
- 01先看底座
Core 维持权限、完成门禁和资源寿命。替换组件仍受这些约束。
harness_loop.rsL1591 ↗ - 02再看装配
默认配方包含五个组件。列表描述装配顺序。
meta_harness.rsL124 ↗ - 03最后看运行依据
组件从同一份日志读取状态。装配顺序不等于调用顺序。
fact_control.rsL126 ↗
拆解图中的层是职责层。 层间距离不代表进程、线程或机器。 底层检查仍然约束上层组件。 替换系统提示词,也会保留工具权限判定。
同一个修复例子的阅读顺序如下:
四种执行身份
| 身份 | 含义 | 区分原因 |
|---|---|---|
| Session | 一段持续的会话 | 目标与记录跟随原会话 |
| Run | 一次接纳的执行 | 控制命令必须指向原运行 |
| Tool call | 一次具体调用 | 确认回答必须绑定原参数 |
| Goal | 跨多轮的目标 | 一次 Run 结束后仍可能有未完成步骤 |
源码漫游提取本版提交中的代码。 高亮行表示当前入口,左侧行号保留仓库位置。 「阅读全部源码」支持连续对照各站内容。 正文中的源码链接指向对应调用方。
示例边界
本组章节用日期导出修复说明执行顺序。 示例没有启动模型,也没有产生真实工具记录。 状态名、接口名和源码片段来自本版实现。 实际任务的结论仍以该次运行的事实为准。
客户端接入见 ACP 内部机制。