AI 코드와 소프트웨어 장인정신

5 days ago 3

  • AI가 생성한 저품질 콘텐츠인 '슬롭(slop)' 이 인터넷 전반에 확산되면서, 음악·영상·텍스트뿐 아니라 소프트웨어 영역에서도 유사한 현상이 나타나고 있음
  • 콘텐츠 생산이 참여도와 수익 극대화만을 목표로 최적화에 집중하며, 장인 정신이나 창의성은 사라지는 추세
  • 대형 기술기업의 품질 저하와 기술 퇴화는 AI의 등장 이전부터 진행되어 왔으며, 좁은 역할 분업이 엔지니어의 숙련과 사고력을 약화시킴
  • AI 에이전트는 잘 정의된 반복 작업에는 유용하지만, 거짓말을 하고 코드를 제대로 이해하지 못하며 나쁜 코드를 생성하는 근본적 한계가 존재함
  • 19세기 Arts and Crafts 운동처럼 소프트웨어에서도 초기 컴퓨팅의 아이디어를 복원하고 인간 중심의 장인 정신을 되살려야 할 시점임

AI 슬롭의 확산과 기술(technique) 개념

  • AI 모델 공개 이후 오디오·비디오·텍스트 전반에서 ‘slop’이라 불리는 저품질 AI 콘텐츠가 급증
    • 쓰레기 콘텐츠는 늘 존재했지만, AI로 인해 생성에 필요한 노동이 수십 배 이상 감소
    • 분별력이 없거나 분별이 중요하지 않은 작업에서는 AI가 인간의 손을 대체하기에 충분한 수준 도달
  • Jacques Ellul의 'technique' 개념: 활동을 측정 가능하고 정의된 목표를 향한 효율적 수단의 집합으로 환원하는 사고방식
    • Instagram 릴스, YouTube 영상, 블로그 포스트는 최소 노력으로 최대 참여를 끌어내면 ‘좋은’ 결과물로 간주
    • 지표와 성과에 대한 집착이 장인정신, 아름다움, 즐거움 같은 무형의 가치를 잠식

음악 플랫폼 비교: Bandcamp vs Spotify

  • Bandcamp: 전체 앨범 중심과 개인 큐레이션에 집중
    • 2010~2020년대 인디 음악 붐을 뒷받침하며 Car Seat Headrest, Mitski, Alex G, Phoebe Bridgers 등 아티스트 부상
    • 음악 자체를 목표로 삼는 플랫폼으로서 AI 생성 음악을 금지
  • Spotify: 플레이리스트와 알고리듬 추천에 기반한 모델
    • 음악 그 자체보다 지표 최적화에 초점
    • 밋밋하고 알고리듬에 맞춰진 뮤직(muzak) 확산
    • 장인정신이 고려되지 않는 환경에서 AI는 인간이 만든 음악보다 '수익 극대화' 측면에서 훨씬 유리한 콘텐츠를 대량 생산함

소프트웨어 업계의 품질 저하 현상

  • AI 등장 이전부터 이미 많은 소프트웨어가 전반적으로 낮은 품질 상태에 놓여 있었음
  • 대형 기술 기업의 소프트웨어 엔지니어링은 ‘배관 작업(plumbing)’ 에 가깝게 변질
    • 여러 시스템을 연결해 데이터가 흐르게 만드는 역할에 그침
    • Richard Hamming이 말한 ‘위대한 작업’, 즉 인류에 대한 선물을 만든다는 개념은 오늘날 기술 산업에서는 지나치게 이상적으로 받아들여짐
  • 다수의 대형 소프트웨어 시스템이 비대하고, 설계가 조악하며, 문서화가 부족한 상태
  • 사용자는 플랫폼이 점점 악화되는 ‘enshittification(품질 저하화)’ 과정에서 이용당하지 않기 위해 끊임없이 방어적 태세에 놓임
  • Jonathan Blow의 강연 소프트웨어 문명의 붕괴 방지 에서 제시된 관점에 공감
    • 전문 엔지니어와 대형 소프트웨어 기업이 일을 제대로 수행하는 방법 자체를 잊어버린 상태
  • 비경쟁적 독점 구조로 인해 시장 압력에서 보호받으며
    • 소프트웨어 관행은 느슨해지고
    • 조직은 비대해지며
    • 전반적인 품질은 크게 저하
  • 빅테크 엔지니어는 대규모 조직 안에서 극히 제한된 역할만 수행
    • 폭넓은 엔지니어링 역량과 장인정신이 자연스럽게 쇠퇴

인적 자본과 분업의 문제

  • 기업이나 사회가 컴퓨터로 무엇을 해낼 수 있는지는 인적 자본, 즉 폭넓은 기술을 갖춘 엔지니어를 얼마나 길러내는가에 달려 있음
  • 대형 기술 기업의 극단적인 분업 구조는
    • 특정 영역에만 익숙한 협소한 기술 인력을 양산
    • 현재의 빅테크 조직 구조 안에서만 기능할 수 있는 인력으로 고착

AI가 소프트웨어 엔지니어링에 위협이 된다는 두 가지 현상이 나타남

  • 1. AI 에이전트가 전문 소프트웨어 엔지니어링을 위협한다는 현실적 인식
    • 역할이 반복적이고 범위가 좁은 저품질 소프트웨어 생산으로 축소된 엔지니어에게
    • AI는 실제로 상당히 효과적인 대체재로 작동
  • 2. AI 에이전트의 능력에 대한 과도한 일반화

