들어가며
도구가 폭발하는 시대에, 제품 하나를 만들어 보며 느낀 점. — Agent Cat "Merlin" 릴리스에 맞춰 글을 써본다.
오픈한 지 한 달 만에 다운로드가 9천을 넘어가면서, 이제 큰 업데이트 "멀린" 버전을 올리며 지금까지 에이전트캣을 만들며 받았던 인사이트들을 공유하기 위해 오랜만에 md가 아닌 블로그 에디터 창을 띄워 본다.
Agent Cat — 메뉴바 위의 AI 에이전트 모니터에이전트가 일하면, 메뉴바/트레이의 고양이가 걷고 뜁니다. Codex, Claude Code, Gemini CLI를 위한 macOS · Windows 활동 모니터.agentcat.app
나는 14년을 코드로 먹고살았다. 그동안 내 손은 키보드 위에서 가장 정직한 도구였다. 무언가를 만들고 싶으면 두 가지를 먼저 물었다.
만들 수 있는가, 그리고 얼마나 걸리는가. 내 14년은 사실 그 두 가지를 정의하고, 구현하고, 검증하는 데 온 시간을 쏟아온 결과였다.
하지만 이제는 세상이 바뀌어 가고 있다.
지난 1년 넘는 시간 동안, 그 두 질문이 동시에 무너지는 경험을 하게 되었다.
만들 수 있는가는 거의 항상 "그렇다"가 됐고, 얼마나 걸리는가는 더 이상 실력의 문제가 아니게 됐다.
나는 코드를 직접 치는 시간보다 에이전트에게 무엇을 시킬지 설계하는 시간이 더 길어졌다.
ChatGPT가 나오고, Gemini와 AI Studio를 거치며 이미 큰 충격을 받았다. 그때부터 많은 작업을 AI로 돌려왔고, 쌓인 결과물도 꽤 많았다. 나뿐만 아니라 다른 개발자들도 그리했으며, 우리는 앱의 홍수 시대를 맞았다.
Agent Cat은 그 변화의 한가운데서 만든 제품이다. 맥 메뉴바에 살면서, AI 코딩 에이전트가 토큰을 얼마나 썼고 주간·일간 한도가 얼마나 남았는지를 로컬에서 읽어 보여주는 앱이다.
별것 아닌 것처럼 보인다. 그런데 이 별것 아닌 걸 끝까지 밀어보며 배운 것은, 도구가 아니라 우리가 막 들어선 시대에 관한 이야기였다.
무엇이 변했는가
처음 며칠은 마법 같았다. "메뉴바에 떠서 사용량 보여주는 앱" 한 줄로 SwiftUI 골격이 섰다. 화면이 떴고, 숫자가 움직였다. 바이브 코딩이 정말 좋은 지점은 정확히 여기다. 머릿속 그림이 화면으로 건너오는 마찰이 거의 0에 수렴한다.
문제는 그다음부터 시작된다. 프로토타입과 제품 사이의 거리는 줄지 않았다.
오히려 그 거리가 어디 있는지가 더 선명해졌다. 데모는 가짜 홈 디렉터리에 예쁜 데이터를 깔아두면 매끄럽게 돈다. 진짜 사용자의 기계는 그렇지 않다.
에이전트마다 자기 흔적을 저마다 다른 포맷, 다른 누락, 다른 엣지 케이스로 흩뿌려 둔다.
그 사이에서 토큰 한 줄을 정확히 세는 일 — 내가 영영 만져볼 수 없는 남의 기계 위에서 — 그게 결국 반년짜리 일이 됐다.
바이브 코딩은 비행기를 빠르게 만들어준다.
그 비행기를 어디로, 어떻게 착륙시킬지는 여전히 조종사의 몫이다.
데모가 잘 도는 것과 낯선 사람의 기계에서 망가지지 않는 것은 전혀 다른 비행기다.
그 사이의 거리가 곧 제품이고, 그 거리는 도구가 좁혀주지 않는다.
그래서 나는 한동안 무뎌지게 둔 감각으로 돌아가야 했다. 덮어뒀던 인프라와 백엔드를 다시 손에 익혔고, 몇 해 전 닫아둔 책을 다시 펴면서, 오히려 에이전트에게 서버 구조와 인프라에 대해 다시 물어보는 날들이 늘어났다.
AI가 내 코드를 대신 써줄수록, 나는 더 공부해야 했다. 도구가 좋아질수록 운전대를 잡은 사람의 깊이가 결과를 가른다.
이 문장은 위안이 아니다. 경고에 가깝다. 같은 비행기를 두 조종사에게 쥐여줘도, 기량의 차이가 도착지의 차이가 된다.
검증된 식당에는 줄이 선다
멀린이 나올 즈음, Agent Cat은 누적 9,000회가 넘는 다운로드를 지났다. (홈페이지 다운로드 + 앱스토어, 윈도우 스토어, wget 합산)
메뉴바 앱이고 꼭 필요한 앱이라 느껴서인지, 3주간 유지율이 꽤나 높았다(대략 50%를 넘어갔다).
로그인도 요구하지 않고, 화면 구석에 조용히 떠 있을 뿐인 도구치고, 나는 이 충성률이 가장 자랑스럽다. 사람들이 한 번 써보고 잊는 게 아니라는 뜻이기 때문이다.
그들은 앱을 지우지 않고, 켜둔 채, 계속 흘끔거린다. 깔아둔 채 잊히는 앱과, 매주 눈이 가는 앱 사이의 거리는 다운로드 숫자로는 보이지 않는다. 그 거리를 메우는 게 제품의 진짜 일이다.
이 숫자들을 자랑하려고 적는 게 아니다. 정당한 질문에 대한 정직한 답이라서 적는다. 아무도 텅 빈 식당의 첫 손님이 되고 싶어 하지 않는다. 사람들은 이미 검증된 제품을 쓰고 싶어 한다. 그래서 나는 우리 식당이 비어 있지 않다는 걸 먼저 보여주기로 했다. 그게 신뢰의 출발선이다.
어려운 것은 코드가 아니라 사람의 심리, 무엇이 사람을 이끌리게 하나.
기능은 빨리 붙는다. 정작 발목을 잡은 건 사용자가 첫 화면에서 무엇을 하느냐였다.
초기 빌드는 앱을 켜자마자 빈 대시보드를 들이밀었다. 만든 사람 눈에는 당연한 화면이, 처음 온 사람 눈에는 막막한 벽이었다. 사용자는 무엇을 봐야 할지 모른 채 창을 닫았다. 이탈률이 그대로 말해줬다. 코드는 완벽하게 돌아가는데 사람은 떠나는, 가장 조용하고 가장 치명적인 실패였다.
웰컴 화면 하나를 앞에 세웠다. 커넥터를 깔고, 한 번 연결하고, 첫 숫자가 뜨는 순간까지를 손잡아 데려가는 화면. 화려할 것도 없었다. 그저 "다음에 무엇을 하면 되는지"를 매 순간 잃지 않게 해주는 길잡이였다. 이탈률이 눈에 띄게 떨어졌다.
여기서 나는 완성도의 정의를 다시 썼다. 완성도는 기능의 개수가 아니다. 사용자가 막히지 않고 끝까지 가느냐의 문제다. 기능을 하나 더 만드는 것보다 동선을 한 칸 다듬는 게 제품을 더 끌어올렸다.
AI가 기능을 값싸게 찍어내는 시대일수록, 값을 매기기 어려운 건 그 기능들을 사람이 헤매지 않게 꿰는 일이다. 코드는 이제 흔하다. 동선은 여전히 귀하다.
이건 식당을 운영하는 지인에게 들은 말에서도 크게 와닿았다.
한 번 찾는 식당이 되는 건 쉽지만, 여러 번 찾게 되는 식당이 되는 건 어려운 일이다.
아이디어는 더 이상 큰 자산이 아니다
아이디어가 더 이상 자산이 아닌 세상에서, 우리는 무엇을 더 고민하고 어디에 중점을 둘지를 다시 묻게 됐다.
예전엔 아이디어를 품고 있는 것만으로도 무언가를 쥔 기분이었다. 좋은 아이디어 하나면 한동안 앞서갈 수 있었다. 그 아이디어를 코드로 옮기는 데 드는 시간이 곧 진입장벽이었기 때문이다.
지금은 아니다. 같은 아이디어를 복사-붙여넣기 수준의 비용으로 누구나 생성한다. "사용량 보여주는 메뉴바 앱"은 검색 한 번이면 비슷한 게 줄줄이 나온다. 아이디어의 희소성이 사라졌다. 진입장벽이던 구현 시간이 무너지자, 아이디어는 자산이 아니라 그냥 출발선이 됐다.
그래서 나는 질문을 바꿔야 했다. 무엇을 만드느냐가 아니라, 어떻게 더 잘 쓰게 하고 어디에 그것을 띄울 것이냐. 속도와, 그 도구가 실제로 어떻게 쓰이는지에 대한 이해 — 이 둘이 새로운 자산이 됐다. 아이디어는 모두에게 공평하게 흔해졌지만, 그 아이디어가 누구의 손에서 어떤 맥락 위에 서느냐는 여전히 갈린다. 같은 재료로도 다른 요리가 나온다. 차이는 재료가 아니라 손에 있다.
요리는 쉬워졌고, 식당의 운영과 진짜 경험이 목표가 됐다
식당으로 비유하면 명확하다.
예전엔 요리 실력이 곧 경쟁력이었다. 불을 다루고, 간을 맞추고, 칼을 쓰는 솜씨가 식당의 운명을 갈랐다. 이제 그 요리를 AI가 한다. 불 조절도, 간도, 플레이팅도 어느 선까지는 도구가 받쳐준다. 주방이 평준화됐다.
그러면 무엇이 남는가. 인테리어의 콘셉트, 경험, 그리고 그 도메인을 얼마나 깊이 아느냐. 손님이 왜 이 식당에 들어와야 하는지, 들어와서 무엇을 느끼고 나가는지, 이 동네에서 무엇이 비어 있는지를 아는 감각. 요리가 쉬워질수록, 식당은 더 어려워진다.
싸움터가 주방에서 식당 전체로 넓어졌기 때문이다. 마케팅도, 브랜드도, 첫인상도 전부 그 식당의 일부다. 음식이 평준화된 거리에서, 손님은 음식이 아니라 식당을 고른다.
비용이라는 그림자
물론 공짜는 아니다. AI 구독료가 매달 쌓이고, 이미지 생성 토큰이 녹고, 인프라 청구서가 꼬박꼬박 온다. 1인 개발자가 감당하기엔 적지 않은 숫자고, 이 곡선은 분명히 우상향이다.
그런데 솔직히 — 아직은 싸다는 생각이 든다.
예전 같으면 디자이너 한 명, 백엔드 한 명, 프론트 한 명, 인프라 담당 한 명을 붙여야 했을 일을 구독료 몇 개로 메운다.
사람 넷의 인건비와 구독료 몇 개를 나란히 놓으면, 비용이라는 그림자는 분명 거기 있지만 그 크기는 과거에 비하면 여전히 작다. 진짜 질문은 비용이 있느냐가 아니라, 이 곡선이 어디까지 가파르게 오를 것이냐다. 그리고 그 곡선을 견디는 힘은 매출이 아니라 효율에서 나온다. 같은 돈으로 남보다 더 멀리 가는 능력.
자본과 효율, 그 사이의 싸움
결국 AI가 바꾼 것은, 기술의 긴 흐름에서 보면 생각만큼 새롭지 않은지도 모른다.
여기서 불편한 진실 하나. 도구가 평준화될수록, 오히려 자본을 가진 쪽이 더 유리해진다.
직관과 어긋난다. "AI가 다 해주니 누구나 평등하다"고들 말한다. 절반만 맞다. 도구가 평준화되면 그 도구를 더 많이, 더 자주, 더 망설임 없이 돌리는 쪽이 앞선다.
더 많은 에이전트를 동시에 굴리고, 더 비싼 모델을 거리낌 없이 쓰고, 더 많은 마케팅 아트를 찍어낸다. 도구가 싸지면, 그 도구를 대량으로 살 수 있는 자본의 화력이 더 직접적으로 결과에 꽂힌다.
그럼에도 저자본·고효율의 싸움은 계속된다. 자본이 살 수 없는 게 아직 남아 있기 때문이다.
도메인에 대한 깊은 이해, 사용자 동선을 끝까지 다듬는 집요함, 신뢰를 말이 아니라 코드로 증명하겠다는 결정. 이런 건 토큰으로 살 수 없다. 화력으로 밀어붙일 수 없는 영역에서, 한 사람의 깊이는 여전히 유효한 무기다.
개발자에서 메이커로, 그리고 아티스트로
기술의 역사를 길게 펴 보면, 흐름을 끌어온 건 늘 거대한 조직이 아니라 강한 취향과 방향을 가진 몇 사람이었다. 리누스 토르발즈가 혼자 짜기 시작한 커널이 리눅스가 됐고, 버전 관리가 엉켜 모두가 불편해할 때 그가 며칠 만에 내놓은 git이 지금 전 세계 개발의 기본 문법이 됐다. 우리는 그런 사람들의 인사이트와 방향에 늘 촉을 세우고, 그들이 낸 길을 뒤따라 걸었다. 예전에도 그랬고, 앞으로도 그럴 것이다.
달라지는 건 그 사람들이 나타나는 빈도다. 예전엔 그런 한 사람이 자기 머릿속 그림을 끝까지 구현해 세상에 내놓으려면, 시간이라는 진입장벽과 자본이라는 문턱을 동시에 넘어야 했다. 그래서 드물었다. 한 시대에 손에 꼽혔다. 그런데 만드는 비용이 무너진 지금, 그 문턱이 낮아졌다. 강한 취향을 가진 한 사람이 혼자서 앱 하나를, 도구 하나를, 작은 세계 하나를 끝까지 밀어붙일 수 있게 됐다.
그래서 내가 내린 결론은 이렇다. 이제는 '개발자'라고만 불리던 사람들 사이에서 '메이커'라 불릴 사람들이 점점 더 많이 나올 것이다. 코드를 짜는 사람이 아니라, 취향과 방향을 가진 채 처음부터 끝까지 자기 색으로 하나를 완성하는 사람. 화가가 캔버스에 서명을 남기듯, 메이커는 제품에 자기 결을 남긴다. 지금의 아티스트 같은 존재가 되는 것이다. 그리고 그런 움직임은 앞으로 더 자주, 더 많이 터져 나올 것이다. 이미 그러고 있고.
그리고 한 가지가 더 있다. 도구는 앞으로도 미친 속도로 좋아질 것이다. 모델은 매달 갈아치워지고, 코딩 에이전트는 분기마다 새로 튀어나온다. 능력은 폭발하는데, 정작 "내가 지금 무엇을, 얼마나, 어디까지 쓰고 있는가"를 보여주는 계기판은 없다. 비행기는 빨라졌는데 고도계가 없는 셈이다. 문제는 이제
"더 센 모델"이 아니라 "이 도구들을 어떻게 더 잘 쓰고, 그 사용을 어디서 보여줄 것이냐"로 옮겨왔다. 나는 그 빈자리를 노렸다. 계기판을 만들기로 했다.
그게 agentcat이다.
