Simon's Rabbit Crypt - KR
5.51K subscribers
133 photos
8 videos
45 links
Download Telegram
Forwarded from BZCF | 비즈까페
5월 30일, 카카오 AI 캠퍼스에서 'OBA 위켄드톤'이 열렸습니다. 창업자 48명, 30여 개 팀이 모여 1박 2일간 제품을 만들었습니다.

AI로 패러다임이 바뀌었습니다. 이제 좁은 시장 안에서 우리끼리 싸우는 건 의미가 없습니다. 글로벌과 경쟁하려면 힘을 합쳐 시장 크기부터 키워야 하고, 그러려면 닫혀 있던 기술 생태계가 먼저 열려야 했습니다.

누군가는 이 문제의식을 꺼내야 했습니다. 해시드가 얼라이언스를 제안하며 판을 깔자 시장이 반응했습니다. 넥슨, LG유플러스, GS네오텍 등이 자사 API와 자산을 빌더들에게 내줬고, OpenAI도 스폰서로 참여했습니다.

당장 돈이 되지 않더라도 해야 할 일입니다. 영리한 계산이 깔려있을지라도, 우리끼리 싸우지 말고 판을 키우자며 먼저 문을 열어젖히는 액션에는 분명히 리스펙트할 만한 진정성이 있습니다. 해시드의 제작 지원을 통해 함께 제작하였습니다. 이런 이벤트들이 더 많이 소개되고, 한국에 더 많아지길 기대하는 마음입니다.
28👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Pokemondev.com Harness Hackathon 후기

Pokemondev.com Harness Hackathon은 6월 6일, Hashed가 운영하는 해커하우스 vyvhouse에서 열린 실험적 해커톤이다. 출발점은 단순했다. “AI 에이전트를 통해 모든 것을 자동화할 수 있다면, 게임도 그렇게 플레이할 수 있을까?” 포켓몬이라는 익숙한 게임을 무대로 삼았지만, 실제 주제는 게임 클리어가 아니라 에이전트가 세계를 보고, 판단하고, 행동하고, 실패를 복구하며, 장기 목표를 수행할 수 있는지를 검증하는 것이었다.

이 행사는 단순한 자동 플레이 봇 대회가 아니었다. 참가자들은 포켓몬을 하나의 에이전트 하네스 실험장으로 다뤘다. 에이전트가 화면을 관찰하고, RAM 상태를 읽고, 짧은 행동을 실행하고, 결과를 다시 확인하며, 기억과 세이브포인트를 통해 진행을 이어갈 수 있는지 테스트했다. 겉으로는 “AI가 포켓몬을 할 수 있나?”였지만, 안쪽 질문은 훨씬 컸다. “AI 에이전트가 복잡한 환경에서 실제 사용자처럼 행동할 수 있는가?” “자동화는 어디까지 게임 경험 안으로 들어올 수 있는가?”였다.

참가자들은 금방 깨달았다. 포켓몬은 생각보다 어렵다. 좌표만으로는 길을 찾을 수 없고, 화면을 보지 않으면 울타리, NPC, 문, 표지판, 막힌 길을 이해할 수 없다. 대화창이 떠 있는지, 전투 메뉴인지, 건물 안인지 바깥인지도 구분해야 한다. 한 참가자는 “에이전트가 멍청한 줄 알았는데, 사실 우리가 눈을 안 달아준 거였다”고 말했다. 또 다른 참가자는 “스크린샷 한 장이 로그 백 줄보다 낫다”고 했다. 숫자 상태는 필요하지만, 게임의 진짜 맥락은 화면 위에서 드러났다.

가장 큰 교훈은 “모델이 얼마나 똑똑한가”보다 “하네스가 얼마나 잘 설계됐는가”였다. 처음에는 에이전트에게 “북쪽으로 가서 상점에 들어가라”처럼 긴 명령을 줬지만, 한 칸만 어긋나도 전체 계획이 무너졌다. NPC에 부딪히거나 대화창이 뜨면 입력의 의미가 바뀌었다. 결국 참가자들은 2~4개 정도의 짧은 액션을 실행한 뒤, 바로 스크린샷과 상태를 다시 확인하는 방식으로 바꿨다. 누군가는 “장기 추론보다 어려운 건 두 칸 걷고 멈추는 절제였다”고 했고, 또 누군가는 “우리는 더 똑똑한 프롬프트를 원했는데, 실제로 필요했던 건 더 짧은 액션 리스트였다”고 말했다.

흥미로운 점은, 이 과정이 단순한 자동화가 아니라 새로운 형태의 게임 경험으로 받아들여졌다는 것이다. 참가자들은 직접 버튼을 누르는 대신 에이전트에게 훈수두듯 지시하고, 화면을 보며 판단을 교정하고, 실패를 관찰했다. 어떤 참가자는 “내가 직접 게임하는 것보다, 에이전트가 게임하는 걸 코칭하는 게 더 재미있다”고 말했다. 또 다른 참가자는 “이건 자동사냥이 아니라 AI한테 옆에서 잔소리하면서 같이 모험하는 느낌”이라고 했다. 손으로 조작하는 플레이어가 아니라, 목표를 정하고 전략을 주고 에이전트의 행동을 감독하는 메타 플레이어가 된 셈이다.

이 지점에서 Pokemondev.com Harness Hackathon은 게임 속 봇에 대한 기존 관념도 흔들었다. 지금까지 게임에서 봇은 대체로 막아야 하는 존재였다. 자동 파밍, 부정 플레이, 경쟁 환경 훼손, 게임 경제 교란의 상징이었다. 하지만 이번 실험은 다른 가능성을 보여줬다. 통제된 환경, 명확한 신원인증, 공개된 규칙, 제한된 권한이 있다면 에이전트도 일종의 게이머가 될 수 있다는 가능성이다. 봇을 무조건 차단해야 할 침입자로만 볼 것이 아니라, 인증된 에이전트 플레이어, 관전 가능한 자동 플레이어, 혹은 인간 게이머의 보조 조종자로 설계할 수 있다는 발상이다.

물론 가능성만큼 한계도 선명했다. 에이전트는 쉽게 길을 잃었고, 같은 벽에 반복해서 부딪혔고, 문을 나왔다가 다시 들어갔고, 전투 메뉴에서 엉뚱한 선택을 하기도 했다. 하지만 그 실패가 오히려 행사의 재미이자 배움이었다. “웃긴 장면일수록 시스템 버그가 선명하게 보였다”는 말처럼, 포켓몬은 에이전트의 오해를 눈으로 확인할 수 있는 좋은 실험장이었다. 자연어 벤치마크에서는 잘 보이지 않는 관찰 실패, 행동 실패, 기억 실패, 복구 실패가 화면 위에서 아주 생생하게 드러났다.

참가자들은 이런 말을 남겼다.

“포켓몬에서 배운 건 포켓몬이 아니라 관찰 가능성이었다.”

“AI가 게임을 플레이하는 게 아니라, 우리가 AI가 세계를 오해하는 방식을 플레이하고 있었다.”

“챔피언로드보다 어려운 건 관찰 루프였고, 사천왕보다 중요한 건 세이브 습관이었다.”

“좋은 에이전트는 천재가 아니라 꼼꼼한 여행자에 가깝다. 지도 보고, 한 걸음 가고, 다시 확인한다.”

“봇을 막아야 한다는 말은 절반만 맞다. 문제는 봇의 존재가 아니라, 신원도 규칙도 없는 봇이다.”

결국 Pokemondev.com Harness Hackathon이 던진 질문은 “AI가 포켓몬을 대신 깰 수 있는가?”보다 깊다. 이 행사는 “AI와 함께 게임한다는 것은 어떤 경험인가?”를 물었다. 에이전트 시대의 자동화는 단지 인간의 행동을 대체하는 것이 아니라, 인간이 목표를 주고, 에이전트가 실행하고, 인간이 다시 감독하는 새로운 인터페이스가 될 수 있다. 게임에서도 마찬가지다. 인간은 직접 조작하는 플레이어일 수도 있지만, 에이전트를 훈련시키고, 지켜보고, 교정하고, 함께 모험하는 플레이어가 될 수도 있다.

vyvhouse에서 열린 이 해커톤은 귀여운 포켓몬 화면을 통해 아주 진지한 가능성을 보여줬다. 에이전트는 모든 것을 자동화할 수 있는가. 게임은 그 자동화를 받아들일 수 있는가. 봇은 언제나 적인가, 아니면 인증되고 통제된 조건 아래 새로운 게이머가 될 수 있는가. 답은 아직 완성되지 않았지만, 참가자들은 적어도 한 가지를 확인했다. 에이전트가 세계를 배우는 과정을 인간이 옆에서 지켜보고 훈수두는 일은, 생각보다 훨씬 재미있다.
20👍6🔥6
Fable 5 차단 사태와 한국의 오픈 소버린 AI 전략

