跳到正文
浏览文档
本页提纲

运行时模型

Holon 是一个无头(Headless)Agent 运行时,支持超出单次聊天会话的长期持续工作。守护进程负责管理执行与持久化状态;CLI、Web GUI 等客户端只负责提交需求并展示结果,无需把整个执行过程紧紧绑定在聊天窗口中。

一次 Agent 激活可能包含多次模型调用与工具操作。Agent 的身份与跟踪的目标可以跨越单次激活持续存在。一次性任务适合执行收敛的单一指令;持久 Agent 则适用于需要保留累积上下文并多次复用同一工作实体的场景。

客户端与 Local App ── 请求 / 结果 ── 守护进程
                                      │
模板 ── 初始角色与 Skill ───────────── Agent
                                      ├── 指引与记忆
                                      ├── 模型与提供商路由
                                      ├── Skill → 工具调用
                                      ├── 工作区 → 执行根
                                      └── 工作项 → 任务与等待
                                                  → 完成报告

最后一项分支是可选的:简单的问答或当前轮次即可完成的工作无需创建工作项。

信任边界规范输入的解读方式;执行边界说明操作在系统层面的实际触达范围;上下文连续性则将当前激活与历史保存的工作记录及证据关联起来。

核心概念

Agent

Agent 是拥有独立指引、记忆和工作状态的可寻址执行者。Agent 模板可以初始化其角色;Skill按需提供可加载的工作流程;模型与提供商路由为 Agent 的调用匹配相应的模型能力。这些配置本身不会额外授予系统权限。

工作项

工作项在工作需要跨轮次跟踪或保留连续性时,持久保存目标、计划、进度和验收标准。它会一直保持开启状态,直到目标被显式标记完成。当前焦点、就绪状态与完成状态属于相互独立的属性。

任务

任务跟踪某次具体的执行过程,例如后台命令或委托调用。其状态与输出为工作项目标提供事实证据。测试命令执行完成,并不会自动关闭创建该任务的工作项。

任务生命周期独立于 Agent 面向用户的回答。你可以:

  • 查看状态(TaskStatus)
  • 从运行时确认的命令文件路径有界读取,或用有界的 holon tail --agent <id> --include-progress 观测 Agent 进度
  • 等待完成与结果重入(WaitFor(wake=task_result, resource=<task_id>, delivery=...));观测/EOF 不等于任务完成
  • 发送延续输入(TaskInput)
  • 显式停止(TaskStop)

队列与唤醒

消息与事件让运行时能够合理调度 Agent。已登记的等待记录明确说明了 Agent 期望的后续条件。单纯在回复中提及或在计划中写下提醒,并不会在系统中建立等待。详见事件、等待与唤醒。

外部触发器

外部接入可以通知外部状态变动,也可以递送排队消息。唤醒提示(wake hint)不会把载荷内容直接传给模型;Agent 在被唤醒后需要主动核实数据源。接收到外部事件既不赋予指令权威,也不能证明外部业务已经成功。

交付机制

操作者接收简洁的结果简报,附带交付成果与验证状态。底层的任务输出与执行流水属于独立的查验依据。工作项的完成报告记录该目标的最终产出。Local App可以提供用于发起和查看工作的专属前端界面。详见交付结果、产物与可观察状态。

工作区

活动工作区提供项目上下文和工具操作的默认位置。执行根既可以是主检出目录,也可以是关联的 worktree。这些绑定用于组织工作,而非构建宿主文件系统沙箱。

运作循环

假设你要求 Agent 修复构建报错并等待 CI 验证。Agent 会检查项目;如果该工作需要跨轮次执行,则记录工作项;接着实施改动并运行本地检查;然后针对 CI 运行登记等待记录。收到通知后,Agent 核对该次构建与剩余的验收标准,最终输出交付结果。

守护进程在后台继续推进这些工作时,你可以随时断开客户端连接。如果守护进程重启或命令意外中断,则属于恢复场景:持久化的工作记录有助于恢复进度,但无法保证进程不间断运行。详见上下文连续性。

参见