Talos 是一个基于 Ralph 概念实现的一款 CLI,它目前支持了在 Claude Code、Cursor CLI 下运行。它支持并行 的在多个仓库 下,同时执行多个 Ralph Loop 任务。

背景
在我日常使用 claude code、cursor 等 coding agent 做 vibe coding 的时候,我发现他们他们并不能完全解决我的问题:
- 上下文限制:虽然现在的大模型提供了比较长的上下文,但是我在日常的 vibe coding 过程会发现,随着上下文内容的增加,大概占用到 50% 左右时,它的对话质量就开始下降,经常会遗忘一些细节。
- 长任务支持:现在 claude code、cursor 等工具支持的 plan mode,本质还是在一次上下文窗口中先规划任务,然后在一个新的上下文窗口中去执行任务。但是如果任务本身很大,它的总体执行效果并不会好,尤其是到任务的后期,会出现很多的敷衍的情况。一般碰到这种情况,我的习惯是用多次 plan 来最终完成我的任务。
- 多任务并行:对于一些粒度比较大的功能需求,当我们开发 plan 生成后,到代码执行完的期间,一般是无所事事的看着执行过程直到结束,这段时间也没有被很好的利用。
社区上是有一些解决方案的,如:
最近很火的 Ralph Loop(Ralph Wiggum as a "software engineer": ghuntley.com/ralph/ )就是用来解决上下文限制的问题,简单来说,ralph 的作用是将一个庞大的 plan,拆解为一个一个具体可被执行和验证的 user story,然后每一个上下文窗口只用来生成和验证每一个具体的 user story。
这样每一个上下文都会用来解决一个聚焦的问题,并验证它符合预期后再结束。


社区上已经有很多基于 Ralph Loop 的实现了,比如:github.com/snarktank/r...
我一开始也在用这个方案,它的效果比使用 claude code 提供的 plan mode 要好了很多。不过它也不是没有代价,它的执行时间比 coding agent 默认提供的方案要长非常多,一个 20 user story 的中型任务,跑 30min 是常有的事。
随着使用 Ralph Loop 后等待时间变得更长,我对于"多任务并行"的诉求也变得更强烈了。
社区也是有一些解决方案的,比如 boris 提到在 anthropic 内部会使用 git worktree 来解决多任务并行的问题
x.com/bcherny/sta...
我认为通过 worktree + Ralph Loop 可以比较好的解决我日常开发中的一些问题了,但是一遍遍的切换文件目录去执行指令,查看进度让我认为这是一个很繁琐的工作,如果有一个集中式的操作入口,这样我的效率会更高。
于是我做了一个这样的工具。
Talos
Talos(github.com/qiaolei1973...是我上面提到的问题的一个解决方案,先看一下效果图:


Talos 可以通过 cli 指令,快速的完成:prd 创建、ralph user story 拆分、任务执行、查看进度的全过程。并且它也允许你通过 claude code、cursor cli(可能未来还会支持更多的 coding agent)来执行任务。
可以通过一段我的使用过程来了解它:
1.生成 prd
talos prd

它会呼出一个 claude code 进程,你可以与它反复讨论,以完成你的 prd(需求文档),对于它不明确的内容,它会和你进一步确认直到需求清晰。
2.转为 ralph 格式
css
talos ralph --prd <prd-name>


命令执行完成后,生成了一份拆分清晰的 user story,包含了更细致的功能描述和验收标准

3.执行 ralph task
sql
talos task start

此时你就可以看到,已经自动创建出来了一个 worktree,并且 claude code 在 worktree 下开始静默执行,并自动生成代码,当每一个 user story 生成完成并验证通过后,它会自动的为这个 user story 提交一个 commit。这样即使后面代码有问题,大模型也可以方便的回溯到每一个功能的变更内容和意图。

4.查看监控/观察进度
talos task monitor
此时,你可以看到任务的执行进展和实时输出的日志(也支持通过方向键切换任务查看执行日志),以判断它的执行过程是否符合预期。


当然,更多时候,我不会关注这些,当前一个需求的 prd 创建完成并开始执行后,我就开始我的第二个 prd 的创建了 !
- 进入任务的工作目录调试
arduino
talos task attach [-f]
当一个任务执行完成后,vibe coding 不可能 100% 的满足你的要求,你可以通过 attach 命令进入工作目录,在工作目录去进一步验证和优化,直到生成的代码符合你的预期。

总结
Talos 很好的解决了我之前的痛点,通过它,我可以更高效 vibe coding,并且我发现,我的工作思路发生成了一些变化:我开始更关注需求描述本身,而非代码实现,我在尝试一个一个的更精确的去描述需求,我更像是一个内容工作者而非代码开发者。