AWR(Agent Work Runtime)面向长周期 Coding Agent 项目:当目标、任务、规则、决策和未完成事项散落在多个 Markdown/YAML 文件及不同会话中时,它把这些现有资料整理成可恢复的工作状态,并按当前任务生成受 Token 预算约束的上下文。
它解决的问题
- 减少重复阅读:按任务提取目标、规则、验收条件、阻塞、依赖和来源,不要求新会话重新通读全部资料。
- 跨会话接续:保存检查点与未完成事项;恢复时检查来源是否变化,再继续工作。
- 接管已有项目:发现项目源文件、预览字段映射;缺少目标、方案或台账时,给 Agent 返回需要补建的步骤。
- 保留现有资料体系:Markdown/YAML 继续作为权威来源,SQLite 只保存索引和运行状态;版本检查用于拒绝基于过期状态的写入。
其基本数据流是:
项目源文件 → AWR 索引与检查点 → 当前任务上下文 → Coding Agent
↑ │
└──────── 经审查的修改与进度记录 ────────────────┘
AWR 提供 Rust CLI 与 MCP 接口,上下文在本地编译,不需要调用模型。项目同时包含 Rust 与 Python 组件。
安装条件与版本
原帖链接的中文文档当前给出 0.4.0 正式版,可任选 npm 或 pip 安装;两种方式都会提供 awr 与 awr-mcp:
npm install -g @originoneai/agent-work-runtime@0.4.0
# 或在 Python 虚拟环境内
python -m pip install agent-work-runtime==0.4.0
预编译包支持:
- macOS 15+:Apple Silicon arm64、Intel x64
- Linux x64:glibc 2.39+
- Windows x64
- npm 启动器需要 Node 22.14+;pip 启动器需要 Python 3.9+
也可以从源码构建:
git clone https://github.com/originoneai/agent-work-runtime.git
cd agent-work-runtime
cargo install --locked --path crates/awr-cli
cargo install --locked --path crates/awr-mcp
最小验证流程
复制仓库中的基础示例,依次完成初始化、状态检查、就绪任务检查和上下文编译:
mkdir -p .local
cp -R examples/basic .local/demo
awr --project .local/demo init --manifest project.toml --accept
awr --project .local/demo status
awr --project .local/demo ready
awr --project .local/demo context compile --work EXAMPLE-001 --goal 'goal#demo'
最后一条命令应直接输出可阅读的工作上下文。程序化接入时可以加 --json;Token 预算只约束 JSON 中的 work_context.rendered_context,执行方仍应检查退出状态与上下文完整性。
接入现有项目时先预览,再接受字段映射:
awr --project /path/to/project init
awr --project /path/to/project init --accept
awr --project /path/to/project intake inspect
如果项目没有明确目标,初始化时可增加 --goal "你希望完成的事情"。自定义状态和中文字段可使用 --status-map pending=planned、--field-map title=事项 映射。AWR 只诊断缺失信息,不替用户编造业务目标。
本地 MCP 接入由客户端启动:
awr-mcp --project /项目绝对路径
0.4.0 还支持一个 HTTP 入口服务多个项目和客户端,并为不同项目保存独立的会话、检查点、用户等待和请求回执。
公开基准与边界
项目文档公开了一组可复跑的合成基准:150 个任务中,对 39 个未完成任务逐一测量最大上下文。按 o200k_base、工作上下文预算 5,000 Token 统计:
| 读取内容 | 最大 Token 数 | 相对全文读取减少 |
|---|---|---|
| 全部 Markdown/YAML 资料 | 18,955 | — |
| AWR 渲染后的工作上下文 | 4,998 | 73.6% |
| AWR 完整 CLI JSON 响应 | 12,748 | 32.7% |
必要事实核对为 676/676,覆盖任务、状态、下一步、验收条件、阻塞、硬规则和未解决依赖。Apple M3 Max / macOS 环境预热后连续调用 30 次,上下文编译 p95 为 108 毫秒。
这些数字来自单机合成任务:不包含聊天历史、模型输出或 MCP 封装,不代表完整任务账单降幅,也不能证明模型回答质量或并发容量。另一组 30 次合成流程显示工具调用减少 18%–27%,返回文本只减少 3.4%–4.7%;维护台账本身仍有成本。AWR 可以托管自己启动的命令,但恢复任意既有进程或客户端私有会话,仍需要对应客户端配合。
中文文档:agent-work-runtime/README.zh-CN.md at main · originoneai/agent-work-runtime · GitHub
项目仓库:GitHub - originoneai/agent-work-runtime: Persistent work state and minimal context for long-running AI agents. · GitHub
原作者:hanker(Eric)
原帖:https://linux.do/t/topic/2909384