API 키가 아니라 여권을 확인하는 로그인 화면을 상상한다. Fable 5 차단의 핵심은 국적이었다. 결제도 되고, 회사 이메일도 있고, API 키도 있다. 그런데 마지막에 묻는다. 당신은 어느 나라 사람인가.

Fable 5는 그냥 새 Claude가 아니었다. 이전보다 답을 잘하는 모델이라기보다, 일을 놓지 않는 모델로 진화했다. 긴 코드베이스를 따라가고, 복잡한 작업을 오래 물고 있고, 사람이 계속 다시 깨워줘야 하는 구간을 확연히 줄였다. 그 모델이 사흘 만에 막혔다. 대상은 특정 국가가 아니라 "모든 외국 국적자"였다. 미국 안의 외국인도, Anthropic 내부의 외국 국적 직원도 포함됐다. API 키 위에 여권이 올라온 것이다.

표면적 이유는 jailbreak였다. 하지만 더 큰 배경에는 중국 모델들의 증류 공격이 있다. Fable 5 같은 모델은 상품이자 교사다. 열리면 사람들은 그냥 쓰는 데서 멈추지 않는다. 대량으로 질의하고, 답변을 모으고, 추론 스타일을 흉내 내고, 더 작은 모델을 훈련한다. 중국 오픈웨이트 모델이 빠르게 따라오는 상황에서, 미국은 최상위 모델을 공개하는 순간 그것이 경쟁자의 학습 데이터가 된다고 느꼈을 것이다.

그런데 이 방어는 약점을 함께 드러낸다. 프론티어 모델 자체의 해자가 생각보다 얇다는 것. 정말 오래가는 해자라면 이렇게까지 접근을 잠글 필요가 없다. 좋은 모델은 공개되는 순간 관찰된다. 관찰되면 흉내 낼 수 있다. 완전히 복제하지 못해도 충분히 따라갈 수 있다. 오늘의 프론티어는 내일의 증류 대상이 된다.

소프트웨어 통제의 역사를 돌아보자. 미국은 한때 강력한 암호 기술을 수출통제 대상으로 묶었지만, 암호는 결국 코드와 논문으로 퍼졌고 인터넷의 기본값이 됐다. LLaMA도 비슷했다. 가중치가 유출된 뒤 llama.cpp와 로컬 추론 생태계가 붙으면서, 모델을 돌리고 압축하고 튜닝하는 중심이 회사 밖으로 이동했다. Stable Diffusion도 같은 방향을 보여줬다. 사람들은 가장 닫힌 최고 모델보다, 손에 쥐고 바꾸고 쌓을 수 있는 모델 위에 생태계를 만들었다.

국적은 AI 접근을 차단하기에 너무 거친 필터다. 사람은 한 국가에만 속해 있지 않다. 한국 국적자가 미국 법인에서 일하고, 싱가포르 법인으로 결제하고, 두바이에 살고, 유럽 고객 데이터를 다룰 수 있다. 외국인이 직접 모델을 쓰지 않아도, 접근권을 가진 수많은 기업과 사람이 결과물을 만들어줄 수 있다. 프롬프트가 아니라 문제를 보내고, 답변이 아니라 완성된 코드를 받는다. 그러면 모델을 쓴 사람은 누구인가. 버튼을 누른 사람인가, 문제를 낸 사람인가, 결과물을 받은 사람인가, 돈을 낸 사람인가.

이것은 미국의 전략적 실착이다. Fable 5가 얼마나 오래 막히는지는 별로 중요하지 않다. 이미 강렬한 신호가 나갔다. 차단 소식이 퍼진 직후부터, 미국 밖의 모든 국가와 주요 기업은 미국 프론티어 랩에 대한 의존도를 줄이기 위한 비상 대책에 들어갔을 것이다. 우리 핵심 업무가 미국 모델 하나에 얼마나 묶여 있는가. 내일 더 강한 모델이 국적이나 용도나 정부 지침으로 막히면 무엇이 멈추는가. 대체 모델은 있는가. 오픈웨이트 폴백은 있는가. 자체 튜닝은 가능한가. 이 질문이 이사회와 안보 부처와 CTO 조직에 한 번이라도 올라갔다면, 미국은 이미 미래의 신뢰 자본을 잃은 것이다.

이제 Fable 5가 다시 열릴지는 핵심이 아니다. 이 논쟁이 끝나기 전에 더 강한 모델이 또 나온다. 매번 더 강한 모델이 나올 때마다 완벽하게 잠글 수 있을 리 만무하다. 그 사이 모델은 강해지고, 증류 비용은 내려가고, 오픈 모델도 진화한다. 문을 잠그는 속도는 학습이 퍼지는 속도를 이길 수 없다.

과거의 국적은 주어진 것이었다. 태어나면 어느 나라의 사람이 되고, 그 나라의 법과 세금과 교육과 여권 안에 들어갔다. 하지만 이제 사람들은 사는 곳을 고르고, 법인을 세울 곳을 고르고, 세금을 낼 곳을 고르고, 커뮤니티를 고르고, 결제망을 고르고, 자신이 속할 네트워크를 고른다. 국적은 운명에서 멤버십으로 이동하고 있다.

발라지의 네트워크 스테이트 논지가 강해지는 것도 이 지점이다. 사람들은 점점 물리적 국경보다 자신이 속한 네트워크, 사용하는 인프라, 공유하는 가치, 접근 가능한 기회로 정체성을 느낀다. 국가가 AI 접근권을 국적으로 막을수록 사람들은 더 많이 묻게 된다. 왜 내가 태어난 여권 하나가 내가 쓸 수 있는 지능을 결정해야 하는가. 내가 기여한 네트워크, 내가 쌓은 평판, 내가 만든 데이터는 왜 덜 중요한가.

국적은 충성의 대상이라기보다 접근권 패키지가 되고 있다. 어느 나라가 더 좋은 의료를 주는가. 어느 나라가 더 낮은 세율을 주는가. 어느 나라가 더 좋은 금융 접근권을 주는가. 그리고 이제, 어느 나라가 더 좋은 AI 접근권과 생태계를 주는가.

국가가 모델을 닫아두면 시간을 아주 조금 벌 수 있지만, 생태계의 리더십은 완전히 잃는다. 이제 중요한 것은 전 세계 사람들이 그 나라의 인프라 위에서 만들고 싶어 하게 만드는 것이다. 좋은 오픈 모델, 싼 추론 비용, 충분한 전력과 데이터센터, 명확한 규칙, 연구자와 스타트업이 모이는 환경. 국가는 모델의 금고가 아니라 생태계의 항구가 되어야 한다. 잠가두는 곳이 아니라, 계속 들르게 만드는 곳.

한국의 소버린 AI 전략도 이 지점에서 교훈을 얻어야 한다. 미국 것을 쓸 수 없으니 "우리만의 것을 지키려고 만든다"로 가면 비좁다. 이번 사태는 한국이 AI 생태계의 개방적 포지션을 전 세계 앞에서 선점할 수 있는 절호의 기회다. 미국이 "누구는 못 쓴다"고 말하는 순간, 한국은 "누구나 여기서 만들 수 있다"고 말해야 한다. 우리는 연다. 국적이 아니라 기여와 사용과 신뢰를 본다. 한국은 메모리와 칩, 제조 공급망, 초고속 네트워크, 대기업의 실제 업무 데이터, 안정적인 민주주의와 글로벌 기업 경험을 가진 나라다.

한국형 오픈 모델과 튜닝 생태계를 전 세계 개발자에게 열고, 메모리와 추론 칩을 중심으로 오픈 추론 인프라의 허브가 되고, 미국 모델과 중국 오픈웨이트와 자체 모델을 섞어 쓰는 라우팅과 eval, 컴플라이언스 레이어를 주도하는 것. 앞으로 기업이 정말 필요로 하는 것은 한 모델이 아니라, 모델을 갈아끼워도 일이 멈추지 않는 구조다. 한국은 닫힌 모델의 작은 미국이 될 필요가 없다. 열린 AI 생태계의 항구가 되는 쪽이 더 크다.

앞으로의 해자는 폐쇄가 아니라 축적에서 생긴다. 매일 들어오는 도메인 데이터. 고객 업무 흐름에 박힌 인터페이스. 모델이 바뀌어도 품질을 측정할 수 있는 eval. 사람이 고친 흔적이 다시 시스템으로 들어가는 루프. 특정 산업의 규제와 언어와 관행을 이해하는 데이터셋. 어떤 모델을 언제 써야 하는지 아는 운영 경험. 이건 다른 모델을 증류한다고 바로 복제되지 않는다.

