슬롭 시대의 품질
1 week ago
9
Maw 는 AI가 소프트웨어 공학의 미덕과 품질 구분을 삼킬 수 있다는 불안으로, “작동하는 코드/작동하지 않는 코드”만 남는 세계를 두려움의 핵심으로 만듦
ZAMM 은 오토바이 정비를 물리노동보다 관찰과 정밀한 사고로 보며, 결함 디버깅과 추상화 유지라는 점에서 소프트웨어 유지보수 와 같은 활동으로 읽힘
Pirsig의 Quality 는 낭만적 이해와 고전적 이해를 잇는 개념이며, 글쓰기·과학·수학에서도 형식 논리 밖의 판단이 방향을 정한다고 봄
AI 코딩 도구 논쟁은 오류나 환각 여부를 넘어, 인간이 작업과 동일시하고 코드의 좋고 나쁨을 판단하는 돌봄(caring) 을 잃는가에 걸려 있음
LLM은 검색 도구와 강화된 러버덕 으로는 유용하지만, 코드를 대신 쓰게 하면 작업과 자신 사이에 마찰층이 생기고 훌륭함을 추구하기 어려워진다는 결론으로 이어짐
AI 시대의 Maw와 소프트웨어 공학의 불안
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에 코드 작성을 맡기면 자신과 만드는 것 사이에 마찰층이 생기고, 일에 몰입하기가 어려워지며, 돌보기가 어려워짐
더 나은 세계는 사람들이 자신이 하는 일과 동일시하고 그 일을 훌륭하게 해내려는 세계이며, 세계를 개선하는 출발점은 먼저 자신의 마음과 머리와 손에 있음
Homepage
개발자
슬롭 시대의 품질
🔉 볼륨 줄이기
🔊 볼륨 키우기
🔇 음소거
⏭️ 다음 곡