김진중(골빈해커) 인터뷰
김진중(골빈해커) 인터뷰
"최고의 프롬프트 엔지니어링 강의"
굉장히 오랜만에 책을 출간하시고, 꽤 좋은 성적도 내고 있는데 주위 사람들이나 독자들의 반응은 어떤가요?
제 주위 사람들은 대부분 기술 영역에 있는 분이라 책이 쉽다고 많이 이야기해 주셨어요. 반면 개발자가 아닌 사람들의 리뷰를 보면 다른 책에 비해 깊이가 있다고 써 주셨어요. 이 둘의 상반된 의견을 보고 저는 그게 의도한 대로 잘 됐다고 판단합니다. 시작하는 사람들에게 더 쉽게 더 많이 읽혀지길 의도했거든요.
책은 개념 이해를 중점으로 하고 있지만 실습 부분도 상당 부분 포함되어 있습니다. 원래 의도와 달리 실습을 추가하신 이유는요?
저는 정보가 넘쳐나는 인터넷 시대에 있어 특히 책이 제공해야 할 내용은 기본 개념을 이해시켜주는 것이 가장 중요하다고 생각하는데요. 대부분의 출판사나 강의 업체에서는 개발자를 위한 콘텐츠를 만들었으면 좋겠다고 제안을 주었는데, 그런 경우에는 실습 내용을 많이 넣기를 원하셨어요. 패스트캠퍼스 강의도 실습이 절반일 정도로 많이 넣었고, 다른 출판사에서 집필 의뢰가 왔을 때 개념을 제대로 설명하는 책을 만들었으면 좋겠다고 말씀드렸는데 실습이 없으면 의미가 없다고 하시더라구요.
하지만 리코멘드 대표님은 개념을 제대로 설명하는 책이 변화의 시작을 알리고, 새로운 개념을 공고히 하고 확산시키는 역할을 할 것이고, 기본에 충실한 것을 굉장히 중요시한다고 말씀해 주셔서 제가 생각하는 바와 일치한다라고 생각했습니다. 그래서 한 번 해 봤으면 좋겠다고 생각했죠. 그렇게 출발한 이 책에 처음에는 실습 없이 개념만 충실하게 넣으려고 했습니다. 그런데 원고를 집필하고 보니 어느 정도 기본적인 실습은 개념 이해에 도움이 되겠다 싶더라고요. 그래서 실습을 상당 부분 추가했고 그 부분으로 독자에게 더 유용한 콘텐츠가 되었다고 생각하니 잘한 것 같습니다.
책 제목을 보면 ‘개념 이해로 시작하기 좋은'이라는 수식이 있습니다. 프롬프트 엔지니어링을 개념 이해로 시작해야 하는 이유는 뭘까요?
개념을 잘 모르면 누군가 알려주는 것만 쓸 수밖에 없는데, 개념을 알면 그것을 확장해서 쓰거나 다른 새로운 것이 나왔을 때 쉽고 빠르게 알 수 있죠. 특히 모든 개념이 그렇듯 하늘에서 뚝 떨어진 새로운 것은 없거든요. 완전히 새로울 것 같은 개념도 히스토리를 따라가다 보면 어디선가 들어보고 알고 있는 개념이 많습니다. 그러한 히스토리와 하위 개념들이 이해되고 연결되면 어느 순간 무장해제가 되면서 개념이 쉬워지기 시작합니다. 그때부터 바로 공부가 시작되는 거죠.
지금 우리가 쓰는 ChatGPT라는 LLM도 결국 머신러닝, 딥러닝의 역사가 켜켜이 쌓이고 발전되어 만들어진 것입니다. 그래서 이 책 초반부에 인공지능이 어떻게 발전해 왔는가를 알려주는 데 집중했어요. 사실 이 내용이 원고에는 현재의 약 두 배 정도 더 있었는데, 편집 과정에서 50%가 편집되었습니다. 결론적으로 핵심적인 내용만 들어가 지루하지 않고 읽기 쉽게 구성되었다고 생각합니다.
ChatGPT를 써 보면 똑같은 질문이라도 같은 대답이 없잖아요. 그런데 프롬프트의 원리나 개념을 이해하면 남들이 만들어 놓은 템플릿을 내 방식대로 커스터마이징할 수도 있고, 결과가 잘 안나오는 프롬프트를 고치거나 새로운 문제를 해결하기 위해 프롬프트를 작성하는 것도 쉽게 시작할 수 있습니다. 이렇게 모든 입문자들이 개념 이해를 통해 LLM을 응용할 수 있는 능력이 크게 확장되었으면 좋겠다는 의도를 제목에 담은 것입니다.
‘프롬프트 엔지니어링’을 기술 용어가 아닌 일반적인 말로 풀면 ‘대화의 기술’ 정도로 이해가 됩니다. ‘엔지니어링’이라는 단어 때문에 왠지 어려울 것 같고, 내가 볼 수 없는 책 같다는 느낌도 드는데, 이 책이 어떤 책인지 간단하게 설명해 주세요.
이 책은 ‘프롬프트 엔지니어링’이라는 주제의 상위 개념에 있는 책입니다. 상위에 있다는 것이 가장 좋다는 이야기가 아니라 ‘가장 밑바닥’, ‘가장 기초’에 있는 내용이라는 이야기예요. 트리 구조에서 제일 위쪽에 있는 걸 생각하면 되는데, 이것을 정복하면 아래로 넓고 깊게 뻗어나갈 수 있는 게 많죠.
그런데 ‘엔지니어링’이라는 단어가 왠지 어렵게 느껴질 수도 있는데요. 사실 어려운 말이 아니에요.. ‘엔지니어링’이라는 것은 시행착오를 반복적으로 수행해가며 어떠한 문제를 해결해가는 과정으로, 손톱을 단계적으로 잘라가며 예쁘게 깍는 것도 엔지니어링이라고 할 수 있거든요.
그리고 이 책에서 이야기하는 게 바로 그것입니다. AI가 출력해야 할 결과를 설정하고, 그 결과를 고품질로 달성하기 위한 방법과 반복적으로 프롬프트를 개선하는 과정. 그래서 ‘엔지니어링’이라는 단어가 진입장벽이 있지만 고집했던 것이고, ‘프롬프트 엔지니어링’이 이 책의 개요를 전달하는 완전한 의미예요. 빼고 더할 수가 없는 단어죠. 이 책으로 개념을 이해하는 독자들이 많이 생겨나 더 많은 책들도 출간되고 더 많은 응용 강의도 생기면 좋겠습니다.
책 제목에 <최고의~>라는 말을 붙이는 걸 굉장히 쑥스러워 하셨는데 왜 그러셨을까요? 지금은 어떠신가요?
최고는 당연히 쑥스럽죠. 어떻게 최고가 될 수 있겠어요. 제가 전문가이기도 하지만 전문가가 아니기도 한 거죠. 박사 학위를 딴 것은 아니니까. 그렇기도 하고 최고라는 말은 부담스럽잖아요. 그럼에도 불구하고 출판사에서 제안한 <최고의 강의>라는 제목을 수용한 것은 이와 같이 개념을 알려 주는 책이 시중에 없었고, 원고가 마무리되고 난 후에는 책의 내용에 자신감도 있었습니다. 편집자분들 덕분에 꼭 필요한 내용을 컴팩트하면서도 충분하게 구성할 수 있었고, 내용도 깊이 있으면서도 이해하기 쉽게 풀어낼 수 있었거든요. 기술을 많이 안다는 것이 쉽게 전달할 수 있다는 것은 아니잖아요. 타깃팅한 시작하는 사람들이 봐야 할 내용을 읽기 쉽게 그리고 충실하게 담았다는 의미의 <최고의 강의>라고 이해해 주시면 될 것 같아요. 그리고 패스트캠퍼스에서도 이 책의 기반이 된 제 강의를 시작으로 하위의 수많은 강의들이 만들어지고 있다고하더라고요. 그래서 LLM과 AI를 활용하고자 하는 사람들이 가장 먼저 봐야 할, 기본을 제대로 알려 주는 가장 좋은 강의와 책이라는 것을 인정받았다고 생각해요.
이번 책을 집필하면서 어려운 점이 있었다면?
제가 전달하고 싶은 내용이 1이면 배경 설명은 거의 4~5 이상은 해야 하는 것 같더라고요. <3분 딥러닝>(한빛미디어, 2017년)은 그렇게까진 안했거든요. 코드를 설명하는 수준에만 그쳤어요. 그런데 이번에는 그래야 되는 것 같았어요. 전문 강사들은 사람들이 뭘 모르는지 잘 알기 때문에 사전 설명은 어디까지 해야 하고, 본 설명과 예시는 어느 정도 해야 하고, 전달력이 높은 어휘는 어떤 건지를 항상 생각하고 계시잖아요. 그런데 저같은 사람한테는 그게 없는 거죠. 공부로, 일로, 경험으로 체득되어 있는 것을 머리로 옮긴 다음에 말로 혹은 글로 뱉어야 할 때는 대상이 누구냐에 따라 완전히 다른 형태가 되어야 하는 거예요. 그게 생각보다 굉장히 어려운 일이었습니다. 그래서 주변 개발자 동료들이 ‘쉽게 쓰여진 책’이라고 이야기해 주었을 때 ‘됐다!’라고 오히려 기분이 좋았습니다.
앞으로의 계획에 대해 간단히 말씀해 주세요.
이 책을 집필하기 전에 원래는 <프로그래밍은 왜 어려울까>를 집필하려고 했어요. 그런데 책을 집필하면서 <프로그래밍은 왜 어려울까>라는 현재진행형이 <프로그래밍은 왜 어려웠을까>라는 과거형으로 바뀌었어요. 불과 1년 전인데 AI시대가 현재진행형을 과거형으로 만들어 버린 거죠. 사실 작년 연말에 창업을 하면서 그때부터 이런저런 시도를 많이 해 보고 있었는데 지금은 약간 보류하고 있어요. 그 이유는 제가 생각했던 것보다도 기술이 워낙 빠르게 바뀌니 지금 어떤 것을 시도하면 내년에는 아예 쓸모 없는 일이 될 수도 있겠다는 생각이 드는 거예요. 그래서 지금은 기술의 발전 속도를 좀 보고 있고 최근에 어느 정도 방향이 잡힌 것 같아 여러 가지로 생각해 보고 있습니다.