蚁工厂
26-05-29 15:00 微博认证:科技博主

原来Bun突然用Rust重写,是用Claude Code的动态工作流做的。这就说得通为啥一个大项目突然更换编程语言了。。被当成Claude Code能力展示的demo了

这是在Claude的博客里介绍的,下面是摘录:
-----------------
用动态工作流重写 Bun

动态工作流在大规模场景中能释放的能力,一个例子是近期对 Bun 的重写。Jarred Sumner 使用动态工作流将 Bun 从 Zig 移植到 Rust,已有测试套件通过率达到 99.8%,产出了约 75 万行 Rust 代码,从第一次提交到合并大约用了 11 天。

其中一个工作流为 Zig 代码库中每个结构体字段映射合适的 Rust lifetime。接下来的工作流为每个 .zig 文件编写行为一致的 .rs 移植版本,数百个代理并行工作,并为每个文件安排两名审查者。随后,一个修复循环持续驱动构建和测试套件,直到两者都能正常通过。

移植完成后,一个隔夜运行的工作流又处理了不必要的数据拷贝问题,并为每一项改动提交 PR 供最终审查。虽然这项工作尚未进入生产环境,但整个过程都由动态工作流完成。Jarred 未来会进一步撰文介绍相关细节。

工作原理:

当工作流启动时,Claude 会根据你的 prompt 动态制定计划,将任务划分为多个子任务,并分发给并行运行的子代理。结果会先经过检查,再汇总到最终输出中。你最终看到的是一个统一、协调后的答案。

代理会从彼此独立的角度处理问题,其他代理则尝试反驳它们的发现。整个运行过程会持续迭代,直到答案趋于一致。这也是工作流能取得单次处理难以达到结果的原因。

动态工作流面向并行和长时间运行任务而设计,可以持续数小时甚至数天,用于完成过去可能需要数周的复杂工程工作。运行过程中进度会被保存,因此即使任务中断,也可以从中断处继续,而不是重新开始。由于协调过程发生在对话之外,无论任务规模多大,计划都能保持推进。

需要注意的是,动态工作流的用量会明显高于典型的 Claude Code 会话。第一次触发工作流时,Claude Code 会展示即将运行的内容,并要求你确认。组织管理员也可以通过 managed settings 选择禁用工作流。

#AI创造营#

发布于 山东