Should I multi-task?
LLMs take time to generate code. I’ve found that, contrary to received wisdom, multi-tasking is usually the wrong idea.
First, if I switch, I the context I had on the first task drains away. When I return, I’ll need to load that context back.
Second, if the first task is high cognitive load, I struggle to think coherently about anything else.
Third, if the first task is my main task, I’m mostly doing other things besides generation. Drawing diagrams, thinking, reading code, composing prompts. So switching parallelizes just a fraction of my time.
However, there are some cases where parallel generation is worthwhile.
First, a generation that will take a long time. For example, implementing a spec.md I’ve created. Or a task where I have an end-to-end process where the agent can self-verify to a correct solution. Or my colleague, Simon, pasting in a to-do list of items and then going to lunch.
Second, a generation for the same task I’m already working on. For example, sending an agent off to research a question about the code base.
Third, fire and forget ideas with a low cost of failure. For example, giving an agent a link to a bug report it might be able to fix autonomously. Or sending the agent off to try implementing an idea I had for a new tool.
Parallelizing these things works well, and is manageable. But the hectic mode of keeping several plates spinning isn’t worth it.
Subscribe to my newsletter to hear about my latest work