打开文档导航

Candidate、Qualified、Physical 与 Logical

一句话

Pysolate 的 Experimental/default-off narrow lane 把一次可能的 capability call 分成四步:代码分析先发现 candidate,Host 再决定它是否 qualified,随后可以提前完成 physical work,只有原程序实际运行到对应位置时才产生 logical effect。

先看一个例子

Agent 生成了下面的程序:

if user_wants_profile:
    profile = sources.read("/profiles/alice.json")
show_summary()

分析器看到 sources.read(...),只能说明“这里可能调用读取能力”。若 user_wants_profile 最终为假,这行代码根本不会执行。当前 streaming preissue lane 也会因为 conditional predecessor 拒绝 qualification,所以这个 candidate 不会触发提前读取。

若 source prefix 改成 straight-line、参数固定且没有 opaque/data-dependent predecessor,例如先直接调用 sources.read(...) 再处理结果,Host 才可能在剩余代码生成期间提前读取,把结果暂存在本次 Run 的私有记录中。最终 Guest 到达 exact occurrence 时才领取结果;若 source 漂移、前面先抛异常或 Run 被取消,结果就丢弃。

真实机制

四个阶段分别回答不同问题:

Candidate
代码里是否出现了一个可分析的调用位置?
        ↓ Host 检查 Plan、参数、identity、policy、budget
QualifiedCall
这一个 occurrence 是否允许进行受限的提前准备?
        ↓ Host 启动 one-shot preparation
Physical work
真实读取或解码是否已经开始、完成或失败?
        ↓ unchanged Guest 到达 exact dynamic occurrence
Logical effect
程序逻辑是否真正调用并一次性 claim 了结果?

Candidate 来自 exact target Guest 的 source/semantic analysis。AST 中出现函数名、调用被标记为 read-only,或参数看起来固定,都不能自己产生 authority。

QualifiedCall 是 Host 把 candidate 与本次 sealed Plan、canonical arguments、source 和 occurrence identity、privacy、freshness、lineage 以及独立预算逐项匹配后的私有证明。资格成立仍不等于物理工作已经发生。

Physical work 由 Host capability 路径执行,结果进入 Run-private staged observation。它有自己的开始、完成、取消和失败记录,但此时 Python 语义上的调用次数仍是零。

Logical effect 只能由 unchanged Guest 的 exact dynamic occurrence 触发。Claim 必须匹配 capability、参数、source、occurrence 和 staged identity,而且只能成功一次。若合法 lane 中的 occurrence 最终没有到达、代码身份漂移或 Run 被取消,ready result 会 orphan/cancel/discard,不会追认成一次逻辑成功。

纯 AST/source pass 是另一条 lane,不能生搬这四步。它读取完整 source,在 authority-free exact Guest 中生成 whole-program patch,再由 fresh final Guest 重新推导并选择 derived AST;这里没有提前 dispatch capability,也没有 staged result 等待 dynamic occurrence claim。Patch applied 只表示 derived execution 被选中,不表示产生了 capability logical event。它与 source-prefix pre-dispatch 共用一些 identity/pass 术语,但 fallback、outcome 和 owner 不同。

为什么重要

技术上: 系统可以把一部分等待时间与明确授权的 read/decode 重叠,又不必假定预测一定正确。错误预测浪费物理计算,但不会改写原程序的控制流或调用账本。

产品和业务上: Agent 程序可以保持普通条件判断和异常语义,同时利用流式生成期间的空档。系统也能分别核算 provider work 与用户程序真正消费的 effect,避免把猜中候选误报为成功执行。

不能推出什么

  • 当前机制不允许任意 Python effect speculation,尤其不能把未知 write 提前执行后再假装可以回滚。
  • Physical completion 不是 cache hit,也不是 logical success。
  • Exact occurrence 约束是受支持 narrow lane 的合同,不是任意动态 Python control-flow bijection。
  • Source-patch applied 不是 physical pre-dispatch、cache hit 或 capability logical success。

术语卡

  • Candidate:分析发现的潜在调用位置,不带 authority。
  • QualifiedCall:Host 对一个 exact occurrence 完成全部 admission 后产生的私有资格。
  • Physical work:真实资源读取、解码或其他被授权的物理准备。
  • Logical effect:原 Guest 程序实际到达调用点并 claim 后的逻辑事件。
  • Orphan:物理结果已存在,但没有合法 logical occurrence 消费它。

继续阅读