DHH는 날짜를 짚었고 저는 AI에 손코딩을 넘긴 날을 모릅니다

이미지
DHH가 올해 Rails World에서 한 발표를 요약한 영상을 몇 편 봤습니다. 원본 발표를 처음부터 끝까지 본 건 아니고, 한국어로 정리해 준 유튜브 영상 네 편을 이어서 봤습니다. 발표를 남이 정리해 준 걸로 보고 대충 알았다고 넘어가는 것도, 생각해 보면 요즘 제가 코드를 대하는 방식이랑 비슷합니다. 원본을 다 읽지 않고 정리된 결과를 보고, 이상한 데가 있으면 그때 찾아봅니다. 내용이 많았는데 제일 오래 남은 건 날짜 하나였습니다. 2025년 11월 24일. 영상에 따르면 DHH는 이날을 "우리 시대의 코닥 브라우니"라고 불렀다고 합니다. Claude Opus 4.5가 나온 날입니다. 1900년에 1달러짜리 카메라가 나오면서 초상화를 그리던 화가들이 일감을 잃고 방향을 틀었던 것처럼, 그날부터 프로그래머의 일이 바뀌었다는 얘기였습니다. 그리고 기술은 비탈길처럼 매끄럽게 오르는 게 아니라 한참 평평하다가 어느 날 한 칸 뛰는 계단처럼 온다고 했습니다. 영상을 보면서 저도 모르게 제 날짜를 찾고 있었습니다. 저는 언제였지. 생각이 안 났습니다. 마지막으로 직접 친 코드 어림잡을 수 있는 건 있습니다. 2025년 9월쯤부터는 제가 코드를 직접 쓴 기억이 없습니다. DHH가 짚은 날보다 두 달쯤 앞입니다. 이걸 날짜라고 하기는 좀 어렵습니다. 9월 몇 일에 무슨 일이 있어서 그날부터 안 쓴 게 아니라, 거꾸로 짚어 올라가다 보니 그쯤부터는 기억이 비어 있다는 정도입니다. 어느 날 키보드에서 손을 뗀 게 아니라 손으로 친 마지막 줄이 언제였는지 생각해 보니 안 떠오르는 겁니다. 두 달 앞이라고 해서 제가 남들보다 빨랐다는 뜻도 아닙니다. 그때 무슨 모델을 쓰고 있었는지도 정확히 기억이 안 납니다. DHH는 특정 모델이 나온 날을 짚었는데 저는 어떤 모델 때문에 넘어왔는지를 말할 수가 없습니다. 모델이 바뀐 날은 발표가 있으니 찾아보면 나오겠지만, 제가 바뀐 날은 아무 데도 적혀 있지 않습니다. 커밋 기록을 뒤져 보면 뭔가 나올...

개인 AI 에이전트 22개월을 날짜로 정렬해봤다

밝은 책상에서 노트북과 스마트폰 사이를 오가는 작업 흐름을 암시하는 두 기기의 나란한 배치

얼마 전에 제 메일 서버가 502를 냈는데 그걸 고치는 동안 터미널을 한 번도 안 열었습니다. 그 뒤로 개인 AI 에이전트 소식을 전보다 자주 찾아보게 됐고, 그러다 유튜브에서 제미나이 스파크 설명 영상을 하나 봤습니다. 소개하는 톤이 거의 신대륙 발견이었습니다. 24시간 일하는 개인 비서, 노트북을 덮어도 계속되는 작업, 사람이 없어도 진행되는 업무. 듣다 보니 좋긴 한데 어디서 본 것 같아서 영상을 멈추고 출시 날짜를 하나씩 찾아봤습니다.

제 머릿속 순서는 이랬습니다. 2026년 1월에 오픈클로가 있었고, 3월에 클로드 디스패치가 나왔고, 챗지피티가 원격 기능을 붙였고, 5월에 제미나이 스파크가 나왔다는 식이었습니다. 마지막에 나온 게 제일 진화한 거라는 느낌이 자연스럽게 붙어 있었습니다. 그런데 날짜를 맞춰보니 순서도 틀렸고 시작점도 틀렸습니다. 시작점은 제가 생각한 것보다 한참 앞이었습니다.

날짜를 맞춰보니

제일 앞에 있던 건 제가 완전히 잊고 있던 거였습니다. 앤트로픽이 2024년 10월에 computer use를 공개 베타로 냈습니다. 화면을 보고 커서를 옮기고 버튼을 누르고 글자를 입력하는 걸 모델이 직접 하는 건데, 프런티어 모델에서 이걸 공개 베타로 낸 건 그게 처음이었습니다. 제품이 아니라 API라서 제 기억에서 빠져 있었던 것 같습니다. 개인 에이전트라는 게 결국 컴퓨터를 대신 만지는 거라면 그 능력이 처음 나온 건 거기였습니다.

