최근 개발자들 사이에서 대규모 언어모델(LLM)이 생성한 코드를 단순히 복사-붙여넣기 하는 대신, 직접 다시 입력하며 코드에 대한 이해와 통제권을 확보하려는 움직임이 나타나고 있습니다. 이는 LLM의 효율성을 활용하면서도, 개발자가 코드의 작동 방식과 기존 코드베이스와의 관계를 깊이 파악하여 '인지 부채(cognitive debt)'가 쌓이는 것을 방지하려는 의도입니다.
이러한 접근 방식은 코딩 에이전트(coding agent)가 명시적인 요청 없이는 파일이나 의존성, 저장소 상태를 변경하지 않도록 제한하고, 모든 편집 제안과 명령을 채팅창에만 출력하게 합니다. 개발자는 채팅으로 제안된 코드를 직접 편집기에 입력하며, 이 과정에서 모르는 API나 알고리듬을 즉시 찾아보고, 코드 재구성(refactoring)이나 주석 추가 등의 개선 작업을 수행합니다. 체감 속도 향상은 10배가 아닌 약 2배 수준이지만, 의도적으로 작업 속도를 늦춰 LLM의 환각(hallucination)이나 잘못된 설계 선택을 발견할 가능성을 높입니다. 이는 마치 십 대에 코딩을 배울 때 예제 코드를 직접 입력하며 학습하던 방식과 유사합니다.
이러한 '느린 코딩' 방식은 단기적인 생산성보다는 배포하는 소프트웨어에 대한 완전한 이해를 우선시합니다. 이해하지 못한 코드가 쌓이면 장기적으로 디지털 인프라의 구조를 파악하지 못하는 상황으로 이어질 수 있기 때문입니다. 개발자가 코드베이스의 '공간적 지도(spatial map)'를 구축하여 각 기능의 위치를 정확히 파악하고, 향후 LLM에 더 정확한 프롬프트(prompt)를 제공하는 데도 도움이 됩니다. 이 방식은 비록 비효율적으로 보일 수 있지만, 궁극적으로 더 견고하고 유지보수하기 쉬운 소프트웨어를 만드는 데 기여하며, 개발자의 직업적 책임감을 강조하는 중요한 관점으로 평가됩니다.