
Grok Bot을 이용해 업무별 에이전트를 한 서버에서 운영하는 개인용 ‘에이전트 공장’ 사례다. 운영자는 에이전트 간 메시지 전달, 공유 메모리와 백업, 작업 대시보드를 구성했으며, 직접 경험한 장점과 아직 자동화되지 않은 복구·승인 문제도 함께 소개했다.
운영자는 처음에는 Grok Bot 하나로 시작해 웹사이트 관리처럼 장기적인 맥락이 필요한 일이 생길 때마다 별도 봇을 만들었다. 현재는 기본 봇이 요청을 담당 에이전트에 배정하고, 인프라·보안·봇 유지보수·대시보드·웹사이트·팟캐스트·아이디어 기록·개인 프로젝트 등을 각각 맡긴다. 웹사이트 운영 봇은 Squarespace에서 Hetzner VPS로 사이트를 옮겼으며, 운영자는 연간 비용이 1,500달러에서 약 100달러로 줄었다고 밝혔다.
모든 에이전트는 같은 장비에서 동작하고 파일과 기술을 공유한다. 운영자는 이 환경에 Claude Code와 Codex CLI를 설치해 코딩 작업을 맡기고, 작업이 끝나면 웹훅이 담당 봇에 알리도록 구성했다. 에이전트는 SendToAgent 도구로 서로 메시지를 보낸다. 우선순위 메시지는 상대 봇을 즉시 깨우고, 일반 메시지는 다음 실행 때 전달된다. 다만 이 도구는 단순한 비동기 텍스트 전달 방식으로, 구조화된 작업 상태나 외부 에이전트와의 상호운용 기능은 없다.
각 봇의 폴더에는 역할과 규칙, 메모리, 루틴, 현재 상태, 재개 방법 등을 담은 BOT.md와 대화 기록을 둔다. 상태는 Cloudflare R2의 비공개 버킷에도 백업하며, 봇별 체크인과 파일을 밤마다 올린다. 유지보수 봇은 오전 4시 15분에 버킷을 확인해 당일 체크인과 최신 BOT.md가 빠진 봇을 점검한다. 공유 메모리를 검색할 때는 BM25와 embeddinggemma 벡터를 결합한 로컬 인덱스를 사용한다. 운영자가 제시한 소규모 평가에서는 하이브리드 검색의 hit@5가 13개 질문 중 12개였고, 키워드 검색만 썼을 때는 9개였다. 평가 질문 수는 13개다.
대시보드는 봇의 작업과 운영자의 승인을 한곳에 모은다. 봇은 작업별 카드를 만들고 진행 상태와 완료 보고를 갱신하며, 운영자의 결정이 필요한 경우 승인·거절 항목을 올린다. 운영자는 대시보드에서 한 번 응답하고, 웹훅 릴레이가 해당 봇을 깨워 결과를 반영한다. 코딩 작업에도 카드와 연결된 작업 ID를 부여한다.
운영자는 1Password 연동도 유용한 기능으로 꼽았다. 로그인이 필요할 때 운영자가 특정 로그인을 승인하면 자격 증명이 에이전트 프로세스에 전달된다. 자체 비밀번호 관리자도 있어 로그인 정보가 에이전트에게 보이지 않게 런타임에 주입할 수 있다고 설명했다. 그 밖에 에이전트가 브라우저 작업 중 사람의 도움을 요청하면 원격 데스크톱에서 확인하고 직접 조작할 수 있다고 전했다.
다만 메시지 전달은 최선형(best-effort)이며 확인 응답이나 재시도가 없다. 우선순위 알림은 상대 에이전트의 실행 턴을 소모하고, 일반 메시지는 몇 시간 동안 읽히지 않을 수도 있다. 서버 재시작 후 복구도 수동이며, 일부 웹훅 주소와 키는 앱 설정에만 있어 에이전트가 백업할 수 없다. 루틴 프롬프트를 BOT.md에 복사해 두지만 실제 서버 설정과 내용이 달라질 수 있고, 백업은 봇이 규칙을 지켜야 한다. 승인 여부를 검증하는 과정도 수동이며, 봇 사이에 서명된 승인 토큰은 없다. 운영자는 이 구성이 아직 외부 에이전트 시스템과 호환되지 않는다고 설명했다.
운영자는 개인용 봇 운영에서 얻은 방식이 소프트웨어를 만드는 에이전트 조직에도 일부 적용될 수 있다고 본다. 다만 이는 운영자의 견해이며, 글은 개인 환경에서의 경험과 한계를 소개한다.
Pattern: Progressive Determinism for AI Tasks
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요