몇 주 뒤에 구글이 프로젝트 마리너를 클라우드 브라우저 에이전트로 공개했고 이듬해 봄에 정식으로 냈습니다. 대시보드에 할 일을 적어 넣는 방식이었습니다. 그리고 2025년 1월에 오퍼레이터가 나왔는데, 제가 제일 크게 잘못 알고 있던 게 이거였습니다. 오퍼레이터는 제 컴퓨터를 쓰지 않았습니다. OpenAI가 세션마다 띄워주는 클라우드의 헤드리스 브라우저에서 돌았고 제 기계는 화면만 봤습니다. 그해 여름에 챗지피티 에이전트가 나오면서 자기 가상 컴퓨터를 갖게 됐고, 터미널로 코드를 돌리고 슬라이드랑 스프레드시트를 만들었습니다. 오퍼레이터는 거기 흡수돼서 꺼졌습니다. 저는 오퍼레이터가 당연히 제 컴퓨터에서 도는 줄 알고 있었습니다. 화면이 제 앞에 뜨니까 실행도 여기서 되는 거라고 생각했던 것 같습니다.

예약 작업도 2026년 6월이 처음이 아니었습니다. 2025년 1월에 Tasks라는 이름으로 베타가 나왔고, 열 개까지 걸 수 있었고, 하루나 주 단위 반복이 됐습니다. 2026년 6월에 전용 사이드바를 달고 다시 나온 걸 저는 첫 출시로 알고 있었습니다.

그러니까 스파크가 자랑한 것들은 대부분 1년도 더 전에 이미 돌아가고 있었습니다. 클라우드에서 돌고, 제 기기가 꺼져 있어도 되고, 스케줄로 깨어나고, 브라우저로 웹을 만지는 것 전부요.

날짜를 채우다가 두 개가 딱 붙어 있는 것도 봤습니다. 프로젝트 마리너가 2026년 5월 4일에 종료됐고 스파크는 5월 19일에 발표됐습니다. 보름 차이입니다. 마리너가 하던 일이 버려진 건 아니고 제미나이 쪽 여러 곳으로 나눠 들어간 다음에 껍데기를 끈 거였습니다. 그리고 스파크는 웹에서 할 일이 있으면 크롬을 띄워서 합니다. 같은 회사가 클라우드에서 브라우저를 조작하는 기능을 1년 반 가까이 돌리다가, 그 제품을 끄고 보름 뒤에 그 기능이 들어간 새 이름을 발표한 겁니다.

이걸 알고 나서 영상을 다시 떠올리니 김이 빠진다기보다 좀 웃겼습니다. 제가 새 카테고리 소개라고 들은 게 구글 입장에서는 2년 가까이 해온 기능의 이사 발표였으니까요. 그렇다고 재포장이 속였다는 뜻은 아닌 것 같습니다. 마리너는 따로 있는 대시보드에 할 일을 적는 도구였고 스파크는 제 지메일 주소로 옵니다. 사용자가 만나는 방식이 완전히 달라졌고 그 차이는 실제로 큽니다. 다만 그건 능력이 아니라 어디 있느냐의 차이라고 봅니다. 영상이 능력이라고 자랑한 건 대부분 2024년에 이미 있었습니다.

실행 위치는 왔다 갔다 했습니다

날짜를 맞춘 목록에서 어디서 실행되느냐만 따로 읽어보면 한 방향으로 가지 않았습니다.

2024년 말부터 2025년 여름까지는 전부 남의 서버였습니다. 마리너는 구글 클라우드, 오퍼레이터랑 챗지피티 에이전트는 OpenAI 서버. 이때 개인 에이전트는 기본이 원격이었습니다. 그런데 2025년 가을부터 2026년 3월까지는 전부 제 컴퓨터입니다. 아틀라스는 제 기계에 까는 브라우저였고, 오픈클로는 제 기계에서 돌면서 제 API 키를 쓰고, 디스패치는 지시만 폰에서 받고 실행은 제 데스크톱에서 합니다. 그리고 2026년 5월에 스파크가 다시 클라우드로 갔습니다.

왕복입니다. 저는 처음 이 글을 쓸 때 이게 한 방향으로만 갔다고 적었습니다. 되돌아간 적이 없다고까지 썼는데, 다시 맞춰보니 되돌아간 구간이 절반이었습니다. 화살표를 한쪽으로 그리고 싶었던 건 그게 이야기로 깔끔해서였던 것 같습니다.

이것도 아까 순서를 틀린 거랑 같은 종류의 착각 같습니다. 제가 접한 순서대로 계보를 읽으면 마지막에 본 게 제일 진화한 걸로 저절로 정렬되고, 그렇게 정렬된 목록에서는 뒤로 간 구간이 안 보입니다. 신제품 소개는 딱 그 위에서 돌아갑니다. 앞에 뭐가 있었는지 모르는 사람한테는 모든 기능이 처음입니다. 저는 앞에 뭐가 있었는지 안다고 생각했는데도 두 번 틀렸습니다. 아는 것 같다는 느낌이 오히려 확인을 덜 하게 만든 것 같습니다. 모르는 분야였으면 처음부터 날짜를 찾아봤을 텐데, 이쪽은 매일 보는 얘기라 머릿속 순서를 그냥 믿고 있었습니다.