AI 에이전트의 근본적 한계

  • 위와 같은 주장이 성립하려면 소프트웨어가 무엇인지에 대한 극도로 편협한 관점이 전제됨
    • AI 생성 음악이 음악을 단순히 소비 지표로만 바라보는 시각을 요구하는 것과 동일
    • 소프트웨어를 목적 달성을 위한 도구로만 보고, “충분히 좋으면 된다” 는 태도
  • AI 에이전트를 직접 실험해본 결과, 분명히 유용한 면은 있으나 뚜렷한 한계가 존재
    • 사실이 아닌 내용을 그럴듯하게 말하고, 맥락을 제대로 이해하지 못하며, 품질이 낮은 코드를 자주 생성
    • 일부 영역에서는 개선이 이어질 수 있으나, 음악이나 텍스트와 마찬가지로 구조적인 한계가 분명함
  • AI 에이전트는 자율적인 사고를 갖지 않으며, 사용자가 무엇을 원하는지 스스로 파악하지 못함
  • 가장 잘 작동하는 경우는 문제가 명확하게 정의된 요청일 때
    • 예: “유닛 테스트 작성”, “이 형태의 DB 함수 구현”
  • 능력을 일반화하려는 시도는 대체로 실패
    • 새롭기는 하지만 유지·이해·확장이 어려운 괴물 같은 코드를 만들어내는 경우가 많음

“바이브 코딩(Vibe Coding)”의 문제점

  • 초기에는 인상적으로 보이지만, 시간이 지나며 고유한 결함이 두드러짐
    • 불필요하게 장황한 코드와 무성의한 스타일
    • 구조는 단순하지만 평면적이고 미적으로 빈약한 디자인
    • 반복적으로 드러나는 특유의 흔적이 점점 거슬리게 느껴짐
  • 문제가 발생하면 디버깅 과정이 좌절을 낳는 반복 작업으로 변함
    • 다른 영상을 보거나 SNS를 넘기며 무심코 코딩하다가
    • “버그가 있다, 다시 고쳐달라”는 요청을 에이전트에 계속 반복
  • AI 생성 코드에서 자주 보이는 특징
    • 과도하게 패딩된 버튼
    • 일관성 없는 간격과 색상
    • 전반적인 미적 평면성
    • 존재 이유가 불분명한 UI 요소
    • 모든 요소에 불필요한 레이블과 설명을 덧붙이는 경향

소프트웨어 산업의 체계적 문제와 장인 정신의 필요성

  • 대부분의 코드가 그다지 좋지 않다는 점은 부인하기 어렵고, 특히 대기업 환경에서 두드러짐
  • AI를 활용하면 품질이 낮은 소프트웨어를 더 빠르고 더 효율적으로 계속 생산할 수 있음
  • 그러나 AI는 소프트웨어 산업이 안고 있는 핵심적인 체계 문제를 해결하지 못함
    • 근본 문제는 대규모 환경에서 소프트웨어를 잘 만드는 방법 자체가 아직 정립되지 않았다는 점
    • 이 문제를 풀기 위해서는 자동화가 아니라 장인 정신과 인간의 비판적 사고가 요구됨

Arts and Crafts 운동과 소프트웨어의 유사성

  • 제2차 산업혁명 시기의 Arts and Crafts 운동에 주목
  • John Ruskin과 William Morris는 기계와 산업 생산의 놀라운 능력이 개인 장인을 밀어내던 시대에 대응
    • 산업 생산을 무조건 진보로 보지 않고, 그것이 만들어내는 결과물과 노동 조건에 고유한 ‘스타일’ 이 존재한다고 인식
    • 노동자가 점점 거대한 산업 기계의 부속품으로 전락하고 있음을 비판
    • 기계가 할 수 없는 영역이 분명히 존재하며, 그것은 당시에도 지금도 변하지 않았다고 지적
    • 영감의 원천으로 중세 장인 정신의 회복을 지향

소프트웨어에서 요구되는 유사한 전환

  • 소프트웨어 분야에서도 비슷한 전환과 운동이 필요
    • 초기 컴퓨팅 방식과 사유를 다시 연구하고 복원할 필요
  • 주류에서 외면받았지만 사라지지 않은 아이디어들의 풍부한 보물창고가 존재
    • 오늘날의 소프트웨어와는 다른 방식으로 인상적이고 아름다웠던 프로젝트들
  • 현재는 기술 발전의 매우 좁은 가지, 즉 C/Unix에서 Javascript/웹으로 이어진 경로 위에 머물러 있음
    • 그 밖에도 탐색할 영역은 훨씬 넓음
  • 조금만 비전통적인 방향으로 나아가도 AI의 도움은 거의 사라짐
    • Claude에게 Forth 작성을 시도했으나 방해에 가까운 결과를 경험
  • 출발점으로 Permacomputing 위키를 추천

AI 코드 시대의 전망

  • AI 코드는 저품질 대량 생산 소프트웨어를 더욱 흔하게 만들 가능성이 있음
  • 동시에 장인 정신과 창의적 표현을 회복하려는 엔지니어에게는 새로운 공간을 열어줄 수도 있음
  • 비관적이지는 않음: 장인 정신은 희소해질수록 그 자체로 더 큰 가치를 갖게 됨
  • 주류 소프트웨어가 한계를 드러내고, 소프트웨어 품질 저하가 이어지며, 정치적 문제의식으로 중앙집중 구조의 가치가 재검토되는 시점
    • 실험적이고, 인간이 만들고, 인간 규모로 운영되는 소프트웨어가 주변부에서 빛날 좋은 순간임

Read Entire Article