슬롭 시대의 품질

1 week ago 9
  • Maw는 AI가 소프트웨어 공학의 미덕과 품질 구분을 삼킬 수 있다는 불안으로, “작동하는 코드/작동하지 않는 코드”만 남는 세계를 두려움의 핵심으로 만듦
  • ZAMM은 오토바이 정비를 물리노동보다 관찰과 정밀한 사고로 보며, 결함 디버깅과 추상화 유지라는 점에서 소프트웨어 유지보수와 같은 활동으로 읽힘
  • Pirsig의 Quality는 낭만적 이해와 고전적 이해를 잇는 개념이며, 글쓰기·과학·수학에서도 형식 논리 밖의 판단이 방향을 정한다고 봄
  • AI 코딩 도구 논쟁은 오류나 환각 여부를 넘어, 인간이 작업과 동일시하고 코드의 좋고 나쁨을 판단하는 돌봄(caring) 을 잃는가에 걸려 있음
  • LLM은 검색 도구와 강화된 러버덕으로는 유용하지만, 코드를 대신 쓰게 하면 작업과 자신 사이에 마찰층이 생기고 훌륭함을 추구하기 어려워진다는 결론으로 이어짐

AI 시대의 Maw와 소프트웨어 공학의 불안

  • Maw는 기술 산업 한가운데 열린 허무주의의 구덩이로, Hacker News 같은 링크 집계 사이트에 공유되는 블로그 글의 약 63%가 명시적이거나 암묵적으로 다루는 주제로 그려짐
  • 최근의 불안은 “Do I Belong in Tech Anymore?”, “The Future of Everything is Lies, I Guess.”, “I Think I’m Done Thinking About Gen AI for Now,” 같은 글로 이어짐
  • 소프트웨어 엔지니어는 새 기술을 피하는 집단으로 알려져 있지 않지만, 선형대수가 소프트웨어를 쓰게 하는 일의 함의를 불편해하며 그동안 당연하게 여겼던 가치를 방어할 이유를 찾고 있음
  • AI가 함수 본문 전체를 읽을 수 있고 곧 인간이 코드를 읽지 않을 것이라면 함수 이름의 정확성이 왜 중요한가라는 반응은, 소프트웨어 공학의 축적된 지혜가 더는 유효하지 않다는 결론으로 이어짐
  • 가장 큰 두려움은 좋은 코드와 나쁜 코드의 차이가 사라지고, 아름답고 훌륭하고 덕이 있으며 재미있는 코드 대신 작동 여부만 남는 세계임

ZAMM을 소프트웨어 유지보수로 읽기

  • Robert M. Pirsig의 1974년 베스트셀러 Zen and the Art of Motorcycle Maintenance는 오토바이 정비만큼이나 프로그래밍에 관한 책으로 읽힘
  • ZAMM은 정비사의 일이 물리노동보다 “주의 깊은 관찰과 정밀한 사고”에 훨씬 더 가깝다고 보며, 결함 있는 오토바이를 고치는 과정은 시작되지 않는 엔진이나 데드락에 빠지는 웹 서비스를 디버깅하는 일과 같은 구조를 가짐
  • 프로그래머와 정비사는 모두 머릿속에서 흔들리는 추상화의 탑을 붙잡아야 진전을 만들 수 있음
  • ZAMM의 직접적인 물리 정비 조언은 양쪽에 의자를 두면 허리를 보호할 수 있다는 말과 정밀 부품을 조심히 다루라는 말 정도이며, 나머지는 정비사의 마음가짐에 관한 내용이라 프로그래밍에도 적용됨
  • “gumption trap”은 유지보수 중 의지력의 큰 부분을 한꺼번에 소모하는 사건이며, 소프트웨어에서는 재현 불가 문제, Heisenbug, 예상보다 오래 걸리는 작업에서 생기는 조급함과 지름길의 유혹으로 나타남
  • Pirsig는 컴퓨터와도 가까웠고, Smithsonian에는 그의 1966 Honda Super Hawk 오토바이와 Apple II가 함께 전시되어 있으며, Apple II에는 확장 카드 7장이 꽂혀 있음
  • Apple II는 ZAMM 출간 뒤인 1977년에 출시됐지만, Pirsig는 그 전에도 Honeywell에서 기술문서 작성자로 일했고 ZAMM에는 회로와 디지털 컴퓨터 매뉴얼 비유가 여럿 나옴

Quality: 낭만과 고전을 잇는 축

  • ZAMM의 핵심은 대문자 Q의 품질(Quality)이며, 오토바이 정비는 그 개념으로 들어가는 입구 역할을 함
  • Pirsig와 동행자 John은 오토바이에 서로 다른 태도를 보임
    • John은 가장 신뢰할 만한 독일제 BMW를 사서 스스로 정비하는 번거롭고 보기 싫은 일을 피하려 함
    • Pirsig는 오토바이의 내부 작동에 아름다움이 있으며, 그 방식을 이해하지 않으려는 태도를 비실용적으로 봄
  • John의 태도는 감정과 즉각적 인상에 관한 낭만적 이해를, Pirsig의 태도는 underlying form과 논리적 추상화에 관한 고전적 이해를 나타냄
  • Pirsig는 1960~70년대의 많은 사람이 기술을 적대적이고 통제적이며 “square”하다고 느꼈고, 사회와 기술이 고전적 이해에 지나치게 지배되면서 두 이해 방식이 갈라졌다고 봄
  • 수사학 강의에서 은유, 병렬법, 두운 같은 장치를 가르쳐도 좋은 글과 나쁜 글을 설명하기에 충분하지 않았고, 학생들은 장치의 이름을 모르거나 글을 잘 쓰지 못해도 좋은 글과 나쁜 글을 어느 정도 구별할 수 있었음
  • Pirsig가 말하는 Quality는 모두가 알아볼 수 있지만 형식적으로 정의할 수 없는 것이며, 낭만적 이해와 고전적 이해를 하나로 묶는 개념임
  • Pirsig의 형이상학에서 어떤 글, 오토바이, 경험이 높은 Quality인지 낮은 Quality인지는 측정할 수 없으므로 객관적이지 않지만, Quality가 주체를 만든다고 보므로 단순히 주관적이지도 않음

