생성 대신 사고하라

1 hour ago 1

  • 대형 언어 모델(LLM) 을 활용한 코드 생성이 확산되면서, 개발자가 스스로 사고하지 않는 현상에 대한 경고 제기
  • 자동 생성 코드는 비결정적(non-deterministic) 이며, 내부 작동이 불투명해 품질과 책임성 확보가 어렵다는 지적
  • 산업혁명과 기계화에 비유하며, LLM 코드가 ‘패스트패션’처럼 겉보기만 그럴듯하고 장기적으로 부실하다고 비판
  • 코드 리뷰 과정에서 인간 간의 신뢰와 공동 이해가 사라지고, 책임이 불분명해지는 위험 강조
  • 기술 발전 자체가 아니라 과도한 AI 의존과 사고의 외주화를 경계하며, 인간 중심의 사고와 학습 회복 필요성 제시

LLM 코드 생성 확산에 대한 불안과 회의

  • 저자는 오랜 기간 업계 동향을 따라왔지만, 최근 LLM 기반 코드 생성 열풍 속에서 뒤처지는 느낌을 받았다고 서술
    • Copilot과 Claude를 ‘매운 자동완성(spicy autocomplete) ’ 수준으로 사용했으나, 복잡한 작업에서는 신뢰할 수 없다고 평가
    • 프롬프트 작성에 많은 시간이 들며, 직접 코드를 작성하는 것이 더 효율적이라고 언급
  • AI에게 “너는 분산 시스템 전문가다” 같은 역할 지시형 프롬프트를 요구하는 문화 자체가 비효율적이라고 비판
  • 점점 더 많은 엔지니어가 직접 코딩 대신 생성 코드에 의존하는 현상을 우려

“이것은 우리의 산업혁명이다” 주장에 대한 반박

  • 산업혁명과 AI의 유사성은 인정하지만, 에너지 소비와 환경 파괴 측면에서 부정적 유사점이 많다고 지적
    • 데이터센터의 막대한 전력 사용과 ‘Shrimp Jesus’ 이미지 생성 같은 자원 낭비 사례 언급
  • 기계화가 제품을 싸게 만들었지만 품질 저하와 숙련 노동의 붕괴를 초래했다고 설명
  • 생성 코드를 패스트패션에 비유
    • 겉보기엔 괜찮지만 내부는 허술하고, 타인의 디자인을 베낀 코드가 많으며 환경에도 해롭다고 지적
  • 기계화는 반복 가능한 결과를 내지만, LLM은 비결정적이고 환각(hallucination) 을 포함해 신뢰할 수 없다고 강조

“LLM은 또 다른 추상화 계층일 뿐” 주장에 대한 반박

  • 고수준 언어가 어셈블리를 대체했지만, 여전히 효율성과 아키텍처적 일관성을 고려해야 한다고 설명
  • LLM은 사고 능력이 없기 때문에 시스템 설계나 맥락적 판단을 할 수 없음
    • 인간이 사고하지 않고 LLM도 사고하지 않으면, “아무도 생각하지 않는 소프트웨어”가 된다고 경고
  • Horizon 스캔들 사례를 들어, 소프트웨어 오류가 실제 인명 피해로 이어졌음을 상기시키며 책임성과 사고의 중요성 강조

인간이 만든 나쁜 코드와 LLM의 악순환

  • 인간 개발자들도 이미 비효율적이고 접근성 낮은 코드를 많이 작성하고 있다고 지적
  • LLM은 이런 코드로 학습되어 인간의 실수를 반복하며, 다른 LLM이 생성한 코드로 재학습되는 ‘human centipede epistemology’ 현상 발생
  • 접근성 문제, 인종차별적 인식, 네트워크 불평등 등 기존 소프트웨어의 결함이 AI를 통해 증폭된다고 설명
  • 인간이 개선하려는 노력 대신 실수를 알고리듬에 외주화하고 있다고 비판

코드 리뷰와 책임의 붕괴

  • FFConf에서 Jessica Rose와 Eda Eren이 발표한 AI 도구로 인한 개발자 기술 상실 위험을 인용
  • 인간이 작성한 PR은 사고의 흔적이 있지만, LLM이 생성한 PR은 신뢰 기반이 약함
    • 오픈소스 프로젝트에서 품질 낮은 자동 생성 PR이 급증하고 있다고 언급
  • 일부 기업은 Claude를 Slack에서 직접 호출해 PR을 자동 생성하고, 리뷰어 한 명만 승인하는 구조를 사용
    • 이 경우 팀 내 맥락 공유와 이중 검증(‘four eyes principle’) 이 사라진다고 경고
  • 리뷰는 단순한 버그 검사가 아니라 지식 공유와 공동 이해 형성 과정임을 강조

“반(反)진보”가 아닌 “반(反)과열”

  • 저자는 LLM 자체를 반대하지 않으며, ‘인공지능’이라는 과장된 명칭과 과도한 기대를 비판
    • LLM은 지능이 아닌 기계학습의 한 형태, “매우 정교한 마르코프 체인”에 불과하다고 표현
  • 프로토타입이나 데모 제작에는 유용할 수 있으나, 생산용 코드의 사고 과정까지 위임하는 것은 위험하다고 경고
  • Mikayla Maki의 조언을 인용해, AI 에이전트를 신뢰하지 않는 외부 기여자처럼 다루고, 사람이 반드시 루프 안에 있어야 한다고 강조
  • 저자는 여전히 Copilot을 자동완성 도구로 사용하지만, 사고를 외주화하지 않겠다고 결심
  • 결론적으로 “생성을 멈추고, 이해를 시작하라”는 메시지로 글을 마무리

Read Entire Article