Code Should Not Be Reviewed by Humans
코드는 사람이 작성해서는 안 됩니다. 코드는 사람이 검토해서는 안 됩니다.
As the amount of code generated by AI grows exponentially, I expect that many developers will end up putting a lot of effort into code review.
One thought I’ve had recently is this: if we hand off an appropriate specification at the planning stage, is code review even necessary? If we create proper tests and just verify that the output matches the specification, isn’t it possible that we don’t need to look at the actual implementation at all?
One of the passages I enjoyed in the article is, I think, the author saying that you delegate the task of writing things to spec autonomously through multiple layers and various verification mechanisms—without getting involved in the details—while focusing instead on writing down what you actually want.
That said, the important point here seems to be that you shouldn’t have the LLM verify pass/fail itself; it should actually be done through real tests. Because the things an LLM spits out are simply probabilistic in nature, it frequently happens that the output doesn’t actually behave the way you want, or fails yet still claims to have passed.
I understood the article to also include the idea that you should verify in various ways whether things proceeded as the engineer intended, and that you should automate these verification methods to resolve the bottleneck.
AI still can’t cover every area for now, but I think it would be worthwhile to consider ways to leverage it—such as breaking tasks down in various ways, or making the specification concrete and delegating the actual implementation without getting involved in it!