EP 82
원리를 생각하는 프롬프팅
오프닝: ‘원리를 생각하는 프롬프팅’ 00:00
노정석 녹화를 하고 있는 오늘은 2026년 1월 9일 금요일 밤입니다. 저희가 오랜만에 밤에 녹화를 하게 됐습니다. 또 26년 들어서 첫 녹화이기도 하고요. 26년이 겨우 딱 일주일 정도가 지났는데 그 사이에 재밌는 일들이 많이 있었죠.
최승준 그렇죠, 그래도 다행인 거는 생각보다 뉴스가 12월 중순 정도의 리듬보다는 훨씬 견딜 만해서 다행인 것 같습니다.
노정석 저도 12월 한 20일부터 12월 말까지 한 열흘 정도 조금 조용했고
그리고 나서 이제 새해가 시작되면서 아직 빅테크 프론티어 랩에서의 큰 발표가 있거나 그러진 않았지만 커뮤니티 사이드에서 Claude Code나 또 OpenCode나 이런 코딩 툴을 중심으로 해서 또 어떻게 생산성을 높일 수 있는지 뭐 이런 것들 굉장히 많이 보이는 것 같아요. 그리고 또 유명하신 분들의 철학적인 그런 대화들도 왔다 갔다 하는 것 같고.
최승준 그래서 저는 좀 쉬면서 여러 가지 이벤트들이나 사건들이 있긴 했습니다만 좀 생각을 정리하는 시간을 가졌는데요. 그래서 제가 좋아하는 프롬프팅의 주제로 다시 한번 돌아와 봤습니다.
노정석 오늘 또 오랜만에 일어나는 또 승준님의 프롬프팅 세션입니다.
최승준 요즘에는 워낙 다들 잘 하시니까 도움이 되는지 어떤지는 모르겠지만 그래도 한번 탐구해 본 내용들을 원리를 생각하는 프롬프팅이라는 제목으로 제가 요새 좀 시도해 본 것들에 기저에 있는 원리 같은 것들을 좀 이렇게 되짚어 보려고 하는데요.
METR 업데이트와 Claude Opus 4.5 체감(50%-time horizon) 01:34
최승준 일단 뉴스성 있는 거를 좀 몇 개 하자고 하면 2025년 12월 20일에 이 그래프가 업데이트된 거를 저희가 언급을 못 했나 봐요. 그래서 지금 이게 여러 번 소개해 드렸던 METR 50%-time horizon에 관련된 건데요. 근데 이게 리니어 스케일을 보면은 Claude Opus 4.5가 지금 4시간 49분, 거의 5시간으로 크게 뛰어오른 거를 볼 수 있죠. 그래서 이걸 로그 스케일로 보면 그래도 잘 가고 있는데 조금 올라간 듯한 느낌이지만 이거를 보면 느낌이 이런 느낌이죠.
Andrej Karpathy의 FOMO 02:13
최승준 근데 이거를 보여드리는 이유는 사실 2025년 말에 Andrej Karpathy의 FOMO 같던 그 포스팅이 되게 핫했어요. 그래서 그 Claude Opus 4.5가 주변에 Claude Opus 4.5를 이제 한 달여 정도 겪어보고 사람들이 뭐가 뭔가 딸깍 바뀐 것 같다라는 그런 간증 같은 것들이 12월에 많이 올라왔었는데 Andrej도 막 이렇게 뒤처지는 느낌을 받아본 적이 없다.
그러면서 이미 많은 분들이 다루셨을 것 같아서 그냥 대강 넘어가면 여기가 제목 재밌는데 Andrej와 Boris Cherny, Claude Code 만드는 분이죠. 그다음에 Igor, xAI 창립 멤버지만 지금 나오신 분, 그래서 뭐랄까 그 스타급 플레이어들이 막 얘기를 나눈 거예요. 그래서 Andrej가 이렇게 얘기를 했더니 Boris도 나도 그런 기분이다. 뭐 하여튼 그게 딸깍대고 뭐 이렇게 되고 PR을 어마어마하게 하고 뭐 그런 얘기하고.
노정석 그럼요.
최승준 Igor가 “Opus 4.5는 꽤 좋네.” Andrej가 “정말 좋다.” “지난 30일 동안만이라도 따라가지 않은 사람들은 이 주제에 대해 이미 deprecated된 세계관을 가지고 있는 거다.” 이런 자극적인 표현을 해 가지고 이슈가 됐었죠.
노정석 맞습니다. 저희가 1년 전이에요. 벌써 test-time compute, 추론 시의 컴퓨테이션을 많이 쓰는 게 일단 성과와 굉장히 밀접하게 관련이 있다, 뭐 이런 얘기를 한 게 어떤 작년을 지배했던 테마였잖아요. 지금도 이 Claude Code나 OpenCode나 이런 거 잘 쓰시는 분들을 보면은 이 Harness를 어떻게 최적화하는지 튜닝을 정말 잘하시는 분들이 많아요.
Harness 최적화와 멀티 에이전트 코딩 04:01
노정석 그래서 기본적으로 이젠 이렇게 티키타카 티키타카 하면서 대화형으로 작업을 진행하는 것도 상당히 오래전 트렌드죠. 이제는 무언가 이렇게 스펙을 하나를 써놓고 나면은 정말 정밀한 스펙이 아니더라도 이 서브 에이전트들을 몇십 개 돌리면서 하룻밤을 재워서 10시간 넘게, 저 요새 AI를 고문한다는 표현들을 많이 하시던데. “고문하면 답 나올 것 같은데요.” 뭐 이런 얘기 많이 하시죠. 그래서 저희도 저희 회사 엔지니어 분들도 타스크를 7시간, 8시간씩 돌리시는 것들 이제 흔하게 일어나는 것 같아요.
최승준 근데 그거를 하나의 에이전트만 돌리는 게 아니라 Claude에 탭 여러 개 띄워 놓고서는 멀티 에이전트로 한 6개, Boris는 10개 정도 돌리는 것 같던데요. 그렇죠. 이렇게 막 이렇게 스타크래프트에서 마린 뿌리고 뭐 이런 느낌인가요?
노정석 마우스와 이 키보드를 현란하게 왔다 갔다 하는, 그 정도로 AI를 다뤄야 한다.
최승준 그러니까 뭐 이렇게 커맨드 센터가 느낌인 거죠. 상상이 됩니다. 그래서 Claude Opus 4.5가 뭐 그냥 좋네라고 얘기하는 분들이 있고 뭔가가 스위치가 전환됐다라고 얘기하는 분들이 있고 그랬거든요.
노정석 요새 AI 그거 별거 없던데라고 얘기하시는 분들의 비중도 줄긴 했지만 사실은 누군가가 “AI가 야 그거 해봤는데 별로던데”라는 말을 하는 분이 있다면 대부분 사람들이 “그건 네가 잘 못 써서 그래”라고 답하시더라고요.
최승준 근데 흥미로운 포인트가 또 Gemini 3이 은근히 이슈가 줄어들었어요. 제가 느끼기엔 Claude Opus 4.5가 뭔가 대단하다. 근데 Gemini는 프론트엔드를 확실히 잘하긴 해서 그 역할을 주는 에이전트로는 많이 사용이 되는데 오히려 그 GPT-5.2 Pro와 Claude Opus 4.5를 놓고서는 코딩의 역량을 발휘하는 것에서 약간 다시 좀 묻히는 감이 있다라는 느낌이긴 한데요. 그냥 뭐 느낌입니다.
노정석 그럴 수 있겠네요. 저도 아무래도 엔지니어 커뮤니티에 껴 있다 보니까 사실 Gemini나 뭐 Antigravity 얘기보다 Claude Code, OpenCode 얘기를 훨씬 많이 들어요.
최승준 또 한국 분이 만드신 oh-my-opencode인가요? 그것도 꽤 이슈가 되는 것 같더라고요.
노정석 네, 이름 너무 잘 지으셨어요. Sisyphus.
Noam Brown의 바이브 코딩 후기와 “LLM은 아직 연구자 수준은 아님” 06:19
최승준 그런데 이제 오히려 Noam Brown은 약간 휴가 기간 동안 바이브 코딩을 해봤는데 안 되는 것들이 있었다. 그래서 이제 자기가 잘 알고 있는 포커에 관련된 거를 뭘 만들고 있었는데 Codex도 못 했고 Claude Code도 못 했는데 결국에 뭐 어쩌다 보니까 이제 Codex가 의외로 잘했다고 이제 자기네 팔이 안으로 굽는 그런 글을 올리긴 했습니다만 그래도 LLM이 빠르게 좋아지고 있긴 하지만 새로운 알고리즘을 개발하는 건 인간 전문가에게도 몇 달짜리 연구 프로젝트고 LLM은 아직 그 수준은 아니다.
그랬더니 이런 DM을 받았다고 하루 뒤에 또 공유를 했었거든요. “요즘 제 트위터 피드가 점점 현실감이 없어지는 느낌이에요. 특히 Claude Code가 자기 효율을 100만 배 올려줬다고 말하는 사람들이 많아서요. 저도 나름 꽤 쓰고 있는데 제가 미쳐가고 있나 싶고 심하게 뒤처지고 있다는 불안감이 들었거든요.” FOMO를 느꼈다는 거죠. Claude Code로 굉장히 레버리지를 크게 말씀하시는 분들이 있다 보니까 FOMO를 느끼고 있는데 그래도 Noam Brown 급에서 이런 얘기를 해주니까 조금 안심이 된다, 라는 그런 뉘앙스였던 것 같습니다.
FOMO DM 사례 + Ethan Mollick: 코딩 밖까지 확장되는 Claude Code 07:30
최승준 그런데 Ethan Mollick은 또 약간 Andrej Karpathy의 결로 얘기를 했어요. 이분은 개발자가 아닌, 엔지니어가 아닌 경우에 Claude Code를 사용하는 예를 흥미롭게 풀어내시면서 뭘 어떻게 하면 그게 되는가 기타 등등 자세하게 좀 보여주고 스킬의 중요성 그런 것들도 많이 언급해 주고 해서 좀 쉽게 풀어주는 글들을 쓰셨는데 결론 부분만을 보면, 이 모든 것은 무엇을 의미하는가?
프로그래머라면 이런 이미 이러한 도구들을 탐색하고 있어야 한다. 코드로 실험하고 싶은 디자이너, 데이터를 다루는 학자, 뭔가 만들어보고 싶은 사람은 누구라도 지금이 실험할 때다. 하지만 더 깊은 요점이 있다. 적절한 Harness만 있다면 오늘날의 AI는 실제로 중요한, 진짜 지속적인 작업을 할 수 있으며 그것이 차례로 우리가 작업에 접근하는 방식을 바꾸기 시작하고 있다. 그리고서는 Karpathy를 인용한 다음에 현재 Claude Code의 어색함이나 코딩에 특화된 점에 속지 마라. 그러니까 지금 이 글은 Claude Code가 굉장히 제너럴하게 쓰일 수 있다는 내용을 담고 있거든요. 그래서 다른 지식 작업에 AI가 작동하게 하는 새로운 Harness가 가까운 미래에 올 것이고 그것들이 가져올 변화도 마찬가지다. 그래서 이런 추이로 뭔가가 계속될 거다, 뭐 그런 글을 이제 또 공유를 했습니다.
노정석 또 Claude Code SDK에 정말 뭐든 붙이면 다 되는 경험을 많이 하거든요. 코딩이 아니더라도 그냥 회사의 비즈니스나 어떤 데이터베이스 하나만 붙이고 Claude Code SDK 붙여도 사실 일 잘하고요. 또 최근에 뭐 생명공학이라든지 연구에 관련한 스킬 패키지들도 막 쏟아져 나오고 있는 것 같고.
Claude Code SDK와 “Harness가 새로운 소스코드” 09:22
노정석 네, 이 Harness가 사실은 이제 새로운 소스 코드가 됐습니다.
최승준 예, Claude Code 자체가 지금 이거는 이제 공식 계정이 아니라 체인지 로그를 공유하는 계정이거든요. 그게 이제 생겼어요. 2.1이 올라왔네 싶었는데 12시간 전에 2.1.2가 올라왔어요. 그래서 2.1에서 큰 판올림이 있었거든요. 그런데 바로 하루하루 가면서 뭐 이렇게 계속 판올림이 되는 걸 보니까 이게 인간만 해서 이게 되는 일이 아니잖아요. Claude Code는 공식적으로 Claude가 만들고 있으니까, Claude Code가 만들고 있으니까 그게 굉장히 기능이 추가되는 그런 급박한 상황이 이어지고 있고요. 근데 약간 저는 연말 연초에 좀 쉬면서 좀 기초로 돌아가고 싶어져서 그런지 약간 좀 천천히 생각을 하고 있었는데 그런데 어쨌거나 Claude가 스킬이 대단하다고 생각하거든요.
Skills 리포 읽기: 스킬이란 무엇인가 10:17
최승준 그래서 연말에 그 스킬의 Github 문서들을 좀 꼼꼼하게 읽어봤었어요. 그래서 그거를 스킬들을 번역해서 읽어보곤 했었는데 이게 이제 그 리포예요.
그래서 여기 스킬 들어가면은 예제 스킬 뭐 제가 잘 쓰는 알고리즈믹 아트 스킬에 뭐 이렇게 철학을 먼저 생각하고 이제 그거를 가지고서는 코드 가기 전에 뭘 해야 되고 하는 것들을 이걸 번역을 해서 읽어보면 굉장히 재밌는데, 이게 실제로 현재 들어가 있는 스킬하고는 좀 차이가 있을 수 있대요. Github에 공개된 거는, 근데 여기에 많은 것들이 읽어볼 만한 게 있어서 그걸 좀 재미있게 읽었던 시간이 있고요. 근데 이 스킬 중에 스킬 크리에이터라는 스킬이 있어요. 그러니까 스킬을 만드는 스킬이 들어있는데, 이거에 대한 얘기를 좀 말씀을 드리려고 해요.
노정석 스킬이 어떤 그 능력에 대한 마크다운으로 디스크립션 프롬프트 덩어리가 하나가 있고 관련된 코드들이 모여 있고 거기에 예제가 될 만한 것들이 모여 있는 이 폴더 구조를 하나를 딱 묶어 가지고 걔를 저희가 스킬이라고 부르는 거죠. 네.
최승준 맞습니다. 그렇게 해서 그거를 이제 OpenAI도 사용을 하기 시작했거든요. 작년 말에. 그래서 지금 스킬들은 마켓 플레이스처럼 굉장히 많은, 지금 이미 몇 천 개 정도가 공유되고 있는 걸로 알고 있는데요. 근데 그게 정말 쉽게 만들어질 수 있는 거가 뭐 Claude Code 상에서도 쉽게 될 테지만, 그냥 웹 인터페이스 상에서도 제가 이게 어떤 대화를 나누다가 이런 아이디어를 떠올렸어요. 이제 이 아이디어를 떠올리게 된 배경도 좀 이따 말씀드릴 건데, 뭔가 이렇게 그 컨텍스트를 진행을 하다 보면은 그 대화의 중력이 생기잖아요. 그래서 지금 내가 쓰는 용어, 그거에 반응한 모델의 용어, 그랬을 때 약간 분포를 좀 넓혀 가지고 다른 공간을 탐색하고 싶을 때는 다른 용어들이 들어와 줘야 되는데 그거 발상 자체가 잘 안 될 때가 있어요.
프롬프팅 기법 1: 무작위 4글자 두문자어·Pareidolia로 분포 넓히기 12:23
최승준 그랬을 때 그런 상황에서 쓸 수 있는 거로 약간 무작위적인 알파벳을 뭐 4개를 생성하는 걸 한 세트로 해서 그걸 100세트를 생성하고 그거를 두문자어로 읽어 보라는 거예요. 완벽하게 맞지 않아도 되지만 이제 연상 능력, 그러니까 모델의 연상 능력을 좀 끌어다 쓰는 시도를 하려고 했던 건데, 이게 파레이돌리아(pareidolia)라는 개념이 있습니다. 뭐냐 하면 구름 같은 거를 사람이 봤을 때도 구름 안에 모양, 뭐 동물이라든가 얼굴 같은 거를 보잖아요. 그러니까 연상을 할 수 있는 능력이 인간에게 있는데, 현재 모델들도 강력한 연상 능력을 가지고 있어요. 다만 토큰이 적절하게 들어가야지 그 연상 능력이 발휘가 되는 거거든요. 그래서 이제 제가 낸 아이디어는 이렇게 두문자를 읽으라고 했을 때 이런 코드가 파이썬 코드가 생성이 돼요. 그래서 실제로 100개 정도의 무작위적인 네 글자 조합을 만들고 그중에서 10개 정도를 현재 대화의 맥락에 관련 있는 두문자어로 읽어보는 거죠. 그래서 ‘자기 이해는 일시적인 것이다’가 ‘Your Understanding of Self is Temporary’ ephemeral 뭐 이런 거 얘기가 나오고 뭐 이렇게 좀 흥미로운 글들을 읽어낼 수 있거든요. 모델은 나는 못하더라도 모델은 할 수 있을 수 있는 그래서 그랬을 때 좀 흥미로운 가지치기가 될 수 있는가 그러니까 이렇게 하면 토큰이 들어가기 때문에 그거에 관련된 이야기들을 나눌 수 있게 되거든요. 그래서 약간 발산적인 횡단적인 탐색을 할 때 이거를 써보고 있는데 그래서 이렇게 가지고서 또 한참 티키타카를 하다가 스킬 크리에이터를 켜 놓고 있었어요. 제가 그래서 이 스킬에 스킬 크리에이터라는 것을 켜놓고 있습니다. 그래서 이제 너무 많은 걸 켜 놓으면 방해가 될 수 있어서 이제 쓰고 싶은 것만 보통은 켜 놓는데
스킬 크리에이터로 ‘도메인 프라이밍’ 스킬 만들기 경험 14:22
최승준 그것을 켜놓고서는 대화를 하니까 이제 스킬을 만들려고 그래요. 그래서 뭔가를 이 대화의 과정에서 그 아까 같은 4개의 단어들을 만들고 두문자로 읽는 것들이 스킬을 이제 이 모델이 먼저 제안했죠. 이제 만들어 볼까 만들어 보자 했더니 그 폴더 구조를 만들면서 이렇게 나오고 그게 각각의 MD 파일들이 생성이 된 다음에 이렇게 누르면 그게 한 번에 내 스킬에 복사가 됩니다. 이거를 굉장히 매끄럽게 만들어 놨어요. Claude가 그러니까 제가 여기 그림에 아까 소개했던 것처럼 예전부터 계속 말씀드리고 있는 게 유용한 부산물을 생성하는 파이프라인을 생성하는 파이프라인이잖아요. 근데 대화를 하다 보면 코드나 재활용 가능한 글이나 아니면 그림이나 뭐 그런 것들이 부산물이 생성이 되는 거의 심상을 가지고서 뭔가를 추구하는 과정을 가지면 늘 좋은 부산물이 나올 수 있다는 거였는데 Claude는 그거를 아예 제품화시켜 놓은 느낌을 받았는데
여기에서 이제 한 번 더 개정하는 과정이 있어서 그거를 쭉 한 다음에 내 스킬에 복사를 했더니 도메인 프라이밍이라는, 그러니까 여기서 제가 특정 도메인 용어를 입력해 줄 수도 있고 안 해줄 수도 있는데 그랬을 때 그 방향으로 글자들을 생성하고 그거를 읽어보려는 것들이 아예 스킬화가 됐어요. 그래서 여기 보면 코드도 들어가 있고 여기에 그거를 어떻게 쓰는 예시도 들어가 있어서 이제 그것을 이제 Claude가 필요에 따라서 쓸 수 있게 되는 거죠. 그리고 그러한 것은 내 스킬에 들어가 있어서 그거를 켜고 끌 수 있게 되어 있습니다.
노정석 네 스킬 만드는 게 상당히 쉽네요. 그래서 네, 저희 Claude에서도 쓸 수 있고 똑같은 구조로 Claude Code에서도 스킬을 그냥 만들어서 계속 확장할 수 있게 되어 있는 거죠.
최승준 예, 그래서 그거는 그냥 폴더를 그대로 넣어주기만 하면 되는 거기 때문에 근데 스킬은 왜 잘 작동하는 걸까요?
왜 스킬이 잘 먹히나 16:17
노정석 글쎄요.
최승준 그래서 스킬이 사실은 작년에 한참 유행했던 spec-driven의 기초를 가지고 있고 그다음에 어떤 형식을 맞춰서 MD들로 이제 요즘에 MD 파일은 결국 일종의 프로그래밍이니까 MD들이 딱 구조에 맞춰서 되어 있고 그냥 MD만 있는 게 아니라 스크립트로 해서 코드들이 거기에 들어 있어서 이제 정적이라고 하기는 좀 그렇고 뭐랄까 이제 정확하게 실행이 되는 부분과 확률적으로 실행이 되는 지시문들이 있고 코드가 있고 그런 것들을 패키지화를 깔끔하게 시켜놓은 거잖아요. 재활용 가능하게. 그래서 지금 상황에서는 뭐 MCP도 이슈이긴 하지만 스킬이 상당히 중요해지고 있다는 느낌을 받았어요. 그리고 되게 깔끔하게 잘 만들어 냈다. 그런데 왜 그런 스킬들은 잘 작동할 수밖에 없을까라는 답에 제가 지금 그 질문에 답을 가지고 있는 건 아니지만 질문이 일단 떠올려졌다는 거죠. 연말 연초에 이제 그거에 대해서 좀 생각하는 시간을 가졌습니다. 그래서 여기 지금 샛길이라고 표현해 놔서 이거는 샛길이라서 안 들어갈 수도 있지만 이 code-simplifier라는 거를 또 오픈소스로 Boris Cherny가, 그러니까 Anthropic에서 공개를 했어요. 근데 이거 보면 되게 간단해요. 그냥 MD 파일인데 이게 코드를 어떻게 하면 잘 간추려서 의미 있게 간추려 놓는가에 대한 지침을 해 놓은 거예요. 그런데 이런 것이 플러그인들로 그냥 이렇게 막 쌓여 있는 시절이죠.
노정석 진짜 영어가 새로운 programming language네요.
최승준 뭐 그냥 어떤 언어가 programming language. 자연어가. 그렇죠. 그래서 하여튼 아직 답은 내지는 못했지만 그런 질문들을 떠올렸고 제가 계속 고민하고 있었던 것이
‘적확한 토큰’과 도메인 프롬프팅의 품질 차이(전문가 vs 비전문가) 18:07
최승준 그 적확한 토큰을 넣어줘야 반응이 나오거든요. 그러니까 MD 파일들, 아까 그 스킬들의 MD 파일을 보면 그런 능력들이 발휘될 수 있는 지시문들이 쓰여 있어요. 그리고 그게 되게 중요하거든요. 그 도메인에 맞는 지시문들, 그리고 적확한 용어들이 있을 때 능력이 발휘되죠.
노정석 적확한이라는 표현은, 정확한, 적확한… 이건 어떤 걸 정확히 의미하죠?
최승준 뉘앙스에 좀 차이가 있긴 하지만 지금 딱 맞아떨어진다는 느낌까지 좀 있는 것 아닐까요? 저도 정확하게는 모르겠습니다만 그래서 그거를 써줄 때 그 제가 게임에 비유를 많이 하는데 게임 플레이를 하다 보면 뭐 StarCraft 같은 real-time simulation도 그렇고 뭐 role-playing game을 할 때도 그렇고 한데 플레이어가 특정 지역을 가야지만 그 근방의 지도가 미니맵이 켜지잖아요. 밝아지잖아요. 어둡게 있다가. 그래서 그 근방까지는 가줘야 공간이 열려요. 제 느낌엔.
노정석 그러니까 모델이 이미 알고 있는 게 굉장히 많잖아요. 이미 거의 모든 걸 다 알고 있다고 봐도 무방할 정도로 많이 알고 있는데 어떠한 특정 도메인 쪽으로 얘의 주의를 옮겨주고 그쪽에서 트리거를 주고 약간 ‘나 이제 이런 거 할 거야’라고 이렇게 소위 바닥을 좀 깔아줘야 걔가 그것과 관련된 일을 훨씬 잘할 수 있다는 거죠.
최승준 훨씬 잘하죠. 그래서 제가 굉장히 많은 테스트를 해봤는데 그걸 뭐 다른 분들과 그룹챗에서 하기도 했는데 그 특정한 용어를 쓸 때와 안 쓸 때의 응답의 질 차이는 꽤 나거든요. 그러니까 예를 들어서 대강 이런 전문가 persona를 써서 그 사람이 할 법한 것처럼 얘기를 하는 것과 실제로 그 전문가가 쓸 만한 토큰을 그래도 유사하게나마 넣어줬을 때의 응답은 질이 달라져요. 근데 Transformer의 원리를 생각하면 되게 당연하긴 하거든요. 그래서 그런데 이제 질문은, 그렇다면 결국에는 도메인 전문가가 유리한 건가, 라고 생각할 수밖에 없게 되잖아요. 그것을 알고 있는 사람이 잘 쓰는 건가. 그런데 AI의 발전의 방향이 과연 그렇기만 할까. 이게 모두를 위한 지렛대가 되려면 모델이 사람을 끌어주기도 할 수 있고, 그다음에 뭔가 어떤, 뭐 지금 그 스킬 같은 프롬프트의 맥락에서도 적절한 프롬프트를 쓴다고 하면 어, 내가 그 도메인의 전문가가 아니더라도 그 도메인의 지식을 끌어다 쓸 수 있고 또 모델이 overhang으로 가지고 있는 과잉된 능력을 끌어다 쓸 수 있으면 더 좋은 거잖아요.
노정석 너무나 그렇죠, 네.
최승준 그래서 아까 같이 두문자어를 발산한 것도 모델이 가지고 있는 연산, 연상 능력을 활용해서 좀 횡단적인 발상을 하게 해서 의미 있는 토큰들을 채우려고 했던 시도라면, 지금 이 시도는 arXiv가 이제 preprint, 그러니까 리뷰를 받지 않아도 올릴 수 있는, 아마 기본적인 검증하는 부분이 있겠지만 대부분은 쉽게 올릴 수 있는 그 논문 사이트인데, 제가 이거를 어저께 했을 때는 1월이 그러니까 일주일 좀 지났는데 4천 개가 넘게 이미 올라와 있었거든요.
arXiv 초록으로 토큰 채우기: 낯선 용어 연결 21:15
최승준 어마어마하게 많은 논문들이 arXiv에 올라오는데 이름 규칙을 가지고 있습니다. 이거에 보면 arXiv 논문은 제가 이거를 어디다가, 여기다가 했을 텐데, 이게 2601.03220v1 하면은 26년 1월에 3220번째 올라온 논문의 v1, 버전 1이라는 의미거든요. 그래서 이름 규칙이 있고 arXiv 자체도 API를 가지고 있어서 그것을 retrieving, 불러오는 것을 할 수 있습니다. 그랬을 때 1월의 무작위적인 논문들을 가져오라고 할 수 있어요. 그래서 막 여기도 뭐 코딩을 쓰고 뭐 어쩌고저쩌고 한 다음에 ‘1월 제출물 중 임의의 10편’. 그러면 이것을 초록만 읽는 상황이었을 거거든요. 근데 초록만 읽어도 거기에 전문적인 용어들이 있을 거 아니에요. 그래서 이거는 이제 그냥 일종의 실험이었을 뿐이긴 한데, 그 용어들이 차오른 다음에 이 초록만 읽었을 때 서로 연결 가능한 뻔하지 않은 통찰이나 함의가 뭘까. 그러면 저는 못 해도 모델은 흥미로운 연결고리 같은 것들을 토큰이 있으니까 A라는 토큰과 B라는 토큰 사이를 가교를 맺는 게 현재 flagship 모델들은 가능한 능력이거든요.
그래서 그런 것들을 그냥 재미삼아 읽어보는, 이게 정말 심각하게 의미 있는 것은 아닐 수 있는데 이게 사실은 그 Gwern이 얘기했던 LLM daydreaming하고 관련이 있기도 하고 AlphaEvolve나 Co-scientist 계열이 하는 것과 작업과도 관련이 꽤 있는 거거든요.
다양한 가설들을 거기서 생성하고 그 가설들이 정합성에 맞는가 뭐 실험을 하기도 하고 증명하기도 하고 하는데, 다양한 공간을 탐색하고 의외의 것들을 연결하는 작업들을 Co-scientist들이 보통 연구도 그러니까 비슷한 것을 하는 거라서 그런 것들을 좀 테스트해 본 것이었습니다. 그런데 꽤 흥미롭게 그런 것들이 작동하는 것을 볼 수 있었어요. 이런 실험 또한 의미 있는 토큰을 나는 모르더라도 그것들을 내가 필요한 맥락에서 가져다 쓸 수 있게. 그래서 arXiv 같은 경우에는 지금은 1월에 올라온 모든 것 중에 뭐 10개를 고른다는 정도였다면 특정 연구 도메인에서만도 가져올 수 있거든요. 그러면 유의미한 토큰들을 채우는 방법이 될 수 있다는 거죠.
노정석 그런데 승준 님이 또 여기서 좀 말씀 주시려고 하는 것은, 저것을 우리는 다 이해하지 못하지만, 저러한 term들을 그냥 가져와서, 안에 있는 단어들이나 전문성들을 가져와서 모델의 앞에 이렇게 prompt로 이렇게 탁 탑재하는 것만으로도 우리가 무언가 작업을 처리할 때 훨씬 품질이 올라갈 수 있다.
최승준 그러니까 그것이 내가 모르는 영역에 대해서 대화를 하기 때문에 위험성은 따라오지만, 그 맥락에서 진짜 전문가들이 할 법한 이야기들의 그 어떤 분포를 만들어 낼 때는, 나는 모르지만 실제로 존재하는 토큰들을 어떻게든 끌어와야 한다는 거죠.
노정석 네, 이해했습니다. 한번 넘어가 볼까요?
최승준 그거 외에 또 시도해 본 것이, 그것도 비슷한 맥락이지만 변주예요. 이것도 한참 대화를 하다가 지금까지 대화에 소환될 만한 인물을 그냥 어떤 persona, 뭐 어떤 특정 분야의 전문가, 개발자, 디자이너, 이런 식으로 소환하는 게 아니라, A부터 Z라는 알파벳이 있으니까 그것을 인물의 이름이나 성씨 목록으로 생각해서 그것을 발상하라고 하는 거예요. 결국 서구권의 이름은 알파벳 범주 안에 있는 거잖아요. 그러면 모델이 이름들을 떠올립니다.
프롬프팅 기법 2: A–Z 인물 소환 + “피상적이다”로 더 깊게 파기 25:03
최승준 그리고 이름과 그런 인물들이 할 법한 개념어나 도메인, 그런 것들을 떠올리게 하면 그냥 얘기하는 것보다는 의미 있는 토큰들이 차게 된다는 거죠. 그래서 이것도 발상 기법하고 일종의 연상 기법하고 그 토큰을 채우는 접근에서는 동일한데요.
제가 여기 하나 더 시도하는 것은 늘 반복적으로 시도하는 것이, 여기 나와 있는 인물들은 제가 보기에는 모르는 인물도 물론 있지만, 저도 꽤 아는 뭐 Daniel Kahneman이라든가, Minsky라든가, 뭐 Merleau-Ponty, Marshall McLuhan, 이런 사람들은 대표성을 가지고 있는 분포에서 많이 등장하는 인물들이라는 거죠.
이 어떤 전문 분야에 대한 것이나 대화에 대해서도 근데 그렇게 한 것이 1단계라면 정말 ‘찐’, 연구자들도 알 법한 얘기들은 거기에는 나오지 않을 가능성이 높거든요. 그래서 늘 단계가 필요한 것 같아요. 그래서 먼저 좀 넓은 분포로 가고, 좁히는 작업 같은 것을 하는 그런 것들을 해서 늘 제가 자주 쓰는 것이, ‘피상적이다’ 뭐 이런 걸 해주면 저도 잘 알기 어려운 인물들이 그때 가서는 소환이 되기 시작합니다. 그래서 그러면 그 도메인에서 어떤 사람들이 전문가고 누가 어떤 개념을 얘기해서 그 개념어들을 써서 그것을 물어보거나 아니면 대화에 주입하는 방식을 쓸 수 있다는 정도입니다.
그래서 이것을 하는 데에는 제가 작년 여름에 좀 정리했었던 태도가 trigger 되는데요. 그래서 여기에 3번인 ‘만족 유예’, 한 번 응답에 만족하기보다는 늘 좀 추궁을 하는 그런 태도가 좀 trigger가 늘 되고 있는 편이고, 여기 ‘임시 가설 세우기’가 아까 같이 약간 연상 능력을 활용하는 것이 제가 늘 trigger 되는 그런 어떤 태도 같은 거라 다시 한번 재방문해 봤습니다. 자, 그래서 여기까지가 그 스킬 같은 것들, 다른 모든 사실은 스킬이라고 했지만 사실 대부분의 프롬프트가 제대로 작동하려면 그 유의미한 토큰들이 있어야 되는데 그것을 어떻게 좀 몰라도 끌어왔을까에 대한 고민을 다룬 이야기라면 여기서는 좀 다른 변주를 하게 됩니다.
그래서 지금까지 좀 프롬프트 그러니까 스킬로 시작을 해서 약간 토큰의 중요성 같은 것들을 얘기를 했는데요. 약간 다른 곁가지일 수 있는데 저희가 작년 마지막 회차 등에서 성현 님이 짚어 주신 것이 RL에 대한 것들을 짚어주셨고 또 CoT에 대한 것도 좀 짚어주셨잖아요.
그래서 저도 쉬는 기간 동안 그것에 대한 것들을 좀 찾아보기도 하고 공부도 하고 그랬었는데 흥미로운 키워드가, 저희도 한번 다뤘었죠. 도망자 연합을 발표하는 자리에서 그걸 하겠다라고 정석 님이 발표할 때 OpenAI의 영상을 Sam Altman하고 Jakub Pachocki가 나왔던 영상이 있었죠. 근데 거기에 CoT Faithfulness라는 용어가 등장했었거든요.
CoT Faithfulness, Monitorability tax 28:31
최승준 거기에 뭔가 흥미로운 작업을 하고 있다 뭐 그런 얘기들을 했었어요. 근데 그 CoT, 뭐 이거를 신뢰성, 충실성이라고 번역을 해야 될지 모르겠는데 그 논의는 2023년부터 있었고 Anthropic에서도 꽤 많이 다뤘었거든요.
CoT 충실성이 뭐냐 하면은 모델의 내부 표현하고 모델이 실제로 뱉는 CoT에는 간극이 있을 수 있다는 거예요. 그래서 기만 행위 같은 것들이 작년에도 꽤 이슈가 되고 있었는데 흥미로운 OpenAI의 교훈은 뭐냐 하면은 그 예전에 ‘Let’s verify step by step’ 같이 CoT 그 아래 과정에서 CoT의 중간 거에다가 개입을 하거나 교정을 하려고 하면 모델이 기만 능력을 학습을 한대요. 그러니까 그거를 들여다보고서는 이래라저래라 하면은 그거를 우회하려고 난독화를 하거나 그런 어떤 숨기는 능력을 오히려 획득하는 게 문제가 된다는 그 아이디어가 작년 후반부에 얘기가 많이 됐었거든요.
노정석 네.
최승준 그렇다면 이제 질문이 생기죠. CoT가 진실을 말하는 게 아니고 실제로 모델이 하는 게 아니라면 CoT를, CoT를 잘 뱉을 수 있게 하는 게 모델의 성능을 높이는 작업이었잖아요. RL을 통해서 결국에는 옳은 답으로 가게 하고 그거에 연결되는 CoT 경로가 있으면 그게 모델의 성능을 높인 게 R1부터의 밝혀진 이야기들이었잖아요. 그러면 CoT가 실제로 아하를 얘기하든 저희가 한동안 얘기했었던 엔트로피가 높은 토큰 얘기하던 그런 것들이 모델의 실제 발휘하는 성능하고 일치하지 않을 수 있다면 그럼 CoT의 정체는 뭘까 이런 생각을 좀 하게 됐어요. 왜 그거를 적절하게 길게 그거를 test-time compute를 쓰면 성능이 높아질까요?
노정석 뭐 일단 생각을 많이 하니까
최승준 그렇죠. 그러니까 거기에서 진실이 드러나지는 않을지언정 계산을 충분히 하고 있다는 거죠. 내부 표현에서는.
노정석 네. 무언가 어쨌건 내부적으로 더 에너지가 쓰여서 계산이 일어나고 있는 거죠. 네. 그게 중요한 것이군요.
최승준 그러니까 제 관점에서는 그게 정확한지 아닌지는 모르겠지만 제가 요즘에 느끼는 바는 그런 거 아닌가라고 생각을 하게 된 거죠.
노정석 네. 근데 그거는 저희도 지금 이 자리에서 뭔가 증명할 수는 없지만 올바른 어떤 추측인 것 같아요. hunch라고 그러는데 뭐라고 그러죠? 이거, 그러니까 추측.
최승준 추측, 그런 거죠. 그래서 이게 정말 연구로 이렇게 증명이 된 얘기는 아닌데 그냥 제가 그냥 아귀가 맞게 생각을 해보면.
노정석 저희도 사실은 뭐 면접을 하거나 아니면 무슨 얘기를 하거나 혹은 뭐 좀 약간 난감한 상황에서 무언가 방어를 해야 될 때 말을 하면서 속으로 논리를 구성하고.
최승준 그런 것도 있죠. 생각하는 시간을 버는 거죠.
노정석 그러니까 저희가 이 트랜스포머도 이따가 아마 승준님 그거 얘기해 주실 것 같은데 최종 출력으로 나오는, 마지막 출력으로 나오는 그런 단어들은 어쨌건 우리가 목격하는 거지만 그 아래 진짜 속에서 일어나는 것들은 저희가 뭔지 알 수는 없잖아요. 거기서 굉장히 복잡한 현상들이 일어나고 있을 텐데 그 안에서의 생각이 있는 거죠.
최승준 그래서 그런 것들을 CoT에 그래서 이제 발상부터 해서 scratchpad부터 시작해 가지고 Jason Wei의 ‘Let’s think step by step’ 이런 것부터 해서 2022년 말부터 2023년 초의 흐름에서부터 오늘날까지 이어온 것들을 좀 다시 찾아보면서 공부를 하는 시간이 있었는데요. 그래서 이제 그 CoT에서 그게 결국에는 계산을 잘 이어가는 거에 의미가 있는 거구나. 그런데 어떻게든 그 CoT를 지금 잘 이어가게 하는 일들이 아까 그 모델이 굉장히 긴 시간 벗어나지 않고 수행하게 하는 것들, 그런 것들이 다 관련이 있다고 느껴지잖아요. 결국에는 계속 자기 회귀하는 토큰을 뱉으면서 일을 추진하고 있는 거죠. 여전히 그냥 자기 회귀를 하고 있는 거거든요. 그게 계산인 거고 그 글로 표현되는 것도 물론 굉장히 중요하지만 거기에는 쌍대(Duality)로, 그러니까 쌍으로 내부 표현이 있다는 거죠. 근데 결국에는 이것도 중요하고 이것도 중요해서 그게 잘 이렇게 진행이 되어 가는 그 어떤 그림 같은 것들이 좀 떠오르는 순간들이 있었고요.
노정석 동의합니다.
최승준 그래서 그리고 그래서 OpenAI에서 작년 후반부에 얘기한 것이 Monitorability라는 개념을 얘기하기 시작했어요. 그래서 이게 이제는 개입을 CoT에서 하면은 모델이 뭔가 그거를 기만하거나 그런 현상들이 생기다 보니까 그래도 내부 표현만으로 그거를 돌리는 거를 메타에서도 연구를 발표하긴 했었거든요. 그러니까 내부 표현으로 계속 자기 회귀하게 하면 결국 인간은 알 수가 없잖아요. 그래서 모니터링을 하는 건 굉장히 중요한데 그래서 여기서 말하는 거가 뭐 여러 가지 의미가 있지만 Monitorability tax를 얘기를 해요. 오히려 비용이 들더라도 그게 좋은 CoT가 보여지게 하는 것이 유의미한 어떤 정렬의 작업이고 그런 것들이 되게 잘 일어나게 하는 게 좀 의미가 있다 같은 것들에 대해서 좀 연구적인 측면에서 표현해 준 건데 그런데 OpenAI에서 이렇게 한국어 페이지가 생긴 것이 최근에 다시 한 번 보였어요.
노정석 다 모델이 하고 있겠죠. 네.
최승준 그렇죠. 근데 되게 잘 돼 있더라고요. 그래서 제가 조사를 어저께 그 2016년 것까지 봤는데 한글이 예전 거는 안 돼 있지만 최근 거는 한글화가 되게 잘 돼 있어요. 그래서 다시 한 번 이렇게 복습하는 데 도움이 되는 것 같고요. 이거는 성현 님이 소개해 주셨던 f(x)와 g(x)에서 f(g(x))로라는 것이 결국에는 고차 함수, 합성 함수를 만드는 거잖아요.
그래서 RL이 기존의 사전 학습을 통해서 원자적인 어떤 스킬들을, 여기서 말하는 스킬은 아까 Claude의 스킬과는 좀 다른 겁니다. 이 같은 스킬로 불리고 있는데 그 스킬들을 가지고 있는 거에서 좋은 생성 분포만으로 분포를 하는 역할을 RL이 하는 것 플러스 조합해서 새로운 스킬을 학습한다.
RL의 스킬 합성 f(g(x)) 관점과 체이닝/툴 호출로 보는 반복 구조 35:02
최승준 성현님의 비유가 사칙연산이었잖아요. 평균, 산술평균 같은 걸 내는 거를 사칙연산이라는 스킬로 조합을 해서 하는 것처럼 RL이 기존 스킬을 조합하여 새로운 스킬을 학습한다라는 것도 굉장히 다시금 생각해 보게 되는 그런 어떤, 이것도 계속 제가 이제 이 유튜브에 어느 분이 댓글로 달아주셨는데 최승준은 심상이라는 표현을 많이 쓴다 그런 얘기를 많이 하신 것 같아요. 그래서 자꾸만 심상이라는 표현을 쓰게 되는데 이것도 이제 어떤 이미지를 가지게 되는 부분이고요. 이건 뭔가가 조합이 된다라는 거예요.
그래서 그러면은 그 조합을 하는 거를 물론 여기서는 RL의 맥락이지만 이게 약간 다른 층위에서도 반복이 된다고 느껴지는 게 지금 딱 한 1년 전쯤이었을 텐데 o1이 나오고서는 2024년 가을에 o1이 나오고선 제가 o1을 어떻게 쓰는지 잘 몰랐을 때 2025년 1월 즈음에 시도한 게 그 함수 비슷한 거 pseudo-code인데 함수 비슷한 거를 가지고서는 자연어 비슷한 함수인데 그런 것들이 합성형으로 돼가지고서는 굉장히 길게 수행하게 하는 것들을 보여드린 게 있었잖아요. 근데 그것도 결국에는 모델이 그런 어떤 tool을 호출하고 또 어떤 합성하는 것들을 잘한다는 거가 지금 다른 층위에서 말씀드리고 있긴 합니다만 그런 것들을 잘하는 것도 굉장히 중요한 포인트인 것 같다. 그래서 지금 스킬들이 작동하는 거나 이런 것들도 MD 파일이 스크립트를 실행하고 그거에 대한 결과를 계속 chaining해서 할 수 있는 것들이 결국에는 이거를 잘하는 것하고 관련이 크다라고 느껴졌습니다. 그것도 제가 가지고 있는 생각이고요.
그래서 이제 오늘 계속 진행을 할 수 있을지는 모르겠는데 그래서 제가 12월 말하고 1월 초에 좀 쉬면서 다시 재방문해야 된다라는 게 2024년에 저희가 한번 트랜스포머 다뤘었잖아요. 그래서 트랜스포머, 이게 아마 2024년 7월쯤일 텐데 제가 이제 트랜스포머를 좀 차근차근 알아보자 라는 거에 관련된 글을 쓴 게 있고 그거를 이제 좀 공유하면서 막 이렇게 재미있게 얘기를 나눴던 기억이 나는데 그거를 재방문해 봐야겠다라는 생각이 들었습니다.
다음 예고: Transformer·QKV·KV cache·FFN→Sparse MoE 복습 37:15
최승준 그래서 이번 거는 그 트랜스포머의 MLP 또는 FFN이라고 불리는 그 큰 덩어리들을 요새는 다 MoE로 대체해서 쓰잖아요. 그래서 차근차근 트랜스포머의 MoE 버전을 이제 준비를 해보긴 했거든요.
노정석 결론은 아까 승준님이 말씀하신 것처럼 프롬프트 앞에 무언가 배경을 깔아 놓는 게 너무너무 중요하다.
최승준 그래서 뭐 벌써 시간이 꽤 돼가지고 예고편을 말씀을 드리면은 제가 앞에 적확한 토큰과 그거를 썼을 때 비로소 펼쳐지는 공간이 있다라는 말씀을 드렸었잖아요. 그래서 그거를 좀 기저를 이해하려면 저도 전문가는 아니지만 다시 트랜스포머의 원리로 돌아오는 거 그리고 최근에 이슈가 되고 있는 sparse MoE의 개념 같은 것들을 좀 이해해 보는 게 상당히 도움이 된다고 느꼈어요. 그리고 거기에 흥미로운 공통점들, 반복되는, 그러니까 변주되면서 반복되는 것들이 있거든요. 근데 제가 제목을 ‘원리를 생각하는 프롬프팅’이라고 했었잖아요. 그래서 그거를 조금 어느 정도 알면은 프롬프트를 하는 태도나 실제로 실천에도 좀 의식하면서 하게 되는 부분이 있지 않을까 해요. 물론 늘 그렇게 하기는 어렵습니다만, 그러면 조금 더 능력을 끌어 쓸 수 있지 않을까.
노정석 네, 승준 님, 뭐 저희 같은 사람들은 두괄식 결론부터 얘기하는 걸 또 좋아하는 사람들이기도 하니까 승준 님이 저희 오늘 이 세션에서 말씀해 주시고 싶었던 포인트를 좀 정리해 보면 프롬프팅을 어떻게 하느냐에 따라서 똑같은 모델도 성능이 완전히 달라진다라는 말씀을 하시고 싶어 하시는 거고.
최승준 현재는요. 앞으로도 그럴지 모르겠습니다만.
노정석 그러한 가정이 이제 지금 머릿속에 모델로 있으신 거고 그렇기 때문에 잘 모르겠지만 내가 행여 이해하지 못하더라도 그 스페이스에 있는 전문가의 어떤 글 덩어리라든지 아니면 전문가들의 이름 혹은 전문가들이 쓰는 용어들을 앞에 잔뜩 배치하는 것만으로도 우리가 그 도메인에서의 모델의 성능을 확 끌어올릴 수 있다라는 말씀을 하고 계시는 거거든요.
토큰 프라이밍의 리스크: “스포츠카 모드”와 모르는 도메인의 함정 39:54
최승준 그렇죠. 근데 약간 이게 맞는 비유일지 모르겠지만 그렇게 해가지고 모델이 유저가 이걸 다 알아차리나 보다라고 해서 갑자기 스포츠카 모드가 되면 다루기가 어려워지긴 해요. 어디로 가든 그거를 내가, 나도 같이 맞춰줘야지 그다음을 제어를 할 수 있는데 모델이 ‘유저가 이거를 다 알고 있는 상황인가 보다’ 라고 하면은 그 이어지는 응답들을 제어하는 건 사실 어렵긴 할 수 있거든요. 산으로 갈 가능성도 있어서 이게 꼭 늘 좋은 결과로만 갈 거다라고 말씀드리기는 어려워요. 그런데 이미 모델의 능력 자체는 나는 이해 못 할 것을 다룰 수 있거든요.
노정석 네, 근데 이제 그 부분이 참 경계선인 것 같아요. 저도 모델을 경외하는 관점을 가지고 있긴 한데 사실은 제가 알지 못하는 곳에서, 알지 못하는 도메인이나 그런 수준에서 얘기하는 것들은 제가 그냥 무조건 따라가는 건 위험하다라는 생각은 하거든요. 저희 최근에 뭐 그런 예제들도 많이 보고는 있잖아요. 얘가 말하는 것들이 다 맞는 건 아니거든요. 그리고 제가 그 말씀드렸는데 제가 이번 주에 완전히 다른 도메인에서 진짜 엔터프라이즈 IT 쪽에서 SAP이라든지 막 이런 ERP 그런 문서들을 잔뜩 보면서 모델과 함께 대화를 하다 보니까 틀리는 것들도 되게 많은 거예요.
그래서 제가 항상 프롬프트에 이렇게 추가하는 게 어떤 아첨의 형태로 나의 의도를 읽지 말고 온전히 객관성을 확보한 측으로 얘기를 해라’라고 하더라도 언제나 그냥 제가 뭘 원하는지 intention 위주로만 따라오니까 이게 원하는 답으로 못 간다는 생각을 저도 많이 하게 되거든요. 이 근본적인 이유는 제가 그 도메인에 대한 지식과 이런 게 없기 때문에 프롬프팅을 제대로 못하기 때문에 품질이 그렇게 되고 얘도 저를 어떻게든 만족시켜 주려는 그런 성향 때문에 이상하게 좀 꼬이는 그런 느낌을 많이 받았거든요.
최승준 그렇죠. 근데 그게 사람이기 때문에 마치 모델이 의도를 가지고 있거나 아첨한다고 느끼지만 사실 모델의 입력은 토큰이라서,
노정석 네, 그냥 통계적으로 계산할 뿐인 거죠.
최승준 잘못 가는 맥락을 형성했을 가능성이 큰 거죠. 무의식, 우리는 모르고 부지불식중에 입력했던 것들이 다 어떤 영향력을 발휘하고 있다고 생각을 하면 사실은 글쎄요.
노정석 그래서 오늘 저희가 이 세션을 어쨌든 이 이야기를 깊게 하려면 사실은 좀 트랜스포머라든지 그것의 원리 저희가 2024년도에 트랜스포머 탐구생활을 하다가 갑자기 그걸 좀 멈춰서 아쉬움을 갖고 있는데 다시 이제 그걸 해야 될 때가 온 것 같긴 해요.
최승준 아, 그리고 이제 타이밍이 이때밖에 없다고 생각합니다. 왜냐하면 2월과 3월이 되면 슬슬 일들이 벌어질 거고
노정석 일들이 벌어지겠죠.
최승준 네, 그래서 복습을 하거나 좀 천천히 가는 생각을 할 수 있는 시간이 별로 없을 수도 있거든요.
그래서 이제 제가 가지고 있는 생각을 또 하나 말씀을 드리면 예를 들면 정석님과 도망자 연합에서는 이것을 어떻게 모델의 능력을 leverage해서 비즈니스를 할 거냐를 굉장히 관심사로 보고 있잖아요. 그래서 결국에는 어떻게 쉽게 말해서는 돈을 벌 거냐 이걸 가지고 멋진 일들을 해낼 거냐 엔지니어 커뮤니티에서는 어떻게 harness를 만들어서 모델의 능력을 끌어내서 코딩을 잘하게 하거나 task들을 잘 처리할 거냐 그런 식으로 모델을 보잖아요.
또 한편에서는 이거 위험한 거 아니냐 좀 천천히 가야 된다 그리고 여전히 hallucination이 있다 그리고 이게 오히려 차별을 만드는 존재 아니냐 격차를 벌리는 존재 아니냐 이런 거 해서 천천히 가고 신중하신 분들이 있고 그런데 이제 저는 사실 어디에도 속하지 않는다는 느낌적인 느낌을 받을 때가 있거든요.
모델을 돕기 위해 모델을 이해하기 43:41
최승준 지금 이 모델들이나 AI들은 뭔가 이국적인 존재인 거잖아요. 어떻게 보면 alien 같기도 하고 근데 이 모델이 나를 잘 돕게 하려면 내가 모델을 잘 도울 필요가 있다는 생각을 많이 해요.
특히나 이제 제가 관심 있는 부분은 이걸 유희적으로 쓰는 거에 좀 관심이 있는 것 같아요. 저의 재미라는 것은 뭔가를 탐색하거나 탐험하거나 creative한 코드를 만들거나 이런 것들에 대한 관심이 있다 보니까 대화할 때도 좀 재미있게 하려고 하는 편이고 어떨 때 재미, 뿌듯함을 가끔 느끼냐 하면 모델의 CoT 안에서 ‘와, 이건 놀라워’ 뭐 이런 거 나올 때 약간 재미있기도 하고 그런 것들을 시도하고 있는데 결국에는 모델이 나를 도우려면 내가 모델을 도와야 된다는 그런 맞물린 고리가 생기거든요. 근데 모델을 도우려면 모델을 잘 알아야 되는 거잖아요.
이게 어떻게 작동하는지 모델은 인간에 대해서 어마어마하게 많은 정보를 가지고 있는데 그러다 보니까 인간을 지원하고 있는데 정작 user인 나는 모델을 얼마나 알고 이것이 작동하는 그런 메커니즘을 black box일지언정 어느 정도 알고 있는가 그리고 그것을 좀 알아가려고 했을 때 혹시라도 흥미로운 경로들이 더 생기지 않을까 이런 생각들을 가지고 있는 편이에요. 모델과 나와의 관계 사이에서 더 좋은 경험이 되려면 어때야 할까를 고민할 때 내가 모델이 작동하는 원리를 좀 더 알아갈 필요가 있다는 게 생각 중의 하나예요.
노정석 네, 그 지점은 전 전혀 이견이 없고요.
최승준 그래서 다시 없었던 것처럼 다시 처음으로 가면, 깊이 들어가는 것은 아무래도 다음 세션에서 시도해 볼 것 같은데요. 그래서 오늘을 좀 마무리해 본다고 하면
마무리 45:37
최승준 지금은 그래도 공부할 수 있는 여백이 있는 소중한 시간일 수 있고 새로운 뉴스들이 나오고 그랬을 때 제 심산은 복습을 좀 해보면 좋겠다. 이때 다시 RL에 대한 얘기든 CoT에 대한 얘기든 현재 벌어지는 것들의 기초에 해당하는 것을 알면 오히려 앞으로 벌어질 일들에도 근육이 생긴다고 해야 할까요? 면역력이 생긴다고 해야 할까, 어쨌든 준비될 수 있겠다. 그래서 여기가 AI가 급가속하는 시절에 그래도 쉬어가는 term이라면 기초로 돌아가서 생각해 보고 차근차근 곱씹어 보고 그러다 보면 또 아이디어도 얻고 다시 한번 재방문해 보고 싶었다는 거죠. 그리고 작년 성현 님의 keynote 발표에서 처음에 시작이 MoE였잖아요. Sparse MoE가 굉장히 중요했는데 저희가 대화는 많이 했지만 정작 제가 그것을 잘 알아보려고 하지 않았어요.
노정석 네, 그런가 보다 하고 저희가 많이 넘어왔죠.
최승준 그래서 MoE를 개념을 이해하거나 그게 묶여 있는 트랜스포머를 MoE 버전의 트랜스포머를 이해한다고 하면 그것을 잘 쓸 수 있는 것에도 힌트를 혹시 얻지 않을까 하는 나름의 가설을 가지고 준비해 봤습니다.
노정석 네, 그럼 저희가 다음 시간에 깊게 들어가면 어떤 것들을 배우게 되나요?
최승준 트랜스포머의 MoE 버전인데 저희 구독하시는 분들도 정규 님 나오거나 하다 보면 KV cache 이런 얘기 막 하고 그랬었잖아요. 그게 뭘까, 또 트랜스포머에서 결국에는 오늘의 맥락에서 어떤 토큰이 들어가야 그 공간이 열린다는 표현을 여러 번 했었는데 무슨 작동 원리이길래 그렇게 되는 걸까?
노정석 그럼 저희가 안에서 attention과 그 attention 안에 있는 핵심적인 QKV 이것들이 도대체 무슨 일을 하는 건지 그리고 그게 그다음 layer로 넘어가서 FFN, 요새는 MoE죠. MoE가 도대체 무슨 일을 하는지 그리고 그것의 트랜스포머 블록 사이에 residual, 잔차 연결 이런 것들의 의미나 이런 것들을 한번 다시 살펴볼 필요가 있다 살펴보고 싶다. 그리고 그게 이 링크를 누르면 이 속에 나오겠네요.
최승준 그래서 약간 좀 정말 차근차근 될 수 있을지는 모르겠습니다만 나름 노력해 보는 2024년에 저희가 이미 한번 다뤘던 거의 개정판인 거죠.
노정석 네, 맞습니다. 저희가 2024년에 트랜스포머를 찬찬히 열어보는 노력을 하다가 갑자기 다른 이슈들이 생기면서 뉴스 이런 쪽으로 급발진을 했었던 기억이 나는데
최승준 그런데 저도 이 분야의 전문가는 아니기 때문에 비전문가이지만 과몰입해서 호기심을 가지고 있는 사람으로서 이렇게 더듬더듬 이해해 보려고 노력했다 정도죠.
노정석 그럼요, 저희는 동호인이라고 항상 말씀드리고 있으니까 틀려도 됩니다. 네, 틀릴 수도 있다는 것을 앞에 붙여야 될 것 같아요.
최승준 그렇죠. 늘 비약이 있을 수도 있고 하지만 또 흥미로운 나름의 비유를 가지고 더듬더듬 알아가고 그런 것을 조금이라도 알아차렸을 때 내가 좀 더 재미있고 의미 있는 프롬프팅을 할 수 있지 않을까 그래서 제가 오늘의 제목을 ‘원리를 생각하는 프롬프팅’이라고 적어봤는데요. 어떻게 보면 드문 기회일 수 있습니다. 드문 기회라는 것은 이 내용이 소중해서라기보다는 공부할 수 있는 시간이 급가속하는 상황에서는 많지 않을 수 있기 때문에
노정석 네.
최승준 기초를 챙겨보려고 하는 거죠.
노정석 알겠습니다. 자, 그러면 오늘은 다음에 깊게 들어가기 위한 앞에 어떤 큰 전제에 해당하는 질문을 세팅한 세션이라고 보면 되겠습니다.
최승준 근데 recap을 해보자면 Andrej Karpathy 정도도 FOMO가 왔잖아요. 지금 막 바이브 코딩 이런 거 얘기하다가 Claude Opus 4.5, 이거 한 달 사이에 벌어진 일 모르면 deprecated된 거다, 이렇게 전문가조차도 그런 말을 하는 게 이슈가 꽤 됐는데 사실 근간을 따라보면 이런 skill이 됐든 프롬프팅이 됐든 지금 다 발전은 연속성을 가지고 있다가 갑자기 이게 지수적으로 가니까 사람들이 ‘이건 마치 뭔가 잘 모르는 일들이 벌어지는 거야’라고 하지만 사실은 다 인과관계를 가지고 이어왔던 거거든요. 그래서 다시 기초로 돌아가 보는 것이 또 어떻게 보면 의미 있지 않을까요? 다시 생각을 하게 되는.
노정석 알겠습니다. 의미가 있는 것 같습니다. 다음은 오전에 녹화를 통해서 이 어려운 주제, 트랜스포머 한번 파보도록 하겠습니다.
최승준 네, 그러면 다음 시간에 뵙도록 하겠습니다.
노정석 네, 알겠습니다.
최승준 네, 수고하셨습니다.