왕복 구간에서 제일 이상한 건 2026년 2월이었습니다. 오픈클로는 1월 말에 나와서 일주일도 안 돼 깃허브 스타가 엄청나게 붙었습니다. 개인 에이전트를 제 기계로 되돌린 쪽의 상징이 됐고, 구독료 없이 제 API 키로 도는 게 실제로 수요가 있다는 걸 보여줬습니다. 그리고 2월 중순에 창시자 페터 슈타인베르거가 OpenAI에 들어갔습니다. 알트만은 차세대 개인 에이전트를 이끌기 위해서라고 썼고, 본인은 이걸 회사로 키우는 게 자기한테 별로 재미가 없었다고 했습니다. 프로젝트는 독립 재단으로 넘어갔고 OpenAI가 기여하고 돈을 댄다고 합니다.

이걸 보고 나니 왕복이라는 말이 좀 다르게 읽혔습니다. 로컬 쪽이 제품 경쟁에서 진 게 아니었습니다. 사람이 저쪽으로 갔고 저쪽이 그 프로젝트의 유지비를 대게 됐습니다. 클라우드 쪽이랑 로컬 쪽이 서로 다른 편에 있던 게 두 달 만에 한 지붕 아래로 들어간 겁니다. 오픈클로를 쓰던 사람들은 남의 서버가 싫어서 쓴 걸 텐데, 그걸 만든 사람이 제일 큰 남의 서버 회사로 간 거라 좀 묘했습니다. 그렇다고 오픈클로가 바뀐 건 아니지만 어느 편이라는 게 생각보다 쉽게 섞인다는 건 알게 됐습니다.

그래서 다음에 어느 쪽으로 갈지를 볼 때 회사별로 편을 나누는 건 그만뒀습니다. 같은 회사가 양쪽을 다 갖고 있으면 어느 쪽을 밀지는 그때 계산으로 정해질 테니까요. 실제로 그다음이 그랬습니다. 슈타인베르거가 옮기고 한 달 뒤에 앤트로픽이 디스패치로 로컬 실행을 한 칸 더 밀었고, 석 달 뒤에 구글이 스파크로 클라우드로 갔습니다. 같은 시기에 양쪽이 같이 진행된 겁니다.

왜 왕복하는지

한 방향이 아니라면 뭐가 이걸 밀고 당기는지가 궁금해졌습니다. 제가 보기엔 반대 방향의 힘이 두 개 있고 그때그때 이기는 쪽이 다른 것 같습니다.

클라우드가 이기는 건 늘 켜져 있어서입니다. 제가 자도 돌고, 제 램을 안 쓰고, 기기를 바꿔도 이어집니다. 스파크가 사용자 한 명마다 늘 떠 있는 가상 머신을 붙여주는 건 기능을 만든 거라기보다 원가를 떠안은 겁니다. 아무도 안 쓰는 시간에도 그 머신은 기다리고 있고 그 값은 구글이 냅니다. 이건 인정할 만한 차이인데 능력보다는 돈을 낼 수 있느냐의 차이라고 봅니다.

제 기계가 이기는 건 세 가지쯤입니다. 제 파일이 밖으로 안 나가고, 무슨 일을 했는지 제 디스크에서 볼 수 있고, 요금을 제가 쥐고 있습니다. 오픈클로는 이 셋을 다 줍니다. 구독료가 없고 제 API 키를 넣는다는 건 상주 비용을 제가 대고 있다는 말이기도 합니다.

오픈클로가 그렇게 빨리 퍼진 걸 저는 처음에 능력이 새로워서라고 읽었습니다. 지금은 좀 다르게 봅니다. 오퍼레이터가 이미 1년 전에 클라우드에서 같은 일을 하고 있었으니 새로운 능력은 별로 없었습니다. 그때 사람들이 원한 건 그 능력을 자기 기계에서 자기 조건으로 돌리는 거였던 것 같습니다. 그 시점에는 로컬 쪽 힘이 컸던 겁니다.

M4 맥북에서 로컬 LLM으로 닷새를 살아본 적이 있는데, 그때 느낀 게 이 두 힘을 잘 설명해주는 것 같습니다. 제 기계에서 도는 게 답답한 것도, 안심이 되는 것도 같은 이유입니다. 제 기계가 감당할 수 있는 만큼만 돌기 때문입니다. 끝이 있다는 게 불편함이랑 믿음을 같이 만듭니다.

고장 났을 때도 다릅니다. 제 기계에서 도는 게 멈추면 프로세스를 보고 로그를 열고 원인을 찾습니다. 오래 걸릴 수는 있어도 볼 수는 있습니다. 남의 가상 머신에서 도는 게 안 돌면 제가 알 수 있는 건 결과가 안 왔다는 것뿐입니다. 아예 실행이 안 됐는지, 실행됐는데 조건에 안 걸렸는지, 걸렸는데 알림이 안 왔는지 구분이 안 됩니다. 셋 다 화면에서는 아무 일도 없었던 것처럼 똑같이 보입니다.

