Interest in AI coding right now is incredible, so we decided we need to systematize how AI is currently used in coding – in what forms and in what proportions – to understand what AI options developers actually have. Here's a list of major AI coding paradigm shaping how we build software today (we’ll move from less autonomous approaches to more autonomous ones):
Human-Led AI Paradigms
AI-Assisted Development (GitHub Copilot, Cursor, Gemini Code Assist)
The most widely adopted paradigm where AI augments a human developer’s workflow by providing code suggestions, completions, refactoring help, explanations and bug detection while the human remains the primary author.
Core workflow: Human writes code → AI suggests improvements → human reviews and accepts/rejects. → Why AI Agents Still Need You: Findings from Developer-Agent Collaborations in the Wild
AI Pair Programming (Windsurf, GitHub Copilot, Cursor, Gemini Code Assist)
This paradigm mirrors classic human pair programming, with AI replacing one participant. It’s a structured form of AI-assisted development where the human developer acts as the driver and the AI works as a navigator, continuously suggesting code, identifying issues, explaining APIs and assisting with implementation decisions. → Professional Software Developers Don't Vibe, They Control: AI Agent Use for Coding in 2025
A workflow where software is created primarily through structured prompts to an LLM. The developer decomposes requirements into sequential prompts that generate code components. Vibe coding is an extreme form of prompt-driven development where the primary interface is natural language, the AI generates most or all of the code and the developer iterates through prompts instead of editing code directly.
A standard loop is: Describe idea → AI generates code → test/run → adjust prompt → regenerate. → A Survey on Code Generation with LLM-based Agents
AI-Led & Autonomous Paradigms
Spec-Driven Development (AWS Kiro, GitHub Spec Kit, Tessl)
Development begins with a formal specification of structured requirements, constraints, tests, system’s behavior description, etc., that guides AI agents in generating, testing and validating code.
General workflow: Specification → task decomposition → code generation → verification. → AI 101: From Vibe Coding to Spec-Driven Development
Autonomous or semi-autonomous AI agents perform multi-step software engineering tasks – planning, coding, testing, debugging and repository navigation – with minimal human intervention. → Confucius Code Agent: Scalable Agent Scaffolding for Real-World Codebases
Multi-Agent Software Development (Microsoft AutoGen, CrewAI, LangGraph multi-agent systems)
A system where multiple specialized AI agents collaborate, each responsible for a specific role in the software lifecycle (planner, coder, tester, reviewer). Architecture often resembles a virtual engineering team of AI agents coordinated by an orchestration layer.
AI-Augmented Test-Driven Development (Cursor, Copilot Chat, AI test generators)
It’s the traditional Red-Green-Refactor TDD cycle enhanced with AI assistance. Red means writing a test that fails (the feature doesn’t exist yet), green – writing the minimal code needed to make the test pass, and refactor is about cleaning up and improving the code while keeping tests passing. So in this cycle, AI can generate unit tests, suggest minimal implementations, propose refactors and generate edge cases, while the human still defines correctness criteria via tests. → Tests as Prompt: A Test-Driven-Development Benchmark for LLM Code Generation
Retrieval-Augmented Code Generation, or RAG for Code (used by Cursor, Sourcegraph Cody)
AI coding systems retrieve relevant codebase context (files, APIs, documentation) before generating or modifying code, grounding the output in the real repository. Key techniques are semantic code search, codebase indexing and contextual grounding. This approach dramatically improves reliability for large repositories. → Retrieval-Augmented Code Generation: A Survey with Focus on Repository-Level Approaches
Programming by Example (PBE) (Microsoft PROSE framework, some LLM-based code synthesis systems)
A program synthesis paradigm where the developer provides input-output examples instead of writing code, and the system generates a program consistent with those examples. PBE predates LLMs but remains an important AI-driven programming model.








