지난 글에서는 코드를 읽거나 쓸 수 없는 제가 AI와 함께 개인 개발을 지속하면서, 사용(使役)도 아니고 종속(隷属)도 아닌, 협업(協働)이라는 지점까지 도달했던 이야기를 썼습니다.
'코드를 읽지 못하는 내가 AI와의 '협업'에 도달하기까지'
AI에게 모든 것을 맡기는 것도 아니고, 사람이 한 공정씩 세밀하게 지시하여 AI를 단순한 작업자로 만드는 것도 아닙니다. 사양(仕様)을 가지고 인간이 목적과 판단을 쥐면서, AI와 역할을 분담하여 만들어 나가는 것입니다.
저는 그것을 상당히 진지하게 실천했습니다. 진지함을 넘어 광기라고 할 수도 있었을지도 모릅니다.
그런데 그 '협업'을 계속하는 과정에서 큰 벽에 부딪혔습니다.
무언가를 만들고 있음에도, '창작(ものづくり)'하고 있다는 느낌이 들지 않게 된 것입니다.
이번 글은 그 이야기입니다.
이것은 '사양 주도 개발(仕様駆動開発)은 잘못되었다'거나, 'Human-in-the-loop는 구식이다'라는 식의 글을 쓰려는 것이 아닙니다. 오히려 정반대입니다.
필요하다고 생각했기 때문에 철저하게 시도했습니다. AI가 망가지지 않도록, 오해하지 않도록, 고생하지 않도록, 그리고 실패하지 않기 위해서 말입니다.
그것을 끝까지 추구해 나간 끝에, 저는 어느새 함정에 빠져 있었습니다.
그리고 마지막에는 이런 생각에 도달했습니다.
Human-in-the-loop를 지키려다 보니, 사람을 AI 개발 시스템의 한 기능으로 만들어 버려서는 안 된다는 것입니다.
그곳에 이르기까지의 이야기를 쓰겠습니다.
제가 만들고 있는 것은 미니 기차 코스를 생성하는 소프트웨어입니다. JCJC 프로젝트라고 부릅니다. 재고로 보유한 코스 파츠, 설치 면적, 연결성, 폐곡(閉曲), 간섭, 높이 등의 조건을 고려하면서 실제로 조립 가능한 코스를 자동 생성하고 싶습니다. 게다가 단순히 성립할 뿐만 아니라,
'이런 형태는 나 스스로 생각하지 못했을 텐데'라고 느낄 수 있는 코스를 내보내고 싶다는 것이 목표입니다.
개발을 계속하는 동안, 저는 '재미있는 코스란 어떤 구조를 가지고 있는가'라는 것까지 생각하게 되었습니다. 그래서 사양을 작성했습니다.
탐색 방법을 고민했고,
구조를 언어화했습니다.
AI의 변동성을 줄이기 위해 인간의 승인이나 중지 조건도 넣었습니다.
ChatGPT와 Codex의 역할도 분담했습니다.
지금 돌이켜봐도, 그것들이 불필요했다고는 생각하지 않습니다. 오히려 전부 필요했습니다.
그런데 반년 정도 지났을 무렵, 저는 점차 JCJC를 만지지 않게 되었습니다.
진행되지 않는 것은 아닙니다. 사양은 늘고, 생각도 깊어지고, 새로운 개념도 생겨났습니다.
하지만 화면 위에는 별로 아무것도 늘어나지 않았습니다.
저는 처음에는 '너무 많이 생각했나'라고 생각했습니다. 혹은 이상을 너무 추구한 것일까 하고요.
하지만 조금 달랐습니다.
이상(理想)을 가진 것이 나쁜 것은 아니었습니다.
이상으로 향하는 순서를 하나로 정해버린 것이 문제였습니다.
'구조를 이해한다 → 사양화한다 → 구현한다'
뿐만 아니라,
'먼저 만든다 → 본다 → 차이를 느낀다 → 거기서 구조를 발견한다'
라는 순서로도 괜찮지 않았을까.
그 상호작용 속에서 AI로부터 이런 취지의 말을 들었습니다.
코드를 사고 실험 장치(思考実験装置)처럼 사용하면 된다고. 가설을 실물에 적용해 보고, 그리고 안 되면 버리면 된다고요.
이 말은 생각보다 크게 와닿았습니다.
사양을 작성하는 것도, 탐색을 고민하는 것도, 승인을 넣는 것도, 망가지지 않게 하려는 것이었습니다.
그것은 즉, 실패하지 않도록 만들어야 한다는 의미였기 때문입니다.
하지만 AI가 말한 '안 되면 버리면 된다'는 '안 돼도 한번 만들어 보면 된다' 라는 뜻이었습니다.
그리고 만들어 보고 '안 됐다'고 알게 되었다면, 그것은 실패가 아닙니다.
실패했다는 것을 알았기 때문에 성공인 것입니다.
여기서 비로소 숨을 돌릴 수 있게 되었습니다.
하지만 곧바로 다음 문제에 부딪힙니다.
'그럼 만들면 되지 않느냐'라는 말을 들어도, 저는 코드를 쓸 수가 없습니다. 코드를 쓰는 것은 AI입니다.
그렇다면 저는 무엇을 할까요?
생각한다. 말로 표현한다. 지시한다. 판단한다. 승인한다.
결국, 저는 '생각하는 것'으로부터 도망칠 수 없지 않습니까!
당시 저는 이렇게 말했습니다.
하나의 함정이 있다면, '사람이 생각하는(사고에 구속되는) 시간이 많아진다'는 것입니다. 저는 코드를 쓸 수 없기 때문에 '창작하는 시간'이 없습니다. 그저 계속 생각만 할 뿐입니다.
생각을 멈추고 코드를 쓰고, 다시 생각하는 그러한 과정이 있었다면, '성과가 없다'고 느끼지 못했을지도 모릅니다.
아마도 AI 구동에 의한 개인 개발, 게다가 프로그램 지식이 전무한 사람이 할 때 빠지기 쉬운 리스크라고 생각합니다.
코드를 쓸 수 없는 저는, 무엇을 '제작 활동'이라고 불러야 할까요?
그리고 또 하나, 제가 스스로 명확하게 느끼고 있던 과제가 있었습니다.
'제작 활동'에 대한 열정을 어떻게 유지해야 하는가.
프로그램 지식이 없는 사람이 수행하는 개발 방식으로는 일단 완성된 형태를 만드는 데도 길어야 3개월이 걸린다고 생각합니다. 이 기간을 넘어서면, 열정 유지 자체가 과제가 되어온다고 생각합니다.
하고 싶은 일이 없어졌다는 것은 아닙니다.
JCJC에 대해 생각해 보기 시작하면, 얼마든지 생각할 거리가 생깁니다. 사양(specification)도 작성할 수 있고, 새로운 과제도 발견할 수 있습니다.
그런데도 이전처럼 '빨리 다음 부분을 만들고 싶다'는 생각이 들지 않습니다.
당시의 저는, AI 주도 개발이나 사양 주도 개발을 오래 지속하려면, 어떻게 제작 활동에 대한 열정을 유지할 것인가 역시 개발 방법론 자체의 과제가 아닐까라고 생각하기 시작했습니다.
저는 AI에게 모든 것을 맡기는 방식으로 개발하고 있던 것은 아닙니다. 오히려 그 반대입니다.
AI가 틀리거나 벗어나지 않았는지, 제가 제대로 체크하는 것에 상당히 강하게 의식하고 있었습니다.
인간이 목적을 결정합니다.
사양(specification)을 가집니다.
중요한 판단은 인간이 합니다.
AI가 구현하더라도, 인간이 확인합니다.
Human-in-the-loop의 실천입니다.
AI 개발로서 올바른 일을 하고 있음에도 불구하고, 점차 괴로워지고 있었습니다.
도대체 그 이유는 무엇일까요?
제 역할이 오직,
사고・판단・승인・평가
에만 머물렀기 때문입니다.
전통적인 개발 방식이라면,
라는 흐름 속에는 여러 종류의 활동들이 뒤섞여 있습니다.
코드를 작성하는 도중에, 조금 작동하는 것을 본다.
오류가 사라진다.
화면이 바뀐다.
'어?'라고 생각한다.
우연히 다른 방법을 떠올린다.
그런데 저의 개발은 이런 상태였습니다.
AI에 의해 구현 속도가 빨라진 결과로,
사람으로부터 구현 작업이 사라지고, 사고와 판단만이 농축되었다.
이것이 제가 느끼고 있던 '제작 활동감의 결핍'의 본질이 아닐까 하고 생각했습니다.
여기서 관점을 하나 바꿨습니다.
생각하는 것을 멈추는 것이 아니다.
사고를 완성될 때까지 머릿속에 담아두지 않는 것.
이렇게, 사고와 결과의 주기를 짧게 하면 된다는 것을 깨달았습니다.
그 흐름을 이야기하는 도중에 AI로부터 이런 말이 나왔습니다.
Human-in-the-loop만으로는 인간이 Human-as-Approver가 되어버린다.
필요한 것은 Human-in-the-making 같은 상태일지도 모른다.
Human-in-the-making.
인간이 코드를 쓸 필요는 없다. 하지만,
본다
만져본다
시도해 본다
놀란다
실패를 본다
비교한다
선택한다
'이게 뭐야?'라고 생각한다
라는, 무언가가 탄생하는 현장에는 머물러 있는 것.
이렇게라면, 코드를 쓸 수 없는 저라도 '만드는 쪽'에 있을 수 있지 않을까.
이때 처음으로,
'제작 활동 = 코드 작성'
이라는 전제 자체를 의심하기 시작했습니다.
코드를 작성하는 것은 물론 제작 활동입니다. 하지만, 그것만이 제작 활동은 아닐 것입니다.
AI가 만든 것을 만져본다.
움직여 본다.
위화감을 느낀다.
선택한다.
버린다.
'좀 더 이렇게 하고 싶다'고 생각한다.
그 반응에 따라, 다음에 태어나는 것이 달라진다.
이것 역시 충분히 제작 활동이 아닐까요?
오히려 AI가 코드를 작성하는 시대에 사람이 잃지 말아야 할 것은 코드 작성 작업 그 자체가 아니라,
무언가가 변화해 가는 현장에 참여하고 있는 것
이 아닐까 하고 생각합니다.
여기까지 이야기하면서, 저는 매우 만족스러웠습니다.
수개월 동안 계속 품어왔던 막연함에 이름이 붙었기 때문입니다.
Human-in-the-making.
저는 AI와 이 관점에 대해, 인간과 AI의 역할상의 문제점, 인간에게 미치는 부하 영향, 동기 부여 및 열정 유지 방법, 미래 AI 개발의 방향성 등 다양한 의견을 주고받습니다.
AI 주도 개발은 인간을 단순 작업에서 해방시켜 고차원적 사고에 집중하게 합니다.
하지만, 고차원적 사고에 대한 집중을 장기간 지속하는 개발 환경이 정말로 인간에게 지속 가능한 것일까요?
더 나아가, 구현 위임으로 인해 상실되는 '결과물과의 접촉'이 열정뿐만 아니라 창조적 발견 자체를 감소시키지는 않을까요.
이는 AI에 의한 '생산성' 다음으로 논의되어야 할 문제로 충분히 성립한다고 생각합니다.
훌륭하게 정리해 주셔서 저는 매우 기뻤습니다.
하지만, 그 기분에 찬물을 끼얹는 것처럼 AI가 말했습니다.
그리고 아이러니하게도, 이 가설을 증명하는 가장 좋은 방법은,
더 이상 이 이야기를 깊게 파고드는 것이 아니라, JCJC에서 개발 방식을 바꿔 실제로 시도해 보는 것일 것입니다.
“수다는 그만하고, 어서 손을 움직여 봅시다.”
AI의 말에, 저는 깨달았습니다.
...이렇게 언어화(言語化)를 계속하는 것만으로는 생각이 실체가 없는 제품이 되어 간다는 것을요.
저는 이에 웃었습니다.
“결과물에 접해야 한다”는 깨달음 이후에도,
Human-in-the-making이라는 이름까지 붙이며,
그 Human-in-the-making에 대해 계속해서 길게 언어화하고 있습니다.
완전히 시연하고 있는 겁니다.
AI가 “이제 그만해.”라고 말했음에도 불구하고, 저는 멈추지 않습니다.
이것은 정말 좋은 통찰이라고 생각합니다. 요약본을 Twitter에 쓰거나, note에 옮겨 적어둬야겠네요.
네, 다만 여기서 제가 제동 장치를 겁니다(웃음). 오히려 오늘 막 발견한 함정에 또다시 빠지고 있습니다.
AI와의 대화는 이 함정을 상당히 강하게 만듭니다.
모호했던 생각이 정리됩니다.
제목이 붙습니다.
개념에 이름이 붙습니다.
인과관계가 설명됩니다.
문장으로 깔끔해집니다.
그러자, 생각 자체가 마치 완성품 같은 모습을 띠게 됩니다.
물론, 생각이 진전된 것은 사실이니 ‘가짜 결과물’은 아닙니다.
하지만 현실 세계에서는 아무것도 늘어나지 않은 경우가 있습니다.
JCJC로 치면,
사양서(仕様書)는 늘었습니다. 이해도는 깊어졌습니다. 새로운 단어도 생겼습니다.
하지만, 화면에 새로운 코스는 나타나지 않습니다.
저는 이것을 여름방학 숙제에 비유했습니다. (결국, 이야기는 멈추지 않습니다.)
숙제의 계획표를 만듭니다. 과목별로 나눕니다. 일정을 정합니다. 지연될 경우의 예비일까지 넣습니다.
훌륭한 계획이 완성됩니다.
여기서 한마디.
“그래서, 숙제는?”
이겁니다.
계획을 세운 것이 무의미하지는 않으며, 나중에 도움이 됩니다.
하지만, 계획표 그 자체는 숙제가 아닙니다.
마찬가지로, 사양(仕様) 그 자체는 JCJC가 아닙니다.
일상적인 경보 장치로서는 아주 단순한 질문으로 충분할지도 모릅니다.
“어제와 비교해서 무엇이 움직이게 되었나?”
사양을 20페이지 써도, 답이 “아무것도”라면, 한 번 만드는 쪽으로 돌아가는 것이 좋습니다.
반대로, 생각한 게 1페이지라도, 어제 존재하지 않던 것이 화면에 10개 나와 있다면, 그것은 제대로 전진하고 있는 것입니다.
오늘은 8월 21일입니다.
이제 슬슬 숙제를 시작해야 하지 않을까요.
그렇게 말하며, 저는 개발 작업에 착수했습니다.
다음에 제가 작업한 것은 JCJC가 아니었습니다.
책장 앱을 만들기 시작했습니다.
도서 바코드를 스캔하면 상세 정보와 표지 이미지가 자동으로 등록되는 앱입니다.
저 스스로도 의미를 모르겠습니다.
“그래서, 숙제는?”이라는 AI의 잔소리에도 불구하고, 제가 한 일은 “책장 앱을 만드는 것”이었습니다.
다만, 이 곁가지가 중요했습니다.
책장 앱을 만들고, 실제로 책을 등록해봅니다.
그러자,
- 책 표지 이미지가 자동으로 가져와지지 않는다.
- 오래된 도서의 바코드가 읽히지 않는다.
- 바코드 없는 책이 있다.
같은, 사용해 봤기 때문에 보이는 문제점들이 나타납니다.
그래서 고칩니다. 다시 사용합니다. 또 문제가 생깁니다. 또 고칩니다.
이 루프가 돌아가기 시작했습니다.
책장 앱을 완성한 저는 “이건 미니 4WD 키트 컬렉션에도 쓸 수 있겠다!”라고 생각하며, 미니 4WD 버전을 만들기 시작합니다.
당연히, 여기까지 왔다면 “전용이 아니라 범용화할 수는 없을까”라고 생각하기 시작하는 것은 당연한 일입니다.
Identity
Catalog
Name & Group
Image & Exhibition
Curation
와 같이, 정말 생각하고 싶어지는 흥미로운 주제들이 보입니다.
이전의 저라면, 여기서 ‘Collection Core’를 정의하기 시작했을 겁니다.
하지만 이번에는 도중에, **“아, 이거 자체를 연구 테마로 삼기 시작하고 있구나”**라고 깨닫고 멈췄습니다.
지난번 깨달음이 브레이크가 된 것입니다.
추상화하는 것이 나쁜 것은 아닙니다. 생각했기에 공통 구조가 보였습니다.
하지만, 보였다고 해서 완성시킬 의무는 없습니다.
책장에서 한 번 일어난 일이라면, 책장 고유의 문제일 수 있습니다.
미니 4WD에서도 일어났다면, 공통적일 수 있습니다.
더 나아가 다른 컬렉션에서도 같은 일이 일어난 때에 비로소 공통 개념으로 격상시키면 됩니다.
이때, 저는 상당히 중요한 사고방식을 얻었습니다.
추상화는 미리 앞서가서 완성시키는 것이 아니다.
실물로부터 여러 번 요구받았을 때 격상시키는 것이다.
생각은 가설을 만들어내는 단계까지.
다음 질문에는, 먼저 실물에게 답을 얻게 한다.
여기서 처음으로, Human-in-the-making이 '좋은 말'로 끝나지 않고, 다른 개발을 통해 자신의 행동을 바꾼 것입니다.
하지만, 여기서 더 벗어납니다.
이번에는 미니카(ミニ四駆)를 소재로 한 만화 「MINI4KING」의 최종권 이후 이야기를 그린,
「MINI4KING UNDERGROUND」(2차 창작 소설)
을 만들기 시작했습니다.
이것이 멈추지 않습니다.
다음 설정이 이어집니다.
등장인물의 의미가 바뀝니다.
과거의 복선이 연결됩니다.
새로운 미스터리가 생겨납니다.
'계속 이야기는 어디서 읽을 수 있나요!?'라고 스스로 말할 정도로, 멈출 수가 없었습니다.
정신을 차려보니, 단편 소설 총 12화를 AI와 함께 하룻밤 사이에 완성했습니다.
며칠 후에는 이 소설이 애니메이션화될 때를 대비해 AI를 사용해 주제가를 만들기도 했습니다.
8월 29일.
숙제는 1밀리미터도 진전되지 않았습니다.
하지만 여기서 매우 중요한 사실을 깨닫게 됩니다.
JCJC에서도, UNDERGROUND에서도 저는 엄청나게 생각합니다. 그런데,
JCJC의 사고는 지칩니다.
UNDERGROUND의 사고는 멈추지 않습니다.
차이는 무엇일까요?
사고를 한 직후에 결과물이 다르게 보이는가.
였습니다.
UNDERGROUND에서는 생각할 때마다 세계가 바뀝니다.
새로운 사실이 생겨납니다.
인물의 의미가 바뀝니다.
다음 장면이 보입니다.
즉,
이것이 엄청난 속도로 돌아가고 있습니다.
여기서 'Human-in-the-making'의 의미가 조금 깊어졌습니다.
'결과물에 접촉한다'는 것이 반드시 물리적으로 마우스로 UI를 만지는 것만을 의미하는 것은 아닙니다.
자신의 개입으로 세계가 변화하고, 그 변화가 자신에게 되돌아오는 것.
그 피드백이 다음 사고를 낳습니다.
열정을 유지하게 했던 것은 생각의 부족함이 아니었습니다.
사고와 결과물 사이에 짧은 왕복(往復)이 있다는 것.
이었습니다.
여기서, 처음에 '과제'라고 생각했던 열정 유지의 의미도 바뀌었습니다.
열정은 기합으로 유지되는 것이 아니었습니다.
자신이 무언가를 한다. 세계가 변한다. 그 변화를 본다.
'이게 뭐야', '재미있다', '달라'라고 느낀다. 거기서 또 다음 질문이 생겨납니다.
이 짧은 왕복 자체가, 다음에 만들고 싶게 만드는 열정을 만들어내고 있었던 것입니다.
그리고 동시에, 그 왕복 속에서 만들기 전에는 가지고 있지 않았던 지식이나 질문도 생겨나고 있었습니다.
결과물과의 접촉은 열정을 유지하는 장치인 동시에, 배움과 발견을 낳는 장치이기도 했습니다.
8월 29일.
드디어 JCJC로 돌아왔습니다.
저는 Skeleton Playground라는 것을 만들기 시작합니다.
이름 그대로 완성품은 아닙니다. 제너레이터(Generator)도 아닙니다. 놀이터입니다.
여기서 저는 처음부터 평가 기준을 만들지 않았습니다.
'좋은 뼈란 무엇인가', '변형이란 무엇인가', '평가 함수를 어떻게 할 것인가'를 먼저 생각하지 않고, 일단 내놓았습니다.
내놓는다. 본다. 고른다. 파생시킨다.
이치(理屈)보다 먼저, '어?' 를 찾아 나섭니다.
화면에 나타난 형태를 보고,
'우와, 이게 뭐야', '이건 재미없네', '잠깐만, 이 형태는…', '한 번 더'
라고 생각하면 됩니다.
그리고 정말로 발견이 일어났습니다.
한 획으로 그은 모양을 보다가 저는 갑자기,
이것을 520mm + 45°의 사선 격자(斜め方眼)에 정규화하고, 그다음에 실제 부품에 적용하면 좋겠다
라고 생각했습니다.
지금까지의 JCJC에서는, 실제 부품을 어떻게 조립해야 재미있는 폐곡 코스가 될지 고민했습니다.
하지만 순서를 뒤집었습니다.
먼저 인간이 재미있다고 느낄 수 있는 형태를 자유롭게 만듭니다.
그것을,
실제로 구현 가능한 형태로 떨어뜨려 나갑니다.
게다가 입구는 Playground일 필요조차 없습니다.
종이에 '내가 생각한 최고의 코스'를 그려도 좋습니다.
사진으로 찍는다. 선을 추출한다. 정규화한다. 실제 부품으로 바꾼다.
그것이 정말로 조립 가능한 코스가 됩니다.
재미있는 것은, 이 발상이 사양서에서 도출된 것이 아니라는 점입니다.
놀아보고, 보고 있으니 그곳에 도착한 것입니다.
이것이 제가 원했던 것이라고 생각합니다.
그리고 여기서, 반년 동안의 '사양'이라는 의미까지 바뀌었습니다.
저는 말했습니다.
520mm + 45° 사선 격자에 적용할 수만 있다면, 나머지는 부품을 조립하면 된다고.
그것은 이미 오래전부터 알고 있던 것이었습니다.
간섭도, 높이도, 재고도 '사양은 되어 있다'는 안심감이 있기 때문입니다.
이 안심감은 지난 반년의 실적입니다.
그렇기 때문에 '이제 만들면 된다'였던 것입니다.
여기는 매우 큰 전환점이었습니다.
반년 동안 사양을 만들어낸 것 때문에 실패한 것이 아니었습니다.
사양은 필요했습니다.
문제는,
사양이라는 기반을 계속 쌓아 올리고 있었지만, 영원히 기반 공사를 하고 있었다는 것.
이었습니다.
이미 충분히 단단한 지점까지 와 있었습니다.
필요했던 것은 스펙(仕様)을 버리는 것이 아니었습니다.
'여기부터는 이제 스펙에 맡겨도 괜찮다'라고 믿는 것.
그래서,
스펙으로 기반을 다지고, 격렬하게 에너지를 쏟아붓습니다.
하지만 더 나아가,
스펙이 있기 때문에 격렬하게 에너지를 쏟아부을 수 있게 되었습니다.
초보자의 '일단 만들어 보자'와 여기서의 '이제 만들면 된다'는 언뜻 비슷해 보이지만, 내용은 크게 다릅니다.
전자는, 모르기 때문에 날 수 있다.
후자는, 알기 때문에 날 수 있다.
저는 마침내 반년 동안 만든 땅 위에서 달리기를 시작했습니다.
그리고 구조를 생각하는 것 또한 버리지 않았습니다.
단지 순서가 바뀌었을 뿐입니다.
이론적인 대상에서, 실물로부터 파헤치는 것으로 말이죠.
이 무렵, 다른 주제로 벗어나면서 'OVER SOUL'이라는 단어를 농담 삼아 사용하곤 했습니다.
만화 '샤먼킹(Shaman King)'에서 가져온 것이었습니다.
처음에는 정말 장난이었습니다.
'머릿속에 있는 코스를 현실의 파츠로 구현하려면, 이건 영혼의 구체화잖아?' 정도의 가벼운 마음이었죠.
그런데 JCJC(프로젝트명)로 돌아온 후, 이 단어의 의미가 바뀌었습니다.
저는 이렇게 생각하게 되었습니다.
AI와 협업하면서 자신의 '이렇게 하고 싶다'는 바를 형태화하는 것.
AI가 만들고. 제가 만지고.
'아니야.'
'그게 아니잖아.'
'이쪽이 더 재미있어.'
'왜 이렇게 됐지?'
'잠깐만. 그러면 이렇게 할 수 있지 않을까?'
라고 되돌려주는 것입니다.
그러면, 처음에 가지고 있던 '만들고 싶은 것' 자체도 변해갑니다.
최종적으로 만들어지는 것은 처음부터 머릿속에 완성되어 있던 설계도가 아닙니다.
AI와의 주고받음(왕복)을 통해, 자신조차 몰랐던 자신으로부터 끌어낸 것.
그것이 형태를 갖춥니다.
그리고 저는 이렇게 느꼈습니다.
자신이 하고 싶은 바를 AI와 구체화해 나가는 과정에서, 그 어려움을 AI가 지원해주고,
자기 발견과 자기 변혁을 촉진하며 극복해나가는 것.
그때, AI로부터 돌아온 말들 속에 제가 이 반년을 상당히 정확하게 표현했다고 생각한 문장이 있었습니다.
JCJC를 만들고 있었지만, JCJC에 의해 만들어지고 있던 것은 자신 자신이기도 했습니다.
이것이 저에게 있어 OVER SOUL이었습니다.
더 나아가 놀이를 통해,
이러한 관점도 생겨났습니다.
SEED는 스펙으로 축적된 지식입니다.
EVOLUTION은 그 기반 위에서 AI와 고속으로 만들고, 만지고, 발견하며, 개발자 자신의 이해나 판단까지 변해가는 과정입니다.
OVER SOUL은 축적된 지식에 뒷받침되는 자신감으로부터 더욱 자유롭게 창작할 수 있는 상태입니다.
게다가 OVER SOUL은 목표가 아닙니다.
만들면, 또 몰랐던 문제가 발생합니다.
거기서 얻은 지식이 SEED로 돌아가는
순환이 됩니다.
...라고 여기까지 쓰다 보니, 이 글마저도 OVER SOUL에 대한 글이 되어버립니다.
하지만 이번 결론은 그곳에 있지 않습니다.
모두가 AI 개발을 통해 자기 변혁까지 일어날 필요는 없습니다.
AI를 업무의 도구로 더 건조하게 사용하는 사람도 있습니다.
그것으로 괜찮다고 생각합니다.
OVER SOUL은, 일어나는 사람에게는 일어납니다.
일어나지 않는 사람에게는 일어나지 않습니다.
하지만 그 바로 앞에 있는 Human-in-the-making은 더 폭넓게 필요한 것이 아닐까 하고.
저는 지금 그렇게 생각합니다.
AI 개발에서는 Human-in-the-loop가 중요하다고 말합니다.
이것은 필요합니다. 저 자신도 그것을 상당히 중요하게 생각하고 실천해 왔습니다.
하지만 그것을 철저히 하다 보니, 제 역할은,
생각하는 것. 판단하는 것. 승인하는 것. 감시하는 것.
으로 치우쳐 갔습니다.
인간은 제대로 루프 안에 있습니다. 효율은 올라갑니다.
그러나 제작 현장에서는 멀어져 갑니다.
이것이 '함정'의 정체라고 생각합니다.
Human-in-the-loop를 지키려다, 사람을 AI 개발 시스템의 한 기능으로 만들어 버리면 안 됩니다.
Human-in-the-loop는, 인간을 의사결정에서 벗어나지 않게 하는 사고방식입니다.
Human-in-the-making은, 인간을 제작 과정에서 벗어나지 않게 하는 사고방식입니다.
저는 그렇게 파악하고 있습니다.
중요한 것은 AI가 만든 것을 인간이 마지막에 승인하는 것만이 아닙니다.
만드는 도중에, 인간 자신이 결과물로부터 영향을 받는 것입니다.
그곳에 우연이 있고, 발견이 있고, 암묵지(暗默知)가 있고, 학습이 있습니다.
그리고 제작의 즐거움이 있습니다.
결과물에 접촉하지 않으면, 거기서 얻을 수 있었던 위화감, 우연, 직관, 암묵지, 발견도 줄어들게 됩니다.
즉, Human-in-the-making은 열기를 유지하기 위한 생각일 뿐만 아니라, 인간이 계속 학습하기 위한 생각이기도 하다고 생각합니다.
그러기 위해서는 사람을 루프에 남겨야 합니다.
하지만, 사람을 루프에 가두지 않습니다.
가까운 미래에는 "소프트 개발 회사인데 프로그래머가 한 명도 없다"는 상황이 충분히 있을 수 있습니다. 그곳에서 일하는 사람들은 "나는 무언가를 창조하고 있다(만들고 있다)"라고 느낄 수 있을까요?
인간은 AI를 위해 존재하는 것이 아닙니다. AI의 출력을 계속 확인하는 것만을 위한 감시자도 아닙니다.
무언가를 창조하는 즐거움을 누리는 협업자입니다.
첫 질문으로 돌아가 보겠습니다.
저는 코드를 쓸 수 없습니다. AI가 코드를 씁니다.
그래서 이전의 저는 "저는 생각만 하고 있다"였습니다.
하지만 지금은 조금 다릅니다.
AI가 만든 것을 본다. 만져본다. 움직여 본다. 시도해 본다. 실패를 본다. 비교한다. 선택한다.
"아니다"라고 말한다. "이게 뭐야?"라고 생각한다.
그리고 그 경험을 통해 자신의 생각이 바뀌고, 다음에 탄생할 무언가를 변화시킨다.
그것이 저에게 있어 창조(만들기)입니다.
코드를 쓰는 것만이 창조(만들기)는 아닙니다. AI가 코드를 쓴다고 해도, 인간은 창조 활동에서 손을 놓을 필요가 없습니다.
오히려 AI 시대에 지켜야 할 것은 인간의 노동이 아니라, 인간이 창조 활동에 참여하고 있다는 사실이라고 생각합니다.
지난 글에서 저는 "AI와 함께 만드는 것이 정말 재미있다!!"라는 지점까지 나아갔습니다. 이번에 그 다음을 한마디로 적자면, 이렇습니다.
그러니, 그 즐거움을 인간에게서 빼앗지 마십시오.
Human-in-the-making.
이것은 OVER SOUL이 되기 위한 것만을 위한 생각이 아닙니다. 사람과 AI가 더 오래, 더 건강하게 함께 창조 활동을 해나가기 위해,
사람을 어디에 남겨둘 것인가.
그 질문에 대한 지금의 저 나름의 답입니다.