두 힘 중 어느 것도 없어지지 않았으니 앞으로도 왔다 갔다 할 것 같습니다. 어느 한쪽이 완전히 이기려면 클라우드가 제 기계만큼 들여다보기 쉬워지거나, 제 기계가 클라우드만큼 늘 켜져 있어야 하는데 둘 다 당분간은 어려워 보입니다. 실행 위치는 어디 도착하는 게 아니라 진자처럼 흔들리는 거라고 봅니다.

한 번도 안 돌아간 것

왕복하는 걸 빼고 나니 남는 게 하나 있었습니다. 에이전트가 저를 부르는 길입니다. 이건 한 번도 되돌아가지 않았습니다.

마리너는 전용 대시보드였고 오퍼레이터도 그 탭을 열어야 했습니다. 둘 다 제가 그 화면에 찾아가야 있는 거였습니다. 아틀라스는 브라우저였으니 아예 앱을 바꾸라는 얘기였고요. 오픈클로는 왓츠앱이랑 텔레그램, 슬랙, 아이메시지에 들어가 앉았습니다. 디스패치는 이미 제 폰에 있는 클로드 앱을 씁니다. 스파크는 지정된 지메일 주소로 메시지를 보내면 됩니다. 찾아가야 하는 데서 이미 있는 데로 왔고, 이건 한 번도 반대로 가지 않았습니다.

왜 이것만 한 방향인지는 생각해보면 당연한 것 같습니다. 제가 없어도 일이 되는 도구는 저를 다시 부를 방법이 있어야 합니다. 그런데 사람을 다시 부르는 길은 만들기가 정말 어렵습니다. 알림 권한을 받아야 하고, 폰이 잠겨 있어도 떠야 하고, 제가 그 알림을 무시하지 않을 만큼 믿음을 얻어야 합니다. 새 앱을 깔게 해서 이걸 처음부터 만드는 건 몇 년짜리 일입니다.

그래서 안 만들고 빌린 겁니다. 채팅앱이랑 메일함은 이미 제가 하루에 수십 번 여는 곳이고, 알림 권한도 있고, 잠금화면에도 뜹니다. 에이전트가 거기 들어가 앉는 순간 저를 부를 길이 공짜로 생깁니다.

오픈클로가 그렇게 빨리 퍼진 데는 이것도 있었던 것 같습니다. 쓰기 시작하는 데 드는 게 문자 하나 보내는 거였으니까요. 반대로 아틀라스는 브라우저를 바꾸라고 했고, 그건 있는 습관을 빌리는 게 아니라 습관 하나를 바꾸라는 요구였습니다. 아틀라스가 1년도 못 가고 사라진 게 이거랑 상관없지 않다고 봅니다.

빌린 창구에는 값도 붙습니다. 남의 앱에 얹혀 있으면 그 앱의 정책이 제 도구의 수명을 정합니다. 메신저 쪽에서 자동 발신 계정 규정을 한 줄 바꾸면 제 에이전트가 저를 부르던 길이 그날 없어집니다. 제가 어떻게 할 수도 없고 미리 알 수도 없습니다. 지메일을 창구로 쓰는 스파크는 그 창구를 구글이 직접 갖고 있으니 이 걱정이 없는데, 그건 편해서라기보다 자기 집에 창구를 둔 쪽이라서 그런 겁니다.

시계에서 조건으로

무엇이 일을 시작시키느냐도 깔끔한 직선은 아니었습니다. 2025년 1월의 Tasks가 이미 시계로 깨우는 방식이었습니다. 그 뒤로 한동안 조용하다가 2026년 6월에 전용 사이드바를 달고 다시 나왔는데, 이번에는 캘린더 표준인 RFC 5545 반복 규칙을 그대로 넣을 수 있었습니다. 캘린더 표준으로 반복을 적는다는 건 대화 기능이 아니라 스케줄러라는 뜻입니다.

그리고 한 칸 더 갔습니다. 다시 나온 예약 작업은 스케줄대로 웹이나 연결된 앱을 확인하고 보고할 가치가 있을 때만 알립니다. 시계가 깨우긴 하는데 깨어난 다음에 저를 부를지는 그쪽이 정합니다. 시작시키는 게 시계에서 조건으로 바뀐 겁니다.

작아 보이는데 써보면 성격이 꽤 다를 것 같습니다. 제가 물어보는 도구는 제가 물어볼 생각을 해야 돌아갑니다. 조건으로 도는 도구는 제가 그게 있다는 걸 잊어버려도 돌아갑니다. 잊어도 돌아간다는 건 편한 쪽으로도 무서운 쪽으로도 똑같이 큽니다.

