TL;DR
pigame은 Raspberry Pi에서 실행되는 Pi CLI와 LLM을 Neon Snake 게임에 연결해 모델이 화면을 관찰하고 한 칸씩 이동하도록 만드는 게임 에이전트 MVP입니다. 일반 Snake의 자동 루프가 LLM의 긴 추론 중에도 진행되는 문제를 해결하기 위해 연결 후 게임을 멈추고, game_observe는 정지된 AgentState를 읽으며 game_move는 정확히 한 격자 칸만 처리합니다. 실제 경로는 /game connect 이후 LLM이 observe와 move를 반복하는 방식이고, npm run smoke:* 명령은 LLM 없이 고정 정책으로 Adapter와 Perception, I/O를 검사하는 별도 테스트 경로입니다. 기본 게임은 저장소에 포함된 pigame/games/snake.html이며 SNAKE_HTML로 원본 게임을 지정할 수 있고, 프로젝트는 Pi 설치용 npm 패키지로 패키징할 수 있습니다.
섹션별 상세
HEADED=1 pi -e ./.pi/extensions/pigame.tsPi 확장을 실행하고 visible Chromium을 열어 LLM 주도 게임 세션을 시작합니다.
Use only game_observe, game_move, and optionally game_wait.
Prefer groundTruth grid coords. Eat one food: observe → move → repeat.
When score increases, stop and report before/after score.
Do not reverse 180°.
Watch the Playwright Chromium window (snake freezes between moves).LLM이 허용된 도구만 사용해 게임 상태를 읽고 한 칸씩 이동하도록 지정하는 프롬프트입니다.
npm run smoke:eat
npm run smoke:eat:headed
npm run smoke:survive:headedPi와 LLM 없이 고정 정책으로 음식 먹기와 생존 루프를 테스트합니다.
용어 해설
- 에이전트 모드(Agent Mode)
- — 게임의 자동 진행을 멈추고 LLM이 관찰과 행동을 번갈아 수행하도록 만든 실행 방식입니다. pigame에서는 연결 직후 게임 월드를 정지하며, game_observe가 현재 상태를 읽고 game_move가 한 칸만 이동시킵니다. LLM의 사고 시간이 길어도 입력 시점과 실제 게임 상태가 어긋나지 않게 하는 데 중요합니다.
- 에이전트 상태(AgentState)
- — 게임 화면에서 추출한 플레이어 위치, 음식 위치, 점수 같은 현재 월드 정보를 담는 상태 표현입니다. game_observe가 화면을 읽은 뒤 LLM이 다음 방향을 선택할 수 있는 형태로 반환합니다. 시각 입력과 게임 조작 사이의 공통 인터페이스 역할을 합니다.
- Playwright
- — Chromium 브라우저를 코드로 실행하고 화면 입력과 상태 확인을 자동화하는 라이브러리입니다. pigame은 Playwright로 Neon Snake를 열고 키 입력, 스크린샷, 게임 상태 접근을 처리합니다. LLM이 직접 브라우저를 조작하지 않고 game_move 같은 도구를 통해 게임과 상호작용하게 만드는 기반입니다.
- Pi CLI
- — LLM과 확장 기능을 연결해 명령과 도구를 실행하는 CLI 환경입니다. pigame 확장을 Pi에 로드하면 game_observe, game_move, game_wait 도구가 세션에 추가됩니다. 사용자는 /game connect로 게임을 연결한 뒤 Pi 안에서 LLM 주도 플레이를 시작합니다.
- 스모크 테스트(Smoke Test)
- — 전체 시스템의 핵심 경로가 동작하는지 빠르게 확인하는 테스트 방식입니다. pigame의 npm run smoke:* 명령은 Pi나 LLM 없이 고정된 정책으로 Adapter, Perception, I/O와 게임 루프를 검사합니다. 실제 에이전트 설계가 아니라 CI와 디버깅을 위한 테스트 스캐폴딩입니다.
기술
- Raspberry Pi
- LLM
- DeepSeek
- Node.js
- npm
- Pi CLI
- Playwright
- Chromium
- TypeScript
- WSLg
활용 사례
- LLM이 Neon Snake의 다음 이동을 결정하는 게임 에이전트 실험
- game_observe와 game_move를 이용한 관찰·행동 도구 루프 검증
- Playwright 기반 게임 Adapter, Perception, I/O의 CI 테스트
- Pi npm extension으로 게임 에이전트를 다른 환경에 설치
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.