Apache Maka:为什么 Agent 需要一份可恢复的执行记录

介绍 Apache Maka(孵化中)的本地优先 Runtime Host、事件日志、沙箱审批、崩溃恢复和评估结构,说明聊天记录与可审计运行事实的区别。

内容更新 2026-08-29

先看结论

Agent 的最终回答只告诉你结果;可恢复执行记录还要保存模型消息、工具调用、工具结果、权限决定和任务如何结束。

执行记录和聊天记录有什么不同

  • 聊天记录面向人阅读,通常压缩掉工具参数、结果、权限和中断原因。
  • 执行记录面向恢复、审计和调试,需要事件顺序、唯一 ID、状态转换和持久结果。
  • 同一份规范日志可以投影成聊天、工具时间线、成本报表和恢复界面。
  • 上下文裁剪只改变下一次发给模型的内容,不应重写或删除已经保存的事实。

当前成熟度与平台边界

  • Apache Maka 仍处于 Apache Incubator 孵化阶段;孵化状态表示项目尚未获得 ASF 完整背书。
  • 仓库明确说明当前是活跃开发中的早期公开版本,数据格式、CLI 命令和实验能力可能变化。
  • 截至 2026-08-29,仓库没有经 ASF 投票批准的正式 Apache release;README 不推荐当前预构建下载。
  • 桌面端当前主要面向 Apple Silicon Mac;Windows 是未签名预览,Intel Mac 与 Linux 尚非支持层级。

本地优先不等于完全离线

  • 会话、设置和运行记录默认保存在本机,但你选择云模型时,请求仍会发送给对应模型供应商。
  • 仓库说明凭据保存在本机 credential-vault.json,并依赖操作系统账号权限;这不是独立硬件密钥库。
  • Computer Use、网页搜索、IM Bot 和外部模型连接会扩大数据与副作用范围,必须单独配置和审查。
  • 首次试用使用虚构数据和测试仓库;确认权限、日志、模型连接和删除路径后再决定是否扩大。

参考来源

适合谁看

  • Agent 会读写文件、运行命令,需要知道每一步发生了什么
  • 长任务中断后想恢复,而不是从头猜测之前状态
  • 需要比较多个 Agent 或模型在相同任务上的用量、成本和失败原因

操作步骤

  1. 定义规范事件:消息、工具请求、工具结果、权限决定、取消、失败和正常结束
  2. 先持久化关键状态,再执行可能失败的副作用;为重试、恢复和分支保留明确标识
  3. 让所有入口通过一个运行时所有者写状态,避免桌面端、CLI 和后台各自修改同一任务
  4. 工具越过沙箱边界时等待审批,并记录批准、拒绝和实际执行结果
  5. 从事件日志生成聊天、时间线、恢复点和评估结果,而不是反过来把 UI 当唯一事实

需要解决的问题

  • 聊天窗口里只剩最终答案,看不到工具为什么失败
  • 上下文压缩后误以为旧工具结果已经永久删除
  • 桌面端、CLI 和评估工具各自维护状态,出现事实不一致

先理解这些

  • Maka 让 Desktop、TUI/CLI 和 Eval 统一经过 Runtime Host
  • Runtime Event Log 是模型消息、工具调用、工具结果和终止事实的规范来源
  • 界面与下一次模型输入只是日志投影;缩短上下文不应删除持久历史

遇到困难时

  • 不需要完整工作台时,也可以先用追加式 JSONL 或 SQLite 事件表实现最小审计链
  • 恢复证据不完整时保持任务为未知或需人工检查,不自动假定之前动作成功
  • 要试 Maka 时先从源码在独立测试目录运行,不接生产仓库、客户数据或真实业务模型