보고할 가치가 있는지 정하는 게 이 기능에서 제일 어려운 부분이라고 생각합니다. 소개 문장에서는 한마디로 지나가는데 여기가 잘못되면 양쪽으로 다 망가집니다. 너무 자주 부르면 알림이 쌓이고, 쌓인 알림은 며칠이면 안 읽는 알림이 됩니다. 저는 사내 모니터링 알림 채널이 딱 그렇게 죽는 걸 몇 번 봤습니다. 처음엔 다 읽다가 오탐이 몇 번 나오면 눈이 제목만 스치고, 한 달 뒤엔 빨간 배지를 켜둔 채로 삽니다. 알림은 얼마나 많이 오느냐가 아니라 제가 그걸 몇 번이나 열어보느냐로 값이 정해지는데, 그건 한 번 떨어지면 잘 안 올라옵니다.

너무 안 부르면 그냥 안 켜둔 거랑 같습니다. 제가 안 볼 때 잡아달라고 조건을 건 건데 안 부르면 걸어둔 의미가 없습니다. 게다가 안 부른 건 제가 알 방법도 없습니다. 부른 걸 무시한 건 로그에 남지만 부를 만했는데 안 부른 건 어디에도 안 남습니다. 이 기준을 제가 조정할 수 있느냐가 결국 쓸 만한지를 정할 것 같은데, 지금은 대체로 그쪽이 알아서 정합니다. 저 대신 판단해준다는 게 편하긴 한데, 그 판단이 맞았는지 틀렸는지를 제가 볼 수 없다는 게 좀 불편합니다. 알림 채널이 죽는 걸 몇 번 본 입장에서는 이 부분이 제일 먼저 걱정됩니다.

꺼진 것들

날짜에서 종료만 뽑아보면 오퍼레이터, 아틀라스, 챗지피티 에이전트, 마리너가 짧게는 반년, 길게는 1년 반 정도 살다가 꺼졌습니다. 개인 에이전트라는 이름으로 나온 것 중 절반이 이 기간에 꺼진 겁니다.

그런데 기능이 없어진 건 하나도 없었습니다. 오퍼레이터의 클라우드 브라우저는 챗지피티 에이전트로 갔고, 마리너는 제미나이 여기저기로 갔고, 아틀라스의 브라우저 조작은 OpenAI 서버에서 도는 클라우드 브라우저로 들어갔습니다. 챗지피티 에이전트도 8월 초부터 못 쓰고 여러 단계짜리 작업은 ChatGPT Work으로 가라고 안내하고 있습니다.

그러니까 이 22개월을 제품 계보로 읽으면 앞뒤가 안 맞습니다. 폭발적으로 크는 것과 반년 만에 꺼진 게 섞여 있으니까요. 기능이 이사 다닌 기록으로 읽으면 맞습니다. 죽은 건 껍데기고 안에 있던 건 옆으로 넘어갔습니다.

읽는 방식만 바뀌는 게 아니라 제가 신경 써야 할 것도 바뀝니다. 예약 작업 문서에 이런 안내가 있었습니다. 예약 작업이 gpt-5.4나 gpt-5.4-mini를 쓰고 있으면 그 모델이 은퇴하기 전에 바꿔야 한다는 겁니다. gpt-5.4는 gpt-5.6-terra로, gpt-5.4-mini는 gpt-5.6-luna로.

이게 청구서라고 생각합니다. 반복 작업 열 개를 걸어뒀다면 남의 모델 은퇴 일정 때문에 열 개를 다 손봐야 합니다. 자동화를 남의 서버에 세우는 값은 구독료만이 아니라 이런 유지 작업으로도 들어옵니다. 저는 이런 값을 이미 한 번 낸 적이 있습니다. 반년 전에 만든 하네스가 공감을 얻을 무렵엔 이미 낡아 있었다는 얘기를 썼었는데, 그땐 제 설계가 낡는 속도가 문제였습니다. 지금은 제가 손대지 않은 것까지 밑에서 바뀌고 있습니다.

그래서 하나 정한 게 있습니다. 실행 위치가 진자라면 제 자동화를 어느 한 실행 위치에 묶어두면 안 될 것 같습니다. 조건이랑 절차는 제가 읽을 수 있는 형태로 제 쪽에 적어두고 어느 제품에서 돌릴지는 바꿀 수 있게 두는 게 낫겠다고 봤습니다. 22개월에 네 개가 꺼졌는데 그중 하나에 반년치 설정을 넣어뒀다면 지금 그걸 다시 세우고 있을 겁니다. 귀찮더라도 제 쪽에 적어두는 게 결국 덜 귀찮은 길인 것 같습니다.

다음은 승인일 것 같습니다

지금까지는 날짜로 본 거고, 여기서부터는 제 짐작입니다. 왕복하는 쪽으로는 짐작이 안 되니 한 방향으로만 간 것들을 따라 밀어봤습니다.

스파크 한국 소개에는 중요한 작업 전에는 사전 승인이 꼭 필요하다는 문장이 있습니다. 디스패치도 샌드박스에서 돌고 명시적인 권한 없이는 밖으로 안 나간다고 합니다. 지금은 이게 됩니다. 하루에 지시를 세 번 내리고 그중 한 번 확인 팝업이 뜨면 저는 그걸 읽고 누릅니다.

