logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·30.10.26
← Back to news

AI coding agents generate more code, but not more software

Original article
arstechnica.com|36 points|13 comments|by gumby|Oct 12, 2026

AI Coding Agents: Generating More Code, but Not More Software

The current gold rush in generative AI has shifted from simple autocomplete tools to autonomous coding agents. These agents don't just suggest the next line; they attempt to plan, execute, and debug entire features. However, a critical distinction is emerging: while these tools are exponentially increasing the volume of code produced, they are not necessarily increasing the amount of software delivered.

The Fundamental Paradox: Code ≠\neq= Software

To understand this discrepancy, we must first define our terms. In the industry, there is a tendency to conflate the two, but they are fundamentally different:

ConceptDefinitionNatureGoal
CodeThe raw text files written in a programming language.A liability (requires maintenance)Implementation
SoftwareA functioning system that solves a specific user problem.An asset (provides value)Outcome

More code equals more software. In reality, the relationship is often inverse. The most elegant software is often that which achieves the goal with the least amount of code.

"The most expensive part of a project is not writing the code, but maintaining it over its lifetime."

The "Productivity" Illusion

AI agents like Devin or GitHub Copilot Workspace create an illusion of velocity. They can generate hundreds of lines of boilerplate or scaffolding in seconds. However, this creates a maintenance trap.

The Technical Debt Equation

We can represent the long-term cost of AI-generated code using a simple LaTeX formula:

TotalCost=∑i=1n(Li×Ci)+∫t=0TM(t) dtTotal Cost = \sum_{i=1}^{n} (L_i \times C_i) + \int_{t=0}^{T} M(t) \,dtTotalCost=∑i=1n​(Li​×Ci​)+∫t=0T​M(t)dt

Where:

  • LLL = Lines of code
  • CCC = Complexity per line
  • M(t)M(t)M(t) = Maintenance effort over time TTT

When an AI agent increases LLL without a proportional increase in the software's utility, the TotalCostTotal CostTotalCost skyrockets while the value remains stagnant.

The Shift in the Developer's Role

The developer's job is evolving from a writer to a curator or editor. Instead of typing function calculateTotal() { ... }, the developer now spends their time auditing AI-generated diffs.

The New Development Workflow

The Danger of "Code Bloat"

AI agents often take the path of least resistance. Instead of refactoring an existing function to handle a new edge case, an agent might simply create a new, slightly different function. This leads to code bloat.

Example: Human vs. AI Approach

Human Approach (Refactoring):

// Lean: One function handles multiple cases via a config object
const processPayment = (method, amount) => {
  const strategies = { credit: payCredit, paypal: payPaypal };
  return strategies[method](amount);
};

AI Agent Approach (Additive):

// Bloated: Creating new functions for every single variation
function processCreditPayment(amount) { /* ... */ }
function processPaypalPayment(amount) { /* ... */ }
function processCryptoPayment(amount) { /* ... */ }
// ... 10 more similar functions

AI Code Bloat Visualization Figure 1: The divergence between raw output and actual utility.

Navigating the Agentic Era

To ensure that AI agents contribute to software and not just code, teams must implement rigorous guardrails.

Survival Checklist for AI-Driven Teams

  • Strict PR Reviews: Do not merge AI code just because "it works."
  • Complexity Budgets: Set limits on how much the codebase can grow per feature.
  • Test-Driven Development (TDD): Write the tests before the agent writes the code.
  • Refactoring Sprints: Dedicate time to prune the "AI weeds."

Conclusion

AI coding agents are powerful, but they are force multipliers. If you multiply a good architectural plan, you get great software. If you multiply a messy, additive approach to coding, you simply get a larger, more fragile mess. The goal of the modern engineer is not to generate more code, but to solve problems with the minimum amount of code necessary.