최근 nfltr 서비스가 앤트로픽(Anthropic)의 AI 코딩 에이전트인 클로드 코드(Claude Code)를 분산 환경에서 효율적으로 운영하는 기술을 선보였습니다. 기존 클로드 코드는 단일 머신 내에서만 작업을 분할하고 서브 에이전트를 실행했지만, nfltr은 터널링 서비스를 활용하여 여러 대의 머신에 걸쳐 AI 에이전트를 배포하고 관리할 수 있도록 지원합니다. 이는 데이터가 특정 가상 머신(VM)에 고정되어 있거나, 특정 네트워크 환경에서만 접근 가능한 경우에도 클로드 코드가 작업을 수행할 수 있게 해주는 중요한 발전입니다.
nfltr의 핵심 아이디어는 하나의 클로드 코드 세션을 '허브(hub)'로 삼고, 이 허브가 분산된 에이전트들을 제어하는 방식입니다. 허브는 `spawn_agent`로 에이전트를 시작하고, `send_message`로 메시지를 보내며, `list_agents`로 상태를 확인하는 등 클로드 코드의 서브 에이전트 모델과 유사한 도구들을 제공합니다. 차이점은 이 에이전트들이 허브와 연결된 어떤 머신에서든 실행될 수 있으며, 심지어 허브가 연결을 끊어도 작업을 계속한다는 점입니다. 각 머신은 `nfltr node join --max-agents <숫자>` 명령어로 nfltr 릴레이에 연결되며, 이 릴레이는 메시지를 전달하지만 모델은 실행하지 않습니다. 이를 통해 개발자는 여러 대의 랩톱, QA VM, 앱 VM, 데이터베이스 VM 등을 하나의 분산 컴퓨팅 자원 풀처럼 활용할 수 있습니다.
nfltr은 '제공하되 결정하지 않는다'는 설계 원칙을 따릅니다. 즉, 특정 머신이나 모델, 실행 계획을 nfltr이 직접 선택하지 않고, 사용자가 지정한 조건(예: 특정 머신 이름)에 따라 에이전트가 실행될 수 있는 적절한 슬롯을 찾아줍니다. 또한, 각 머신의 보안 및 권한 설정은 `—allow-all-tools`, `—allow-monitors`, `—allow-repo`와 같은 옵션을 통해 세밀하게 제어할 수 있어, 에이전트가 특정 작업을 수행할 수 있는 범위를 명확히 제한할 수 있습니다. 모든 결과는 허브가 재시작되더라도 정확히 한 번만 전달되도록 보장하여 안정성을 높였습니다.
이러한 분산 클로드 코드 시스템은 개발 및 테스트 프로세스를 혁신할 잠재력을 가지고 있습니다. 예를 들어, 여러 개의 독립적인 버그 수정을 동시에 여러 머신에서 진행하거나, 특정 데이터셋이 있는 VM에서 직접 AI 에이전트가 분석 작업을 수행하게 할 수 있습니다. 이는 개발자들이 복잡한 인프라 설정에 대한 부담을 줄이고, AI 에이전트의 강력한 기능을 활용하여 더 빠르고 효율적으로 소프트웨어를 개발하고 테스트할 수 있도록 돕습니다. 특히 1인 개발자나 소규모 팀에게는 제한된 자원으로도 AI 기반의 복잡한 작업을 수행할 수 있는 강력한 도구가 될 수 있습니다.