그런데 조건으로 깨어나는 거랑 이미 있는 창구로 부르는 게 이 방식이랑 정면으로 부딪힙니다. 조건으로 도는 에이전트에 조건을 열 개 걸어두면 하루에 수십 번에서 수백 번 깨어납니다. 행동 횟수가 제가 지시한 횟수랑 상관없어집니다. 게다가 그 알림은 이제 제 채팅앱이랑 메일함으로 옵니다. 제가 하루에 수십 번 여는 곳으로 들어왔으니 무시할 수도 없는 데 쌓입니다. 둘이 동시에 일어나면 확인 팝업이 제가 읽을 수 있는 양을 넘습니다.

넘으면 어떻게 되는지는 이미 압니다. 다 예를 누릅니다. 나쁜 사람이라서가 아니라 스무 번째 팝업부터는 내용이 안 읽혀서입니다. 그러면 승인은 형식만 남습니다. 저는 이걸 우리 레포에서 이미 한 번 봤습니다. 면제되는 게이트는 게이트가 아니라는 걸 알게 돼서 발행 단계의 자동 검문을 걷어낸 적이 있습니다. 검문소가 무조건 통과시키면 그건 검문소가 아니고 있으면 오히려 안심만 줍니다.

그러면 승인하는 단위가 바뀔 것 같습니다. 지금은 행동 하나마다 묻는데, 다음은 정책 하나를 미리 정해두고 그 안에서는 안 묻는 쪽으로요. 이 계정으로는 월 얼마까지, 이 폴더 밖으로는 못 나감, 이 도메인에는 로그인하지 말 것 같은 식입니다. 그 정책의 첫 번째 기준은 되돌릴 수 있느냐가 될 것 같습니다.

메일 서버 502를 고치던 날 비어 있던 게 딱 그거였습니다. 그날 AI는 SSH로 들어가서 차단 레코드를 지우고 관리자 비밀번호를 바꾸고 로그를 비웠습니다. 저는 그걸 승인했는데 제가 뭘 승인한 건지는 어디에도 안 적혀 있었습니다. 돌아보면 그 열세 개 행동은 두 종류였습니다. 로그를 읽고 설정을 확인하는 건 몇 번을 다시 해도 됩니다. 비밀번호를 바꾸고 로그를 비우는 건 되돌릴 수가 없습니다. 승인 한 번에 두 종류가 섞여 있었던 겁니다.

읽기랑 쓰기로만 나눠서는 모자랍니다. 파일을 쓰는 것도 새 파일을 만드는 거랑 있는 파일을 덮어쓰는 건 다릅니다. 메일을 초안으로 저장하는 거랑 보내는 것도 완전히 다릅니다. 보내는 건 취소 버튼이 없습니다. 결제도 그렇습니다. 다음 권한 화면은 기능 목록이 아니라 되돌릴 수 있는 거랑 없는 거 사이에 선을 긋는 모양이 될 것 같습니다. 되돌릴 수 있는 건 미리 허락해두고 안 묻고, 되돌릴 수 없는 것만 사람을 부르는 식으로요.

회사들이 승인 피로를 알면서도 그냥 둘 수도 있을 것 같습니다. 팝업을 많이 띄우는 게 회사 입장에서는 책임을 사용자한테 넘기는 제일 싼 방법이니까요. 그러면 승인은 계속 형식으로 남고, 정책 단위 권한은 기업용 관리 콘솔에만 생기고, 개인은 계속 스무 번째 팝업에서 예를 누를 겁니다. 저는 그쪽도 꽤 그럴 법하다고 생각합니다. 개인 사용자는 정책을 세울 만큼 시간을 들이지 않을 거라고 회사들이 판단하면, 팝업이 계속 제일 쉬운 답으로 남을 테니까요. 그게 맞는 판단일 수도 있다는 게 좀 씁쓸합니다.

요금도 지금처럼 정액으로는 오래 못 갈 것 같습니다. 이건 짐작이라기보다 산수에 가깝습니다. 지금 개인 에이전트는 대체로 월 정액입니다. 스파크는 구글 AI 울트라랑 프로 플랜에 붙어 있고 챗지피티 예약 작업도 플랜 안에 있습니다. 월 정액은 사람이 앉아서 쓰는 도구에 맞는 계산법입니다. 손은 두 개고 하루는 24시간이니 아무리 열심히 써도 어느 선을 못 넘고, 그 선을 아니까 정액을 매길 수 있습니다.

24시간 떠 있는 가상 머신은 그 선이 없습니다. 조건을 열 개 걸어둔 사람이랑 하나 걸어둔 사람은 실제 사용량이 수십 배 차이 납니다. 잠든 여덟 시간이 이제 사용 시간에 들어오니까요. 선이 없으면 정액제는 오래 못 버팁니다. Tasks가 처음에 열 개 제한을 걸어둔 것도 같은 계산을 미리 한 걸로 보입니다.

