跳转至

Pi 1.0.1 新课程独立交叉终审

结论:PASS,限于下述正文语义、教学闭环和离线应用契约范围。 审查者 /root/astra_dsh(另一门课程作者,gpt-6-astra/high),2026-10-04。未编辑 Pi 正文或实验实现;没有把作者自查或旧版 PASS 当作本次独立证据。当前独立审查未发现阻断或需修正的正文/代码问题。

本报告不宣布公网发布、下载字节一致、收费模型质量或全库安全审核通过。18 章已列本轮证据表,并明确最终公网收据须在发布验证后单独生成,不能用检查计划代替实际结果。审查指纹在 cross-dsh-reviewed-files.json;若发布者再修改已审文件,需要记录差异,不能静默把后续源码修改也算入本次 PASS。

最终冻结增量复核

2026-10-04 再次对比此前审查指纹,49 个已审输入中只有 docs/18-validation.md 改变:补本轮 audit 链接、三独立审查表及最终收据的生成/解释方式。独立核对 audit 原始 JSON 为 0 vulnerabilities;这只代表该次安装树查询。新文字没有把计划或历史 PASS 写成公网交付已经完成。

另外完整检查 mkdocs.yml,新增本轮独立终审导航,实验优先的学习路径仍保留。source-review-final.md 目标由相应独立审查者随后生成,最终链接存在性与 strict build 由发布者验收,不计为本报告已经运行的检查。最终清单包含原稿、实验可分发输入和 mkdocs 配置共 50 个文件。

应用代码、测试及 lockfile 与本次已独立运行版本逐字节未变,因此不重复执行全部实验。再次按正文原稿统计为 22 个 Mermaid 块,测试源码 28 个 test 声明;它们分别对应前述语义审核与独立实跑的 28 pass。四个 @earendil-works/pi-* 直接依赖及 lockfile 实际包版本均为 1.0.1,固定源码仍为 a722。报告与指纹在此次复核后冻结。

读完以后,课程是否真的能教会这件事

独立阅读了首页、README、01–20 全章、实验 README、全部应用实现、研究包与测试。每章处置和理由保存在 cross-dsh-initial.md,本次终审没有用“已读 20 章”作为通过理由。

新版的学习任务有完整因果链:检索返回 id/title;读取才增加固定版本原文;模型提议提交;宿主依据当前 workspace 收据核对来源;随后将同样工具迁到 SDK、保存真实 JSONL、关闭实例、再打开并观察下一次模型请求。源码章节反复解释这条链上的具体问题,而非要求读者先学完接口目录。

实际运行还证明了三个教学关键点。第一,repair 的后续模型步骤看到了 NOT_FOUND,再采用实际 search 返回的 ID,因此工具异常不自动等于整个任务失败。第二,budget 在第 2 个模型轮次的工具执行后退出,已有读取但没有 artifact,说明停止与交付不同。第三,wrong-claim 带真实引文仍 accepted;正文、CLI、产物统一标注 citation-integrity-only,没有将精确引句检查包装成推理正确性。

架构取舍有反事实:固定 FAQ 不需要 Agent;固定流水线比模型决策便宜;Core 不自动提供持久会话;SDK 不恢复业务授权 Map;几十条中间结果才可能值得引入 Code Mode;外部发布的未知执行状态才需要认真评估 Durable/业务幂等。这些不是仅在段末增加提醒,而是与同一个应用的新增需求相连。

独立执行与实际产物

复制当前 examples 至 /tmp/pi-cross-dsh-t2uFRz,排除 node_modules 和运行产物。在隔离目录独立安装,没有借用作者现成依赖。

验证 实际结果 对结论的作用
npm ci --ignore-scripts / check / test exit 0;28 pass、0 fail 真实 Pi 1.0.1、TypeScript、QuickJS 与 SDK 契约可执行
demo 3 轮、7 条消息 两工具最小实际循环
happy accepted、4 轮;请求 2/4/6/8,历史 9 深拷贝 trace 与文中逐请求表一致
repair accepted、5 轮,错误 read 后修复 实际工具错误返回到下一请求
missing incomplete、2 轮、未读取 空检索是有效数据,不能产生答案
forged / stale 各 incomplete、4 轮、answer=null 版本与原句检查真实拒绝
budget incomplete、2 轮、已读取、answer=null finishTurn 的停止位置符合源码
wrong-claim accepted、4 轮、真实原句与错误结论共存 引用完整性不推出语义正确
checkpoint:sdk sawSavedEvidence=true、settled=true、newReadIds=[]、newAnswer=null 实际磁盘重开与本次收据分离
checkpoint:projection 全树 4、活动路径 3;摘要进入投影 保存与模型可见内容分离,未假装真实摘要生成
evidence:real,无 Key exit 1,明确缺凭据 三工具真实入口存在并能提前失败;不是付费模型 E2E
13.3 迁移题 仅新增 pi-tool-scope 数据;check 成功、4 轮,引用 sdk.ts 精确原句 业务数据可替换且不改 Agent 循环

