More developers are adopting agents (LLMs that use tools in a loop to complete tasks) to generate code. Some claim it is no longer necessary to write code12345. Some say production stability is decreasing across the industry678. Some, well, just miss writing code910.
This resulted in widespread confusion about the role of the human1112. Developers can still write code without AI, but we are seeing a trend in the industry where AI generates the code, and humans are becoming the passive code reviewers1314. If we stop hand-writing code, how will models be trained on novel code and ideas1516?
Today, it seems that the role of the human is either higher-level orchestration171819, or whatever percentage left by the autonomous/agency level of their tools:

Opinionated Agents
No matter which type of agents we choose, instead of letting them output 100% of the code2021, what if the agent leaves some of them blank for the human to complete2223?
Like the TODO comments, we use HUMANTODO as a paradigm on how to make the human participation more active. By
intentionally telling the agent to leave the gaps, we aim to solve:
| Problem | Description |
|---|---|
| Passive vs. Active Engagement24 | Reviewing code is passive (easy to skim). Writing code is active (requires deep context). |
| Knowledge Retention2526 | By forcing the human to bridge the gap between agent generated code, they must understand the why and flow behind the architecture. |
| Skill Preservation27 | Engineers stay sharp because they are still solving the hard logic problems, while the agent handles the simple, boilerplate problems. |
| Reviewer’s Fatigue28 | Sometimes, it is just easier to write your own code than to review the agent’s massive output. |
For example, we can define within the prompts that the agent should leave 20% of the code incomplete. It can be any parts, maybe the most critical parts, maybe where we know the AI tends to be verbose, maybe it is a particular technology we want to refresh our memory on, or maybe halfway through our manual intervention, we realise it’s actually unnecessary complexity29303132.
Examples of different types of code for the LLM and human to complete:
| Component | Agent | Human |
|---|---|---|
| APIs | Auth, headers, retries, error handling, etc. | Map the complex business logic payload. |
| Database | Create migrations and basic CRUD operations. | Write specific transaction queries or complex joins. |
| Frontend | Build the UI components and layout. | Handle the complex state management or transition logic. |
| Security | Write the middleware wrappers. | Define the specific permission logic. |
The goal of an autonomous future is efficiency and convenience. But this can be counterproductive to learning33, where it often has to be slow, manual, and controlled34.
HUMANTODO is the IKEA effect, but for coding in the AI era.
Here are a few examples of how HUMANTODO can be implemented:
Just point the agent to read this website:
Read https://humantodo.dev/llms.txt and implement `HUMANTODO` for this plan.We recommend the
/llms.txtpath as it is a plain text file that is easy for the agents to read. But you can totally point the agent to the website itself, if you prefer the agent to read more context.
HUMANTODO can be part of the system prompt, rules, or similar AGENTS.md files35:
.cursor/rules directory as markdown files (.md or .mdc). Alternatively, use AGENTS.md in the project root. Paste the prompt in a rule file there.Prompt to use:
Role: You are a helpful assistant that helps with coding tasks. Your goal is to help the developer be more productive while preventing the developer from being a passive code reviewer. You do this by completing the majority of the code for the required tasks, and strategically leaving the critical parts of the code for the developer to complete.
Your methodology:
For example, you can apply the 80/20 rule: you write most of the code; reserve the 20% that demands human judgment for HUMANTODO. Examples of what to complete vs. leave:
HUMANTODO can act as agentic primitives within a wider system:
import { ToolLoopAgent } from "ai";const humantodoAgent = new ToolLoopAgent({model: "anthropic/claude-sonnet-4.6",instructions: `You are a senior software engineer pairing with a human developer.Write production-quality code, but leave judgment-heavy or product-specific sections asinline "// HUMANTODO:" comments.Rules:- Write the majority of the code (scaffolding, simple logic, plumbing, etc)- Leave any important code for the human to complete- Return:1. One ```ts``` block with the code2. For each HUMANTODO comment, explain what the expected outcomes should be`,});const result = await humantodoAgent.generate({prompt: "Build a React auth hook with login, logout, and session refresh.",});console.log(result.text);
Tweet/Bluesky
https://www.reddit.com/r/AskProgramming/comments/1jcwvwl/anthropics_ceo_says_that_in_3_to_6_months_ai_will/ ↩
https://www.itpro.com/technology/artificial-intelligence/sundar-pichai-says-more-than-25-percent-of-googles-code-is-now-generated-by-ai-and-its-a-big-hint-at-the-future-of-software-development ↩
https://www.cnbc.com/2025/04/29/satya-nadella-says-as-much-as-30percent-of-microsoft-code-is-written-by-ai.html ↩
https://www.techspot.com/news/107411-microsoft-cto-predicts-ai-generate-95-percent-code.html ↩
https://techcrunch.com/2026/02/12/spotify-says-its-best-developers-havent-written-a-line-of-code-since-december-thanks-to-ai/ ↩
https://arstechnica.com/ai/2026/03/after-outages-amazon-to-make-senior-engineers-sign-off-on-ai-assisted-changes/ ↩
https://leodemoura.github.io/blog/2026/02/28/when-ai-writes-the-worlds-software.html ↩
https://simonwillison.net/guides/agentic-engineering-patterns/ ↩
https://blog.katanaquant.com/p/your-llm-doesnt-write-correct-code ↩
https://www.antifound.com/posts/codegen-is-not-productivity/ ↩
https://www.rockoder.com/beyondthecode/cognitive-debt-when-velocity-exceeds-comprehension/ ↩
https://www.media.mit.edu/publications/your-brain-on-chatgpt/ ↩
https://www.ivanturkovic.com/2026/02/25/ai-made-writing-code-easier-engineering-harder/ ↩
https://neilmadden.blog/2024/12/03/the-square-roots-of-all-evil/ ↩
https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/ ↩
https://simonwillison.net/guides/agentic-engineering-patterns/prompts/ ↩