Built your own AI coding agent: How Pi works – Inside AI #29
https://www.youtube.com/watch?v=cKXmI_Tl5kM
트랜스크립트: https://www.assemblyai.com/dashboard/playground/transcript/05a119b5-ce04-4a76-a64b-003ac603af5e?region=us
번역 (비공개): https://claude.ai/chat/2ac651e1-7076-4b46-81df-191c52172780
🎤: 안녕하세요, Inside AI에 오신 것을 환영합니다. 오늘도 정말 흥미로운 전문가와 인터뷰를 진행하게 되었습니다. 오늘의 게스트는 마리오 체흐너(Mario Zechner), 오스트리아 출신 소프트웨어 개발자인데요, 그는 "나도 내 코딩 에이전트를 직접 만들 수 있겠다"는 것을 실제로 증명해 보인 분입니다. 그가 만든 코딩 에이전트는, 감히 말씀드리자면, Claude Code 같은 도구들과 충분히 경쟁할 수 있고 전혀 뒤처지지 않습니다. 저도 Pi라는 이 도구를 실제로 사용하고 있습니다. 현재 에이전트 관련 플랫폼을 개발 중인데 거기에도 활용하고 있죠. 이번 인터뷰도 AI 세계에 대한 흥미로운 통찰을 제공할 거라 생각합니다. 여러분도 즐겁게 시청해 주세요. 자, 마리오 체흐너와의 인터뷰를 시작합니다. 마리오, 안녕하세요, Inside AI 인터뷰에 오신 것을 환영합니다. 저는 지금 AI, 특히 AI 코딩을 거의 매일 다루는 다양한 분들과 인터뷰 시리즈를 진행하고 있습니다. 우리는 트위터에서 알게 됐는데, 거기서 마리오가 직접 코딩 에이전트를 만든 여정을 공유하고 계시죠. 먼저 본인 소개와 배경에 대해 말씀해 주시면, 그 다음에 주제별로 차근차근 이야기해 보겠습니다.
🧑💻: 네, 우선 여기에 광대 역할로 출연하게 해주셔서 감사합니다. 제 배경을 말씀드리자면, 저는 반(半)학술적인 분야에서 커리어를 시작했습니다. 자연어 처리(NLP)와 정보 검색 같은 일을 많이 했죠. 2000년대 중반이었으니까, 이제 제 나이가 드러나네요. 저 꽤 늙었습니다.
🎤: 아, AI 분야에서는 그게 오히려 좋은 것 같아요. AI 연구소들을 보면 평균 연령이 그렇게 낮지 않더라고요. 경험이 좀 있으신 거죠?
🧑💻: 사실 저는 AI 연구소들의 평균 연령에 대해서는 전혀 모릅니다. 소셜 미디어에서 보기로는 주로 아주 젊은 사람들이 이 분야에서 활발하게 활동하면서 놀라운 것들을 만들어내는 것 같긴 한데요. 어쨌든 그게 제 원래 배경입니다. 물론 LLM이나 트랜스포머가 등장하기 훨씬 전이었지만, 덕분에 머신러닝이 어떻게 작동하는지에 대한 기본적인 이해는 갖추게 됐죠. 그 후 어느 순간 샌프란시스코로 1년간 갔는데, 완전히 다른 일을 하기 위해서였습니다—바로 게임 개발이요. 그건 항상 제 취미였거든요. 거기서 스타트업의 테크 리드로 일했는데, 지겨워져서 다시 오스트리아로 돌아왔습니다. 여기 물이 훨씬 좋거든요. 그 후 한동안 반학술적인 분야에서 관리직을 맡았고요. 그러다가 스웨덴 친구들과 스타트업을 했는데, 1년 만에 꽤 큰돈을 받고 매각했습니다. 완전히 다른 분야였어요—컴파일러 엔지니어링, JVM 관련 것들을 iOS에서 돌리게 만드는 그런 일이었죠. 그 이후로는 주로 제가 하고 싶은 일들을 하면서, 동시에 시애틀에 있는 절친과 함께 Spine이라는 2D 애니메이션 소프트웨어를 개발하고 있습니다. 꽤 잘 되고 있어요.
🎤: Spine이라... 처음 듣는 이름인데, 나중에 꼭 찾아봐야겠네요.
🧑💻: 니치 제품이에요. 2D 스켈레탈 애니메이션 분야인데, 우리가 여전히 이 분야의 선두주자입니다. 게임 업계에서 알만한 큰 이름들은 다 우리 라이선스를 가지고 있고 어떤 형태로든 사용하고 있어요. 작은 회사들도 마찬가지고요.
🤔: 그러니까, 제가 2D 게임을 개발한다고 하면, 캐릭터의 자연스러운 움직임을 재현하고 싶을 때 이 도구를 사용해서 움직임 시퀀스를 만들고, 거기에 픽셀아트 스프라이트 같은 걸 붙이는 건가요?
🧑💻: 네, 정확해요. 사실 기존의 3D 파이프라인과 비슷하게 작동합니다. 스켈레톤(뼈대)을 만들고, 거기에 이미지를 붙인 다음, 스켈레톤만 움직이면 이미지가 따라 움직이는 거죠. 이게 런타임에도 같은 방식으로 작동하기 때문에 동적으로, 프로그래밍 방식으로 환경에 반응할 수 있어요. 예를 들어 발이 지형을 따라가게 한다든지 그런 것들이요. 스프라이트 시트에 비하면 훨씬 쉽죠. 스프라이트 시트는—청취자분들이 게임 개발에 얼마나 익숙하신지 모르겠지만—기본적으로 디즈니 애니메이션 방식이에요. 모든 프레임을 일일이 그린 다음 순서대로 재생하는 거죠. 스켈레탈 애니메이션은 다릅니다. 이미지를 한 번만 그리고, 스켈레톤에 붙여서, 스켈레톤을 움직이면 모든 게 런타임에 동적으로 계산됩니다.
🎤: 저도 해본 적 있어요. Aseprite라고, 스프라이트 애니메이션용 저렴한 프로그램이 있는데, 작업량이 정말 많더라고요. 그래서 여러분 도구가 시간을 많이 절약해줄 것 같다는 게 이해가 됩니다.
🧑💻: 스타일의 문제이기도 해요. 클래식한 스프라이트 애니메이션은 요즘은 레트로 느낌이라고 할 수 있고, 특히 인디 게임들은 그런 방향을 원하는 경우가 많죠. 90년대 게임들, NES나 슈퍼패미컴 시절처럼요. Spine도 그런 데 쓸 수 있지만, Spine이 더 적합한 건 Dead Cells 같은 게임이나 Prince of Persia 스타일의 좀 더 생동감 있는 애니메이션이에요. 아니면 완전 반대 방향으로, 이상한 비이족보행 외계인 같은 기괴한 것들도요. 그런 건 이런 소프트웨어로 훨씬 쉽게 만들 수 있습니다.
🎤: 그럼 어떻게 다시 AI 분야로 돌아오게 되셨나요?
🧑💻: 2000년대 중반 머신러닝 경험 덕분에 항상 이 분야에 관심을 가지고 있었고, 데이터 스크래핑 같은 작업에 머신러닝, 특히 NLP 기술을 계속 활용해왔어요. 2023년에 우크라이나 전쟁이 시작되면서 물가가 폭등했는데, 특히 오스트리아 식료품 가격이 심했죠. 그래서 데이터 스크래핑을 시작했어요. 당시 LLM은 아직 초기 단계였지만, "이게 코카콜라인지 아닌지 제품명으로 알려줘" 같은 작은 NLP 작업에는 이미 꽤 괜찮은 데이터 추출 파이프라인을 만들 수 있었거든요. 그래서 오스트리아 식료품 업체들의 가격을 전부 스크래핑했습니다. 업체들은 별로 안 좋아했겠지만요. 뭔가 이상하다는 걸 보여주기 위해서였죠.
🎤: 우연히도 가격이 동시에 조정되고, 비슷한 가격대로 맞춰지고 그런 거죠?