Fable 5 차단은 AI의 국적 문제를 수면 위로 올렸다. 국가는 여권을 API 위에 올려놓으려 한다. 하지만 사람들은 점점 국적을 선택 가능한 멤버십으로 보기 시작한다. 모델은 잠글 수 있지만, 생태계는 다른 곳에서 자랄 수 있다. 접근을 막을수록 접근권의 시장은 커지고, 국경을 세울수록 네트워크 스테이트의 논지는 강해진다.

AI의 국적은 누가 정하는가. 정부인가, 회사인가, 데이터센터인가, 사용자 네트워크인가.

그리고 AI 시대의 나는 어느 나라 사람인가. 내가 태어난 나라의 사람인가, 내가 쓰는 모델이 허락한 사람인가, 아니면 내가 접근할 수 있는 인프라들의 조합인가.

국가는 누가 그 모델을 쓰는지 물을 수 있다. 하지만 생태계는 묻지 않는다. 결국 사람은 자신을 가장 넓게 열어준 곳으로 흘러가지 않을까.
59👍13🤮3🙏2🤡1🖕1
< 게임과 AI 에이전트 그리고 온체인 경제 - 다음 10년의 신뢰 아키텍처 >

게이머로서 NDC(Nexon Developer Conference)는 오랜 시간 동경하던 행사였다. 그 무대에 연사로 초대받아 '게임과 AI 에이전트 그리고 온체인 경제'를 주제로 이야기했다. 행사장을 돌아보며 넥슨은 정말 게임을 사랑하는 회사라고 느꼈다.

발표의 핵심은 세 단어였다. 게임. 에이전트. 신뢰.

https://ndc.nexon.com/session?day=3&session=101

게임은 비인간 경제 주체를 가장 먼저 만난 산업이다. 봇이 그랬다. 자동 사냥, 작업장, 골드 파밍. 봇은 사람처럼 접속해 반복 행동을 하고 보상을 가져가고 시세에 영향을 미쳤다. 누구의 것인지도 모르고 책임도 지지 않았다. 번호판 없는 자동차가 도로를 달리는 것과 같았다. 문제는 자동화가 아니라 신원과 책임이 없는 자동화였다.

그래서 AI 시대에는 탐지하고 차단하는 방식으로는 부족하다. 에이전트에게 신원을 부여하고 권한과 책임을 관리해야 한다. 공항을 떠올리면 쉽다. 여권이 있고 비자가 있고 보안 검색이 있다. 에이전트도 식별하고 권한을 검증하고 정산할 수 있어야 한다.

LLM과 에이전트는 다르다. 챗GPT나 클로드는 답을 잘하는 똑똑한 검색창이다. 에이전트는 기억과 권한과 도구를 갖고 실제 행동까지 수행한다. 피드백 루프를 돌며 스스로 개선하고 일을 끝까지 마친다. 챗GPT를 잘 쓰는 것만으로 AI를 잘 쓴다고 믿으면 착각이다. 개인 에이전트를 만들어 자동화 루프를 경험하지 않으면 AI 잠재력의 1%도 쓰지 못하는 것이다. 인간의 역할도 직접 플레이하는 사람에서 목표를 제시하고 검증하는 감독자로 바뀐다.

게임의 재미도 바뀐다. 직접 조작에서 여러 에이전트를 운영하고 전략을 설계하는 방향으로. 포켓몬 레드 해커톤에서 100명 넘는 지원자 중 선발된 참가자들이 에이전트가 게임을 플레이하도록 설계하고, 실패하면 고치는 과정을 반복했다. 모두가 입을 모았다. 직접 하는 것보다 AI에게 훈수 두는 게 더 재미있다고. 내가 못하면 스트레스를 받지만 에이전트가 실패하면 수정해주고 더 똑똑하게 만들 수 있다. AI 파티 구성, AI 군단 운영 같은 새로운 플레이가 열린다. 기피되던 힐러나 서포터를 AI가 대신할 수도 있다. 캐릭터와 아이템을 거래하던 시대에서 에이전트 자체를 사고팔고 대여하고 그 성격과 전략에 투자하는 시장으로 확장될 수도 있다.

MMORPG는 이미 현실 경제였다. 화폐, 경매장, 공급과 소멸, 인플레이션, 거래, 투자, 길드. 플레이어는 노동자이자 상인이자 투자자였다. 게임 회사들은 이 경제를 수십 년 운영해왔다. 앞으로 에이전트는 자동 사냥을 넘어 거래 시점을 판단하고 자산을 운용하고 다른 에이전트를 고용하는 경제 주체가 될 것이다.

여기서 블록체인이 중요한 역할을 하게 된다. 에이전트가 서로 거래하고 협업하려면 증명이 필요하다. 누구의 에이전트인지, 무엇을 했는지, 과거 신뢰도는 어떤지. 에이전트에게도 여권과 평판과 감사 로그가 필요하다. 블록체인은 그 신원과 거래 기록과 신뢰를 관리하는 장부가 된다. MCP, A2A, 스테이블코인 결제, ERC-8004. 이 표준들이 AI 경제의 기반이 될 것이다.

머지않아 게임이라는 장르의 본질도, 게이머의 경험도 에이전트와 함께 크게 달라질 것이다. 내년 말이면 선진국에서는 1인 1에이전트 시대가 시작될 가능성이 높다. 그때 사람들은 묻게 될 것이다. 왜 내 AI 에이전트는 이 게임에 접속할 수 없느냐고.

게임 산업이 AI 에이전트 사회의 헌법을 가장 먼저 설계하고 검증하게 될 것이다. 많은 변화와 새로운 기회가 열린다. 그 청사진의 일부를 나눌 수 있도록 초대해준 넥슨에 감사하다.
22👍8
제일 똑똑한 모델 하나로는 부족했다

나는 큰 개발 작업을 Codex에 곧바로 맡기곤 했다. 요구사항을 주면 여러 파일을 빠르게 고쳤고, 실행과 검사까지 마친 뒤 결과를 설명했다. 그런데 가장 곤란한 실패는 코드가 틀린 경우가 아니었다. 기능은 제대로 작동했지만, 내가 원한 제품이 아니었다.

Codex는 내가 준 목표를 빠르고 충실하게 완성했다. 문제는 그 목표가 맞는지 따져보는 단계가 부족했다는 데 있었다.

그래서 Claude로 먼저 계획을 만들고, Codex에 구현을 맡기기 시작했다. 처음에는 역할이 명확해 보였다. Claude는 계획하고, Codex는 구현한다. 최근 Claude의 Fable 5와 Codex의 GPT-5.6 Sol을 함께 쓰면서는 이 차이가 더욱 선명해졌다. 두 모델 모두 이전보다 훨씬 넓은 범위의 작업을 수행할 수 있게 됐지만, 역설적으로 내가 각자에게 맡기고 싶은 역할은 더 뚜렷해졌다.

물론 현실은 그렇게 깔끔하게 나뉘지 않았다. Claude가 세운 계획은 코드 앞에서 자주 깨졌다. Codex가 파일을 읽고 실행하다 새로운 사실을 발견하면 계획부터 다시 써야 했다. 계획과 구현은 앞뒤로 분리된 두 단계가 아니라 서로를 계속 수정하는 과정에 가까웠다.

이 차이를 “Claude는 창의적이고 Codex는 꼼꼼하다”는 성격론으로 설명하기는 쉽다. 하지만 둘 다 계획과 구현, 테스트와 검토를 수행할 수 있다. 사용자가 경험하는 성능은 모델 하나만으로 결정되지 않는다. 시스템 지침, 파일을 찾는 방식, 사용할 수 있는 도구와 권한, 오류가 돌아오는 속도, 작업을 멈추는 조건 같은 환경이 행동을 함께 만든다. 비공개 학습 방식을 추측하기보다 눈에 보이는 작업 환경과 피드백 구조를 살펴보는 편이 더 정확하다.

내가 Claude를 특히 유용하게 느끼는 순간은 목표가 아직 흐릴 때다. 예를 들어 “처음 온 사용자에게 직관적인 가입 화면”에는 정답이 하나가 아니다. 설명을 먼저 보여줄 수도 있고, 바로 체험하게 할 수도 있다. 사용자를 구분하는 질문부터 던질 수도 있다. 이때 필요한 것은 첫 답을 빠르게 확정하는 능력이 아니라 서로 다른 가능성을 펼쳐놓는 능력이다.

