PhyAgentOS 评估报告(软硬结合层执行基座候选)
- 评估日期:2026-09-01
- 评估性质:只读调研(未花钱、未对外发送、未 commit 任何 git 仓库)
- 评估对象:https://github.com/PhyAgentOS/PhyAgentOS-core
- 本地克隆:C:/Users/chunx/Projects/_phyagentos_eval/PhyAgentOS-core(git clone --depth 1,commit c5740a58bbc53a68aa50be9f44e94d3a90e41446,提交信息 "Initial stable release of PhyAgentOS.",约 14MB)
- 论文:arXiv:2607.16636,2026-07-18 提交,作者 Yang Liu、Weixing Chen 等 11 人(Liang Lin 在列),https://arxiv.org/abs/2607.16636
- 官网:https://phy-agent-os.net(页面含中山大学 HCP Lab 推荐语;GitHub contributors 中有 HCPLab-SYSU 账号,佐证实验室背书)
- 我方对照样本:docs/evidence/2026-09-01-seed3-results.md、runtime/selfproof-seed3.json(本仓)
- 注:报告内 Windows 路径统一用正斜杠书写。
一、结论先行
总体咬合度:中。建议不整体引入作为执行基座,走"借理念 + 小试点"两步。
| 评估项 | 咬合度 | 一句话结论 |
|---|---|---|
| (a) 证据/审计结构 ↔ 我方证据包 schema | 中-高 | sha256 manifest、不可变执行记录、缺测标记三项直接同构;预注册判定、授权、预算三项无对应,需自建 |
| (b) License 商用集成 | 高 | MIT,无障碍 |
| (c) 数据回流与 LeRobot 格式 | 无耦合(不冲突也不互补) | 全仓 0 处提及 LeRobot/parquet/hdf5/openx/rlds;其回流闭环作用于 AgentTask 教训提炼(Lesson/技能晋升),不产生训练数据集格式 |
建议:第一阶段把它的"三记录分离(Execution/Evidence/Verdict)+ 逐文件 sha256 + 执行记录不可变"作为我方 evidence schema v2 的设计参照(纯理念借用,零依赖成本);第二阶段视其补测试与发版节奏(v1.0.0 发布仅 2 天、仓库零测试),再决定是否在采集工作单的执行审计环节做 forge_evidence_bundle_v1 适配器试点。不建议把数据业务底座压在它上面。
二、框架事实
2.1 版本与定位
- 版本 1.0.0(pyproject.toml 第 3 行),包名 PhyAgentOS-ai,requires-python >=3.11,CPU-only 依赖(litellm/openai/typer/pydantic/loguru + 各 IM SDK,无 torch/CUDA)。
- CHANGELOG 口径:v0.1.0 2026-04-29 起,v1.0.0 2026-08-30(README.md changelog 段)。
- 定位:具身 Agent 运行时——认知规划与物理执行解耦,执行侧统一走 Forge Gateway。
2.2 架构(以 v1.0.0 代码为准)
调用链:AgentLoop+Planner → ForgeToolClient → Gateway(/tools、/invocations)→ ToolEndpoint → Dora → 机器人/仿真器(README.md 架构段;PhyAgentOS/forge/、PhyAgentOS/skill_runtime/)。
核心机制(均从源码核实):
- 三记录分离:Execution(执行事实)/ Evidence(证据)/ Verdict(判定)分别版本化:paos_execution_record_v1、forge_evidence_bundle_v1、verification_verdict_v1、task_verification_contract_v1(PhyAgentOS/verification/contracts.py 84-239 行);另有 agent_task_record_v2、plan_revision_v2、tool_execution_record_v2(PhyAgentOS/forge/task.py)。pydantic 契约普遍 extra="forbid"。
- 验证四模式:off / audit / enforce / recovery,fail-closed;recovery 模式判 replan_required 时追加 PlanRevision(append-only,contracts.py 189-214 行交叉校验:success 必须全 criterion satisfied;failure/replan 必须至少一项非 satisfied)。
- 证据机:SHA-256 摘要 + 原子写 + workspace 路径逃逸防护 + execution_record.json 不可变(重写不同内容即报错,PhyAgentOS/forge/evidence.py 231-235 行)。
- 经验回流:3 次独立同因失败 → 收敛出 Lesson;3 次独立成功 → 技能晋升;SQLite 经验库 + LESSONS.md 投影(PhyAgentOS/agent/experience/,约 3157 行)。注意:回流对象是 AgentTask 结果,不是数据集格式。
- 技能运行时:manifest-v2 + SHA-256 清单 + Dora CLI v0.4.1;具体技能不在仓内捆绑(skills/README.md)。
2.3 规模与活跃度
- 代码规模:108 个 .py、27,963 行(agent 8186 / channels 5944 / skill_runtime 3195 / forge 2677 / providers 2012 / verification 1198 / config 782)。
- GitHub 热度(api.github.com,2026-09-01 查询):1967 stars / 108 forks / 14 open issues / 最近 push 2026-08-31。
- 贡献者(GitHub contributors API,含匿名):sxshco 78 次、WissingChen 62 次、PhyAgentOS-dev 61 次、Chenzihao37 12 次、baiyu858 10 次、HCPLab-SYSU 9 次等,10 人以上。
- 发布形态:无 GitHub Releases/Tag 对象(releases/latest 返回空);发布走 issue + squash 提交。
- 测试:零。pyproject.toml 设 testpaths=["tests"],但 GitHub 仓库根目录与本地克隆均无 tests/ 目录(GitHub contents API 核实)。测试覆盖不可测=0。
- License:MIT,"Copyright (c) 2025 PhyAgentOS contributors"(LICENSE)。商用集成无障碍。
2.4 出身与宣传口径核实
- 出身:agent 平台层改自 OpenClaw——skills/README.md 第 26-27 行明示 "These skills are adapted from OpenClaw's skill system";残留上游痕迹两处:cli/commands.py 第 267 行 HKUDS 链接、agent/skills.py 270-273 行 openclaw 元数据键回退。
- "State-as-a-File"是论文/官网协议名:全仓(含文档)大小写不敏感 grep 该字符串 0 命中;代码实现的是 Markdown+YAML 状态文件(SKILL.md/LESSONS.md/EMBODIED.md 在 v1.0.0 仍存活;Track B 的 ENVIRONMENT/ACTION/TASK 队列文件已弃用)。
- 官网 phy-agent-os.net 仍主打 v0.1.x 双轨架构(Track A/B、hal/drivers 硬件看门狗),与 v1.0.0 的 Forge Gateway 架构有代差,文档滞后于代码。
三、demo 实测结果
跑了,纯 CPU,全程约 10 分钟,无 GPU/torch 依赖,未配 LLM API key(本路径不需要)。
环境:Windows 11 + Python 3.13.14 venv(C:/Users/chunx/Projects/_phyagentos_eval/.venv)。
| 步骤 | 结果 | 备注 |
|---|---|---|
| pip install -e . | EXIT=0 | 需先清掉环境里 SOCKS 代理变量(本机环境问题,非框架问题) |
| paos onboard / paos status | OK | 隔离 HOME=C:/Users/chunx/Projects/_phyagentos_eval/home 下完成初始化 |
| 证据写入冒烟(自写 smoke_evidence.py 调 ForgeEvidenceWriter) | 全部通过 | 见下 |
冒烟实测输出(C:/Users/chunx/Projects/_phyagentos_eval/smoke_evidence.py):
- 写 before/after 快照 + execution_record.json + evidence_bundle.json 成功,bundle version=forge_evidence_bundle_v1;
- quality.complete=True,missing_requirements=[];
- 证据工件带 sha256=7c4d4731df743de3b0500a474295ac709d9e2870080f9e2e5c88ec93cc256593,及 byte_size/sequence/media_type/uri;
- 不可变性守卫实测生效:用不同内容重写 execution_record.json 被拒,报 "immutable execution record already exists with different content"。
未测部分:AgentLoop 对话/规划(需 LLM key)、Gateway→Dora→机器人链路(需硬件)。故执行链路的端到端可靠性〔待核实〕。
四、三项咬合评估
4.1 证据结构 ↔ 我方证据包 schema(中-高)
字段对照表(左列=我方 seed3 证据字段,中列=PAOS 契约字段,右列=咬合度):
| 我方字段(runtime/selfproof-seed3.json 及 docs/evidence/2026-09-01-seed3-results.md) | PAOS 字段(verification/contracts.py / forge/evidence.py) | 咬合 |
|---|---|---|
| 任务/实验 ID(seed3、eval_info 关联) | session_id + command_id(+ task_id) | 高 |
| 数据/文件 sha256 manifest(watchdog 日志、eval_info 交叉核验) | EvidenceArtifact.sha256 + byte_size + media_type + uri;skill bundle SHA-256 清单 | 高(直接同构) |
| watchdog 监控链条(连续过程日志) | ExecutionRecord(timeline/status) + EvidenceCaptureWindow(before/terminal/after) + 不可变 execution_record.json | 中(PAOS 是动作前后快照式,无常驻过程流) |
| 预注册判定:predeclared_at + verdict_rule(confirm ≥20pp / 不足则降级) | TaskVerificationContract(goal/success_criteria/constraints/mode) + VerificationVerdict 逐条 criterion | 中(有契约位,但无预注册时间戳机制、无统计阈值/降级规则;PAOS 判定由 LLM verifier 产出,非确定性) |
| 授权 authorization(人工批款记录) | 无对应 | 低 |
| 预算 budget(GPU 时长/花费上限) | 仅 execution_timeout_s 单次超时,无预算概念 | 低 |
| B 轨缺测处理(缺测→维持 n=2 CONFIRMED 口径) | EvidenceQuality.complete=False + missing_requirements 列表 | 中-高(概念同构) |
| 环境纪律 environment_discipline | Skill manifest-v2 + SHA-256 清单 + Dora 版本 pin | 中(对象是 skill bundle,非实验环境) |
| 评测产物 eval_info.json ×10 + pc_success 交叉核验 | 无对应(PAOS 不做数据集级指标) | 低 |
结论:证据"完整性/可追溯"层咬合好(sha256+不可变+缺测标记),证据"判定语义"层需自建(预注册、统计规则、授权、预算)。PAOS 证据是"单次动作级机器人证据",我们是"实验级指标证据",粒度不同,不能直接替换,只能借结构。
4.2 License 商用集成(高)
MIT(LICENSE,Copyright (c) 2025 PhyAgentOS contributors)。允许商用、修改、闭源集成,仅需保留版权声明。无障碍。
4.3 数据回流与 LeRobot(无耦合)
- 全仓 grep:LeRobot / parquet / hdf5 / openx / rlds 均 0 命中。
- 其回流闭环(experience loop)消费的是 AgentTask 的成败与 verifier 判定,产出 Lesson(Markdown)与技能晋升,存 SQLite;不读也不写 LeRobot 数据集。
- 对我们"采集→标注→加工→训练数据资产"链路:不冲突(不强制格式),也不省事(接 LeRobot 需自建适配器)。它的价值在执行侧审计与经验沉淀,不在数据格式。
五、风险与缺口
- 零测试:tests/ 目录不存在(pyproject 声明了 testpaths 但目录缺失)。作为执行基座的核心质量门槛不达标。
- v1.0.0 发布仅 2 天(2026-08-30),且历史被 squash 成单提交、无 GitHub Release/Tag,版本治理粗糙,回滚/追责困难。
- 平台层源自 OpenClaw(skills/README.md 明示),残留 HKUDS 链接与 openclaw 元数据回退(cli/commands.py:267、agent/skills.py:270-273),代码出身混杂,审计成本高。
- verifier 是 LLM 驱动:verification_verdict_v1 的判定由 session_verifier 依赖 LLM 产出,非确定性;我们的结算级判定需要统计规则(≥20pp 阈值、降级条款),PAOS 无此机制,直接套用会破坏"预注册判定"纪律。
- 技能/Gateway/Dora 运行时不在仓内捆绑:具体技能要自建;Dora 桥依赖外部组件,端到端链路未实测〔待核实〕。
- 宣传与代码代差:官网仍是 v0.1.x 双轨架构叙事;"State-as-a-File"字面串代码 0 命中。评估其能力时必须以代码为准,不能引官网/论文。
- 与我们现有栈(LeRobot 数据链、GOALS/证据包纪律)相比,整体引入收益集中在"执行审计"一环,而这一环也可用远小于 28k 行的方式自建。
六、建议下一步
- 现在做(零成本):把"三记录分离 + 逐文件 sha256 + 不可变执行记录 + 缺测显式标记(missing_requirements)"四点写进我方 evidence schema v2 的设计输入;可参考其 contracts.py 字段命名与交叉校验写法(约 240 行,可整体读完)。
- 观察期(1-2 个版本周期):跟踪其是否补 tests/、是否开始打 Release/Tag、OpenClaw 残留是否清理。满足"有测试 + 有发布纪律"再谈引入。
- 若试点(条件成熟后):仅限采集工作单的执行审计环节,做 forge_evidence_bundle_v1 → 我方证据包的导出适配器(方向:PAOS 证据导出给我们,不反向);先在本仓 docs/evidence 挂设计稿,不进代码。
- 不做:不把数据业务底座/众包派单/结算语义放到 PAOS 上(违反本仓 SSOT 边界,见 CLAUDE.md 所有权条款);不因 1967 stars 放大其成熟度——热度≠工程质量,本项目 277 会话最大教训即"自报≠实测"。
报告完。所有事实均有来源(文件路径/URL/命令输出);标注〔待核实〕处为未实测项。