NEW코딩일지 · 11.05코퍼스 메인에 주장 연구실을 세웠다: 사유고2 주장 29만 개를 자동 등록하고 스파크 두 대가 반증 조건까지 검토한다
← 개발로그
·3분

Hermes 개발로그 · 1화

텔레그램 봇 3개를 맥 스튜디오로 옮겼다: 한 봇의 메시지는 한 곳에서만 받는다

클라우드 서버에서 돌던 Hermes Agent의 명령을 집의 맥으로 옮기고 텔레그램 봇 세 개를 붙였다. 5월 6일에는 전부를 맥 스튜디오로 이사했고, 이틀 뒤 픽셀 사무실 앱을 만들었다.

▸ Hermes#hermes-agent#telegram#codex#migration

Hermes는 지금 텔레그램 봇 13개가 네 팀으로 나뉘어 일하는 자동화 팀이다. 뉴스를 모으고, 카드뉴스를 그리고, 블로그 원고를 쓴다. 이 연재는 그 팀이 봇 세 개에서 시작해 지금 모양이 되기까지의 기록이다. 근거는 5월 6일부터 8월 28일까지 이 프로젝트에서 돌았던 AI 세션 78개, 그 안에서 내가 쓴 요청 1,150개, 그리고 운영 인수인계 기록이다.

명령 두 개부터 옮겼다

시작은 오픈소스 에이전트 Hermes Agent였다. 처음에는 클라우드 서버에 설치해 두고 썼다. 4월 24일 저녁, 그 서버의 게이트웨이에 붙여 둔 명령 두 개를 집의 맥 미니로 옮겼다. 텔레그램에서 /codex를 치면 Codex가 코딩을 하고, /genimage를 치면 이미지를 만드는 명령이다. 서버에 있던 함수를 맥의 게이트웨이에 그대로 붙이고 게이트웨이를 다시 띄웠다. 시험 삼아 처음 시킨 그림은 벚꽃 풍경 수채화였다.

4월 28일에는 텔레그램 봇 세 개로 프로젝트를 따로 만들었다. 앤디봇은 이미지를 만들고, 라틸리언스봇은 시장과 포트폴리오를 보고하고, 나머지 하나는 헤르메스에게 직접 일을 시키는 창구였다. 봇마다 대화방이 따로 있으니, 폰에서 어느 대화방에 말을 거느냐가 곧 어떤 일을 시키느냐가 됐다.

이사는 복사가 아니었다

5월 6일 새벽에 전부를 맥 스튜디오로 옮겼다. 쓰던 맥에서 Hermes 설정, Codex 설정, 봇 프로젝트, 예약 실행 설정을 한 묶음으로 싸서 새 맥에서 풀었다. 묶음 안에 봇 토큰과 인증 정보가 통째로 들어 있어서 밖으로는 내보내지 않았다.

파일을 옮기는 것보다 신경 쓴 건 두 가지였다. 하나는 같은 봇을 두 맥에서 동시에 돌리지 않는 것이다. 텔레그램은 봇 하나에 들어온 새 메시지를 한 프로세스만 가져가게 한다. 두 곳에서 같은 봇이 메시지를 기다리면 서로 끊어 먹는다. 그래서 새 맥에서 봇을 띄우기 전에 옛 맥의 봇을 멈추는 스크립트를 묶음에 같이 넣었다. 다른 하나는 인증이다. Hermes가 쓰던 Codex 인증은 이미 깨져 있어서 새 맥에서 처음부터 다시 받아야 했다.

역할도 다시 적었다. 대화와 코딩은 Codex가, 이미지는 GPT Image 2가 맡는다. 확인은 끝에서 끝까지 했다. 텔레그램으로 앤디봇에 부탁하면 작업이 큐에 들어가고, 이미지가 만들어져 대화방으로 돌아오는 것까지 봐야 옮긴 걸로 쳤다.

화면을 만들자 실행을 요구했다

이틀 뒤인 5월 8일 새벽에는 Hermes Agent Desk라는 데스크톱 앱 뼈대를 만들었다. 에이전트를 직원처럼 앉혀 두는 픽셀아트 사무실 화면에 홈, 에이전트, 워크플로우, 프로젝트, 로그를 한데 모았다. 며칠 전 만들어 둔 다른 에이전트 사무실 앱에서 기능 골조만 가져오고 디자인은 새로 잡았다.

화면을 보자마자 물은 건 이 버튼이 진짜로 무엇을 하느냐였다. 그날 안에 버튼을 실제 실행에 붙였다. 헤르메스 쪽 프로젝트를 시작하면 실제 Hermes 대화 프로세스가 뜨고, 앤디 쪽은 이미지 작업이, 라틸리언스 쪽은 종목 리포트 작업이 큐에 들어간다. 실행 기록은 파일로 남겼다. 상태를 흉내 내는 화면은 금방 쓸모가 없어진다는 걸 첫날 알았다.

배운 것

옮겨 보니 시스템의 경계가 보였다. 파일은 복사하면 끝나지만, 누가 메시지를 받는지, 누가 인증을 쥐고 있는지, 누가 이미지를 만드는지는 복사되지 않는다. 한 봇의 메시지를 받는 쪽은 언제나 하나여야 한다는 규칙은 이때 처음 적었다. 이 규칙은 3화에서 한 번 더 깨진다.

Hermes 개발로그 · 전 4화

  1. 1화텔레그램 봇 3개를 맥 스튜디오로 옮겼다: 한 봇의 메시지는 한 곳에서만 받는다
  2. 2화정각 크론을 '오늘 한 번' 약속으로 바꿨다: 새벽 브리핑이 사흘 연속 오지 않은 뒤
  3. 3화봇이 7개로 늘자 한 작업을 워커 여럿이 동시에 잡았다: 큐 잠금, 위키, 칸반을 붙였다
  4. 4화옛 런타임 2벌을 지우지 않고 은퇴시켰다: 큐 이력 2,101건은 보관 폴더로