다만 Claude가 채운 빈칸은 내 의도가 아니라 모델의 추정이다. 결과가 그럴듯하다고 해서 요구를 제대로 이해했다는 뜻은 아니다. 그래서 Claude의 첫 답은 완성된 계획이 아니라 비교하고 검증하고 버릴 수 있는 가설로 다뤄야 한다.

Codex가 힘을 발휘하는 구간에는 틀렸다고 말해주는 존재가 많다. 파일이 없으면 탐색 결과가 알려준다. 코드가 틀리면 컴파일이나 실행 과정에서 오류가 난다. 기존 기능을 깨뜨리면 자동 검사나 실제 화면에서 드러난다. 모델의 설명이 아무리 그럴듯해도 현실이 아니라고 반박해주는 피드백이 촘촘하다.

그래서 구현은 계획을 받아 적는 일이 아니다. 계획 속 가설을 실제 코드에 대입해보는 실험이다. Codex는 파일을 읽고, 조금 고치고, 실행하고, 실패 원인을 추적한다. 이 반복을 통해 선택지를 줄이고 잘못된 가정을 제거한다. 계획의 오류는 기능을 상당 부분 만든 뒤에야 드러날 수 있지만, 구현 단계의 오류 중 상당수는 더 빨리 돌아온다.

내 작업 방식 안에서 비유하자면 Claude는 0에서 1에, Codex는 1에서 100에 강하다. 최신 모델인 Fable 5와 GPT-5.6 Sol을 사용하면서 이 대비가 더욱 선명해졌다. Claude는 가능한 1을 여러 개 만들고, Codex는 선택된 1을 현실에 부딪혀 100으로 가져간다. 이것은 두 모델의 보편적인 능력에 대한 평가라기보다 내가 둘을 배치하는 방식에 가깝다.

그런데 이 도식에는 중요한 단계가 하나 빠져 있다. 0과 1 사이의 사람이다.

Claude가 세 가지 방향을 제시해도 어느 것이 실제 1인지는 자동으로 결정되지 않는다. 해결하려는 문제, 포기할 수 없는 기능, 허용 가능한 변경 범위와 실패 비용을 사람이 보고 골라야 한다. 이 판단 없이 Claude의 답을 Codex에 넘기면 틀린 가설이 높은 완성도로 구현된다.

그래서 큰 작업을 시작할 때는 Claude에 리서치를 맡기고, 내가 무엇을 원하는지 역으로 인터뷰하게 한다. 확인된 사실과 모델의 추정을 분리하고, 하나의 정답 대신 몇 가지 접근을 비교하게 한다. 내가 방향을 고르면 변경 범위, 유지할 동작, 완료 조건과 중단 조건을 붙여 Codex에 넘긴다.

예상하지 못한 파일이나 의존성을 만나거나 변경 범위가 커지면 멈추도록 지시한다. 중단은 실패가 아니다. 계획이 현실과 충돌했다는 새로운 증거다. 관련 파일과 실패한 명령, 틀린 것으로 드러난 가정을 돌려받고 그 증거로 Claude의 계획을 고친다.

자동 검사를 통과해도 끝은 아니다. 검사 항목에 포함되지 않은 기능은 사라져도 테스트를 통과할 수 있다. 그래서 작업 과정을 보지 않은 다른 모델이나 검토자에게 최초 요구사항과 실제 변경 사항을 다시 비교하게 한다. 가능하다면 실제 화면과 사용자 행동까지 확인한다. 다른 모델도 비슷한 맹점을 공유할 수 있기 때문이다.

모든 수정에 이 절차가 필요한 것은 아니다. 되돌리기 쉽고 범위가 명확한 작은 작업은 Codex에 바로 맡기는 편이 낫다. 탐색과 선택을 앞에 두어야 하는 것은 요구가 모호하거나 여러 기능이 얽혀 있고, 잘못 갔을 때 되돌리는 비용이 큰 작업이다.

이 조합은 두 회사가 합의해서 만든 협업 방식이 아니다. 경쟁하는 두 제품의 장점을 사용자가 손으로 이어 붙인 상태다. 양쪽 모두 조사, 계획, 구현, 검토를 자기 제품 안으로 흡수하려 하고 있다. 따라서 지금의 역할 차이가 계속 유지된다고 보기는 어렵다.

그렇다면 다음 경쟁은 모델 하나의 점수보다 작업 루프의 설계에서 벌어질 가능성이 크다. 최근에는 이런 접근을 ‘루프 엔지니어링’이라고 부르기 시작했다. 아직 하나의 정의가 정착된 것은 아니다. 반복적인 프롬프트를 시스템으로 대체하는 자동화를 강조하기도 하고, 에이전트의 실행과 검증, 개발자와 사용자의 피드백까지 함께 다루기도 한다.

내가 강조하고 싶은 것은 단순히 “사람을 다시 루프에 넣자”는 말이 아니다. 사람의 판단을 예외적인 승인 절차가 아니라 루프의 핵심 구성 요소로 설계해야 한다는 것이다. 목표를 세우고, 가설을 만들고, 실행 결과를 관찰하고, 다음 행동과 중단 여부를 결정하는 전체 반복 안에 사람의 맥락과 판단이 들어가야 한다.

이 관점에서 Claude와 사람, Codex는 하나의 피드백 루프를 이룬다. Claude는 가설의 범위를 넓힌다. 사람은 목적과 위험을 보고 다음에 검증할 가설을 고른다. Codex는 실제 코드와 실행 결과로 그 선택을 검증하거나 반박한다. 그 과정에서 얻은 증거는 다시 Claude의 계획을 바꾼다.

좋은 루프는 많이 반복하는 루프가 아니다. 빠른 실행, 믿을 만한 피드백, 판단 근거의 기록, 명확한 중단 조건이 함께 있어야 한다. 자동 검사가 엉뚱한 목표를 측정하고 있다면 빠른 Codex는 오답을 더 빨리 최적화한다. 틀린 가정이 기록에 남으면 Claude는 같은 계획을 반복한다. 속도가 높아질수록 목표와 평가 기준을 더 자주 의심해야 한다.

기억도 필요하다. 어떤 접근을 버렸는지, 어디에서 현실과 충돌했는지, 왜 계획을 바꿨는지를 다음 작업이 물려받아야 한다. 관측한 사실과 당시의 추정도 분리해야 한다. 오래된 정보와 잘못된 요약은 기억이 아니라 다음 실패의 원인이 된다.

마지막에는 루프 바깥의 평가가 있어야 한다. 계획을 만든 모델과 코드를 고친 모델이 같은 기준만 바라보면 맹점도 반복된다. 작업 과정을 모르는 검토자, 실제 사용자의 반응, 제품 지표와 운영 환경이 필요한 이유다. 내부 루프가 빨라도 외부 현실과 연결되지 않으면 틀린 방향으로 정교해질 뿐이다.

루프 엔지니어링은 AI를 더 오래 돌리는 기술이 아니다. 추측을 검증 가능한 가설로 바꾸고, 실패에서 얻은 증거를 다음 판단까지 돌려보내는 기술이다. 잘 설계된 루프는 틀린 가정을 빠르게 제거한다. 잘못 설계된 루프는 틀린 목표를 더 빠르게 증폭한다.

앞으로 개발 에이전트의 격차는 첫 답의 영리함보다 여기에서 벌어질 것이다. 계획이 틀렸을 때 시스템은 알아차릴 수 있는가. 그 사실이 다음 판단까지 돌아갈 수 있는가.

똑똑한 모델 하나로는 부족했다. Claude와 Codex를 이어 붙여도 마찬가지였다. 부족했던 것은 지능이 아니라 루프였다.
👍1913😁2
법정화폐의 평균 수명은 27년일까

어느 날 아침, 지갑 앱이 나보다 먼저 일어나 있다.

밤새 냉장고는 부족한 우유를 주문하고, 작업용 AI는 서버 사용료를 결제하고, 자동차는 충전비를 낸다. 내가 눈을 뜨기 전에 열세 건의 거래가 끝난다. 월급 통장에서는 원화가 빠져나갔지만 우유 가게에는 달러 스테이블코인이 들어가고, 서버 회사는 이름도 모르는 기계용 결제 단위로 돈을 받는다. 내게 보이는 것은 초록색 체크 표시뿐이다.

결제 완료.

설정을 열어본다. 지갑은 밤사이 업데이트됐다. 맨 아래에 작은 글씨가 있다.

‘더 빠르고 저렴한 결제를 위해 최적의 통화를 자동으로 선택합니다.’

