AI 정신병: 소프트웨어 엔지니어링에서 속도가 이해를 앞지를 때
최근 Mitchell Hashimoto는 엔지니어링 커뮤니티 전반에 깊은 울림을 주는 우려를 제기했습니다: 기업 내에서 발생하는 "AI 정신병(AI psychosis)"의 출현입니다. 이는 임상적 진단이 아니라, AI가 코드를 빠르게 생성하고 수정할 수 있다는 믿음이 소프트웨어 엔지니어링의 기본 원칙과 아키텍처의 무결성을 압도해 버리는 시스템적 망상을 의미합니다.
Hashimoto는 우리가 역사적 실수를 반복하고 있다고 주장합니다. 클라우드 자동화로 전환되는 과정에서 업계는 **MTBF (Mean Time Between Failure)**와 MTTR (Mean Time To Recovery) 사이의 갈등에 직면했습니다. 지배적인 지혜는 MTTR 쪽으로 기울었습니다. 즉, 실패로부터 거의 즉각적으로 복구할 수 있기 때문에 시스템이 더 자주 실패해도 괜찮다는 생각입니다. MTTR은 강력한 지표이지만, Hashimoto는 이 논리를 전체 소프트웨어 개발 수명 주기(SDLC)에 적용하는 것은 위험하다고 경고합니다. 사고방식이 "에이전트가 빠르게 수정할 것이므로 버그를 배포해도 괜찮다"가 되면, 그는 이를 "매우 탄력적인 재앙 기계(very resilient catastrophe machine)"라고 부르는 것을 구축하게 될 위험이 있습니다.
건강함의 환상
이러한 변화의 가장 두려운 측면 중 하나는 전통적인 지표가 시스템적 쇠퇴를 가릴 수 있다는 점입니다. Hashimoto가 언급했듯이, 시스템은 국소적으로는 건강해 보일 수 있지만 전역적으로는 이해 불가능한 상태가 될 수 있습니다.
- 테스트 커버리지: AI는 코드의 모든 줄을 실행하는 테스트를 생성할 수 있으며, 소프트웨어의 의미론적 정확성을 실제로 개선하지 않고도 커버리지 백분율을 높일 수 있습니다.
- 버그 리포트: 버그 리포트의 감소는 더 안정적인 제품을 의미하는 것이 아니라, 사용자의 신뢰 상실이나 사용자 수의 감소를 나타낼 수 있습니다.
- 속도: 기능 배포 속도는 증가하지만, 구성 요소들이 어떻게 상호작용하는지에 대한 총체적인 이해를 가진 인간이 없기 때문에 근본적인 아키텍처는 쇠퇴합니다.
"Vibe Coding"의 함정
이 주제에 대한 커뮤니티 논의는 "vibe coding"—AI를 이용한 프로토타이핑 및 데모—와 엄격한 엔지니어링 사이의 커지는 간극을 강조합니다. LLM은 보일러플레이트 코드를 생성하거나 고립된 문제를 해결하는 데는 탁월하지만, 미래에 대한 개념이 부족합니다. 그들은 인간 엔지니어가 방어적이고 유지보수 가능한 코드를 작성하도록 동기를 부여하는 "새벽 3시의 페이지(3 AM page)"를 느끼지 못합니다.
한 댓글 작성자가 지적했듯이, 위험은 비기술적 리더십이 AI 도입을 KPI로 밀어붙일 때 발생합니다. "AI를 하는 것"이 성과 목표가 되면, 인센티브는 신뢰할 수 있는 제품을 만드는 것에서 토큰을 소모하고 코드 라인 수(LOC)를 늘리는 것으로 전환됩니다.
"경영진이 토큰 사용량을 계산하고, 에이전트 사용을 강제하며, 생산성 향상을 명목으로 인원수를 줄입니다. 개발자들은 다리를 건설하고 있지만, 그 다리가 무엇인지, 어떤 표준으로 건설되었는지, 어떻게 작동하고 어떻게 유지보수해야 하는지 아는 사람이 아무도 없습니다."
반론: 중간 수준의 프로그래머 vs. 이상적인 프로그래머
모든 사람이 이 트렌드가 순수하게 정신병적이라고 동의하는 것은 아닙니다. 일부는 업계가 항상 평범하고 버그가 많은 소프트웨어를 만들어 왔으며, AI가 이미 결함이 있는 프로세스를 가속화할 뿐이라고 주장합니다. 이 관점에서는, AI가 중간 수준의 프로그래머보다 더 나은 성능을 수행할 수 있다면, 비록 그것이 "완벽한" 엔지니어링 표준을 충족하지 못하더라도 조직에 이득이 됩니다.
다른 이들은 시장이 결국 스스로를 교정할 것이라고 제안합니다. 안정성보다 속도를 우선시하는 기업들은 결국 파괴적인 실패를 겪게 될 것이며, 이는 규율 있는 엔지니어링으로의 회귀를 강제할 것입니다. 이 관점에서는 현재의 시대는 단순히 또 다른 "move fast and break things" 사이클의 하나일 뿐이며, 다만 파괴하는 속도가 훨씬 더 빠를 뿐입니다.
장기적 위험: 인지적 부채
아마도 가장 큰 위험은 "인지적 부채(cognitive debt)"의 축적입니다. AI가 코드베이스의 대부분을 작성할 때, 인간은 자기 시스템의 로직을 내장화하는 것을 멈춥니다. 이는 위태로운 의존성을 만듭니다: 우리는 미래의 더 똑똑한 AI가 우리가 오늘 만들고 있는 난장판을 유지보수할 수 있기를 바랍니다.
만약 AI가 생성한 복잡성이 어떤 인간도 시스템을 이해할 수 없는 지점에 도달하고, AI가 결함을 해결하는 것보다 더 많은 결함을 도입하기 시작하면, 시스템은 불안정해집니다. 이는 미래에 "AI 구조 컨설팅"이 고가치 틈새 시장이 될 수 있는 미래를로 이끌 수 있습니다. 즉, 인간이나 기계의 통제 범위를 넘어선 시스템의 "클린 룸(clean room)" 재구축을 수행하기 위해 투입되는 전문가들을 말합니다.
결론
AI는 부정할 수 없이 강력한 도구이지만, 아키텍처적 사고를 대체할 수는 없습니다. AI 에이전트의 효율성과 인간의 감독 필요성 사이의 긴장은 이 시대의 정의적인 도전 과제입니다. "재앙 기계"를를 구축하는 것을 피하기 위해, 업계계는 복구(recovery)가 중요하지만, 탄력성(resilience)—시스템이 애초에 실패를 저항하는 능력—이 지속 가능한 소프트웨어의 초석임을 기억해야 합니다.