独立运行 stdout 与结果在 cross-dsh-run/00.txt 至 10.txt、results.json、migration.txt。原安装日志在 install.txt;28 项 runner 结果当场从独立工具输出核对,test-observation.json 明确是审查观察摘要,不伪造完整 stdout。

迁移时先在固定 sdk.ts 验证 const allowedToolNames = options.tools ?? (options.noTools === "all" ? [] : undefined); 原句,再仅修改隔离副本的数据数组;新 outcome 的 readIds 为 pi-tool-scope,路径为 sdk.ts,4 轮后引用一致。测试后恢复副本数据,未改作者代码。

源码、版本与图的语义核验

引用源码固定 a7229ddc21810d6245105978033b7df645ecc2f7。独立核对连续实现段而非只检查 URL 可达:

  • agent-loop.ts:length 先拒绝全部调用;实际工具结果写入 currentContext;finishTurn 在 batch 后;一个 sequential 工具使整个 batch 顺序执行;全部 finalized result terminate 才形成 batch 终止。当前测试涵盖这些关键可观察行为。
  • agent-session.ts:_installAgentRequestProjection:每次从 manager 构建 canonical context,再调用原 prepareRequest;工具实现来自当前 state.tools。没有把任意内存 messages 当作持久恢复入口。
  • session-manager 与 compaction:当前 leaf、最新 checkpoint、来源映射和 edits 改变模型投影;usage 之后出现 context_edit/compaction 会使旧估计失效;阈值为严格大于。压缩图没有把完整旧树重新发给模型。
  • 1.0.1 Anthropic:内联 tool_definition、同名 redefinition 跳过 removal、后置 system 等待在 tool_result 后输出;正文保留 native 路径的能力/初始工具前提。没有泛化为所有 provider 行为。
  • 1.0.1 MCP 设置覆盖:无 command/url/type 才判为 override,仅 enabled/exposure/toolExposure;无全局定义或多余字段报错。正文没有声称任意深合并。
  • 1.0.1 Code Mode:累计字符或输出项超限先 done(false) 再 throw,catch 不能将结果改成功;测试实际触发字符限额。VM 不回滚之前工具副作用。
  • Durable ToolTask:beforeTool 后二次校验、先 commit intent 才执行、恢复要求持久与当前策略都 safe;unsafe 恢复为 failed/interrupted,普通 isError 结果不等于 failed task。图没有承诺跨系统恰好一次。
  • Chord 的 provider-before-consumer、候选激活后替换、实例 generation、可信不可变所有权、慢订阅 reset 与 complete-value 队列差异,与固定版官方 README 的实现契约相符。

另以旧 1.0.0 工作树和 1.0.1 工作树逐字节比较 Core Agent/loop、sdk.ts、session-manager.ts,四者相同,记录在 core-version-comparison.json。这支持20章的“这些核心文件未变”,并未推断其余文件未变。

本次逐一阅读正文 22 张 Mermaid 图,核对它们提出的问题、箭头层次与分支条件:架构图标为职责依赖、请求转换图不混淆 normalize 与 adapter、compaction 图保留 tail/system、工具 hook 图注明不自动重验、RPC 图不等于实验服务、Durable 图有未知外部动作位置、产品图将宿主验收独立出来。未发现语义误导。本项是源码/教学语义审核;浏览器布局、手机字号、SVG 实际渲染属于发布者的另一次实测,不冒称由本审查完成。

尚未证明什么

没有调用付费 provider,没有运行真实 MCP OAuth、全部 provider、native TUI/终端、Durable kill/断电/多进程故障或整个 monorepo 测试;没有进行 VM、依赖与所有上游源码安全审计。第11章是源码推导,第15章的真实模型评测计划尚需实际运行,不能把 Faux 回答好看当作模型质量。

源码摘录的固定版本准确性已核对;fixture 选择策略可重复,但不会替真实模型作检索、歧义消解和多来源推理。SDK 保存对话不会自动延续当前任务的新鲜度许可;本例刻意重建 workspace,生产产品可以设计不同策略,但必须由宿主管理。

在这些明确范围内,新稿已解决旧版实战太晚、场景割裂、无实际结果仍预写答案的问题,且保留了原有 Core/SDK/投影/扩展/Code Mode/Durable 技术覆盖。本次 PASS 对应可复现业务链和正确表达的源码边界,不对应章数、图数或测试分数。