打开文档导航

AAFLOW:吸收 batch lowering,不吸收分布式 runtime

Primary source: AAFLOW: Scalable Patterns for Agentic AI Workflows

一句话

AAFLOW把 Agent workflow映射为显式 operators和数据流,并通过 batch、zero-copy和分布式执行提高吞吐;Pysolate只适合吸收 map-to-batch 的 AST lowering。

原工作做了什么

AAFLOW覆盖 embedding、retrieval、generation、memory update和 vector-index upsert等 operator。它使用批处理、共享数据格式、通信模式和 worker调度减少序列化与分布式开销。

这些机制大多属于 execution engine。它们可以成为 transformed AST 的 lowering target,但不能因为系统里有 operator graph就都称为 compiler passes。

可以吸收的 pass

当 adapter提供 exact rewrite law时,Pysolate可以把:

vectors = [embed(document) for document in documents]

改写为:

vectors = embed_batch(documents)

同样适用于 bounded read/search operations。Pass需要保留 input order、per-item outcomes、logical budget、privacy partition和结果边界。

Correctness 与副作用

论文讨论 deterministic execution path和系统级重现,但这不等于顺序 Python 与 batched program 的 observational equivalence。

AAFLOW也处理 stateful operators,例如 memory update和 vector-index upsert。分布式 batch发生 worker failure时,可能出现:

  • 部分 items已经写入;
  • retry重复一部分 update;
  • 完成顺序改变;
  • batch-level error无法还原 per-item exception;
  • 一个物理调用覆盖多个原始 approval/receipt边界。

论文没有提供适用于任意 operator的 atomic rollback contract。

Pysolate 结论

只吸收 batch_operator_lowering。V1 限制在 pure或 frozen-read operators;zero-copy、Arrow transport、distributed scheduling和 worker lifecycle属于 Runtime substrate。Stateful upsert只有在 capability adapter提供真实 transaction、idempotency和 per-item semantics后才可单独研究,默认不进入 pass。