Why Humans Should Only Interrupt
AI를 활용해 프로그래밍하는 이들이 흔히 범하는 치명적인 오판이 있다.
“AI가 모든 과정을 한 번에(One-shot) 끝내게 하면 안 되는가?”
요구사항 정의부터 설계, 구현까지 단숨에 내달리는 방식. 표면적으로는 경이로운 속도처럼 보일 것이다. 그러나 그것은 본질적으로 통제 불가능한 부채를 쌓아 올리는 행위와 다름없다.
진정한 위기는 완성된 직후에 찾아온다.
설계의 근거를 누구도 설명하지 못하며,
결함은 오직 운영 환경의 파괴를 통해서만 증명되고,
수정이 거듭될수록 코드의 일관성은 회복 불가능한 수준으로 타락한다.
여기서 우리가 직면해야 할 본질이 있다. 문제는 AI의 과잉 사용이 아니라, 단일 AI에게 모든 권한을 위임한 설계자의 나태함이다.
거대 추론 모델은 강력하나, 동시에 모든 역할을 수행하려는 탐욕을 부린다. 그들은 시스템을 설계함과 동시에 구현을 시도하고, 스스로의 결과물을 검증하려 든다. 이는 단 한 명에게 PM, 수석 엔지니어, 개발자, 그리고 QA의 역할을 동시에 맡기는 것과 같다. 단순한 과제에서는 효율적일지 모르나, 시스템의 복잡도가 임계치를 넘어서는 순간 그 구조는 반드시 붕괴한다.
AI를 단일한 천재 개발자로 간주하지 마라. AI는 정교하게 설계된 ‘공정(Pipeline)’이어야 한다.
인간: 목적을 수립하고 제약 조건을 선언한다.
추론 모델(Reasoning): 아키텍처를 확립하고 구현 가이드라인을 하달한다.
구현 모델(Implementation): 설계된 논리에 따라 코드를 생성한다.
자동화 검증(Test/Lint): 기계적 결함을 무자비하게 색출한다.
인간: 최종 결과물을 승인하거나, 폐기하거나, 혹은 방향을 수정한다.
이 파이프라인의 핵심은 명확하다.
인간은 끊임없이 개입하지 않는다. 오직 ‘결정적인 순간’에만 개입(Interrupt)할 뿐이다.
뭐 사실 현실세계도 거의 동일하다. 거대한 일을 위해 조직이 필요하지 한 명의 수퍼 개발자가 필요하진 않다. 상사가 마이크로매니징하는 것이 아니라, 확인하고 인터럽트(개입)한다고 봐야한다. 이게 ‘시스템 사고(System Thinking)’와 ‘조직 관리론’의 핵심인데, AI 다루는데도 통용된다 (물론 나도 처음엔 토큰 제약과 효율화 때문에 그런거긴하고, 현실과 동일하게 그것도 못하면 통신 오버헤드로 이상해진다).
즉, 하나의 AI를 다룰때도 비슷한데 '슈퍼맨'으로 보지 않고 PM, 설계자, 개발자, QA로 쪼개는 것이 필요한 것이다.
이 질서 속에서 인간은 더 이상 사소한 코드의 문법이나 반복되는 상용구 작성에 시간을 낭비하지 않는다. 대신 인간은 ‘판단’에 집중한다.
이 해결책이 비즈니스 논리에 부합하는가?
현실의 물리적, 시간적 제약을 극복할 수 있는가?
생산된 결과물이 시스템의 미래에 책임을 질 수 있는가?
AI는 실행을 담당하고, 인간은 그 가치의 정당성을 판결한다.
설계와 구현의 역할을 분리하는 이유는 각 모델의 본성이 다르기 때문이다.
추론 지향 모델(Reasoning Model): 설계 공간을 탐색하고 리스크와 기회비용을 식별하며, 선택의 근거를 증명한다.
구현 지향 모델(Implementation Model): 반복에 능하며 일관된 구문을 생산하고, 하달된 지시를 정확히 이행한다.
이들의 역할을 혼용하는 순간, 시스템은 오버엔지니어링되거나 혹은 깊이 없는 껍데기만 남게 된다.
로컬 환경을 마련하려는 자에게 추천컨대, 위와 같은 관점으로 결국 후자가 낫다.
로컬 모델을 직접 운용하며 1인 서비스를 구축해 본 결과, 나는 확신한다. 이제 개인의 역량이 조직의 그릇을 아득히 넘어선 ‘설계하는 군주’ 레벨의 인간들이 재림하는 시대가 온다. (나는 아닐 것 ㅋ)
그 왕좌의 후보는 단순히 코드를 유려하게 짜는 개발자들만이 아닐 것이다. 그들은 시스템의 흐름을 읽고, AI라는 군단을 배치하며, 결정적인 순간에 ‘인터럽트’를 걸어 질서를 바로잡는 설계자들일 것이다.