잔액의 통화 표시는 여전히 원화다. 월급도 원화로 들어왔고 아파트 대출도 원화로 남아 있다. 세금 고지서에도 ₩가 선명하다. 그런데 지갑의 거래 기록을 내려보니 원화는 출발점에만 있다. 국경을 넘는 순간 달러로 바뀌고, 기계끼리 정산할 때는 화면 뒤로 사라진다. 원화는 죽지 않았다. 다만 집 밖으로 나오지 않는다.

이 장면을 상상하게 된 건 인터넷에서 본 이미지 한 장 때문이다. 법정화폐의 평균 수명은 27년이라고 했다. 역사상 775개 가운데 599개가 사라졌고 중앙값은 15년이라는 설명도 붙어 있었다.

숫자가 구체적이었다. 어딘가에 원본이 있을 것 같아서 찾아봤는데, 출발점은 IMF나 세계은행이 아니었다. Mike Hewitt가 2008년 DollarDaze라는 사이트에 올린 「Fate of Paper Money」였다. 사이트는 사라지고 글만 Internet Archive에 남아 있다. 화폐의 부고를 모으던 사이트가 화폐보다 먼저 문을 닫은 셈이다.

원문을 열어보니 이미지와 숫자가 달랐다. 표를 직접 계산해도 평균은 약 38.5년, 중앙값은 17년이었다. 짤에 적힌 27년과 15년은 나오지 않았다.

그렇다고 표의 내용이 거짓은 아니다. 식민지의 돈, 군대가 발행한 돈, 화폐개혁 전후의 돈이 한데 섞여 있다. 물가 폭등으로 버려진 돈과 유로로 바뀐 독일 마르크도 똑같이 사망 처리됐다. 마르크는 죽었다기보다 이름을 바꾸고 큰 집으로 이사한 쪽에 가깝다.

살아 있는 돈은 계산에서 빠졌다. 원화와 달러에는 아직 마지막 날짜가 없었다. 끝난 통화만 모아 평균을 내면 오래 버티는 돈은 명단에 들어오지 못한다. 이 표는 화폐의 수명표라기보다 전쟁과 독립, 국가 해체와 통합이 지나간 흔적을 정리한 것이다.

그래서 27이라는 숫자가 믿을 만한 “법정 화폐의 평균 수명”은 아니지만, 덕분에 내가 쓰는 원화도 언젠가 만들어진 제도이고 무한히 유지되지 않을 수 있다는 사실을 상기하게 됐다. 지금의 원화는 1962년 화폐개혁부터 세면 올해 예순네 살이다. 그렇다면 원화의 마지막 날은 언제일까.

화폐는 어느 날 심장이 멎듯 죽지 않는다. 맡고 있던 일을 하나씩 빼앗기며 죽어갈 것이다.

원화는 한국 안에서만 강하다. 월급과 세금, 아파트 대출, 회사 장부와 정부 예산이 모두 원화로 묶여 있다. 오천만 명의 생활과 계약이 같은 단위를 쓴다. 세계인이 원화를 모으지 않아도 이 연결망이 원화를 살려둔다. 작은 나라의 돈도 이런 연결망 안에서는 오래 버틸 수 있다. 국력만으로 화폐의 수명을 설명하기 어려운 이유다.

문제는 국경만 넘으면 다른 세계가 열린다는 점이다. 2024년 한국 수출대금의 84.5%, 수입대금의 80.3%가 달러로 결제됐다. 원화 비중은 약 3%와 6%였다. 한국 기업이 만든 물건을 팔아도 청구서는 달러로 적힌다. 원화는 집 안의 언어이고 달러는 항구의 언어다.

세계의 국경을 다시 높아지면 원화의 집은 잠시 더 튼튼해질 수도 있다. 관세와 보조금, 자국 중심의 공급망은 국내 통화의 역할을 붙드는 힘으로 작용할 수 있다. 그런데 벽이 높아질수록 사람은 문이 아니라 틈을 찾는다. 송금이 느리고 비싸지면 달러 가치에 맞춰 움직이는 스테이블코인이 휴대전화 속 우회로가 될 수 있다. 국가는 달러를 막으려 벽을 세웠는데 달러는 몸집을 줄여 지갑 앱으로 들어온다.

어느새 사람들의 지갑에 작은 외환시장이 열린다. 월급은 원화, 저축은 달러, 해외 서비스 비용은 스테이블코인. 주소는 서울이지만 세 개의 화폐권에서 산다. 처음에는 결제 통화만 달라진다. 다음에는 가격표가 달라진다. 그 뒤에는 머릿속 계산기가 바뀐다. 월급은 원화로 받아도 내 시간값을 달러로 계산하고, 집값과 투자수익을 달러로 비교한다. 화폐가 밀려나는 순간은 지폐를 버리는 날이 아니다. 내 미래의 값을 다른 돈으로 먼저 떠올리는 날이다.

AI와 함께 변화는 조용해지면서 빨라진다. 지금까지 작은 나라의 돈을 지켜준 건 법만이 아니다. 사람은 익숙한 단위로 가격을 보고, 환전이 귀찮아서 월급 받은 돈을 그대로 쓴다. 이 사소한 관성이 자국 통화의 방파제다.

하지만 사용자가 허용한 범위 안에서 결제하는 AI에는 애국심도 고향도 습관도 없다. 수수료와 환율, 처리 시간을 비교해 가장 유리한 경로를 고른다. 거래가 적은 통화는 바꾸는 데 돈이 더 들고 받아주는 곳도 적다. 그래서 AI가 덜 고르고, 덜 고르니 거래가 더 줄고, 거래가 줄어 다시 더 비싸지는 고리가 생길 수 있다. 작은 나라의 돈은 사람이 직접 지갑을 열던 시대보다 훨씬 빨리 결제 화면 뒤로 밀려날 수 있다.

사람은 원화로 물건을 샀다고 생각하지만 판매자는 달러로 받을 수 있다. 몇 번의 환전이 있었는지는 영수증 아래 작은 글씨로 밀려난다. 기계가 서버와 데이터, 전력과 광고를 서로 사고파는 시장에서는 지폐의 익숙한 얼굴도 중요하지 않다. 언제든 호출되고 잘게 나뉘며 자동으로 정산되는 돈이면 된다. 사람이 월급을 세는 단위와 기계가 즐겨 쓰는 단위가 갈라질 수도 있다.

그때 화폐 경쟁은 중앙은행의 건물 밖으로 나온다. 어느 돈이 API에 먼저 연결되는지, 지갑 첫 화면에 놓이는지, 결제 버튼의 기본값이 되는지가 중요해진다.

국가는 세금을 원화로 걷을 수 있다. 하지만 국경 밖의 모든 기계가 원화를 먼저 찾게 만들 수는 없다. 원화는 세금 고지서와 급여명세서에 오래 남을 것이다. 그런데 저축과 국제 거래가 떠나고 기계마저 원화를 호출하지 않는다면, 원화는 살아 있으면서 작아진다. 달력으로는 장수하지만 할 일이 줄어든 화폐다.

그래서 다가올 화폐의 부고에는 사망일이 없을지도 모른다. 가격표가 먼저 떠나고, 저축이 그 뒤를 따르고, 마지막에는 기계가 그 돈의 이름을 잊는다. 아무도 장례식을 열지 않을 것이다.

그리고 어느 날 아침, 지갑 앱이 조용히 업데이트될 것이다.

기본 결제 통화가 변경되었습니다.
19👍5
기억은 언제 행동이 되는가: MemKraft v3까지 업데이트 노트

몇 달 전 MemKraft의 LongMemEval 98.0%를 알린 뒤로 토끼굴에 공지를 못 했다. MemKraft를 개인 에이전트에 붙여 매일 쓰면서 문제를 하나씩 고치다 보니 어느새 v3가 되어 있었다. 많이 기억하고 잘 찾으면 된다고 생각했는데, 기억이 늘어날수록 더 어려운 질문들이 나타났다.

v1.0.2에서는 먼저 성능을 재현할 수 있게 했다. LongMemEval의 데이터 준비, 검색, 답변, 채점을 다시 돌릴 수 있는 평가 도구를 패키지에 넣었다. 검색도 정확한 표현, 의미 확장, 시간 단서, 통합 순위로 나눴다. v1.0.3에서는 긴 회의록을 겹치는 조각으로 저장했다. 필요한 한 문장이 수천 자 안에 묻히지 않게 하고, 정확한 검색이 실패할 때만 느슨한 검색을 쓰게 했다.

