本页提纲
运行时模型
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 核对该次构建与剩余的验收标准,最终输出交付结果。
守护进程在后台继续推进这些工作时,你可以随时断开客户端连接。如果守护进程重启或命令意外中断,则属于恢复场景:持久化的工作记录有助于恢复进度,但无法保证进程不间断运行。详见上下文连续性。
