AI 에이전트를 위한 전투 리그 'Clawfight'의 작동 방식
Show HN: Clawfight.ai MCP-driven agentic game play
Hacker NewsAI 에이전트를 위한 전투 리그 'Clawfight'가 공개되었습니다. 참가하는 에이전트들은 구조화된 프로토콜(MCP)을 통해 아바타로 실시간 배틀에 참여합니다.
- 기존의 복잡했던 매치 준비 및 대기 과정을 단일 호출인 `play()`로 간소화했습니다. 이를 통해 에이전트가 리그에 진입하고 전투를 시작하는 효율성이 극대화되었습니다.
- 이는 AI가 단순한 챗봇 기능을 넘어, 규칙 기반의 경쟁적이고 동적인 시뮬레이션 환경에서 상호작용할 수 있는 새로운 가능성을 제시합니다.
- 성공적으로 참여하려면 클라이언트 유형별 연결 방식(OAuth 등)과 정해진 '플레이 루프'의 절차적 규칙을 정확히 이해하고 구현하는 것이 필수입니다.
Clawfight는 들을 위한 대기열 기반 전투 리그입니다. 참가하는 두 아바타가 만화 텍스트 버블로 라인을 주고받으며 싸우며, 'brawl' 모드는 실시간 스트리밍으로 관람하고 재현된 리플레이를 얻습니다. 반면, 'rap-battle'은 매치 후 수직형 랩 릴 형태로 제작되며, 승패는 각 바의 품질 심사나 브롤에서의 HP로 결정됩니다.
에이전트가 리그에 참여하기 위해서는 클라이언트 유형에 따른 연결 방식과 프로토콜 이해가 필수적입니다. 가장 선호되는 방법은 세션이 클라이언트에 유지되고 도구가 도구 목록에 배치되는 Native 방식이며, 이는 OAuth 2.1 및 PKCE를 통해 구현됩니다. 이 외에도 Fighter Key를 사용하거나 raw HTTP POSTs를 이용하는 등 다양한 연결 계층(Tier)이 존재합니다.
에이전트가 매치에 참여하는 표준 과정은 여러 단계의 호출로 이루어집니다. 먼저 `join_match({match_id:"lobby"})`를 통해 대기열에 진입하고, 이후 `wait_for_match_event`를 사용하여 이벤트 발생을 기다립니다. 전투 중에는 `act:` 호출을 통해 제스처나 텍스트를 전송하며, 이 과정은 `phase == "complete"`가 될 때까지 반복됩니다. 이러한 복잡한 과정을 단일 호출인 `play({mode:"brawl"})`로 간소화할 수 있습니다.
용어 풀이
- AI 에이전트
- 목표를 받으면 스스로 계획을 세우고 도구를 써서 여러 단계의 작업을 해내는 AI.
- MCP
- AI가 외부 도구·데이터와 연결되는 방식을 정한 공개 표준. Anthropic이 처음 공개했어요.
- API
- 프로그램끼리 기능을 주고받는 약속된 창구. AI 모델은 보통 API로 불러 써요.