바벨탑 비유로 본 AI 코딩의 함정: 소통 없이도 탑은 계속 올라간다
- Armin Ronacher는 브뤼헐의 바벨탑 그림을 빌려 AI 코딩 시대 소프트웨어의 혼란스러운 성장을 설명함
- 성경 속 바벨탑 붕괴는 언어 공유가 사라지자 건축이 멈춘 사건이지만, AI 에이전트 시대에는 팀 간 공유 이해가 무너져도 코드 작성은 멈추지 않고 계속됨
- 저자는 대규모 소프트웨어 프로젝트의 병목이 개인 코드 생산 속도가 아니라 사람들이 시스템 이해를 얼마나 잘 조율하느냐에 있다고 주장함
- 에이전트가 코드 리뷰, 질문, 팀 간 조율 같은 기존의 '마찰'을 없애면서 각자 다른 개발자가 시스템을 이해할 필요 없이 국소적 변경만 계속 쌓이게 됨
- HN 댓글에서는 큰 리팩토링이 쉬워진 이유가 버그·호환성에 대한 주의가 줄어든 탓이라는 비판과, 복잡성 증가는 인류 문명의 자연스러운 흐름이라는 반론이 오갔음
Hacker News opinions
예전엔 큰 리팩토링 하려면 이유가 있어야 했는데 지금은 프롬프트만 대충 넣어도 에이전트가 코드 절반을 갈아버림. 리뷰 안 하면 프로그램의 '영혼'이 매일 바뀌는데 이게 좋기도 하고 아니기도 함
큰 리팩토링의 진짜 장벽은 버그 위험, 기능 손실, 기존 생태계 호환성이었는데 AI 시대에 쉬워진 건 사실 우리가 그런 거 신경 안 쓰게 됐기 때문임
탑이 진짜 계속 올라가는 거 맞나 싶음, 내 기술에 대한 좋은 추억은 다 과거의 것들인데
탑이라는 비유는 그리움이 아니라 성장에 관한 거임
난 '계속 올라간다'를 부정적으로 해석함, 전체적인 계획 없이 그냥 기능 추가만 무한 반복하는 암적인 성장이라고 봄, 호머 심슨이 자동차 엔지니어들한테 기능 계속 추가하라고 시키는 느낌
2022년 11월 30일 이후로 모든 게 더 복잡해졌다는 말에 공감함
꼭 그렇진 않음, DB HA 툴링 좋아지고 마이크로서비스는 오히려 줄어드는 추세고 구조화된 DB가 NoSQL 대신 다시 뜨고 있음, HTML이랑 프리렌더링도 복귀했고, 어떤 건 복잡해졌지만 어떤 건 충분히 좋아져서 단순해짐
복잡성 증가는 인류 문명 전체의 흐름이고 소프트웨어도 마찬가지임, 예전 사람들이 하드웨어에 직접 코딩하던 걸 지금 아무도 안 하는 것처럼 추상화가 쌓이는 건 자연스러운 흐름임, 이제 문제는 LLM들이 시스템 이해를 얼마나 빨리 조율할 수 있느냐임
소프트웨어가 이미 레이어 위에 레이어로 너무 복잡해졌는데 그걸 해결하려고 AI를 쓰면서 복잡성이 더 늘어나는 꼴임, 예전엔 비주얼베이직이나 PHP로 훈련 안 받은 사람도 강력한 앱을 만들었는데 지금 React 하나 제대로 쓰려면 알아야 할 게 너무 많음, AI가 버그를 고치는 만큼 새로 만들어내고 결국 사람들 실력만 떨어질 것 같음
이게 새로운 얘기는 아님, Peter Naur의 'Programming as Theory Building'이 80년대에 이미 시스템 이해의 중요성을 얘기했음, 경험 있는 개발자들 사이엔 상식이었음
소프트웨어 조합성은 테트리스랑 비슷함, 줄이 사라져야 하는데 에이전트를 순진하게 쓰는 사람들은 그 줄을 못 없애고 계속 쌓기만 함, 에이전트들이 접기는 잘해도 미래를 내다보는 아키텍처 감각은 아직 사람만큼 못함
인간 정신력이 프로그램 복잡성의 상한선이었는데 바이브 코딩이 그 상한을 뚫어버림, 문제가 그만큼 복잡해서가 아니라 과정 자체가 압축된 추상화로 수렴하지 않아서임, 브룩스가 '맨먼스 미신'에서 말한 확장 문제의 AI 버전이고 실제로 비슷한 구현이 프로젝트 여기저기 중복되는 게 바이브 코딩의 알려진 문제임
마이크로서비스가 다시 돌아올 수도 있지 않을까, 로컬 데몬에 API 노출하고 각 데몬을 바이브 코딩으로 만드는 식으로