hji7***
2024-09-15

“인간의 생존을 위협하고 있는 건 AI가 아니라 인간 자신이다!” 2034년 미래 예측부터 인간의 욕망까지 기술과 철학을 넘나드는 인공지능 특강
우리나라 개발자라면, 특히 책을 읽는 개발자라면 익히 이름을 기억하고 있을 만한 "임백준"님의 저서입니다. 저는 임백준님이 번역했거나 쓰신 책을 13권 넘게 읽었는데요. 그렇게 보면 은연중에 "임백준"님의 팬이라고 할 수도 있을 것 같습니다. 제 기억에 "임백준"님의 책을 처음 접한 것은 <누워서 읽는 알고리즘>, <뉴욕의 프로그래머> 였던 것 같습니다. 십수년전 이었기 때문에 다른 기억은 가물해졌지만, '개발자가 뭐 이렇게 글을 잘쓰지?'라는 생각을 했던건 아직 기억에 남는 군요. 10년전, "나는 프로그래머다"라는 팟캐스트 방송도 전부 들었는데요. 사실 글만 잘쓰시는게 아니라 말도 잘하시는 개발자라는 점에서 정말 놀라웠습니다.
<AI 트루스>도 정말 맛깔나게 잘쓰신것 같습니다. 책을 다 읽을 때까지 손에서 책을 놓을 수 없었거든요.
1장은 소설 형식으로 시작하고 있습니다. 점차 일자리가 사라져갈 것 같다는 개발자들의 불안감을 소설로 표현하신 것 같더군요. 인공지능이 결국은 개발자들의 일을 가져갈 거라는 예측이 난무하는 세상이니까요.
2장 부터는 인공지능이 어떻게 발전해 왔는지 어떤 역사를 가지고 있는지 맛깔나게 설명하고 있습니다. 그리고 우리가 가진 불안감에 대해서 일단 정리 해주십니다.
이렇게 사람을 닮은 휴머노이드 로봇은 결국 벽에 드리워진 사람의 그림자다.
그림자는 스스로 생각하거나 상상하지 않는다.
사람이 생각하고 상상한다.
본문 94~95 페이지
개발자들의 일에 지닌 진짜 가치는 "문제 해결"이지 "코딩"이 아니라 주장하십니다. (145 페이지) 게다가 현재 가장 잘나가는 인공지능들이 소프트웨어 개발을 위한 코딩에 그다지 성공적이지 못하다는 측정결과(SWE-bench 실험)도 언급되네요.
그렇다면 개발자들은 안전할까요? 이 부분에 대해서 임백준님의 정리는 다음과 같습니다.
당신을 대체하는 것은 인공지능이 아니라 인공지능을 활용하는 다른 사람이다.
206 페이지
그저 그런 개발자보다 많게는 25배까지 높은 생산성을 보이던 사람은
인공지능 도구를 장착한 후 생산성이 더 높아져 다른 개발자보다 50배, 100배 더 높은 생산성을 보이게 될 수 있다.
227 페이지
그후 임백준님은 이런 현상이 다분히 소프트웨어 개발이라는 직업에만 국한 된것이 아님을 지적합니다. 그리고 모든 역량이 소수 엘리트 집단에 집중되는 현상이 발생할 것이므로 다순히 몇몇 개인이나 기업의 차원보다 국가의 대비가 절실함을 주장하고 있습니다.
오랜 동안 IT 업계에서 지식적인 면에 선두에 계셨던 분이시기 때문에 AI 분야에 대해서도 정확한 안목으로 이야기를 풀어주신것 같아 책 읽는 내내 재미있었습니다.
저는 AI가 펼칠 미래에 대해 이야기가 나올 때마다 켄타로 토야마의 <기술중독사회>를 인용합니다. 켄타로 토야마는 이 책에서 "기술은 가교가 아니라 기중기이다"라고 말했는데요. 기술이 우리를 미래로 연결해주는 주체인 가교로 역할하는게 아니라, 우리가 미래로 나아갈 때 우리의 도구가 되어 역할을 할 것이라고 주장하는 것입니다.
따라서 AI도 가교가 아니라 기중기라고 보는게 맞다고 생각했습니다. 즉, AI를 누가 어떻게 쓰냐가 더 중요한 것이고, 그런 맥락에서 AI를 잘 사용하는 개발자들이 그렇지 못한 개발자들의 일자리를 위협하게 될 거라는 임백준님의 예측에 동의 합니다.
또한 소프트웨어 개발자의 작업에서 "코딩"이 전부라고 생각하는 사람들은 AI가 코딩을 하기 시작하면 그리고 언젠가는 더 잘하게 될 테니까 개발자직업이 AI로 인해 사라질 거라고 주장하는 사람이 있는데요. <AI 트루스>에서 임백준님은 그렇지 않다고 말씀하고 계십니다.
이 부분에 대해서는 저도 첨언하고 싶은게 있는데요. 프레드릭 브룩스의 <맨먼스 미신>입니다. 브룩스는 1995년에 출판된 <맨먼스 미신 20 주년 증보판>에서 "은총알은 없다"라는 개념을 설명하기 위해, 소프트웨어 개발은 "본질적 작업 (essential task)"와 "부차적작업(accideental task)"로 나뉜다고 주장합니다. 본질적 작업은 프로젝트를 진행하면서 명확하게 볼 수 없는 일들인데요. 소프트웨어의 "추상적인 개념 구조"를 만드는 작업이 이에 해당합니다. 부차적작업은 프로젝트를 진행하며 눈에 보이는 것들입니다. 예를 들어 프로그래밍 언어 난이도, 하드웨어 사양 같은 것들이죠. 일반적으로 코딩 작업을 개선하기 위해서 하는 일은 "부차적 작업"을 잘 하게 하는 것이죠. 그리고 부차적 작업의 결과는 코드이고요. 인공지능은 코드를 가져다가 학습하죠. 다시말해서 인공지능이 학습한 결과는 부차적 작업에 도움을 줄 수 있는 무언가가 되는 것이죠.
브룩스가 "은총알은 없다"라고 주장한 것은 부차적작업을 개선하더라도 소프트웨어 개발에 어려움을 주는 건 모두 본질적 작업에 있기 때문입니다. 임백준님은 본질적작업에 대해 "요구사항 분석, 시스템 설계, 테스트, 유지 보수에 이르는 소프트웨어 전체 과정", "소프트웨어 프로젝트 전체를 다루는 일"이라고 표현하고 계시더군요. (185 페이지)
그럼 본질적작업을 잘할 수 있는 방법은 무얼까요? 애자일 선언 당사자 중 "실용주의자"로 참여했던 앤디 헌트는 <실용주의 사고와 학습>이라는 책에서 짝프로그래밍을 R모드개발과 L모드개발로 설명했습니다. 짝프로그래밍은 코드를 직접타이핑하는 드라이버 역할을 하는 개발자와 코드의 방향성과 '프로젝트 전반'을 코드에 녹여 넣는 역할을 하는 네비게이터 역할의 개발자 둘이서 함께 소프트웨어 개발을 하는 작업인데요. 이때 드라이버가 L모드 두뇌 작동 모드를 사용하고 네비게이터가 R모드 두뇌 작동모드를 사용한다고 정의한 것입니다.
<지구촌>이라는 책에서 마샬 맥루한은 R모드 지식을 "동양적"지식 체계로 묘사한 적도 있는데요. L모드는 언어적이고 측정가능한 순차적 논리를 따르는 지식을 다룬다면, R모드는 시공감각적이고 상황 전체를 아우르는 지식을 다루는 것이죠.
짝프로그래밍으로 개발할 경우 코딩 시간은 조금 늦어지지만 코드의 퀄리티가 나아지기 때문에 결과적으로는 각자 작업을 할때보다 우월한 코드 결과를 만들어내게 된다고 합니다. L모드의 결과물인 코드는 인공지능이 학습하는 재료가 되고 인공지능이 극단적으로 발전하면 L모드의 작업은 대체할지도 모릅니다. 하지만 R모드의 작업은 결과물이 불분명하고 인공지능이 가져다 학습할 수 없습니다. 그렇다면 인공지능이 발전한 미래에 살아남는 개발자는 R모드의 역할, 짝프로그래밍에서 네비게이터가 하는 역할을 잘하는 개발자가 될 겁니다.
이 부분에 대해 임백준님의 언급은 고무적입니다. 역자로 활동하셨던 <코딩호러가 들려주는 진짜 소프트웨어 개발 이야기>의 제프 아트우드(엣우드)의 글을 인용하셨더군요.
정말로 프로그래밍이 견딜 수 없을 만큼 좋아서 하는 사람이 아니라면 개발을 계속 할지 여부를 생각해보라는 것이다.
본문 226 페이지
코딩의 기계적인 활동인 L모드 드라이버 역할만으로 만족을 하는 개발자는 어쩌면 코딩을 좋아하는 사람이 아닐지도 모릅니다. <경영의 실제>에서 피터드러커가 언급한 세명의 석공중에 '직업적 석공'에 해당하는 사람일지도 모르죠. 하지만 그런 개발자의 실력은 인공지능이 대체 가능한 실력입니다.
코딩이라는 일 자체에서 보람과 기쁨을 느끼는 개발자라야 미래에도 살아남을 개발자가 아닐까 싶네요. 브룩스는 <맨먼스 미신> 에필로그에서 다음과 같은 이야기를 했습니다.
"열정 때문에 공짜로라도 기꺼이 추구할 일을 생업으로 삼도록 신이 주신 특권을 누릴 수 있는 사람은 극소수에 불과하다. 저자는 매우 감사드린다."
어쩌면, 사랑하는 만큼 지식노동분야에서 생존하는 시간도 길어지는게 아닌가 하는 생각을 할 수 있었습니다.
"한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."