효율성의 환상: AI의 '라스트 마일'이 모든 것을 앗아가는 이유
AI 코드의 80/20 법칙에 대해 읽고 고개를 끄덕입니다.
AI는 단 몇 초 만에 코드의 첫 80%를 작성합니다. 진전이 있는 것처럼 보이고, 속도가 붙는 것처럼 느껴집니다.
이것은 함정입니다.
나머지 20%의 작업을 완료하는 데 전체 시간의 80%가 소요됩니다. 프로젝트가 좌초되는 지점은 바로 여기입니다. 개발자들이 한계에 부딪히는 지점도 바로 여기입니다.
AI는 확률에 기반하여 작동합니다. 다음에 올 가능성이 가장 높은 단어나 코드 라인을 예측할 뿐입니다. AI는 논리를 이해하지 못합니다. 여러분의 구체적인 시스템 아키텍처도 이해하지 못합니다. 그저 완벽한 조건에서만 작동하는 '해피 패스(happy path)'를 만들어낼 뿐입니다.
해피 패스를 벗어나는 순간, 벽에 부딪히게 됩니다.
저는 이것을 '검증 부채(Verification Debt)'라고 부릅니다.
기술 부채(Technical debt)는 임시방편적인 수정에서 발생합니다. 검증 부채는 이해의 부족에서 발생합니다.
코드를 직접 작성할 때는 머릿속에 지도를 그립니다. 모든 코드 라인이 왜 존재하는지 알게 됩니다. 하지만 AI가 코드를 작성하면, 자신이 만들지 않은 완성품을 건네받게 됩니다. 논리를 소유하는 것이 아니라, 결과물만을 소유하게 되는 것입니다.
코드를 이해하지 못하면 디버깅할 수 없습니다. AI가 단 1초 만에 저지른 실수를 바로잡기 위해 몇 시간을 허비하게 됩니다.
생성 속도가 주는 빠른 속도감은 마치 작업이 완료된 것 같은 환상을 심어줍니다. 거의 다 끝났다고 생각하는 순간, 예외 상황(edge cases)이 발생합니다. 통합에 실패하고, 보안 결함이 나타납니다.
마지막 20%는 단순한 '마무리 작업'이 아닙니다. 그것은 품질의 핵심입니다. 테스트, 디버깅, 그리고 예외 상황 처리가 바로 그 핵심입니다.
어떻게 해결해야 할까요?
AI의 결과물을 최종 완성품으로 취급하는 것을 멈추십시오. 대신 신뢰할 수 없는 데이터로 취급하십시오.
- 테스트를 먼저 작성하십시오. 테스트를 만들기 전에 로직을 생성하지 마십시오. AI가 코드를 내놓기 전에 무엇이 실패인지 정의하십시오.
- 세그먼트 단위로 검증하십시오. 오류를 찾기 위해 전체 시스템 통합까지 기다리지 마십시오. 모든 작은 블록을 개별적으로 테스트하십시오.
- 땜질하는 대신 버리십시오. AI 함수가 테스트를 통과하지 못한다면, 한 줄씩 수정하려고 애쓰지 마십시오. 코드를 삭제하고 다른 프롬프트를 시도하십시오. AI의 오류를 땜질하는 것은 종종 더 많은 오류를 만들어냅니다.
80/20 법칙은 경고입니다. AI는 속도를 높여주지만, 동시에 검증해야 할 책임도 늘려줍니다.
AI의 실수를 바로잡는 데 모든 시간을 보낸다면, 효율성을 얻은 것이 아닙니다. 단지 업무의 종류를 바꿨을 뿐입니다.
'라스트 마일'은 코드가 실제로 작동함을 증명하는 단계입니다. 또한, 겉보기에만 완벽한 거짓말에 속지 않았음을 증명하는 단계이기도 합니다.
Source: https://dev.to/amrree/the-illusion-of-efficiency-why-ais-last-mile-costs-everything-a7g
Optional learning community: https://t.me/GyaanSetuAi
