18P by GN⁺ 17시간전 | ★ favorite | 댓글 1개
  • 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 코드는 저품질 대량 생산 소프트웨어를 더욱 흔하게 만들 가능성이 있음
  • 동시에 장인 정신과 창의적 표현을 회복하려는 엔지니어에게는 새로운 공간을 열어줄 수도 있음
  • 비관적이지는 않음: 장인 정신은 희소해질수록 그 자체로 더 큰 가치를 갖게 됨
  • 주류 소프트웨어가 한계를 드러내고, 소프트웨어 품질 저하가 이어지며, 정치적 문제의식으로 중앙집중 구조의 가치가 재검토되는 시점
    • 실험적이고, 인간이 만들고, 인간 규모로 운영되는 소프트웨어가 주변부에서 빛날 좋은 순간임
Hacker News 의견들
  • Jacques Ellul의 사상을 언급한 부분이 마음에 듦
    기술적 ‘진보’의 본질은 효율성을 최고의 가치로 승격시키는 데 있다는 점을 다시 생각하게 됨
    이 가치가 거의 도전받지 않은 채 받아들여진 것이 흥미로움. 하지만 여전히 다른 선택이 가능하다고 믿음

    • 효율성은 주주 수익을 극대화하는 최선의 방법조차 아님
      효율성은 본질적으로 적응력과 회복력을 희생시키는 특성이 있음
    • 효율성은 측정하기 쉬움. 그리고 측정 가능한 것이 곧 목표가 되어버림
      반면 장인정신, 세심함, 경이로움은 측정하기 어려움. 내가 쓰는 지표는 실제 사람들의 이메일인데, 이는 불규칙하고 예측 불가함
  • 코딩 에이전트를 통해서도 고품질 코드를 만들 수 있다고 생각함
    한 번의 프롬프트로 끝나는 게 아니라, 계획–구현–검증–리뷰의 조율된 과정이 필요함
    결국 여전히 엔지니어링 작업이며, 도구만 달라진 것임. 수동 톱과 전기톱의 차이처럼 결과는 같지만 과정이 다름

    • 현실적으로 LLM이 만든 코드는 수작업 코드와 거의 같지 않음. 품질이 몇 배로 떨어짐
    • 때로는 그냥 내가 직접 쓰는 게 더 빠름
    • 직접 그런 과정을 경험했는지, 참고할 만한 리소스가 있는지 궁금함
    • 실제 한계는 지연 시간과 추론 비용임. 전체 계획–검증 루프는 토큰을 많이 소모하고 흐름을 끊음
    • “고품질 코드”가 구체적으로 어떤 모습인지, 그리고 “코드가 중요하다”는 말의 의미가 궁금함
  • 엔터프라이즈 소프트웨어는 특히 사용하지 않는 관리자에게 팔리기 때문에 품질이 나쁨
    반면 소비자용 소프트웨어는 사용자가 직접 선택하므로 더 친절함
    자기 자신을 위해 코드를 쓸 때는 필요한 기능만 구현하므로 엉성하지만 잘 작동함
    코딩 에이전트는 프로젝트를 세척하는 고압 세척기처럼 쓸 수 있음. 예술은 아니지만 만족스러움
    다만 섬세한 코드에는 쓰면 안 됨. 하지만 대부분의 웹앱은 테스트가 잘 되어 있고, 이제는 수작업으로 할 이유가 거의 없음

    • 엔터프라이즈 소프트웨어가 나쁜 또 다른 이유는 고객이 각자 요구를 밀어붙이기 때문임
      그 결과 불필요한 기능과 토글이 넘쳐남
    • 관리자와 직원의 목표가 다름
      관리자는 데이터 정확성을 원하지만, 직원은 입력이 귀찮다고 불평함
      통합 예산이 없거나 단기 계약이라 CRM 연동도 못 하는 경우가 많음
    • 소비자용 소프트웨어는 종종 참여 극대화에 최적화되어 실제 가치나 기능성이 떨어짐
      반면 엔터프라이즈 소프트웨어는 지불자와 사용자의 인센티브 불일치 때문에 이상한 워크플로로 왜곡됨
  • 대부분의 소프트웨어 엔지니어는 AI 이전에도 장인정신보다는 급여와 효율에 집중했음
    그래서 AI가 만들어내는 코드도 그저 그런 코드일 뿐임

  • AI가 장인정신을 되살리는 게 아니라, 오히려 마지막 흔적을 없앨 것이라는 생각임

    • 새로운 기술은 기존 기술이나 장인정신을 없애지 않음. 단지 사용자와 용도를 바꿀 뿐임
      전동 공구가 수공예 목공을 없애지 않았듯, AI도 그럴 것임
      미래에는 “IDE 사람들”과 “에이전트 프롬프트 사람들”이 공존할 것임
    • “장인정신이 이미 사라지고 있다”는 전제 자체가 과도한 비관론
  • Forth 언급이 반가움. 자주 사용함
    LLM이 생성한 Forth 코드는 C를 번역한 듯한 나쁜 스타일
    표준 Forth는 짧고 명확해야 하지만, LLM은 중첩된 조건문으로 가득 찬 긴 코드를 만듦

  • 요즘 Turing’s Cathedral을 읽고 있음
    전후 미국의 공학적 장인정신을 새삼 깨닫게 됨
    지금은 모든 걸 당연하게 여기며 진짜 엔지니어링이 어떤 것이었는지 잊은 듯함

  • 대부분의 코드가 원래 형편없었음
    결과 중심 문화 속에서 품질은 뒷전이 되었고, 버그는 사업 비용의 일부가 되었음
    AI는 이런 환경에 완벽히 들어맞음. 이미 낮은 수준의 코드 문화 속에서 번성하고 있음

    • 이는 오프쇼어링의 다음 단계임. 기업은 장인정신보다 문제 해결만 원함
    • 나 역시 에이전트를 거부하는 입장이지만, “모든 코드가 형편없다”는 업계 분위기가 싫음
  • AI를 활용해 더 나은 소프트웨어를 만들 수 있다고 생각함
    AI가 생성한 코드에도 디자인, 패턴, 베스트 프랙티스를 반영할 수 있음
    이는 전통적인 기타 제작과 현대적 CNC 기반 기타 제작의 차이와 비슷함
    Ulrich Teuffel의 기타 제작 영상을 보면 기술과 예술이 공존함
    물론 장인정신은 비싸기 때문에 대부분은 산업 생산품을 선택함

    • 하지만 CNC는 사람이 직접 프로그래밍하지만, LLM은 확률적 도구
      대규모 프로젝트에 적용 중이지만, 장기적 결과는 아직 미지수임
    • 나는 목재와 금속 퍼즐 장인으로, LLM을 설계 보조 도구로 씀
      예전엔 직접 작성하던 알고리즘을 이제는 에이전트에게 맡김
      수동 밀링 대신 CNC를 쓰듯, 기술 스택을 발전시켜 더 높은 품질의 작품을 만듦
    • 글의 논리가 도구 선택과 제품 품질을 혼동함
      AI로 나쁜 소프트웨어를 싸게 만들 수 있다면 괜찮음
      중요한 건 좋은 소프트웨어의 비율이 늘어나는가임. AI는 그 가능성을 높임
  • AI는 소프트웨어를 ‘충분히 괜찮은’ 수준으로 최적화하는 환경에서 번성함
    훌륭한 엔지니어를 대체하기보다, 이미 기계적이고 지표 중심적인 산업 현실을 드러내고 있음
    대량 생산된 코드가 흔해질수록, 인간의 판단력과 미적 감각이 진짜 희소 자원이 될 것임