내 이름이 걸린 PR, AI가 짠 코드라도 읽어야 한다
I Read the Clankers' Code
20년 경력의 엔지니어가 AI 코딩 도구를 쓰면서도 코드 리뷰를 고집하는 이유를 설명한다. AI는 빠르고 대체로 괜찮은 코드를 내놓지만, 95%의 정확도는 100%가 아니며 문제가 생기면 결국 자신의 평판과 야간 호출로 돌아온다. AI는 덧셈으로만 코드를 쌓아 복잡도를 키우고, 같은 실수를 반복해도 학습하지 않는다. 프롬프트 요령이 아니라 검증된 공식 프로세스가 필요하다는 주장이다.
Clankers는 배우지 않는다. 배울 수 없다. 기반 기술이 학습을 할 수 없기 때문이다.
HN 토론
19- JohnMakin
> 그런데 이제 코드 품질은 더 이상 신경 안 쓰시죠?
왜 우리가 신경 썼을까요? 유지보수가 더 쉬워지고 버그가 줄어들었기 때문이죠. 잘 구조화되고 설계된 코드베이스는 다루기가 훨씬 쉽습니다.
우리 모두 AI로 그린필드 프로젝트를 하면서 AI가 마음대로 하도록 내버려 둔 적이 있을 겁니다. 그러다 갑자기 말도 안 되게 쉬운 변경이 필요해지는데, 완전히 무너지거나 거의 불가능에 가까워지죠. 변경 하나에 5개 이상의 다른 변경이 필요해져서 결국 손댈 수 없게 됩니다. 차이점은 AI는 돈이 떨어지거나 포기할 때까지 계속 시도한다는 것이죠. 하지만 이런 프로그래밍 방식은 나쁘고, 우리가 나쁘다고 이름 붙인 데에는 이유가 있습니다. 업계가 왜 이게 더 이상 중요하지 않다고 생각하는지 모르겠습니다.
- voidnullvalue
"우리는 공식화된 프로세스와, 이 도구들이 내놓는 것의 품질을 강제할 입증되고 반복 가능한 통제 메커니즘이 필요합니다. 이런 것들은 아직 존재하지 않습니다. 언젠가 나타날 수도 있지만, 아직은 아닙니다. 그때까지는 무작정 비난하지 않겠습니다. 스스로를 소프트웨어 엔지니어라고 생각한다면, 아마 잠시 기다려 보는 게 좋을 겁니다."
같은 논리가 양쪽에 적용됩니다. 저는 인간이 만든 끔찍한 코드(제가 고쳐야 했던)도 본 적이 있습니다.
- glitchc
현재 상태에서 LLM은 평균적인 개발자와 대등한 수준의 코드를 생산합니다. 대부분의 회사는 평균적인 개발자만 고용할 여력이 있기 때문에 품질 차이는 무시할 만하므로 반드시 나쁜 것만은 아닙니다. 반대로, AI가 그런 코드를 생산함으로써 평균 이하 개발자들의 전형적인 코드 스멜을 제거해 하한선을 끌어올리는 효과도 있습니다.