"That's Not What I Meant by Using AI" - A classification of the different approaches to using AI to develop software

Reddit r/ArtificialInteligence News

Summary

An article classifying different approaches to using AI in software development, from traditional development to vibe coding, aiming to clarify debates by providing a shared vocabulary.

No content available
Original Article
View Cached Full Text

Cached at: 07/30/26, 05:55 PM

# That's Not What I Meant by 'Using AI' Source: [https://mudlej.com/articles/ai-development-approaches/](https://mudlej.com/articles/ai-development-approaches/) Article A classification of the different approaches to using AI in software development by Mudlej11 min read2026\-07\-30 Table of Contents1. [0\. Traditional Development](https://mudlej.com/articles/ai-development-approaches/#0-traditional-development) 2. [1\. Organic Development \(OD\)](https://mudlej.com/articles/ai-development-approaches/#1-organic-development-od) 3. [Agentic Development \(AD\)](https://mudlej.com/articles/ai-development-approaches/#agentic-development-ad) 4. [2\. Reviewed Agentic Development](https://mudlej.com/articles/ai-development-approaches/#2-reviewed-agentic-development) 5. [3\. Guided Agentic Development](https://mudlej.com/articles/ai-development-approaches/#3-guided-agentic-development) 6. [4\. Fully Agentic Development](https://mudlej.com/articles/ai-development-approaches/#4-fully-agentic-development) 7. [5\. Vibe Coding / Synthetic Development](https://mudlej.com/articles/ai-development-approaches/#5-vibe-coding--synthetic-development) 8. [Summary](https://mudlej.com/articles/ai-development-approaches/#summary) 9. [They are not mutually exclusive](https://mudlej.com/articles/ai-development-approaches/#they-are-not-mutually-exclusive) 10. [Conclusion](https://mudlej.com/articles/ai-development-approaches/#conclusion) Listen to two developers debate the use of AI in software development and you will often hear something strange: both are making reasonable claims, both have evidence, and neither can understand how the other believes what they believe\. One says AI\-generated code is unreviewable slop that will rot your codebase\. The other says he shipped a working product in a week\. Both are telling the truth\. They are just not describing the same activity\. Developers can have vastly different experiences using AI to develop software, depending on the approach they use\. This article is my attempt to map[1](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-1)these different approaches, explain each one, and give each a distinct name\. Whether you like AI or dislike it, we first need to know what we are talking about\. A shared vocabulary comes before any meaningful discussion\. I’ve put most of my**personal opinions**incalloutslike this one, collapsed by default, so you can mostly read the classification if you prefer\. Architecture, Detailed Design, and Implementation To avoid relying on terms that may mean different things to different readers, I want to use a simple example to show what I mean by them\. 1. **Architecture**- What programming language to choose and why? - What framework or library to use, and why? - What are the system’s components? How will they communicate? - How is the data modeled? Where is it stored? 2. **Detailed Design**:- How does the component do the computation / business logic? - What are the public functions for each component? - How are we going to pass data around? - How are errors handled? 3. **Implementation**:- The actual code that implements the detailed design\. ## 0\. Traditional Development[\#](https://mudlej.com/articles/ai-development-approaches/#0-traditional-development) The developer owns architecture, detailed design, and implementation, working mostly as developers have for decades: writing code in the IDE, using compilers, static analysis, documentation, and conventional tooling\. AI is not a meaningful part of the process\. Trade\-offs - **Pros:**The developer has deep understanding and maximum control over the codebase\. - **Cons:**Bottlenecked by the developer’s speed, especially for exploration, debugging, and boilerplate\. ## 1\. Organic Development \(OD\)[\#](https://mudlej.com/articles/ai-development-approaches/#1-organic-development-od) The developer is still inside the code editor doing nearly everything**manually**, including coding\. But he might occasionally use AI toresearch the domain or tools,refine a design,debug an issue,explain unfamiliar code, orreview a change\. The developer might even use AI todraft small code snippets, such as asking an AI chatbot or using AI inline autocomplete to help with a code snippet, then manually integrating it into the codebase, usually after some tweaks and edits\.**This is close to how the developer would have used Stack Overflow**in the past\. AI here acts like an**on\-demand teammate**, but the human remains at the center of all development tasks\. Trade\-offs - **Pros:**Improves traditional development with better speed, feedback, and accuracy while preserving full human ownership\. - **Cons:**Productivity gains might be limited compared to other approaches because the developer is still doing most of the work directly\. Critical systems should probably keep using this approach, at least for the time being\. Example This article was written organically\. I spent a few days writing it fully by hand\.**After**I felt I had said everything I wanted to say, I reached out to AI as a researcher to see what other people had said about the topic, and as a reviewer to challenge what I wrote\. That said, the feedback I got from my fellow engineers was much more insightful than any AI feedback I got\. ## Agentic Development \(AD\)[\#](https://mudlej.com/articles/ai-development-approaches/#agentic-development-ad) There are**at least three approaches**to agentic development, and they can be quite different\. What they have in common is that the code is generated by AI, not written directly by the developer\. ADis usually done from the terminal using CLI tools such as Claude Code, Codex, OpenCode, and similar agents\. Developers doingADspend a lot of time inside these tools\. When it started Agentic development started to become a serious option after the[November Inflection](https://martinfowler.com/bliki/NovemberInflection.html)in late 2025, around the release of Opus 4\.5 and GPT\-5\.2\. Learning Cost All types of agentic development have a learning curve\.ADintroduces many concepts that developers were not taught in school or bootcamps: context windows, agents, subagents, teams, agent SDKs, skills, commands, memory,[harness engineering](https://martinfowler.com/articles/harness-engineering.html), and more\. ## 2\. Reviewed Agentic Development[\#](https://mudlej.com/articles/ai-development-approaches/#2-reviewed-agentic-development) InReviewed AD, the developer: - Defines the architecture\. - Defines the detailed design\. - **Prompts an AI agent to generate the code**\. - **Reviews the generated code line by line**\. The human still owns the architecture and detailed design, but delegates implementation to AI while still reviewing the generated code meticulously, often pushing it back toward his preferred shape\. This is usually done through a terminal or an IDE chat\. AI here acts like a tireless**junior developer**whose output needs careful review\. In approaches where AI generates the code, this approach is the opposite of[Vibe Coding](https://mudlej.com/articles/ai-development-approaches/#5-vibe-coding--synthetic-development)\. Trade\-offs - **Pros:**- High confidence and understanding of the codebase\. - Enables the developer to participate in adjacent languages, frameworks, or codebases\.[2](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-2) - **Cons:**- Slow and tedious[3](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-3)\. - The human’s review speed becomes the bottleneck\. Reviewed ADVS\. Organic Development Some readers might feel that the line betweenReviewed ADand Organic Development is fuzzy: inOD, the developer can use AI autocomplete and then review the suggestion, just as he does inReviewed AD\. But the difference is bigger than this\. InOD, the developer lives in the IDE: navigating the codebase, designing the interface, and coding the implementation\. The developer earns deep understanding and the ‘Aha moment’ as a byproduct of the labor\. He knows the codebase from the inside and understands the decisions embodied in the code he wrote\. When AI helps with implementation here, it feels closer to looking for help in online forums, than to offloading the task to AI\. InReviewed AD, the developer is mostly talking to AI and writing specs\. He is not the one directly editing the codebase, so he learns about the implementation after the fact\. Consequently, he is**not the one making the small implementation decisions**\. AI makes those decisions, and the developer tries to understand them\.[4](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-4) ## 3\. Guided Agentic Development[\#](https://mudlej.com/articles/ai-development-approaches/#3-guided-agentic-development) InGuided AD, the developer: - Defines the architecture\. - Defines the detailed design\. - **Prompts an AI agent to generate the code**\. - **Skipsreviewing the code line by line**\. The developer owns architecture and detailed design, but trusts the agent to implement that design correctly\. The human may skim the code, inspect important parts, run tests, and review behavior, but does not read every line or understand every small implementation choice\. The focus shifts from code authorship to design, constraints, validation, and outcome checking\. AI here acts like a**mid\-senior developer**\. You think with it on design, then trust its implementation, and verify by other means\. Trade\-offs - **Pros:**- Much faster than previous approaches\.[5](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-5) - The human spends more time on decisions that are harder for agents to get right\. - **Cons:**- The developer doesn’t fully understand the implementation\. - The small implementation decisions AI make can accumulate and affect non\-functional requirements such as maintainability, performance, security, or observability\. Harness Engineering Starting from this point,[Harness Engineering](https://martinfowler.com/articles/harness-engineering.html)becomes a crucial part of the system\. ## 4\. Fully Agentic Development[\#](https://mudlej.com/articles/ai-development-approaches/#4-fully-agentic-development) InFully AD, the developer: - Defines the architecture\. - **Delegates thedetailed designandimplementation to AI**\. The developer owns the high\-level architecture: the major components, their responsibilities, how they communicate, where data lives, and the broad technical direction\. AI here acts like a**senior developer**\. You think with it on architecture, then trust its design and implementation skills\. That is still different from the next approach, because inFully ADthe developer cares about the technical side: system shape and codebase direction\. Trade\-offs - **Pros:**Potentially the fastest way to develop non\-trivial software\. - **Cons:**- Risky without very strong safeguards\. - Agents can erode boundaries, introduce inconsistent designs, violate architectural constraints, and produce code that becomes difficult to maintain even for AI\. ## 5\. Vibe Coding / Synthetic Development[\#](https://mudlej.com/articles/ai-development-approaches/#5-vibe-coding--synthetic-development) This is where the prompter**stops thinking about the technical side entirely**and shifts their attention entirely to the product’s UI/UX\. The term was coined by Andrej Karpathy in February 2025 in a[post on X](https://x.com/karpathy/status/1886192184808149383): > There’s a new kind of coding I call “vibe coding”, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists\. The architecture, detailed design, and code implementation in this approach are completely synthetically developed by the AI\. The person using the AI here may not be a programmer, and may not care how the system is designed internally as long as it appears to work\. AI here is your**entire technical team**and you are the product manager\. Trade\-offs - **Pros:**Very useful and extremely fast for developing- scripts - prototypes - experiments - personal tools - demos - exploring product ideas\. - **Cons:**- Too risky for serious systems\. - Quality attributes such as scalability, security, privacy, reliability, compliance, and maintainability are challenging to add later if they were ignored in the architecture\. - Usually ignores code quality entirely\. - It struggles with novel ideas\.[6](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-6) ## Summary[\#](https://mudlej.com/articles/ai-development-approaches/#summary) ApproachArchitectureDesignImplementerCode ReviewerHuman OwnsTraditionalHumanHumanHumanHumanEverythingOrganicHumanHumanHumanHuman & AIEverythingReviewed ADHumanHumanAIHuman, line\-by\-lineImplementation choices\+Guided ADHumanHumanAIAIDetailed design\+Fully ADHumanAIAIAIArchitectureVibe CodingAIAIAIAI or noneProduct## They are not mutually exclusive[\#](https://mudlej.com/articles/ai-development-approaches/#they-are-not-mutually-exclusive) A team may move between these different approaches depending on thetask,codebase,risk level, and availableharnessandsafeguards\. For example, a project might begin with Organic Development while the architecture is being shaped\. Once the design is clearer, the team may useReviewed ADfor early implementation\. As confidence grows, they may shift intoGuided AD\. For well\-bounded tasks in a codebase with a strong harness,Fully ADmight be safe\. Vibe coding also remains useful for developing dev tools and quickly trying an idea in the project before committing to a proper design\. ## Conclusion[\#](https://mudlej.com/articles/ai-development-approaches/#conclusion) Now let’s go back to the two developers from the start\. The one who called AI code unreviewable slop was probably picturing something like: - Vibe Coding in production for a serious system - Fully ADin a system with no harness - Guided ADin a sensitive / fragile codebase In such cases, he is probably right: most current AI models will rot the code and harm the product here\. The one who shipped in a week was probably talking about: - Reviewed ADfor a small ticket\. - Guided ADin a mature codebase with well\-defined patterns\. - Fully ADin a mature codebase with a harness that checks everything, including code quality\. - Vibe coding a personal project or a production prototype\. In such cases, he is probably right: most decent models can navigate these cases fine\. They were each pointing at a different way of using AI\. Hand them the names: - Organic Development, - Reviewed AD, - Guided AD, - Fully AD, - Vibe Coding, and now we can have a far more useful question:**does this approach work for this task, this codebase, this level of risk?** It doesn’t necessarily settle who is right\. It tells you what you actually disagreed about, and that is where any real conversation about AI and software engineering has to begin\.[7](https://mudlej.com/articles/ai-development-approaches/#user-content-fn-7) 1. This classification is based on howcontrol,decision ownership, andcode\-review depthare divided between the human and the AI\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-1) 2. Reviewed ADlets a developer work effectively in adjacent languages, frameworks, or codebases they do not know deeply\. Since the AI handles the first pass at implementation, the developer only needs enough fluency to understand, review, and steer the generated code after defining the architecture and design\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-2) 3. Reviewed ADcan be hard and frustrating for a few reasons: - Many coding agents are optimized for autonomous work, so using them in a tightly controlled, step\-by\-step workflow can feel like fighting the tool\. - Many models are slow to iterate, which means any change the developer requests can take several minutes of waiting\. - AI models tend to forget the implementation rules in long conversations or**fail to grasp the nuances**in them, which leads developers to keep repeating themselves\. This raises the question of whetherReviewed ADis truly more productive than organic development or not\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-3) 4. Deep understanding in Agentic Development in general has to be actively pursued through meticulous reviewing\. AI hands you working code and nothing compels you to deeply understand it\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-4) 5. Some developers remain skeptical, arguing that AI can introduce enough bugs and regressions to offset the claimed productivity gains\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-5) 6. Out of curiosity, after I finished writing the article, I tried to see whether I could vibecode this article\. Check out the result here[Can I Vibe Code the article?](https://mudlej.com/articles/ai-development-approaches/supplements/can-i-vibe-code-the-article/)[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-6) 7. I still have a feeling that there is something else possible\. Another approach where you retain the deep understanding of Organic Development while having the speed ofGuided ADwithout the slowness and frustrating aspects ofReviewed AD\. Whether such an approach is possible remains to be seen\.[↩](https://mudlej.com/articles/ai-development-approaches/#user-content-fnref-7) End

Similar Articles

@ItsRoboki: https://x.com/ItsRoboki/status/2046220862546960563

X AI KOLs Timeline

A developer argues that modern AI agent terminology (harnesses, orchestrators, memory layers, etc.) is largely rebranding of familiar software engineering patterns, coining the phrase 'Vocabulary Tax' for the intimidation new jargon creates. The post aims to demystify agentic AI concepts for experienced developers.

How Do We Stop Vibe Coding?

Hacker News Top

The article discusses the rise of 'vibe coding' using AI agents, its risks to code quality and developer understanding, and calls for rethinking software engineering practices to move beyond merely generating code from intent.

Your AI Is Not a Tool

Lobsters Hottest

The article argues that referring to AI as 'just a tool' is misleading; instead, AI should be understood as an environment that shapes and changes its users, often in unintended ways. The author critiques the myth of technological neutrality and warns that even careful AI use can lead to detrimental effects on judgment and awareness.