详细内容或原文请订阅后点击阅览
如何使用Claude Code高效解决100多个任务
更有效地与你的编码代理协作。
来源:走向数据科学既然我们现在有了极其擅长编写代码的编码代理,我遇到了很多需要修复的小任务。这是我从与初创公司和应用程序合作中得出的普遍观察:因为编写代码的工作量大幅下降,提供产品反馈的门槛降低了,快速修复的请求也大幅增加。
当然,在处理这些任务时,你可以为每个任务启动一个Claude Code或Codex会话。但是,一旦你每天收到50到100个任务,问题就来了,你显然不想启动那么多单独的编码会话。同时,你也不一定想把所有任务放在一个会话中,因为可能会遇到上下文长度限制,模型也可能难以有效协调所有任务。
这是我开始自己经常遇到的问题,于是我开始发展一种哲学和方法论,以有效的方式解决数百个较小的任务。
在本文中,我将带你了解我日常使用的方法论,以便更有效地使用Claude Code会话解决大量编码任务。
为什么要优化解决小任务的方式
一如既往,我将带你了解为什么你应该关心优化解决小任务的方式。你可能认为编码代理已经变得如此高效,简单的快速修复只需扔给编码代理,它就会立即为你解决所有问题,你不需要真正思考。在某种程度上,这是真的。我的意思是,在许多情况下,你可以直接将任务(例如Linear任务)交给编码代理,它在许多情况下能够自行解决,并以很少的人类交互将其驱动到开发和生产环境。
然而,当你开始收到大量小任务时,问题就出现了,这可能是因为:
错误
小功能请求
设计更新
以及许多其他情况。
因此,你需要一个强大的方法论来处理所有这些任务,验证它们被正确解决,并标记为完成。一些小型任务可以由编码代理完全自主完成。然而,我也发现许多看起来相似的任务有些模糊。如果你只是简单要求编码代理在没有更多输入的情况下修复这样的任务,你可能会发现编码代理实际上并没有解决问题,或者在许多情况下,更糟糕的是,编码代理做了它不应该做的事情,改变了你应用程序中你无意更改的部分。
由于我在这里提到的挑战:
解决大量小任务
小任务中的模糊性
你需要一个好的方法论来完成所有这些任务,我将在以下部分中介绍。
我的编码方法论
现在我将介绍我的编码方法论,以更有效地解决许多这些任务。我将带你了解我的高级流程以及我解决这些任务时的心态。
流程如下:
问题发布,通常通过Slack
一个代理接手任务并为其创建Linear工单
我有一个Claude Code会话来处理所有这些任务,通常针对特定时间段,在我的情况下是针对某一天。
我通过Claude Code会话对任务进行分类。如果是一个简单的快速修复,我使用Claude Code会话修复它。如果是一个更大的问题,我让会话中的代理预先创建一个交接,并在一个完全独立的线程中工作以解决问题,因为它需要更多的人机交互。
我让Claude Code生成一个HTML报告,列出我们想要处理的所有小问题。如果它对我有任何问题,我需要澄清并给它完成任务的指导方针。
Claude Code为每个小任务启动一个子代理,并将其驱动到开发环境
一旦进入开发环境,我收到另一份关于如何测试功能的HTML报告,并检查它是否被正确实现。如果是,任务被标记为完成。如果不是,我迭代直到它被正确实现
任务分类
首先,我想谈谈我流程中的前五个步骤,可以总结为任务分类。所以,基本上,你当然应该有一个共同的反馈发布平台。Slack是一个很好的渠道,但当然你也可以使用任何其他消息应用。然后我有一个自动机器人创建Linear工单。我使用Linear是因为它是一个与编码代理交互的良好、干净的界面。它们有任务进展的自动更新,你可以轻松地向任何任务发布更新,并对你正在进行的项目保持良好的概览。
一旦Linear工单被创建,它们现在就可以被我编码代理访问。我通常每天为小任务启动一个Claude Code会话。所以我有8月15日的会话、8月16日的会话,依此类推。但当然,你可以将其调整为任何你喜欢的时段。
一旦我进入Claude Code会话,我要求它阅读当天的Linear工单或Slack,找到所有任务并将其映射到HTML报告。然后它应该查看每个任务并向我呈现带有任务详细信息的报告,我会阅读。我给Claude Code任何它完成特定任务所需的输入;例如,我尝试澄清任何设计决策或如何实现某件事。此外,如果有时出现更大的任务,我要求Claude做一个交接,因为我想在单独的线程中处理更大的任务。
我想在单独线程中处理更大任务的原因是它们需要更多的人机交互,当需要这些交互时,如果我在进行所有小任务的主Claude Code会话中进行,会变得非常混乱。最好将其放在一个单独的会话中,编码代理的所有问题都集中在一个位置,我可以与编码代理在那里交互。我简单发现这是完成更大任务的更有效方式。
之后,我完成了任务分类。
有效解决任务
现在让我们谈谈第6点,关于我如何有效解决所有这些小任务。我的简单做法是明确要求Claude Code启动子代理来逐一完成每个任务。
当你这样做时,非常重要的是你指示Claude Code在单独的工作树中启动子代理,这样子代理不会相互干扰。这是一个很好的方法,因为Claude为你正在处理的每个任务启动一个子代理,并且很容易保持对所有子代理的概览。你基本上可以在CLI的菜单中看到它们。如果你想深入查看一个特定的子代理,虽然我很少这样做,你也可以直接点击它查看那里发生了什么。
然后我基本上让Claude Code继续处理每个子任务,当然要求它正确实现、验证自己的工作、运行代码审查并立即驱动到开发环境。在大多数情况下,我要求Claude Code直接驱动到开发环境。不过,如果是像设计任务这样的任务,我知道代理可能犯错,我可能会让子代理启动本地服务器并在那里验证工作,然后我要求模型驱动到开发环境。
验证工作
最后一步当然就是验证工作。我发现大多数情况下,为一个任务花30秒到1分钟来验证工作是值得的。在大多数情况下,Claude已经正确实现了它,但我确实发现很难知道哪些任务可能被错误实现,因此我确实花时间手动验证工作。
然而,我优化了验证工作的方式。为了验证工作,我基本上要求Claude Code给我一份HTML报告,包含它实现的每个任务以及我如何测试该任务的具体方法。这应包括原文引用Slack消息或Linear工单。它应包括指向我可以测试问题的具体页面的链接。例如,如果你想修复聊天机器人功能中的设计,AI应该给你一个特定聊天机器人线程的链接,这样你可以直接查看,而无需自己浏览产品。
然后我基本上可以浏览代理在HTML报告中提供的清单,非常容易地验证工作。如果我认为工作被正确实现,我说任务已验证,可以标记为完成,因为它大多已经在开发环境中。如果不是,我给代理反馈哪里做错了,要求它实现,并在修复后带着新的HTML报告回来,以便我可以再次测试。
结论
这基本上是我使用Claude Code高效编码的问题解决流程。我认为本文中涵盖的所有步骤都非常重要,因为它们各自为下一步的高效完成做出贡献。例如,任务分类是单个Claude Code会话能够启动子代理完成所有小问题的非常重要的前提。然后拥有子代理当然非常重要,而拥有通过HTML报告验证工作的有效方式对于保持测试速度与实现速度同步至关重要。我希望你从本文中学到了一些东西,并尝试将部分问题解决流程应用于你自己的编程工作流程中,因为我确实相信这是提高产品开发速度的一种非常有效的方式。
👋联系我
👉 我的免费电子书和网络研讨会:
🚀使用LLM将工程效率提高10倍
📚获取我的免费视觉语言模型电子书
💻我的视觉语言模型网络研讨会
👉 在社交媒体上找到我:
💌Substack
🐦X / Twitter