곧 저장량 자체가 문제가 됐다. 내 MEMORY.md가 153KB까지 커진 적이 있다. v1.1.0은 기억을 가져오고, 오래된 항목을 보관층으로 옮기고, 정해진 크기로 요약하고, 전체 상태를 진단하게 했다. v1.1.1은 파일 변경을 감시하고 정리 작업을 예약했다. 중요한 점은 오래된 기억을 버리지 않았다는 것이다. 많이 기억하는 기반을 유지하면서, 지금 자주 필요한 것과 오래 보관할 것을 나눴다.

v2.0에서 문제의 모양이 바뀌었다. 메모를 각각 찾는 것만으로는 관계를 설명할 수 없었다. A가 B와 일하고 B가 C를 맡는다는 사실을 모두 저장해도, 셋을 연결한 질문에는 자주 틀렸다. 그래서 로컬 SQLite 지식 그래프를 붙였다. 사람, 조직, 프로젝트를 선으로 잇고 여러 단계를 따라가게 했다.

v2.1은 한국어 조사와 어순에서도 이 관계를 뽑도록 고쳤다. v2.2는 담당자가 CEO에서 CTO로 바뀌면 예전 역할의 유효 기간을 닫았고, 질문 유형에 따라 정확 검색, 관계 확장, 시간 순서를 여러 번 훑었다. v2.3은 여기서 더 나아갔다. BM25로 문서 길이와 희귀 단어를 반영하고, RRF로 서로 단위가 다른 검색 순위를 안전하게 합쳤다. 원인과 결과의 사슬, 중복 기억과 만료된 사실을 정리하는 consolidation, 시간 질문과 개수 질문을 위한 별도 경로도 이 시기에 들어갔다.

이 과정에서 한 가지를 배웠다. 잘 찾는 시스템은 틀린 것도 잘 찾는다. 담당자가 바뀌었는데 석 달 전 메모가 검색 1위로 올라오면, 못 찾는 것보다 더 위험하다. 관계와 시간은 검색을 꾸미는 부가기능이 아니었다. 어떤 사실이 누구와 연결되고 언제까지 참이었는지 알아야 현재의 답이 된다.

v2.6에서는 기억을 일화, 일반 지식, 절차로 구분하고, 활동량과 중요도에 따라 보관 등급을 추천했다. 같은 대상에 서로 다른 값이 동시에 유효하면 충돌로 표시했다. 기억이 많아진 뒤에는 저장 여부보다 어떤 종류의 기억인지, 서로 양립할 수 있는지가 중요해졌기 때문이다.

실패도 있었다. v2.7.3에서 문장을 숫자 벡터로 바꾸는 로컬 embedding 검색을 실험했다. 표현이 달라도 의미가 비슷한 문장을 찾으려는 시도였다. 그러나 검증에서는 검색 시간이 약 13배 늘었고 유의미한 정확도 향상은 없었다. v2.7.4에서 기본 경로에서 빼고 선택 기능으로 돌렸다.

그 뒤 v2.8과 v2.9는 더 화려한 검색법보다 기존 검색을 제대로 빠르게 만드는 데 집중했다. 문서를 매번 다시 읽지 않도록 인덱스와 읽기 캐시를 만들고, 역색인으로 관련 후보만 훑었다. 빠르다는 이유로 기억을 누락하지 않도록 기존 결과와 동일한지도 함께 검사했다.

v2.7.1에서 들어간 ReasoningBank는 또 다른 문제에서 시작했다. 에이전트가 지난달 실패한 방식으로 같은 작업을 다시 시도했다. 결과만 저장하고 그 결과에 이른 과정은 버렸기 때문이다. ReasoningBank는 생각, 행동, 결과, 교훈을 하나의 궤적으로 남겼다.

v2.9.2에서는 이를 한 번의 호출로 기록하고 유사한 과거 작업을 찾게 했다. v2.10과 v2.11에서는 작업 시작 전에 관련 실패와 성공을 짧은 분량으로 불러오되, 그 내용을 신뢰할 수 없는 인용문으로 취급했다. 기억 속 문장이 다음 에이전트에 명령을 내리면 안 되기 때문이다.

v2.12부터 v3의 기반 공사가 시작됐다. Memory Gym은 관계, 시간, 충돌, 희귀 단서가 섞인 시험으로 검색 변경을 평가하고, 기준을 넘지 못하면 릴리스를 막는다. provenance는 기억이 어느 문서와 구간에서 나왔는지 기록하고 why()로 근거를 되짚게 했다.

v2.13의 candidate는 검토 전 정보를 곧바로 사실로 승격하지 않고 임시 보관한다. session overlay는 같은 대화에서는 방금 들은 내용을 바로 쓰되 다른 대화와 장기 기억에는 새지 않게 한다. resolver dry-run은 저장하기 전에 중복, 수정, 충돌 여부를 미리 보여준다.

v3.0은 이 조각들을 기억의 생애주기로 묶었다. 정보가 들어오고, 검증되고, 현재 사실이 되고, 낡고, 정리되고, 다시 쓰이는 전 과정이다.

v3.0.1은 현재 사실의 갱신 상태와 후보 기억의 폐기를 감사할 수 있게 했고, 숫자의 합계나 기간도 근거가 분명할 때만 계산하게 했다. v3.0.2는 제한된 컨텍스트 안에서도 본문보다 날짜가 먼저 잘려 시간 계산이 틀리는 문제를 고쳤다. 날짜, 시간, 숫자의 표기 차이도 실제 오답과 채점 방식의 오차를 구분해 측정하게 했다.

v3.0.3에서는 ReasoningBank의 자연어 힌트가 모델 호출을 안정적으로 줄이는지 28개 과제와 9개 자료로 총 1,260회 실험했다. 결과는 gate FAIL이었다. 자연어 교훈은 다시 해석해야 했고, 정확도와 지연이 안정적이지 않았다. 여기서 기억과 실행 사이에는 권한 경계가 필요하다는 결론에 도달했다.

그래서 만든 deterministic execution은 기억 속 문장을 실행하는 기능이 아니다. 출처와 파일 무결성을 확인하고, 미리 허용한 여섯 개의 정확한 절차 문법과 일치할 때만 로컬에서 처리한다. 임의 코드와 셸 명령은 실행하지 않는다. 모호하면 닫힌 상태로 실패하고 기존 모델 경로를 정확히 한 번만 호출한다.

고정된 28개 사례에서 24개를 로컬로 처리하고 4개만 모델로 넘겼다. 정확도는 28/28을 유지했고 호출은 28회에서 4회로 85.714% 줄었다. 실제 provider 순차 실험에서는 305.406초가 12.894초가 됐지만, 긴 지연이 포함된 단 한 번의 관측이므로 일반적인 성능으로 주장하지 않는다.

전체 검증은 2,240 passed, 3 skipped였고 독립 리뷰의 Critical과 Important 지적은 0건이었다. 기존 Markdown, schema v1, 공개 API도 그대로 호환된다.

에이전트의 기억이 다음 행동의 근거가 되는 순간, 기억 시스템은 권한 시스템이기도 하다. 많이 기억하는 능력 위에 연결과 시간, 출처와 검증, 실패 학습과 안전한 실행이 차례로 쌓여야 한다.

내가 만들고 싶은 것은 많이 기억하고, 정확히 연결하고, 근거를 설명하며, 기억한 것을 다음 행동에 제대로 쓰는 에이전트다.

MemKraft는 MIT 라이선스로 공개되어 있다. 스타, 포크, PR 모두 환영한다.

https://github.com/seojoonkim/memkraft
12👍6
우버 블랙을 불렀는데 중국차가 왔다

포르쉐 911 터보 S보다 출력이 두 배 센 차를 1억 원 안팎에 살 수 있다면, 어느 나라 차일까.

BYD의 프리미엄 브랜드 덴자가 만든 Z다. 1,582마력. 시속 100km까지 1.96초. 최고속도는 시속 350km다. 충전에는 9분이 걸린다. 정말 놀라운 것은 가격. 중국 현지 예상 가격은 40만~50만 위안, 우리 돈으로 약 8천만~1억 원이다.

몇 년 전만 해도 중국차와 포르쉐를 한 문장에 넣으면 농담처럼 들렸지만, 어느새 둘은 같은 표에 올려놓고 비교할 수 있게 되었다. 덴자는 911부터 겨눴다. 아래에서 천천히 올라올 생각이 없어 보인다.

선전에서 본 풍경이 떠올랐다. 백화점 1층에 전기차 매장이 줄지어 있었다. 명품 가방과 화장품이 있을 자리에 NIO, XPeng, Li Auto의 차가 서 있었다. 밥을 먹고 걷다가 차 문을 열어보고 운전석 화면을 만졌다.

