How to Use AI to Write Good Code, Slowly
Summary
The article argues that AI coding agents should be used to improve software robustness and correctness, not merely to maximize development speed. It focuses especially on highly reliable systems, such as satellite flight software, where unsupervised code generation can produce code that runs without being understood or maintained by people. The recommended workflow begins with a human-written plan, detailed design, or ticket that explains the intended changes and their place in the wider system. Agents can help research and plan, but the engineer should retain ownership of the plan and control the context supplied to the agent. Once the expected changes are clear, an agent may generate an initial implementation, followed by several cycles of critical human review, manual edits, and agent-assisted revisions. Review should emphasize maintainability, system structure, operations, and long-term technical debt, areas where agents are weaker than they are at locally correct code. Tests require similar scrutiny: passing unit tests may not prove that integration, hardware-in-the-loop, or flight-readiness requirements are satisfied. Agents can also search for bugs in new and surrounding code, but every reported issue must be independently verified. The author says the process should leave the engineer with understandable code, documentation, stronger testing and bug-finding coverage, and a coherent commit or pull-request description. Human reviewers should concentrate on big-picture correctness and future development, while avoiding direct attribution of unedited AI output in messages or review comments.