Claude Code + Multica = 궁극의 AI 에이전트 설정

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Multicore는 AI 에이전트를 실제 팀원처럼 바꿔준다고 주장합니다.
00:00:05Claude Code, OpenCode, Codex CLI, Hermes 등을 고유한 시스템
00:00:11프롬프트와 기술로 설정하고, 상태 업데이트와 함께 작업을 할당할 수 있습니다.
00:00:16도움이 필요하면 알림을 보내고, 반복 작업을 예약하며, 에이전트와 직접 대화할 수도 있죠.
00:00:21하지만 이 오픈 소스 버전의 Claude 루틴과 관리형 에이전트가 정말 시간을 투자할 가치가 있을까요?
00:00:27구독을 누르고 함께 알아봅시다.
00:00:32Multicore의 권장 사용 방식은 작업 기기에 설치하는 것입니다.
00:00:37Claude Code나 OpenCode 같은 터미널 코딩 에이전트가 있다면,
00:00:42그것을 Multicore 클라우드 UI에 연결하는 것이죠.
00:00:44하지만 우리는 그렇게 하지 않고, 완전히 셀프 호스팅 방식으로 가보겠습니다.
00:00:48그래서 VPS에 Multicore를 설치할 건데, 그 이유는 나중에 설명해 드릴게요.
00:00:52사실 저는 보통 설정 과정을 건너뛰지만, Multicore 셀프 호스팅의 경우,
00:00:58문서에 나오지 않아 직접 알아내야 했던 몇 가지 사항들이 있었습니다.
00:01:01그래서 사용 예시를 살펴보기 전에 먼저 그 부분을 짚어보겠습니다.
00:01:05저는 이미 신규 Hetzner VPS에 이 명령어를 실행하여 Multicore를 설정했습니다.
00:01:10이 명령어를 통해 Docker로 Multicore를 설치하게 됩니다.
00:01:12그러니 VPS에 Docker가 설치되어 있는지 확인하세요.
00:01:15모든 실행을 마치면 Multicore 백엔드,
00:01:19아마 Go로 작성되었을 것이고, TypeScript와 Next.js로 구성된 Multicore 프론트엔드,
00:01:24그리고 세션 정보를 저장하는 Postgres 데이터베이스, 이렇게 세 개의 컨테이너가 실행됩니다.
00:01:27다음으로 'Multicore setup self-host'를 실행해야 합니다.
00:01:30그런데 저는 여기서 몇 가지 문제가 있었습니다.
00:01:31만약 'Multicore self-host'를 실행하고 현재 설정과
00:01:35워크스페이스를 초기화하면, 이 URL로 인증하라는 메시지가 뜰 텐데,
00:01:39이 화면으로 이동하게 됩니다.
00:01:40이메일 주소를 입력하고 계속 진행하면 인증 코드를 넣어야 합니다.
00:01:45그런데 저는 이 단계에서 정말 애를 많이 먹었습니다.
00:01:48그래서 인증 코드 관련 과정은 아예 건너뛰는 것을 추천합니다.
00:01:53.multicore 서버 디렉토리로 들어가서 env 파일을 열고, 앱 환경 설정이
00:01:58development로 되어 있는지 확인하고, Resend API 키 값을 비워두세요.
00:02:02이렇게 하면 이 코드가 이 값이 됩니다.
00:02:04설정이 끝났다면 해당 디렉토리에 머무른 상태로 다음 명령어를 실행하여 컨테이너를 다시 시작하세요.
00:02:09업데이트된 환경 변수 파일이 적용될 것입니다.
00:02:11그 후에는 6개의 8로 로그인할 수 있을 것입니다.
00:02:15아직 완전히 끝난 것은 아닙니다.
00:02:17이제 런타임으로 가면 제가 설치한 두 가지 런타임을 볼 수 있는데,
00:02:21아직 설정하지 않았으니 여러분은 아무것도 없어야 정상입니다.
00:02:24'Multicore Daemon Status'를 실행하면 현재 제 것은 워크스페이스 하나와
00:02:28이 에이전트들을 사용하여 실행 중인 것을 볼 수 있지만, 여러분의 것은 오류가 뜰 것입니다.
00:02:32그 이유는 먼저 VPS에 터미널 코딩 도구가 설치되어 있어야 하기 때문입니다.
00:02:36저는 Claude Code와 OpenCode를 설치해 두었습니다.
00:02:39그 런타임을 Multicore 인스턴스에 연결하려면 설정으로 이동하여,
00:02:44API 토큰 메뉴에서 새 토큰을 생성한 다음, 'Multicore login --token' 플래그를 사용하여
00:02:50토큰을 여기에 붙여넣어야 합니다.
00:02:52그리고 Multicore Daemon이 실행 중이라면 멈췄다가 다시 시작하세요.
00:02:56Multicore의 Daemon은 설치된 하니스 바이너리를 확인하고, Multicore로부터
00:03:01작업을 가져와 에이전트에 할당하고, 워크트리를 사용하여 에이전트를 여러 개 생성해서 작업을 처리합니다.
00:03:07완료되었습니다.
00:03:08이렇게 하면 Daemon이 사용 가능한 런타임을 보여줄 것입니다.
00:03:11이렇게 연결하는 방식의 장점은 여러 대의 기기를
00:03:15내 Multicore 인스턴스에 추가할 수 있다는 점입니다.
00:03:16그러니 VPS가 여러 대 있다면, 각각에 Multicore를 설치하고
00:03:20각자의 API 토큰을 사용해 하나의 UI에 연결할 수 있습니다.
00:03:23자, 설정은 끝났으니 Multicore로 간단한 작업을 몇 가지 해보겠습니다.
00:03:28모든 기능을 다 보여드리지는 않을 겁니다.
00:03:30여러 에이전트와 프로젝트를 두고 많은 작업을 추가하는 것보다는, 개별적인 기능을 보여드려서
00:03:35이런 식으로 일하고 싶다면 Multicore가 얼마나 강력한지 감을 잡으실 수 있게 하려고 합니다.
00:03:39일단 해보겠습니다.
00:03:40Multicore로 무엇을 하든 먼저 에이전트를 생성해야 합니다.
00:03:43저는 이미 'Medibot'이라는 에이전트를 만들었지만, 플러스 버튼을 눌러서
00:03:48안내에 따라 새 에이전트를 만들 수도 있습니다.
00:03:50이 메디컬 봇은 제가 제작한 'Claude Managed Agents' 영상과 비슷한 시스템 프롬프트를 가지고 있어서,
00:03:56비공개 GitHub 저장소에서 제 의료 정보를 가져오고,
00:04:02Slack을 통해 대화할 수 있습니다.
00:04:04이제 Multicore를 사용하면 VPS를 직접 제어할 수 있는 자유도가 조금 더 높아지기에,
00:04:08에이전트가 GitHub에서 저장소를 복제하게 하는 대신,
00:04:12제가 직접 이 디렉토리로 복제해 두었습니다.
00:04:16시스템 프롬프트 외에도 에이전트에 맞춤형 스킬을 부여할 수 있습니다.
00:04:19에이전트는 CLI에 설치한 스킬에 접근할 수 있지만, 원한다면
00:04:24UI에서 직접 스킬을 추가할 수도 있습니다. 저는 테스트 스킬로 만들어 두었지만,
00:04:29에이전트에 추가하지는 않겠습니다.
00:04:30환경 설정과 커스텀 인수 설정도 있습니다.
00:04:33에이전트는 CLI 도구를 사용하므로, 이 경우 'open code run'이 사용됩니다. 그래서 에이전트가
00:04:37특정 모델만 사용하게 하려면 커스텀 플래그를 추가하는 식으로 제어할 수 있습니다.
00:04:42하지만 기본적으로는 CLI에 설정된 모델을 사용합니다.
00:04:46지금 OpenCode를 실행해 보면 OpenCodeZen의 'big pickle' 모델을 사용 중인 것을 볼 수 있습니다.
00:04:50이제 여기를 클릭해서 작업이나 이슈를 생성할 수 있습니다. 저는 이슈 이름을 '의료 질문'으로 하고,
00:04:54프롬프트로 '내 의료 정보를 확인하고 칼라마리를 먹어도 되는지 알려줘'라고 적겠습니다.
00:04:59칼라마리요.
00:05:00이슈 트래킹 도구를 사용해 본 적이 있다면 아주 익숙할 겁니다.
00:05:04우선순위를 설정하고, 담당자를 지정하고, 마감 기한을 정하는 등의 작업을 할 수 있습니다.
00:05:08하지만 봇을 할당하는 즉시 바로 작업에 착수해 버리기 때문에,
00:05:13이슈를 생성하고 내용을 먼저 확인하는 것을 적극 권장합니다.
00:05:17작성한 내용이 모두 괜찮은지 다시 한번 확인하세요.
00:05:21확인이 끝나면 봇에게 할당합니다.
00:05:23저는 Medibot에게 할당하고 이슈를 생성하겠습니다.
00:05:26그러면 봇이 바로 작업을 시작합니다.
00:05:28여기 이슈 탭에서 진행 상황을 계속 확인할 수 있습니다.
00:05:30이슈를 클릭해 보면 Medibot이 바로 작업을 수행 중인 것을 볼 수 있습니다.
00:05:34작업이 진행되는 동안 'Autopilot'을 클릭해 보겠습니다.
00:05:36이것이 Claude Routines의 오픈 소스 버전입니다.
00:05:39처음부터 시작하기를 클릭하고, 에이전트를 선택하고, 얼마나 자주
00:05:44작업을 실행할지 설정할 수 있습니다.
00:05:45Claude Routines와 달리 API 트리거나 GitHub 이벤트 트리거 기능은 아직 없습니다.
00:05:51나중에 추가될지도 모르죠.
00:05:53하지만 Claude Routines 영상과 비슷하게 RSS를 통해 세 뉴스레터의
00:05:57최신 이슈를 가져오라는 프롬프트를 주겠습니다.
00:06:00이슈를 가져온 다음, 유튜브 영상으로 만들기 좋은 기사 10개를 선정하라고 할 겁니다.
00:06:05이 작업은 런던 시간으로 매일 오전 9시에 실행될 것입니다.
00:06:08이상적으로는 유튜브 주제 선정에 특화된 연구용 에이전트가 좋겠지만,
00:06:14지금은 Medibot을 계속 사용하겠습니다. 생성을 누르세요.
00:06:17그 다음 Autopilot 항목을 클릭하고 'Run now'를 눌러 실제로 작동하는지 보겠습니다.
00:06:21할 일 목록에 새 이슈가 생성될 것입니다.
00:06:23이걸 몇 분 동안 돌아가게 두고, 다른 이슈를 확인해 보겠습니다. 에이전트가
00:06:28이미 검토 중으로 옮겨 놓았네요.
00:06:30여기 보면 제 의료 기록상 갑각류 알레르기가 있어서 칼라마리를 먹으면 안 된다고 나와 있고,
00:06:35알레르기에 대한 추가 정보도 적혀 있습니다.
00:06:40여기를 클릭하면 에이전트가 정확히 무엇을 했는지도 볼 수 있습니다.
00:06:43실행 기록을 펼쳐보면 bash 도구 호출을 몇 번 수행한 것을 알 수 있습니다.
00:06:48사실 의료 정보 디렉토리를 찾기 위해 bash 도구를 꽤 많이 호출했고,
00:06:53에이전트가 올바른 정보를 얻을 수 있도록 홈 디렉토리를 모두 검색하여 의료 정보를 확인했습니다.
00:06:59훌륭합니다.
00:07:00여기서 '정보 고마워'라고 답장할 수도 있습니다.
00:07:01이미 답을 얻었는데 왜 '완료'가 아니라 '검토 중' 상태로 두었는지 물어보겠습니다.
00:07:04에이전트에게 그대로 두죠.
00:07:07에이전트가 뭐라고 하는지 일일이 확인하기 번거롭다면,
00:07:09에이전트로부터 알림을 받을 수도 있습니다.
00:07:12여기 메디컬 에이전트의 답변이 있고,
00:07:14Autopilot 업데이트도 받았습니다.
00:07:16한 시간 전에 자동으로 실행된 것도 있지만, 방금 트리거한 작업이 방금 완료되었습니다.
00:07:19여기에 제가 준 프롬프트를 볼 수 있고, 프롬프트를 따라 실행한 결과가 나옵니다.
00:07:22이렇게 결과가 나왔습니다.
00:07:23여기 Barn, temporal API 등 상위 10개 항목이 선정되었습니다.
00:07:27여기서 재미있는 점은, 이슈가 검토 중 상태가 되면 에이전트가 다시
00:07:28진행 중이나 할 일로 옮기지 않는다는 것입니다. 당연히 사람이 직접 할 수는 있습니다.
00:07:33원한다면 진행 중이나 차단됨 상태로 옮길 수 있죠.
00:07:37그런데 의료 에이전트에게 질문을 던졌을 때, 답을 하는 동안
00:07:41진행 중 상태로 돌아가지 않더군요.
00:07:45그저 검토 중 상태로 유지되기 때문에, 저는 에이전트가 완료했는지 알기 위해 클릭해야 합니다.
00:07:49왜 완료 대신 검토 중으로 옮겼는지 알 수 있습니다.
00:07:51표준 워크플로우 단계라서 그렇습니다.
00:07:55결국 사람이 완료 상태로 옮기기를 기다리는 셈인데, 어느 정도 이해는 됩니다.
00:08:00여기서 계속 대화하거나, 답글을 남기거나, 댓글을 달고,
00:08:01파일이나 이모지를 첨부할 수 있습니다. 혹은 전체 이슈 트래킹 과정을 거치지 않고
00:08:05일회성 질문만 하고 싶다면 여기를 클릭해 에이전트와 직접 대화할 수도 있습니다.
00:08:09솔직히 말해서 저는 에이전트에게 작업을 할당하고 칸반 보드에서 진행 상황을 지켜보는 방식은 그리 선호하지 않습니다.
00:08:14그래서 Paperclip이나 Vibe Kanban 같은 프로젝트는 시도해 보지 않았죠.
00:08:18저는 우선순위나 마감 기한 같은 것에는 별로 신경 쓰지 않습니다. 에이전트와 한두 개의
00:08:22프로젝트만 집중적으로 작업하는 것을 좋아하고, 에이전트가 무엇을 하는지, 어떤 도구를 쓰는지,
00:08:25어떤 문제에 부딪히는지 눈으로 직접 보면서 함께 디버깅하는 대화형 방식을 선호합니다.
00:08:29그렇다고 Multicore가 싫다는 것은 아닙니다. 예약 작업 기능은 정말 좋고,
00:08:34완전한 셀프 호스팅이 가능하다는 점도 마음에 듭니다. 또 Claude 관리형 에이전트나
00:08:39Routines보다 다른 모델을 사용하면 훨씬 저렴한 도구이기도 하죠.
00:08:45하지만 설정 과정이 꽤 기술적이라서, 무엇을 하고 있는지 알아야 한다는 점은 있습니다.
00:08:50보안을 신경 써야 한다면 특히 더 그렇습니다. 관리형 에이전트나 Routines는
00:08:55자체 인프라를 통해 모든 것을 알아서 처리해 주니 훨씬 편하죠.
00:08:59커넥터를 사용하여 에이전트와 통신하는 것도 훨씬 간편합니다.
00:09:02만약 Multicore에서 똑같은 것을 하려면,
00:09:06폰에서 응답 페이지를 사용할 수는 있겠지만 Slack, Telegram, Discord를 사용하려면
00:09:11직접 연동을 설정해야 합니다.
00:09:16제가 셀프 호스팅 방식을 선택한 것은 전적으로 보안 때문입니다. 인터넷에 연결된 것은
00:09:20무엇이든 해킹의 위험이 있으니까요. 물론 Multicore를 완전히 로컬에서 사용해서
00:09:24로컬 기기에 설치하고 인터넷 연결 없이 UI를 실행할 수도 있습니다.
00:09:29하지만 인터넷에 연결해야 한다면 Tailscale을 사용하여 셀프 호스팅 경로를 이용하고,
00:09:33서버가 완전히 노출되지 않도록 하며 항상 최신 버전을 유지하는 것을 권장합니다.
00:09:37인터넷에 연결되어 있다면 분명 해킹 가능성이 있습니다. 즉, Multicore를 완전히
00:09:41로컬에서 사용할 수 있습니다. 로컬 기기에 설치하고 UI를 로컬에서 실행하면 인터넷에
00:09:46연결되지 않을 것입니다. 하지만 인터넷에 연결하고 싶다면 다음 방법을 추천합니다.
00:09:50Tailscale을 사용하여 셀프 호스팅 경로를 이용하면 서버가 완전히 노출되지 않으며,
00:09:55항상 최신 버전으로 유지할 수 있습니다.

