수학 문제를 풀 때 정답이 나올 때까지 계속해서 방법을 바꾸며 도전하는 학생이 있다고 상상해 보세요. 한 가지 방법을 써보고 틀리면 다른 방법을 쓰고, 조금이라도 정답에 가까워지면 그 방법을 기억했다가 다시 발전시키는 식입니다. 만약 이런 과정을 지치지 않고 밤새도록 반복해서 아침에 정답지만 딱 가져다 놓는 로봇이 있다면 어떨까요.

pi(터미널(검은 화면에 글자만 나오는 창)에서 작동하는 AI 코딩 도우미)의 새로운 능력

최근 개발자 커뮤니티에서는 pi-autoresearch(AI가 스스로 실험하고 코드를 고치는 도구)라는 새로운 도구가 주목받고 있습니다. 이 도구는 기본적으로 pi라는 AI 도우미 위에 얹어서 사용하는 추가 기능입니다. pi는 SSH(내 컴퓨터가 아닌 멀리 떨어진 다른 컴퓨터에 연결해서 조종하는 방법) 환경에서도 잘 작동하며, IDE(코드를 더 편하게 짤 수 있게 도와주는 똑똑한 메모장 프로그램) 없이도 검은 화면의 터미널에서 바로 코드를 짤 수 있는 능력을 갖췄습니다.

이 도구의 핵심은 Extension(원래 없던 새로운 능력을 추가해 주는 도구)과 Skill(어떤 일을 할 때 어떤 순서로 움직여야 하는지 알려주는 설명서) 시스템입니다. 사용자가 원하는 기능을 플러그인처럼 끼워 넣으면 AI가 그 능력을 갖게 됩니다. pi-autoresearch는 바로 이 시스템을 이용해 AI가 스스로 가설을 세우고 실험하는 능력을 갖게 만든 것입니다.

이 아이디어는 원래 Karpathy라는 유명한 연구자가 제안한 방식에서 시작되었습니다. LLM(엄청나게 많은 책을 읽어서 사람처럼 말할 수 있는 인공지능)을 학습시킬 때, AI에게 학습 코드를 주고 스스로 수정하게 한 뒤 loss(AI가 정답을 맞히지 못하고 얼마나 틀렸는지 보여주는 점수)가 낮아지는지 확인하는 루프를 돌리는 방식이었습니다. 쉽게 말하면 AI가 스스로 공부 방법을 바꾸며 성적을 올리는 실험을 밤새도록 반복하는 것입니다. 결국 AI가 연구원의 역할을 대신 수행하며 더 나은 모델을 찾아내는 구조가 완성되었습니다.

단순한 실험을 넘어 실제 개발 현장으로 들어온 이유

하지만 처음 나온 아이디어는 GPU(그림을 그리거나 복잡한 계산을 아주 빠르게 처리하는 컴퓨터 부품)가 있어야 하고 오직 AI 학습에만 쓸 수 있다는 한계가 있었습니다. pi-autoresearch는 이 범위를 완전히 넓혔습니다. 이제는 AI 학습 점수뿐만 아니라 웹사이트가 얼마나 빨리 뜨는지 측정하는 Lighthouse(웹사이트가 얼마나 빨리 뜨는지 점수로 매겨주는 도구) 점수나, 프로그램의 파일 크기, 테스트가 끝나는 시간 등 숫자로 측정할 수 있는 것이라면 무엇이든 목표로 잡을 수 있습니다.

비유하자면 예전에는 수학 성적만 올릴 수 있는 로봇이었다면, 이제는 달리기 속도를 높이거나 글씨를 예쁘게 쓰는 법을 연구하는 로봇이 된 셈입니다. 이를 위해 pnpm(프로그램을 만들 때 필요한 다른 도구들을 한꺼번에 설치해 주는 도구) 같은 도구를 사용해 성능을 측정하고, 그 결과를 바탕으로 코드를 계속 수정합니다.

또한 AI가 가진 치명적인 약점인 기억력 문제도 해결했습니다. AI는 대화가 너무 길어지면 앞 내용을 잊어버리는데, 이를 막기 위해 jsonl(정보를 한 줄에 하나씩 차곡차곡 적어두는 기록장) 파일과 요약 문서에 모든 실험 과정을 적어둡니다. 덕분에 AI가 중간에 꺼졌다가 다시 켜져도 기록장을 읽고 바로 이전에 어디까지 실험했는지 기억해 낼 수 있습니다.

실험 결과가 단순히 운 좋게 좋게 나온 것인지 구별하는 장치도 들어갔습니다. MAD(결과값이 얼마나 들쭉날쭉한지 계산해서 진짜 실력인지 운인지 구별하는 방법)라는 통계 방식을 써서, 진짜로 성능이 좋아진 것인지 아니면 우연히 이번에만 빨리 끝난 것인지 점수로 보여줍니다. 여기에 더해 코드를 빠르게 고치느라 정작 프로그램이 망가지는 일을 막기 위해 lint(코드에 오타가 있거나 약속된 규칙을 어기지 않았는지 검사하는 도구) 같은 검사 과정을 자동으로 거치게 했습니다. 결과적으로 AI가 단순히 숫자만 올리는 것이 아니라 제대로 작동하는 코드를 만들게 한 것입니다.

밤새 일한 AI의 결과물을 확인하는 방법

실제로 이 도구를 사용하는 과정은 매우 간단합니다. 사용자가 터미널에 명령어를 입력해 목표와 측정 방법을 알려주면 AI가 자율 루프에 들어갑니다. 코드를 수정하고, git(코드를 고칠 때마다 언제 무엇을 바꿨는지 기록해 두는 일기장)에 기록하고, 성능을 측정하고, 결과가 나쁘면 다시 되돌리는 과정을 무한히 반복합니다.

실험이 모두 끝나면 AI는 자신이 성공시킨 코드들을 모아서 PR(내가 고친 코드가 괜찮은지 확인하고 원래 코드에 합쳐달라고 요청하는 편지) 형태로 정리해 줍니다. 개발자는 아침에 일어나서 AI가 정성스럽게 작성한 보고서와 수정된 코드를 검토하고 승인 버튼만 누르면 됩니다.

물론 AI가 계속해서 API를 사용하면 돈이 많이 들 수 있습니다. 이를 방지하기 위해 한 번에 최대 몇 번까지 실험할지 정하는 가드레일 기능을 제공합니다. 이는 AI가 무한 루프에 빠져 예산을 모두 써버리는 사고를 막아주는 안전장치 역할을 합니다. 결국 개발자는 복잡하고 지루한 최적화 작업을 AI에게 맡기고 더 중요한 설계에 집중할 수 있게 되었습니다.

이제 개발자는 더 이상 성능을 올리기 위해 밤을 새우며 코드를 한 줄씩 고칠 필요가 없습니다. AI가 스스로 가설을 세우고 검증하며 최선의 답을 찾아오는 시대가 성큼 다가왔습니다.