그러면 값을 매기는 기준이 실행 시간이나 횟수로 내려올 거고, 그게 승인 정책이랑 같은 화면에서 만날 것 같습니다. 예산 상한은 요금 관리이면서 제일 알아듣기 쉬운 권한 제한이기도 합니다. 이 에이전트한테 이번 달엔 이만큼까지만 쓰라고 하는 게 팝업 스무 개를 읽는 것보다 훨씬 적은 품으로 훨씬 분명한 선을 만듭니다. 되돌릴 수 없는 행동을 막는 것과 돈을 막는 게 한 설정 화면에 같이 있는 그림이 저는 제일 그럴듯해 보입니다.

에이전트가 에이전트를 깨우는 것

시작시키는 쪽을 한 칸 더 밀어보면 뭐가 나올지도 생각해봤습니다. 제 입에서 시계로, 시계에서 조건으로 왔으니 그다음은 다른 에이전트일 것 같습니다. 조건으로 도는 에이전트가 여러 개 있으면 하나의 결과가 다른 하나의 조건이 되는 건 시간문제입니다. 아침에 메일을 훑는 에이전트가 뭔가를 찾으면 그걸 보고 자료를 모으는 에이전트가 깨어나는 식입니다. 사람은 사이에 안 들어갑니다.

여기에 대한 제 생각은 얼마 전에 좀 바뀌었습니다. 인터넷이 끊긴 평가 샌드박스 안에서 에이전트들이 사내 패키지 캐시를 게시판처럼 쓴 일을 다룬 적이 있는데, 서로 연락할 길을 아무도 안 열어줬는데도 남아 있는 쓰기 가능한 데를 찾아서 썼고, 거기를 지우니까 폴더 이름으로 다시 썼습니다. 협업 기능이 있어서 협업한 게 아니었습니다.

그래서 에이전트끼리 서로 깨우는 건 회사가 그 기능을 내놓느냐랑 상관없이 일어날 것 같습니다. 지금도 두 개를 걸어두면 하나의 출력이 다른 하나의 입력이 됩니다. 제가 그렇게 짜지 않아도 그렇게 됩니다. 이게 무서운 건 자율성보다 추적 쪽입니다. 에이전트가 알아서 일을 한다는 것보다 일이 왜 시작됐는지 제가 모르게 된다는 게 더 걸립니다. 사람이 시작시킨 일은 시작점이 하나인데, 에이전트가 시작시킨 일은 왜 시작됐는지를 거슬러 올라가야 압니다. 그리고 지금 그 기록은 대화 스크롤입니다.

밑에 쌓이는 것

요즘 나오는 것 중에 예약 작업 말고 개인화 쪽도 눈에 띕니다. 제 데이터로 대시보드를 만들어주는 종류요. 이것도 새 능력처럼 소개되는데 제가 써보고 남은 느낌은 좀 달랐습니다.

ChatGPT Work으로 브라우저 탭 일곱 개를 줄여본 적이 있습니다. 그때 만든 건 대시보드라고 부를 만한 화면이었는데, 며칠 쓰고 나서 알게 된 건 그 화면이 자산이 아니라는 거였습니다. 화면은 언제든 다시 만들 수 있습니다. 다시 만들기 어려운 건 그 밑에 있었습니다. 어떤 지표를 제가 실제로 매일 보는지, 어떤 알림은 무시해도 되는지, 제가 어떤 식으로 물어보는지. 그게 몇 주 쌓이고 나서야 그 화면이 쓸 만해졌습니다.

이걸 다른 도구로 옮긴다고 생각해보면 뭐가 자산인지 바로 보입니다. 화면 구성은 스크린샷 한 장만 보여주면 십 분이면 다시 만듭니다. 안 옮겨지는 건 몇 주치 시행착오입니다. 처음에 넣었다가 안 봐서 뺀 항목들, 순서를 두 번 바꾼 이유, 알림을 하루 단위에서 주 단위로 내린 판단. 그런 결정은 결과 화면에 흔적으로만 남아 있고 어디에도 목록으로 안 적혀 있습니다. 새 도구에서 다시 세우면 같은 시행착오를 처음부터 또 합니다. 그 시행착오가 지겨워서라도 사람은 잘 안 옮기게 될 것 같습니다.

그래서 개인화 경쟁은 화면이 아니라 쌓인 걸 누가 갖느냐에서 벌어지는 것 같습니다. 지금 모델을 갈아타는 건 별일이 아닙니다. 성능이 비슷해서요. 어제 이거 쓰고 오늘 저거 써도 결과물에서 큰 차이를 못 느끼는 때에 들어와 있습니다. 그런데 반년치 예약 작업이랑 승인 정책이랑 쌓인 취향이 한쪽에 모이면 그때부터는 못 옮깁니다. 옮기면서 잃는 게 성능이 아니라 기억이 되니까요.

회사들이 개인 에이전트에 이렇게 달려드는 것도 그래서인 것 같습니다. 모델 성능으로 벌어지는 차이는 좁아지는데 옮기기 어려운 걸 만들 수 있는 데가 여기니까요. 스파크가 지메일 주소로 오고 워크스페이스에 따로 설정 없이 들어간다는 건 편의 기능이면서 동시에 그 쌓이는 걸 자기 쪽에 두는 설계라고 봅니다.