Key Takeaway

Multicore는 Claude Code와 같은 터미널 코딩 에이전트를 Docker 기반의 셀프 호스팅 환경에서 중앙 집중식으로 관리하고 자동화할 수 있게 하는 강력한 도구입니다.

Highlights

Multicore는 Docker 기반으로 백엔드, 프론트엔드, Postgres 데이터베이스 등 3개의 컨테이너를 실행하여 셀프 호스팅이 가능합니다.

Hetzner VPS에 설치 시 이메일 인증 과정을 건너뛰려면 .multicore 서버 디렉토리의 env 파일에서 Resend API 키를 비워야 합니다.

Multicore Daemon은 설치된 하니스 바이너리를 감지하고 워크트리를 생성하여 여러 에이전트가 동시에 작업을 처리하게 합니다.

Claude Code와 OpenCode 같은 터미널 코딩 도구를 API 토큰으로 Multicore에 연결하여 통합 제어할 수 있습니다.

Autopilot 기능을 통해 매일 특정 시간에 반복되는 작업을 자동화하고 RSS 피드에서 최신 정보를 수집할 수 있습니다.

보안 유지를 위해 인터넷 연결이 필요한 경우 Tailscale을 통해 서버 노출을 방지하는 것이 좋습니다.

Timeline

Multicore 셀프 호스팅 설치 및 초기 설정

  • Multicore는 Docker를 사용하여 VPS에 설치할 수 있습니다.
  • 인증 코드 문제를 피하기 위해 설정 파일에서 Resend API 키를 제거해야 합니다.
  • 설치 완료 시 백엔드, Next.js 프론트엔드, Postgres DB 컨테이너가 실행됩니다.

