Tasks, Not Problems
Delegate to AI agents by handing them scoped, verifiable tasks — never open-ended problems.
- Difficulty
- Easy
- Time to result
- ~days to results
- Steps
- 4
- Confidence
- 90%
AI coding agents succeed on work that is well-defined and easy to check, and fail when handed vague problems. Scott Wu's rule for getting value from an autonomous agent is to convert any request into a discrete task with a fast verification loop before handing it off, and to reserve heavier steering for genuinely large asks.
Origin
Articulated by Scott Wu based on Cognition's experience deploying Devin across startups and Fortune 100 companies.
Core principles
- 01Agents excel at bounded, testable work and degrade on ambiguous scope
- 02A quick way to iterate and verify is what makes a task agent-friendly
- 03The bigger the ask, the more human steering it needs to stay on track
- 04Match the task to the tool's 'jagged intelligence' — some things it does better than humans, some far worse
How to run it
- 1
Convert the problem into a task
Before handing anything to the agent, restate it as a concrete, well-defined task (a front-end change, a bug fix, adding tests or docs) rather than an open problem like 'rearchitect the codebase'.
Pro tip If you can't state the acceptance condition in a sentence, it's still a problem, not a task.
Watch out Handing an agent a broad problem produces confident but wrong decisions no human engineer would make.
- 2
Check for a fast verify loop
Confirm the task is easy to verify and easy to test — you can pull up a preview, run the linter/CI, or reproduce the result quickly. Prefer tasks where correctness is obvious.
Pro tip Ensure the agent itself can run the test/lint/CI so it can self-check before returning work.
- 3
Hand off and let it take the first pass
Kick the agent off asynchronously and let it produce a first-pass pull request. If it's great, merge immediately; if not, it's a starting point rather than a finished artifact.
- 4
Steer proportionally to size
For larger asks, expect to jump in and steer more — define exactly what you're solving for and guide the complex 10-20% that needs your expertise.
Pro tip Review the final output yourself (e.g. test the front end) and give one or two lines of feedback.
Watch out Assuming a big task will complete '100% autonomously' is the fastest route to disappointment.
In the wild
On the podcast Wu tagged Devin with a specific, bounded task — add a component to the Devin web app featuring Lenny's newsletter that links out in a new tab. Devin scoped the files, asked a clarifying question, and produced a pull request.
→ A working first-pass PR ready to review and ship, produced asynchronously while the conversation continued.
Common mistakes
Giving the blank screen a mega-project
New users often open with 'do this whole big rearchitecture of the whole codebase.' That is a problem, not a task, and it produces poor results.
No verification path
Handing off work you can't quickly test means you can't tell if the output is right, defeating the speed gain.
Is it for you?
Best for
Engineers and teams adopting autonomous AI coding agents who want reliable output on day-to-day work
Not ideal for
Genuinely novel, ambiguous problems requiring deep human judgment where no clear verification exists
From the transcript
“I think Devon is best when it is working on”
“tasks that are well defined”
“you want to be giving Devon tasks, not problems, right?”
“e easy to verify and easy to test is the main thing”
“you should certainly expect to to need to steer Devon more”
From the episode
Inside Devin: The world’s first autonomous AI engineer that's set to write 50% of its company’s code by end of year
Scott Wu (CEO and co-founder of Cognition)