Do LLMs increase technical debt?

2024-03-15

This explores whether machine-generated code through LLMs might actually reduce technical debt rather than increase it.

I define technical debt as spandrils that we’ve built, that extend from our systems and are no longer expandable—code that restricts how systems can grow. In essence, technical debt limits future possibilities.

Five primary ways LLMs prove useful during software development:

  1. Functioning as sophisticated autocomplete
  2. Expanding working memory capacity during system building
  3. Acting as an enhanced rubber duck for problem description
  4. Serving as a latent-space debugger
  5. Providing reverse prompting—where users explore AI-suggested solutions

Simon Willison notes that LLMs enable an expansion in ambition when undertaking new problems.

Three potential ways LLMs might reduce technical debt:

  • They can reopen previously unmalleable code by revealing attachment points for expansion
  • They enhance the volume of context developers can manage simultaneously
  • They make complex challenges more solvable through systematic breakdown

This remains an open question worth considering as teams build increasingly sophisticated systems.