Multicore를 VPS에 설치하려면 Docker 환경이 필수입니다. 공식 문서를 따를 때 발생하는 이메일 인증 문제를 해결하기 위해 .multicore 디렉토리의 env 파일에서 Resend API 키를 비우고 앱 환경을 development로 설정하는 과정이 필요합니다. 이후 컨테이너를 재시작하면 정상적으로 로그인할 수 있습니다.

에이전트 연결 및 워크플로우 자동화

  • API 토큰을 설정하여 Claude Code 및 OpenCode 런타임을 Multicore에 연결합니다.
  • 하나의 UI에 여러 기기의 런타임을 연결하여 통합 관리가 가능합니다.
  • 에이전트별 시스템 프롬프트와 맞춤형 스킬을 부여하여 특정 작업을 수행하게 합니다.

터미널 코딩 도구를 설치한 후 Multicore 인스턴스에 토큰을 입력하여 연결해야 합니다. 연결된 에이전트는 특정 프로젝트의 저장소 정보를 활용하거나 정의된 스킬을 사용하여 작업을 수행합니다. 작업은 이슈 생성을 통해 할당하며, 담당자와 우선순위를 지정할 수 있습니다.

기능 검증 및 사용성 평가

  • Autopilot을 통해 매일 특정 시간에 RSS 뉴스레터를 분석하는 작업을 자동화했습니다.
  • 에이전트는 bash 도구를 호출하여 로컬 시스템을 검색하고 의료 정보를 확인하는 등의 실제 작업을 수행합니다.
  • 완전한 셀프 호스팅은 보안상 유리하지만 기술적 설정과 유지보수가 필요합니다.

Autopilot 기능을 사용하면 수동 개입 없이 정기적인 정보 수집이 가능합니다. 실제 테스트에서 에이전트는 bash 명령어를 사용하여 홈 디렉토리에서 필요한 정보를 검색하고 결과를 이슈에 반영했습니다. 다만 에이전트의 작업 상태 업데이트 방식이나 외부 통신 연동 등은 사용자의 워크플로우에 따라 설정이 필요하며, 인터넷 노출 방지를 위해 Tailscale 사용이 권장됩니다.

Community Posts

View all posts