AI가 코드를 써도, 아무도 시스템을 모른다

The problem is not the AI code, but nobody knows anything anymore

AI가 코드를 생성하는 시대, 진짜 문제는 코드가 아니라 팀 전체가 시스템 아키텍처와 설계 의도를 모른다는 점이다. 한 엔지니어는 대기업에서 specs, 코드, 테스트, PRD, 티켓까지 모두 Claude Code가 만들고, 아무도 읽지 않으며 12~13시간을 단순 반복에 쓴다고 폭로한다. 데이터 엔지니어링은 다르다는 반론도 있지만, AI는 기초 지식의 필요성을 '겉보기에' 무의미하게 만들 뿐이다. 결국 유지보수가 최종 보스이며, 의도와 설계, 취향이 그 어느 때보다 중요하다.

내 생각에 문제는 AI 코드가 아니라, 아무도 아무것도 모른 채 모두가 그냥 Claude에게 묻는다는 것이다. 결국 아무런 계획도 없게 된다.
  1. zero_shift

    토요일에 이걸 막연하게나마 곱씹어보고 있었어요. 직장에서 내려진 한 결정의 계보를 추적해보려고 했거든요.

    코드 변경 자체는 별로 중요하지 않아요. 하지만 간단히 말하자면, 우리 제품 중 하나에 들어간 AI 기능에 관한 거였어요.

    그 코드는 프롬프트로 구동된 Claude가 찍어낸 것이었어요. 그 프롬프트는 Atlassian AI 통합으로 생성된 티켓을 위한 것이었고요. Atlassian은 AI로 만든 문서를 소화했고, 그 문서들은 제가 90% 확신하는 바로는 전부 Claude가 작성한 전략 메모에서 나온 거였어요.

    그 전략은 경영진의 재촉에 따라 관리층이 선택한 것이었고, 경영진은 이제 대부분 AI가 쓴 메모로 소통해요. 그들이 어떻게 결정을 내리는지는 모르지만, 테크 인플루언서, 시장 상황, 고객 기대를 언급하더군요.

    이게 저를 멈칫하게 만들었어요. 그럼 대체 누가 결정을 내린 거지? 여러 층의 인간 검토가 있었을 거라고 볼 수도 있지만, 결정의 실제 출처는 집어내기 어려웠어요.

    우리는 그 기능을 원해서 만든 게 아니었어요. 다른 사람들이 기대할 거라고 생각해서 만든 거였죠.

    아마 시장 상황을 돌아보면서, 누가 실제로 통제하고 있는지 알 수 있지 않을까 생각했어요.

    2026년에 투자자와 고객의 기대는 어디서 오는 걸까요? 적어도 테크에서는 매우 불투명해요. 과대광고가 있는 것 같아요. 어떤 과대광고는 진성 신자에게서 나오고, 어떤 건 냉소주의자에게서 나오죠. 하지만 둘 다 점점 더 거대한 주장을 보상하는 시장 인센티브에 반응해요.

    시장의 '행동'은 어디서 오는 걸까요? 동인은 무엇일까요?

    투자자들은 실제로 무엇을 […]

  2. glouwbug

    글을 쓰다 보면 리팩터링과 재작성을 거치며 자신의 이해를 끊임없이 재구성하게 되고, 결국 그것을 내면화하게 된다. 내면화하면 (결정적인 다운타임 동안) 그것에 대해 추론할 수 있는 능력과 그것을 전달할 수 있는 능력을 얻게 된다. 소통할 수 있는 팀 전체가 함께 문제를 해결할 수 있다. 한 사람의 비전에서 제품 화이트보딩, 엔지니어링 인프라, UX와 UI의 예술성까지 아우르면서.

    불과 4년 전만 해도 세상이 이렇게 돌아갔다는 걸 우리가 완전히 잊어버렸다는 게 이해가 안 간다.

  3. MomsAVoxell

    직업적으로 보면 이게 그렇게 극적이라고 느껴지진 않는다. 주로 내가 꾸준히 대규모로 코드를 출시해온 산업들이 리뷰를 제1원칙으로 삼기 때문이다. 즉, 테스트되지 않고 리뷰되지 않은 코드는 출시되지 않는다. 안전 필수/실시간 요구사항과 인증 사양이 그렇게 하라고 하니까.

    그리고 리뷰할 AI 코드가 있다는 건 예전에 리뷰하던 다른 어떤 코드와도 다르지 않다. 그래서 리뷰 도구 역시 필요에 따라 더 많은 AI를 구슬프게 적용함으로써 이득을 본다. 하지만 모든 AI는 인간이 리뷰한다.

    그래서 큰 영향은 아니다. 우리는 100% 인간이 리뷰하지 않은 코드는 출시하지 않는다. 그게 감당이 안 된다면, 당신이 잘못하고 있는 거다. AI를 써서 코드를 다시 읽을 수 있게 만들어라.

    그리고 AI를 다시 상자에 넣어라. 개발자들에게 구독에 대한 100% 전일제 API 접근 권한을 주지 말고, 실제 하드웨어를 줘서 100% 로컬로 돌리게 하라.

    따라서 로컬 AI가 최고의 AI다, 여러분. 로컬에서 돌릴 수 있는 것보다 더 많이 쓰지 않는 것이 AI 코드를 제대로 유지보수 가능하게 유지하는 훌륭한 방법이다.

    업계는 머지않아 스스로 이것을 증명할 것이다. AI를 안전하게 보관하기 위해 상자에 넣을 수 없다면, 어차피 당신이 잘못하고 있는 것이고, 수십 년 전에 미래 대비 툴링에 대해 이미 습관으로 익혔어야 했다. (참고: AI로 하는 모든 일을 로깅하지 않는다고? 큰 실패다.)

    물론 Big Metal AI™의 절대적으로 취하게 만드는 중독성은 많은 소비자를 깊고 깊은 신문맹의 구덩이에 빠뜨릴 것이다. 하지만 '좋은' AI 코드는 사실 그냥 좋은 코드일 뿐이다.

  4. bengold14

    매일 본다. 문제는 코드가 우리가 하는 일에 잘못된 추상화라는 점이다. LLM은 코딩을 해결했지만, 시스템, 협업, 시스템 유지보수는 해결하지 못했다.

    편집: 신경을 건드린 것 같아서 말하자면, 나는 이걸 해결하기 위한 프로젝트를 진행 중이다: https://www.archme.io 올바른 추상화에 대한 내 생각이 궁금하면.

  5. ecshafer

    AI는 장기적으로 소프트웨어 엔지니어링을 더 중요하게 만들 것이다. 요구사항 수집, 사용자 피드백, 테스트, 제품 비전. 이것들이 이제 핵심 차별화 요소다.

    정말 좋은 요구사항 세트를 얻고, 모든 테스트 케이스를 작성한 다음, 한 방에 해결해줄 AI에게 던져주면 완벽하다.

  6. hollowonepl

    AI는 프로그래머를 위한 게 아니다. 그들은 항상 불평할 것이고, 시간과 자원이 주어지면 물론 더 나은 원자적 코드를 만들어낼 수 있다. AI는 비즈니스 분석가, 아키텍트, 제품 관리자를 한 사람 안에 결합한 사람을 위한 것이다. 코딩 능력은 있지만 전체 소프트웨어 엔지니어링 라이프사이클에서 제한적인 역할이라고 판단한 사람 말이다. 올바른 태도와 물론 어느 정도의 AI에 대한 마이크로 관리(인간 프로그래머에게도 해야 했던 것)를 통해 훨씬 적은 커뮤니케이션 마찰과 팀워크를 유지할 사람이 적은 상태로 같은 또는 비슷한 결과를 달성하고, 프로그래밍 철학과 더 이상 명예롭거나 독특하지 않은 공예의 다른 선언문을 논의하기보다는 발견한 문제를 해결하는 데 더 가까이 다가갈 수 있다. 그리고 그것이 AI를 잘못된 사람에게 사용하게 했을 때의 핵심 불만 지점이다.

  7. vld_chk

    공감이 된다. 7월 말에 회사를 옮겼다. 처음 4주 동안 AI는 나에게 자유로움을 주었다. 더 이상 수만 줄의 레거시 코드베이스를 이해할 필요가 없었다. 온보딩이 이렇게 쉬운 적이 없었다. 그냥 Claude에게 물어보면 여기서 무슨 일이 어떻게 일어나는지 알려줬다.

    하지만 2개월이 지나자 역효과가 나기 시작했다. 나는 여전히 아무것도 모른다. 시스템 설계와 핵심 구성 요소에 대한 이해는 좀 있지만, 내부적으로 특정 일이 어떻게 처리되는지는 전혀 모른다. AI가 나 대신 코드를 읽고 나 대신 코드를 써줬고, 나는 그것을 내 이해로 착각했다.

    지난주에는 AI 사용을 제한하고, 여기서 무슨 일이 벌어지는지 조금이라도 알기 위해 스스로 읽고 코딩하는 연습을 하도록 강제했다(정말 힘들다).

  8. bentt

    지금 이 순간에도 일을 잘못하는 방법은 백만 가지가 있다.

    하지만 일을 올바르게 하는 방법도 몇 가지, 아마 백만 가지보다는 적을 것이다.

    이것을 잘못하는 방법에 대한 일화가 하나 있다.

    AI 코딩 방법론에서 어떤 선을 넘으면 헤일메리(미식축구 용어)가 되는 지점이 있다는 걸 발견했다.

    헤일메리는 엔드존으로 공을 던지고 누군가 잡기를 그냥 기도하는 것이다. 거의 항상 경기 막판에 나온다.

    AI 코드와 함께하는 이 순간은 일관된 계획을 세울 수 없어서 그냥 에이전트에게 "잘 만들어줘"라고 말하는 상황을 보여준다. 예전에는 이런 결과가 형편없었지만, 이제 에이전트는 정말 유능해서 결과가 좋을 수도 있다.

    하지만 바로 그 순간이 뒤로 물러설 신호다. 당신의 이해와 너무 동떨어진 해결책을 받아들이는 순간, 당신은 물속에 잠긴 것이다. 헤일메리는 더 큰 경기 계획의 일부가 아니다. 경기의 마지막 플레이다. 그 뒤에는 아무것도 없다.

    따라서 코딩 중에 그 순간에 도달하면, 코드뿐만 아니라 높은 수준에서 그것이 작동하는 방식조차 이해하는 것을 그만두겠다는 신호를 보내는 것이다. 이후에도 이 코드로 계속 작업할 거라면, 뒤로 물러나 AI와 함께 문제에 대한 이해를 더 얻어라.

이 날의 다른 글

2026-09-28