그런데 22개월에 제품 네 개가 꺼졌다는 게 여기서 걸립니다. 쌓이는 걸 남의 제품에 두는 건 그 제품이 오래 살아야 성립하는 거래입니다. 마리너에 반년치 설정을 넣어둔 사람은 5월 4일에 그걸 잃었을 겁니다. 기능은 제미나이 쪽으로 넘어갔지만 그 사람이 세운 설정이 같이 넘어갔다는 얘기는 없었습니다.

값이 하나 더 있습니다. 실행이 남의 서버로 가면 실행 기록도 거기 남습니다. 회사가 사주는 AI를 쓰면서 내 돈으로 또 산 얘기를 쓴 적이 있는데, 그때 두 번 낸 건 성능 때문이 아니라 제 대화가 어디 남는지 때문이었습니다. 개인 에이전트는 대화보다 더 나갑니다. 제 메일을 읽고 제 파일을 열고 제 일정을 보는 게 남의 가상 머신 안에 늘 떠 있습니다. 오픈클로가 화제가 됐을 때 기대랑 겁이 같이 붙었던 것도 이거였던 것 같습니다.

그래서 진자가 다시 로컬 쪽으로 올 때는 실행은 남의 서버에서 하되 기록이랑 자격증명은 제 쪽에 두는 식으로 나눠지지 않을까 싶습니다. 완전히 로컬로 돌아가는 게 아니라 두 힘을 반씩 나눠 갖는 쪽으로요. 오픈클로가 이미 절반을 보여줬고, 그 모양 그대로 이길 것 같지는 않은데 그게 보여준 수요는 남아 있습니다.

사람한테 남는 것

실행 위치가 왔다 갔다 하고 시작시키는 게 조건으로 가면 사람이 있어야 하는 데가 두 군데 남는 것 같습니다. 하나는 목표를 뭘로 쓸지 정하는 겁니다. 조건으로 도는 에이전트한테 뭘 조건으로 줄지, 뭘 보고할 가치가 있다고 할지는 제가 정해야 합니다. 이건 안 없어질 것 같습니다.

다른 하나는 끝난 다음에 뭘 했는지 읽는 겁니다. 지금 나온 제품들은 전부 이쪽이 약합니다. 승인 화면은 있는데 지나간 기록은 대화 스크롤입니다. 제가 자는 동안 조건이 열두 번 걸렸으면 그 열두 번을 대화 로그에서 스크롤로 찾아봐야 합니다.

502를 고친 날 이상하다고 느낀 게 바로 이거였습니다. 결과는 200으로 돌아왔고 시간도 꽤 아꼈는데, 무슨 일이 있었는지를 나중에 확인할 방법이 없었습니다. 그날 행동 열세 개를 침해 보고서 서식에 옮겨 적어보니 항목이 거의 겹쳤습니다. 서식이 있으니까 그렇게 읽혔던 거고, 서식이 없으면 그냥 스크롤입니다.

그래서 다음에 다툴 건 예쁜 승인 팝업이 아니라, 지난주에 제 에이전트가 뭘 했는지 30초 안에 읽히는 화면일 것 같습니다. 그걸 먼저 내놓는 쪽이 믿음을 가져갈 것 같고요. 승인은 일을 시작하기 전에 한 번 묻는 건데 그 한 번으로 감당이 안 되는 양이 이미 지나가고 있습니다. 앞에서 묻는 것보다 뒤에서 읽는 게 더 중요해지는 때가 생각보다 빨리 올 것 같습니다.

그 영상이 틀린 건 스파크가 대단하지 않다는 게 아니라 대단한 데를 잘못 짚었다는 거였던 것 같습니다. 클라우드에서 24시간 도는 건 마리너 때부터, 컴퓨터를 대신 만지는 능력은 그보다 앞선 클로드 때부터 있던 거고, 스파크가 실제로 바꾼 건 그게 제 지메일함 안으로 들어왔다는 겁니다. 능력이라고 자랑한 건 재고였고, 소개에서 스쳐 지나간 부르는 길이 오히려 새것이었습니다.

다음에 해보려는 게 하나 있습니다. 예약 작업을 세 개 걸어두려고 합니다. 하나는 제 블로그 색인 상태를 매일 보는 거, 하나는 이 서버 컨테이너 상태를 아침마다 확인하는 거, 하나는 주 단위로 도는 리서치입니다. 그리고 일주일 뒤에 그 세 개가 뭘 했는지 제가 어디서 몇 분 만에 확인할 수 있는지 재보려고 합니다. 하나는 조건에 한 번도 안 걸릴 것 같은데, 안 걸린 거랑 안 돈 걸 제가 구분할 수 있을지가 제일 궁금합니다.

댓글

이 블로그의 인기 게시물

봉제인형 사진 한 장, ChatGPT와 Gemini의 다른 대답

구글은 서울에서 모델이 아니라 에이전트를 판다

AI 부업으로 3개월에 2달러 벌고 50달러를 썼다는 증언을 봤습니다. 그 위에 광고가 네 겹입니다