AI 코딩 도구, 팀의 '공유된 이해'를 앗아가나?
AI 코딩 도구가 개별 개발자 생산성을 높이지만, 팀 전체의 공유된 이해(Shared Understanding)를 약화시킨다는 지적임
과거 개발 과정의 마찰(Friction)이 팀 간 이해를 동기화했으나, AI는 이를 제거하여 아키텍처 언어의 붕괴를 초래할 수 있음
코드베이스는 바벨탑처럼 계속 쌓이지만, 인간의 협업적 추론 능력은 사라질 수 있다는 우려가 제기됨
즉각적인 실패가 없어 손실을 인지하기 어렵다는 점이 이 현상을 더욱 기묘하게 만듦
AI 코딩 도구와 '공유된 이해'의 충돌
토론에서는 AI 코딩 도구가 개별 개발자의 코드 변경 속도를 비약적으로 향상시키지만, 이는 팀 전체의 공유된 이해(Shared Understanding)를 약화시킨다고 지적합니다. 과거에는 코드 변경 시 다른 팀원과의 소통, 코드 리뷰, 질문 등을 통해 시스템의 개념, 불변성, 소유권 등에 대한 이해를 동기화하는 마찰(Friction)이 있었습니다. 하지만 AI 에이전트는 이러한 과정을 생략하고 개별적인 변경을 가능하게 하여, 아키텍처 언어(Architectural Language)가 붕괴된 상태에서도 개발이 계속될 수 있다고 설명합니다.
바벨탑 비유와 소프트웨어 복잡성
글쓴이는 브뤼겔의 '바벨탑' 그림을 인용하며, AI 시대의 소프트웨어 개발이 바벨탑 현상(Tower of Babel Phenomenon)과 유사하다고 주장합니다. 성경에서는 언어의 상실이 건설을 멈추게 했지만, AI 기반 개발에서는 공유된 이해의 붕괴 후에도 건설이 계속될 수 있다는 점이 다르다고 강조합니다. 이는 마치 각 개발자가 지치지 않는 번역가를 둔 것처럼, 시스템의 전체적인 맥락을 이해하지 못한 채 개별적인 변경만 누적시키는 상황을 묘사합니다.
팀 협업의 중요성과 '마찰'의 재해석
커뮤니티에서는 AI가 개발 속도를 높이는 데 기여할 수 있지만, 팀 단위의 이해 증진 도구(Understanding Building Tools)는 부족하다는 의견이 많습니다. 특히 과거의 익스트림 프로그래밍(eXtreme Programming)이나 DDD(Domain-Driven Design)와 같은 방법론은 지식 공유(Knowledge Sharing)를 위한 프로세스 중심의 접근이었으며, 이러한 마찰(Friction) 자체가 중요했음을 시사합니다. AI가 이러한 협업적 마찰을 제거하면서 지속 가능한 변경 속도(Sustainable Rate of Change)를 유지하기 어렵다는 점이 논의되었습니다.
AI를 활용한 이해도 증진 방안 모색
일부에서는 AI가 팀의 이해를 돕는 방향으로 활용될 수 있다고 제안합니다. 예를 들어, 개발 과정에서 생성되는 ADR(Architectural Decision Records)을 AI가 자동으로 기록하고, 이를 통해 코드베이스의 상호작용적 질의(Interactive Interrogation)를 가능하게 하는 방식입니다. 이는 코드와 함께 사고 과정(Thought Process)을 저장하여, 팀원들이 코드베이스의 맥락을 더 잘 이해하도록 돕는 능동적인 문서화(Active Documentation) 방법이 될 수 있다는 의견입니다.