When using coding assistants, should developers allow LLMs full write access to their files, or manually retype code to maintain a deeper understanding and prevent cognitive debt?

Preventing Cognitive Debt: Should Developers Manually Retype AI Code?

In a recent discussion on software development workflows, Ankur Sethi explores how to prevent 'cognitive debt' when utilizing coding assistants. While many developers embrace the '10x' speed promise of allowing LLMs to automatically create, edit, and delete project files, Sethi argues that this level of automation can leave developers disoriented and disconnected from their own work. He proposes a more deliberate, albeit slower, approach: requesting that the AI display all proposed changes in a chat interface so he can manually type them into his editor. By eschewing the convenience of one-shotting features, he avoids the 'slop machine' and maintains a robust mental model and a 'spatial map' of his codebase. Although this workflow might reduce his efficiency from a 10x boost to a 2x boost, the trade-off provides the ability to catch hallucinations, understand APIs, and ensure the project remains fun. The central tension lies between the pursuit of pure algorithmic speed and the necessity of human comprehension within the development process.

Options

  • Manually retype code to preserve a deep mental model
  • Allow full AI write access to maximize development speed
  • Review AI-generated PRs and edits without manual retyping
  • Use AI for boilerplate but manually control all file edits

Pollopolis — the city of opinion