HACKER Q&A
📣 xiaoyu2006

How do you deal with the feeling of "loss of control" with AI coding?


I have to admit that newest models and harness tools have gotten really good and produce working code really fast with even mediocre prompts "wish programming".

The problem is more on my side than the LLM side. I feel I am 1) losing control of my project, even my hobby ones, because LLM outputs code so fast that I am 2) too lazy to manually review all of them, even if, indeed, I had the overall architecture design choices and sometimes straight up pseudo-code in natural language. But NL is, by definition, not formal, and programming is the process of expanding informal demands into formal languages. It is still fundamentally different from abstraction (like importing a lib) as in software engineering as a means to reduce complexity. The result is that not-going-into-nitty-gritty-impl-details builds the feeling of loss-of-control and -confidence.

This may not read as a coherent submission since it's just my random unsettling thoughts, but I am sure at least some of you fellow HNers feel (felt?) the same. What is your take on this?


  👤 denn-gubsky Accepted Answer ✓
I had similar feeling a couple months ago, but I changed the approach and feel more confident now. First of all, any feature now starts from RFC, then RFC brakes into manageable parts, I can review and understand, by planning. When feature is implemented, I run code review and QA pass. This is mandatory. Then I review PR, even eye-balling makes you more confident. If I have doubts, I write the review comment or ask the model to explain what the fragment does and how it relates to other parts. Then integration runtime testing - I use specially trained QA agent. Them manual testing.

👤 1337h4xx
Ask your agent to do a mock formal verification of your code, that will surface any gotchas. Create lots of unit tests. I think of the NL spec as an abstraction of the pseudocode which is an abstraction of the real code.