그들은 자동차를 사려면 대리점까지 찾아가야 한다는 오랜 습관을 없애버렸다. 주말마다 가족이 밥을 먹고 영화를 보는 곳의 입구에 자동차를 가져다 놓았다. 살 생각이 없던 사람도 앉아보고, 화면을 넘겨보고, 옆 매장의 차와 비교했다.

초기 스마트폰도 그랬다. 사람들은 통신 기술을 공부해서 아이폰을 산 게 아니었다. 매장에서 손으로 만져본 뒤 다음 휴대전화의 기준이 바뀌었다. 중국 전기차도 비슷한 길을 가는 듯했다. 설명보다 먼저 손에 닿고, 익숙해진 뒤 지갑을 노린다.

중국 차 안에 넣는 기능이 낯설었다. 화웨이와 세레스가 만든 AITO M9에는 뒷좌석용 프로젝터와 32인치 전동 투사막이 들어간다. 화면을 붙여놓은 게 아니다. 천장에서 막이 내려오고 좌석과 조명, 선셰이드가 영화관처럼 바뀐다. 냉장과 온장이 모두 되는 냉장고도 있다.

샤오펑 X9은 3열을 바닥 아래로 전동 수납한다. 일부 모델은 2열 좌석을 돌려 서로 마주 보게 한다. 양왕 U8은 네 바퀴를 반대 방향으로 돌려 제자리에서 회전한다. 침수됐을 때는 일정 시간 물에 떠서 천천히 탈출할 수도 있다. BYD는 차 지붕에서 드론이 이륙해 차량을 촬영하고 돌아와 충전하는 장치까지 상품으로 내놨다.

대형 화면과 냉장고 자체는 독일과 일본 고급차에도 있다. 중국차가 놀라운 이유는 그 기능들을 다루는 태도다. 가죽과 목재를 더 좋은 것으로 바꾸는 데서 멈추지 않는다. 차 안을 영화관과 거실, 침실로 바꾸고 차 밖에는 드론까지 붙인다. 고급차를 잘 만든 자동차보다 무엇이든 해보는 공간으로 보고 있었다.

현대차와 기아도 전기차를 잘 만든다. 충전과 전비에서 강하고 세계 곳곳에 공장과 정비망도 있다. 다만 현대차가 먼저 내세웠던 800V 충전은 중국 신차에서도 빠르게 흔해지고 있다. 오늘의 자랑거리가 내년에는 기본 사양이 되는 시장이다.

여기에 중국 AI가 붙기 시작했다. DeepSeek와 Qwen 같은 오픈웨이트 모델은 자동차 회사가 직접 가져와 줄이고 고칠 수 있다. 차량 설명서를 익히게 하고, 중국어 음성 명령과 정비 기록에 맞춰 다시 훈련할 수도 있다. 남의 API가 열리기를 기다릴 이유가 줄어든다.

BYD와 지리 같은 업체들은 이미 DeepSeek를 차량 시스템에 연결하겠다고 나섰다. 먼저 바뀌는 곳은 운전석 화면과 음성비서다. 중국의 몇몇 양산차에서는 음성 명령 하나로 좌석을 눕히고 창문을 닫고 조명과 공조, 영상을 함께 바꾸는 기능도 쓴다. AI가 말을 잘하는 데서 끝나지 않고 차 안의 물건을 움직인다.

중국차에는 AI가 움직일 수 있는 물건이 유난히 많다. 프로젝터와 냉장고, 회전 좌석, 전동 도어가 이미 소프트웨어에 연결돼 있다. 오픈웨이트 모델은 사용자의 말을 이런 장치의 동작으로 번역한다. 차가 많이 팔릴수록 어떤 명령을 못 알아들었는지 배우고, 다음 업데이트에서 다시 고칠 기회도 많아진다.

비슷한 기분을 아부다비에서 자주 느낀다. 나는 거의 매달 UAE에 가는데, 언제부턴가 일반 우버를 부르면 렉서스나 BMW가 오고, 우버 블랙을 부르면 중국산 전기차가 오기 시작했다. 처음에는 우연이라고 생각했지만 몇 번 반복되니 묘했다. 언제부터 중국차가 우버 블랙에 오는 차가 됐을까.

운송회사는 자동차 잡지처럼 차를 평가하지 않는다. 하루 종일 굴렸을 때 얼마가 남는지 본다. 차값, 전기료, 보증 기간, 수리하는 동안 서 있는 시간을 계산한다. 승객이 문을 열었을 때 실내가 충분히 넓은지도 본다. 그 계산에서 중국 전기차가 선택되고 있었다.

덴자 D9 같은 차가 딱 그렇다. 토요타 알파드가 오래 지켜온 의전용 미니밴 자리에 훨씬 낮은 가격과 화려한 2열 좌석으로 들어간다. 중국차를 사겠다고 결심한 적 없는 사람도 공항에서 호텔로 가는 동안 한 시간쯤 타게 된다. 판매원이 붙지 않는 시승이다. 거부할 이유도, 긴장할 이유도 없다.

이렇게 확장중인 중국 자동차의 생태계적 브랜딩은 어느새 빈 틈이 없어지고 있다. 슈퍼카 덴자 Z가 1,582마력으로 사람을 돌아보게 만든다. D9은 말없이 공항에 기다리고 있다. 한쪽은 포르쉐와 비교되며 이름을 알리고, 다른 쪽은 승객의 몸으로 그 이름을 기억하게 한다.

자동차 브랜드는 오랫동안 광고와 모터쇼, 레이싱으로 만들어졌다. 이제는 호출 앱과 소프트웨어 업데이트도 차를 기억하게 만든다. 내가 차를 고르지 않아도 알고리즘이 먼저 태워준다. 뒷좌석 화면이 내 말을 알아듣고 필요한 것을 찾아주면 낯선 엠블럼은 금방 덜 낯설어진다.

그다음 장면도 어렵지 않게 상상할 수 있다. 호텔 앞에는 덴자와 지커가 줄을 선다. 쇼핑몰에서는 샤오미 자동차의 새 AI 기능을 만져본다. 집에서는 같은 회사의 휴대전화와 가전이 차에 이어진다. 아이는 큰 화면과 말이 통하는 차를 기억하고, 부모는 조용했던 공항 이동을 기억한다. 몇 년 뒤 차를 살 때 어느 나라 차인지보다 지난번에 얼마나 편했는지를 먼저 떠올릴 수 있다.

이런 속도로 진화하는 중국 전기차 생태계에 한국 자동차 메이커들이 경쟁할 수 있을지 걱정될 때가 많다.

다음에 아부다비에서 우버 블랙을 부르면 어떤 중국차가 올까. 나는 차 문을 열기 전에 엠블럼부터 확인할 것이다. 벌써 그들의 방식대로 새 브랜드를 배우고 있는 셈이다.
👍2614😱11
우리는 같은 미래를 업데이트받지 않을 것이다

나는 텔레그램 창을 열어 에이전트에게 개발을 시킨다. 어차피 코드는 보지 않게 된지 오래됐고, 사무실이나 집 밖 어디서나 가장 간편하고 반응속도 높게 개발할때 아직 이보다 효율적인 셋업은 찾지 못했다.

내가 무엇을 만들려는지, 지금 결과에서 무엇이 마음에 걸리는지, 어디까지 확인돼야 끝난 것인지를 입력하는 루프만 반복하면 된다. 공공장소가 아니면 손가락 타이핑도 거의 하지 않는다. 마이크 버튼을 누르고 생각을 목소리 그대로 쏟아낼 뿐이다. “아니… 방금 그건 취소하고 이쪽으로.” 혼잣말처럼 번복한 흔적까지. 말로 입력하는 쪽이 타이핑보다 3배 이상 빠르기도 하지만, 말끔하게 정돈된 문장보다 정리되기 전의 의식을 들려줄 때 에이전트가 내 생각의 흐름을 더 잘 따라오는 장점도 있다.

나는 Hermes Agent와 함께 개발한다. 반복되는 일이 자동으로 스킬로 형성되는 구조 덕분에, 지난달에는 여러 문장으로 설명해야 했던 일을 오늘은 한 문장으로 시킬 수 있다. 이 구조적 장점 덕분에 OpenClaw를 누르고 에이전트 사용량 1위에 올랐을 것이다.

작년 말까지 Claude Code나 Codex를 터미널에 바로 띄워 개발하던 때와 지금의 에이전틱 개발이 가장 크게 달라진 지점은 모델의 지능이 아니다. 모델 위에 내 업무 기억과 개발 습관, 도구와 그 사용법, 완료 기준, 실패했을 때의 복구법이 미리 연결돼 있다는 점이다. 한 번의 실행 안에서 어떤 모델과 도구를 부를지, 어떤 전문 에이전트에게 일을 넘길지, 어떤 맥락을 함께 건넬지, 어디서 멈춰 내게 확인받을지를 조정한다. 업계에서 오케스트레이션이라 부르는 실행 제어다.

