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。