괴테의 시 「마법사의 제자」에서, 스승이 자리를 비운 사이 제자는 빗자루에 주문을 걸어 물을 길어 오게 한다. 처음엔 신통하다. 빗자루가 알아서 물통을 나르니 제자는 팔짱만 끼면 됐다. 문제는 멈추는 주문을 익히지 못했다는 것이다. 빗자루는 멈추지 않고, 답답해진 제자가 도끼로 쪼개자 이번엔 둘이 되어 더 빨리 물을 긷는다. 방이 물바다가 되고 나서야, 돌아온 스승이 한마디로 모든 걸 멈춰 세운다.
개인용 AI 비서를 1년 가까이 손수 꾸리면서, 나는 저 제자의 자리에 두 번 서 봤다. 먼저 에이전트를 여럿 두었을 때, 그다음 그 비서가 살던 도구를 옮길 때. 두 번 다 신기해서 고삐를 풀었다가 통제가 손에서 빠져나가는 걸 느꼈고, 화려한 데서 단순한 데로 물러나고 나서야 다시 고삐를 쥘 수 있었다. 그때는 후퇴라고 불렀지만, 지나고 보니 통제권을 되찾은 일이었다.
1막. 에이전트를 여럿 두면 똑똑해질 줄 알았다
처음 개인 비서를 두자, 하나로는 곧 부족해 보였다. 글을 맡는 에이전트, 자료를 찾는 에이전트, 일정을 챙기는 에이전트… 나는 거기서 멈추지 않았다. 하나하나에 이름을 붙이고 성격을 정해 줬다. 누구는 꼼꼼하고 누구는 과감하게. 역할을 나눠 주고, 저마다 따로 기억할 메모리까지 손에 쥐여 줬다. 자기 몫의 일을 기억하고, 서로 분업하고 의논하게 두면, 작은 팀 하나를 거느리는 셈 아닌가. 그렇게 생각했다.
처음엔 정말 신기했다. 내가 일일이 시키지 않아도, 이름 붙여 둔 그들이 서로를 부르며 말을 주고받고, 일을 나눠 갖고, 결과를 합쳤다. 화면 안에서 작은 회의가 열리는 걸 지켜보는 기분이었다. 마법 같았다. 딱 데모까지는.
군단이 흩어지는 순간
조금 더 굴려 보니, 이 작은 팀은 멈추지 않는 빗자루가 되어 갔다.
누가, 왜 그랬는지 따라갈 수 없었다. 결과가 이상하게 나와도, 어느 에이전트가 어디서 무슨 판단을 했는지 되짚을 수가 없다. 다섯이 다섯 갈래로 동시에 움직이면, 그 다섯 줄기를 한 사람이 머릿속에 담아 둘 수가 없다. 감독이 안 되는 것이다.
서로 다른 전제 위에서 움직였다. 에이전트 A가 깔고 가는 가정과 B가 깔고 가는 가정이 어긋나 있는데, 정작 둘은 서로의 가정을 모른다. Devin을 만든 회사 코그니션(Cognition)이 「멀티 에이전트를 만들지 말라(Don’t Build Multi-Agents)」는 글에서 짚은 게 정확히 이 지점이다. 행동에는 암묵적 결정이 담기고, 충돌하는 결정은 나쁜 결과를 낳는다. 사전에 맞춰 두지 않은 가정 위에서 각자 행동하면, 합쳐진 결과는 깨진다는 것이다.
관리할 식구가 늘었다. 에이전트 하나하나가 돌봄의 대상이다. 저마다의 역할, 저마다의 지시문, 저마다의 상태. 다섯이면 다섯 개의 살림이 생긴다. 일을 덜려고 들인 식구가 도리어 일을 만들었다.
목적이 흐릿하면 더 빨리 산으로 갔다. 사람으로 이뤄진 팀도 목표가 모호하면 표류하지만, 에이전트는 그 정도가 더 심하다. 중간에 멈춰 서서 “이거 방향 맞아?” 하고 되묻는 법이 없기 때문이다. 출발선에서 방향이 0.1도만 틀어져 있어도, 끝까지 그 각도 그대로 달려간다. 한번은 멀쩡한 질문 하나에서 시작한 의논이, 몇 차례 오가는 사이 누구도 시키지 않은 엉뚱한 결론에 가닿아 있었다.
그리고 쉬지 않고 떠들다 토큰이 녹았다. 그들은 좀처럼 말을 멈추지 않았다. 하나가 물으면 다른 하나가 답하고, 그 답이 또 새 질문을 불렀다. 사람이라면 “이쯤 하자” 하고 끊을 대화를, 그들끼리는 끝없이 이어 갔다. 그리고 그 한마디 한마디가 다 돈이었다. 멈추는 말을 모르는 빗자루처럼, 대화는 불어나고 토큰은 그만큼 타들어 갔다. 일을 시킨 건 한 줄인데, 청구서는 한 단락이었다.
그래서 하나로 줄였다
결국 단일 에이전트로 돌아왔다. 에이전트는 하나, 대신 그 하나의 손에 여러 도구를 쥐여 준다. 검색하고, 파일을 읽고, 코드를 고치는 도구들을. 그러면 모든 판단이 하나의 이어지는 맥락 안에서 내려지고, 나는 그 한 줄기를 처음부터 끝까지 읽어 내려갈 수 있다. 결과가 이상하면 어디서 어긋났는지 짚이고, 방향이 틀어지면 그 자리에서 잡아챌 수 있다.
코그니션이 권한 결론도 같다. 맥락을 여러 갈래로 쪼개 나눠 주지 말고 통째로 공유하라는 것, 그리고 가장 믿을 만한 형태는 한 줄기로 이어지는 단일 에이전트라는 것. 내 경험이 먼저였고 그들의 글이 뒤에 그 이유를 설명해 준 셈이다. 여럿에서 하나로, 그게 첫 번째 후퇴였다.
그럼 멀티 에이전트가 틀린 걸까
그렇다고 멀티 에이전트가 늘 틀린 건 아니다. 빛나는 자리는 분명히 있다.
클로드(Claude)를 만든 앤트로픽(Anthropic)이 공개한 멀티 에이전트 리서치 사례가 좋은 반례다. 리드 에이전트 하나가 여러 서브 에이전트에게 검색을 나눠 맡기는 구조로, 단일 에이전트보다 성능을 90% 넘게 끌어올렸다. 단, 조건이 붙는다. 그게 통한 일은 병렬로, 읽기 전용으로, 서로 독립적인 여러 갈래를 동시에 훑는 검색이었다. 넓게 퍼져 정보를 그러모으는 일에는 여럿이 확실히 낫다. 갈래끼리 부딪칠 일이 없으니까.
대신 비용을 안다. 같은 글에서 앤트로픽은 에이전트 하나만 돌려도 이미 일반 대화의 4배에 가까운 토큰을 쓴다고 밝혔다. 멀티 에이전트는 거기서 또 네 배 가까이 뛰어, 일반 대화의 약 15배에 이른다. 그만큼 태울 가치가 있는 고부가 작업에서만 수지가 맞는다는 뜻이다.
그리고 멀티가 깨지는 자리도 그만큼 또렷하다. 에이전트들이 같은 맥락을 공유해야 하는 일, 작업끼리 서로 얽혀 있는 일, 판단이 한 줄기로 이어져야 하는 일. 일상의 업무도, 대부분의 코딩도 사실 이쪽이다. 내 개인 비서가 하던 일도 정확히 여기 속했다. 그러니 나한테 멀티가 안 맞았던 거지, 멀티 자체가 나쁜 건 아니다.
갈림선은 한 줄로 줄어든다. 일이 넓게 갈라지면 여럿, 깊게 이어지면 하나. 내 일은 깊게 이어지는 쪽이었다.
2막. 비서가 사는 집을 옮기다
에이전트를 한 줄기로 정리하고 나서야, 정작 그 비서가 어디서 사는지가 눈에 들어왔다. 그때껏 내 비서는 텔레그램·슬랙 같은 메신저 위에서 돌고 있었다. 처음 거기에 붙인 이유는 단순했다. 진입장벽이 0이니까. 앱은 이미 깔려 있고, 주머니 속에서 바로 말을 걸 수 있고, 봇 하나 붙이는 일은 반나절이면 된다. 메신저 창에 “오늘 일정 정리해줘”라고 치면 답이 돌아왔다.
그런데 거기서 오래 지내다 보니 벽이 세 개 나타났다.
첫째, 모바일 채팅으로는 쌓인 걸 다시 보고 관리하기가 어렵다. 채팅은 흐른다. 어제 정리한 내용이 오늘은 스크롤 저 위로 떠내려가, 다시 찾으려면 한참을 거슬러 올라가야 한다. 기록이야 어딘가 남지만, 그걸 한눈에 펼쳐 놓고 분류하고 추려 보는 일은 한 줄로 흐르는 대화창에서는, 그것도 작은 휴대폰 화면에서는 잘 되지 않는다.
둘째, 한 그릇에 여러 일을 담을 수 없다. 나는 노트도, 할 일도, 투자 현황도, 그날의 일기도 한곳에서 보고 싶었다. 그런데 메신저 봇은 대화는 해도 화면을 못 만든다. 탭을 나누고, 목록을 세우고, 표를 그리는 일이 채팅창 안에서는 되지 않는다.
셋째, 그리고 이건 좀 다른 결인데, 플랫폼에 매여 있다. 메신저는 내가 만든 게 아니라 한 회사의 서비스다. API 정책이 바뀌거나, 어느 날 요금이 붙거나, 봇 규칙이 까다로워지면 내 비서가 거기 휘둘린다. 내 데이터는 그 회사 서버에 얹혀 있고, 정작 매일 드나드는 창구의 모양을 내가 정할 수 없다. 흔히 앱 종속성, 락인(lock-in)이라 부르는 상태다.
그래서 작은 웹앱을 직접 만들었다. 화려하진 않다. 기성 메신저의 매끈한 완성도에 비하면 투박하다. 대신 데이터가 어디 쌓일지, 화면을 어떻게 나눌지, 어떤 도구와 이을지를 전부 내가 정한다. 두 번째 후퇴는 그렇게 일어났다. 잘 만들어진 기성 앱에서, 투박해도 나만의 도구로.
예전 같으면 웹앱을 직접 만든다는 건 엄두가 안 나는 일이었다. 화면을 짜고, 서버를 세우고, 데이터를 어디에 어떻게 담을지를 하나하나 코드로 옮기는 데만 며칠이 걸렸다. 그런데 지금은 그 일을 에이전트가 대신 해 준다. 원하는 모양을 말로 풀어 주면, 단일 에이전트가 화면과 코드를 짜 온다. 만드는 데 드는 품이 확 줄어드니, 직접 만든다는 선택이 더는 무모하지 않다. 군단을 해산하고 남긴 그 하나가, 이번엔 내 집을 지어 줬다.
대신 그만큼 새로 내 몫이 된 게 있다. 보안이다. 기성 메신저는 로그인도, 데이터 보호도, 남이 함부로 들여다보지 못하게 막는 일도 회사가 알아서 해 줬다. 내가 지은 집에서는 그 문단속을 내가 채워야 한다. 누가 들어올 수 있는지, 내 데이터가 새 나가지는 않는지, 무심코 열어 둔 문은 없는지. 게다가 에이전트가 코드를 빨리 짜 줄수록, 그 코드가 정말 안전한지는 내가 더 꼼꼼히 들여다봐야 한다. 빨리 나온 것은 빈틈도 같이 데려오기 때문이다. 만들기가 쉬워진 만큼, 지키는 일이 새 무게로 얹혔다.
두 번의 후퇴는 같은 말을 한다
군단을 해산한 일과 메신저를 떠난 일은, 돌아보면 같은 깨달음의 두 얼굴이었다.
신기함은 데모에서 빛나고 운용에서 식는다. 자기들끼리 떠드는 에이전트도, 뭐든 다 되는 만능 봇도, 처음 보여 줄 때는 근사하지만 매일 기대고 살기에는 손에 잡히지 않는다. 통제 밖에 있는 똑똑함은 믿고 맡길 수가 없다.
화려함을 덜어낸 자리에는 세 가지가 남았다. 데이터와 화면이 내 것이라는 소유, 이 도구가 정확히 무엇을 위한 것인지 아는 목적, 무슨 일이 왜 일어났는지 끝까지 따라갈 수 있는 통제. 더 크게, 더 똑똑하게 벌이려던 두 번의 시도가 가르쳐 준 건, 손에 쥘 수 있는 만큼으로 돌아오는 일이 후퇴가 아니라는 것이었다. 제자의 빗자루가 무서웠던 건 물을 길어서가 아니라, 멈추는 말을 모르는 채로 풀려났기 때문이다. 통제를 쥔 손이 돌아오자, 빗자루는 다시 부릴 수 있는 도구로 돌아왔다.
도구에 일의 실행은 맡겨도 이해까지 넘길 수는 없다는 이야기는 AI에게 생각은 위임해도, 이해는 위임할 수 없다에서, 에이전트가 조직의 모양 자체를 바꾸는 이야기는 조직 구조의 분류와 진화에서 이어진다.