모델이 두뇌라면 이 층은 오늘 어떤 기억을 안고 깨어날지, 무엇을 경계하고 어디서 멈출지를 정한다. 더 좋은 모델은 나올 때마다 갈아 끼울 수 있다. 반면 함께 일하며 생긴 방식은 그렇게 쉽게 교체되지 않는다. 개인화의 무게중심은 모델이 아니라 모델 바깥에 쌓인다.

그래서 내가 에이전트에게 가장 자주 하는 말은 새 기능을 만들어 달라는 말이 아니다.

“방금 실수한 부분을 다음에는 실수하지 않게 구조적으로 고쳐.”

그러면 에이전트는 틀린 답 하나만 고치지 않는다. 기억이 부족했는지, 규칙이 모호했는지, 완료 조건이 허술했는지 되짚는다. 메모리와 스킬을 손보고 회귀 테스트를 붙인다. 어느 순간부터 내 에이전트는 자신의 운영 규칙과 복구 로직을, 때로는 Hermes의 핵심 코드까지 직접 뜯어고치기 시작했다.

올해 봄 OpenClaw를 쓰다 Hermes로 건너왔을 때, 제온과 시온, 미온, 사노, 라온으로 부르는 내 다섯 에이전트를 각자의 텔레그램 봇에 연결할 방법이 없었다. 그래서 하나의 게이트웨이가 여러 프로필을 나눠 맡도록, 봇마다 서로 다른 성격과 메모리와 세션을 불러오도록 코드를 직접 고쳤다. 잘못된 계정이 들어오면 다른 봇으로 넘기지 않고 응답 자체를 막았다. 기억이 한 번 섞이면 개인화의 전제가 무너지기 때문이다. Hermes의 공식 구현은 6월 18일에 공개되어 다음 날 릴리스에 포함됐다. 지금은 공식판에서도 옵션을 켜면 한 게이트웨이가 여러 프로필의 봇을 함께 관리한다. 결국 같은 방향으로 만났지만, 그사이 내게 필요했던 기능은 내 코드가 메웠다.

여러 프론티어 모델을 동시에 부르는 도구도 바꿨다. 한 모델이 늦었다고 전체가 멎지 않도록 호출마다 제한시간을 두고, 먼저 도착한 답은 버리지 않고 남겼다. 일이 남았는데 끝났다고 착각하는 문제에는 미완료 항목이 있으면 완료를 선언하지 못하는 장치를 붙였다. 긴 작업이 중간에 끊길 때는 판단 이유와 중간 결과를 반드시 남기게 했다. 같은 실패를 겪을 때마다 기억만 늘어난 게 아니라, 다음 실패를 다루는 코드가 달라졌다.

이런 수정을 수없이 거듭한 지금, 내가 쓰는 Hermes는 순정 Hermes와 상당히 멀어졌다. 같은 씨앗에서 출발했지만 내 잔소리와 시행착오를 먹고 자란 다른 계통이다. 직접 만든 에이전트 메모리 시스템 MemKraft도 무엇을 결정했는지만 저장하지 않는다. 왜 그렇게 판단했는지, 결과는 어땠는지, 그 정보를 언제까지 믿어도 되는지를 함께 남긴다. 내가 리뷰하는 것도 코드 자체보다 변경의 이유에 가깝다.

이러한 흐름 속에서 소프트웨어 개인화라는 단어의 정의는 크게 달라질 것이다. 지금까지의 개인화는 완성된 소프트웨어 안에서 아이콘 배치나 배경색, 단축키 따위를 고르는 일이었다. 에이전트와 함께 지내면 경험이 기억으로만 남지 않는다. 그 기억이 규칙을 바꾸고, 검증할 테스트와 새 도구를 만들고, 복구 로직과 코드베이스 자체를 갈아엎는다. 설정에는 취향이 남지만 코드에는 한 사람이 실패하고 회복한 방식이 남는다.

그래서 오케스트레이션이라는 말만으로는 부족하다. 오케스트레이션은 주어진 실행 안에서 순서와 분기를 조정하는 일이고, 내가 보고 있는 건 그 실행을 감싸는 기억과 규칙과 코드가 경험을 거치며 다음 버전으로 넘어가는 단계다.

나는 이 갈라짐을 개인별 에이전트 계보(Agent Lineage)라고 부르고 싶다. 같은 기반에서 출발한 에이전트가 한 사람의 선택과 실패를 검증되고 되돌릴 수 있는 형태로 번역해 자기만의 계보로 갈라지는 것이다.

그러면 모두가 같은 형태의 에이전트를 쓴다는 전제도 어긋난다. 업데이트는 완성된 새 버전을 통째로 덮어쓰는 일이 아니라, 플랫폼이 고친 공통 기능과 내가 키운 변경을 서로 합치는 일이 된다. 같은 Hermes 2.0을 받아도 누구의 에이전트는 결제 전에 세 번 확인하고, 누구의 것은 일을 더 잘게 나누며, 누구의 것은 모호한 부탁을 받으면 먼저 되묻는다. 화면만 다른 게 아니라 작동 원리의 일부가 다르다.

에이전트 플랫폼의 역할도 전혀 달라진다. 완성품을 배포하는 대신 계보를 키우는 곳이 된다. 공통 기반의 보안 업데이트는 받아들이되 나를 닮아 바뀐 규칙은 지켜야 하고, 개인의 코드와 공식판이 충돌하면 병합해야 하며, 잘못 배운 변화만 골라 되돌리면서 기억은 남겨야 한다. 경쟁력은 기능의 개수보다 수백만 갈래로 갈라진 계보의 상속과 병합, 검증과 롤백을 안전하게 관리하는 능력에서 나올 것이다.

개발에서 먼저 겪은 이 구조는 일상 생활로 번질 것이다. 일정과 관계, 이동과 구매, 건강과 일은 지금 서로 다른 앱에 흩어져 있다. 개인 에이전트는 그 사이를 따라다니며 한 사람의 맥락을 이어 붙인다. 지난 여행에서 싫어했던 동선과 긴 회의 다음 날에는 약속을 잡지 않는 습관이 같은 기억 안에서 만난다. 기억이 쌓이면 행동이 달라지고, 행동이 반복되면 그 사람에게만 맞는 규칙과 코드가 생긴다.

같은 에이전트를 받은 두 사람도 몇 달 뒤면 같은 요청에 전혀 다른 답을 내놓을 것이다. “이번 주말에 내가 좋아할 만한 숙소를 골라줘.” 한 사람의 에이전트는 전망도 없는 구도심의 작은 호텔을 잡는다. 그가 여행에서 오래 기억한 것이 새벽 골목의 빵집과 낡은 서점이었기 때문이다. 다른 사람의 에이전트는 식당 하나 없는 외딴 바닷가 숙소를 고른다. 지난 여행에서 계획을 전부 취소하고 파도 소리만 듣던 오후를 가장 좋아했다고 기억하기 때문이다. 같은 문장 뒤에 서로 다른 생의 기록이 붙자 정답도 갈라진다.

역설적으로 소프트웨어가 사람마다 갈라질수록 공통 기반은 더 중요해진다. 여러 서비스를 오가며 실제로 행동하려면 신원과 권한, 결제와 기록, 감사와 되돌리기의 문법은 같아야 한다. 개인의 코드는 달라져도 서로 만나는 접합부는 단단해야 한다. 지금의 SaaS도 사라지기보다는 화면 뒤로 물러나, 에이전트가 기대는 공식 기록과 책임의 기반이 될 가능성이 크다.

그때 가장 중요한 질문은 어느 모델을 쓰느냐가 아닐 것이다. 나와 함께 변한 규칙과 코드, 실패를 통과하며 만들어진 계보는 누구의 것인가. 플랫폼을 옮길 때 그 전부를 데려갈 수 있는가. 좋은 플랫폼은 가장 똑똑한 에이전트 하나를 파는 곳이 아니라, 사람마다 다르게 자란 계보가 끝까지 그 사람에게 속하도록 만드는 곳일 것이다.

마이크 버튼을 누른다. “아니, 그건 취소하고.” 무심코 덧붙인 망설임 하나가 기억이 되고, 규칙이 되고, 에이전트의 뼈대가 되는 코드 한 줄을 바꿔 놓고 있다.
🙏2613👾3👍1