과학과 수학 안의 품질 판단

  • Pirsig는 과학과 수학이 각자의 영역 안에서는 일관되고 논리적이지만, 그 토대와 주변부에는 Quality 판단이 있다고 봄
  • 기하학에서는 공리를 정한 뒤에는 확실한 연역이 가능하지만, 다른 공리를 고르면 다른 기하학이 나오며 어떤 공리가 더 “맞는가”는 취향과 목적 적합성에 가까움
  • 과학에서는 가설이 생긴 뒤 과학적 방법이 다음 단계를 알려주지만, 가능한 무수한 가설 중 무엇을 고를지는 정해진 방법이 없는 예술에 가까움
  • Henri Poincaré는 지식의 최전선에 있는 수학자나 과학자가 기존 법칙에서 도출되는 많은 가능성 중 하나를 선택해야 하며, 그 선택을 이끄는 규칙은 너무 섬세해 정확히 말하기 어렵고 공식화보다 느껴야 한다고 말함
  • Occam’s Razor도 더 단순한 이론을 택하라는 원리이지만, 불필요한 설명을 배제한다는 판단은 끝까지 미학적 판단이자 Quality 판단으로 제시됨
  • “과학과 그 자식인 기술은 가치 중립, 곧 quality-free”라는 격률은 버려야 하며, Quality에 대한 인상은 지식의 기차가 어디로 가야 할지 알려주는 선두부 역할을 함

AI 코딩 도구에 대한 유보

  • AI 비판은 에이전트형 프로그래밍 도구가 실제로 약속한 일을 할 수 있는지에 집중하는 경우가 많고, 코드베이스를 망치거나 존재하지 않는 라이브러리 함수를 환각하는 예가 자주 등장함
  • 현재 AI 도구가 자주 실수한다는 점을 인정하더라도, 효과성 논쟁은 핵심에서 벗어날 수 있음
  • 많은 엔지니어는 에이전트형 도구가 광고한 대로 작동하더라도 쓰고 싶어 하지 않을 수 있음
  • “I Think I’m Done Thinking about Gen AI for Now,”는 생성 AI의 미학적 속성 대부분이 매우 불쾌하다고 말하며, 무료이고 모든 의미에서 공짜인 마법 로봇이 대체로 작동하는 코드를 내놓더라도 쓰지 않겠다고 결론냄
  • 누군가 코딩 에이전트 사용 시 프로그래머가 하루에 50% 더 많은 코드 줄을 만든다는 연구를 가져오더라도, 그 추가 코드가 왜 중요한지, 훌륭함의 역량을 줄일 만큼 가치 있는 목적을 섬기는지, 이미 즐거움을 주지 못하는 소프트웨어 제품에 설익은 기능을 더 밀어 넣는 것인지 물을 수 있음

돌봄, 동일시, 좋은 코드

  • Pirsig는 현대 기술의 문제가 고전적인 주체-객체 방식에 지나치게 지배된 데 있다고 봄
  • 소비자 제품 매뉴얼은 그릴, 잔디깎이, 식기세척기, 컴퓨터가 사용자와 관계를 맺지 않고 사용자가 단지 그것을 조작할 뿐이라는 생각을 전달하며, 무엇이 좋은 굽기·잔디깎기·컴퓨팅인지는 가장 중요한 부분인데도 당연한 것으로 처리함
  • Pirsig에게 좋은 기술 작업은 기술자가 자기 일과 동일시하고 기계와 자신 사이의 소외를 허용하지 않는 데서 시작함
  • 돌봄은 자신이 하는 일과 동일시하는 감각이며, 이 감각이 있을 때 Quality 판단을 할 위치가 생김
  • 순간순간 기계에 대해 고려할 수 있는 사실과 따라갈 수 있는 대안은 수천 가지이고, 고전적 방식만으로는 모두 동등하게 타당할 수 있으므로 “작업의 품질에 대한 감각”과 “좋은 것에 대한 감각”이 앞으로 나아가게 만듦
  • LLM은 검색 도구와 강화된 러버덕 파트너로는 매우 유용하지만, LLM이 작동 방식의 핵심에 무작위성을 갖고 있고 사용자가 따라잡기 어려울 만큼 더 많은 코드를 생산할 수 있다는 점은 코딩 위임을 다르게 만듦
  • LLM에 코드 작성을 맡기면 자신과 만드는 것 사이에 마찰층이 생기고, 일에 몰입하기가 어려워지며, 돌보기가 어려워짐
  • 더 나은 세계는 사람들이 자신이 하는 일과 동일시하고 그 일을 훌륭하게 해내려는 세계이며, 세계를 개선하는 출발점은 먼저 자신의 마음과 머리와 손에 있음
Read Entire Article