게임 개발에서 AI를 제대로 쓰는 법
원제 How to engineer an AI harness for game development
121 포인트댓글 56
Key Point
LLM이 게임 개발에서 실패하는 구체적 원인과 해결 방법을 제시하는 실용적 가이드로, 게임 개발자가 AI를 효과적으로 활용하기 위해 아키텍처 설계 단계부터 적용할 수 있는 전략을 설명한다.
핵심 요약
- 저자는 LLM이 웹 개발에는 뛰어나지만 게임 개발에는 약한 이유를 분석했다. 게임은 코드뿐 아니라 그래픽, 게임플레이, 물리 등 코드로 표현되지 않는 요소가 많아서 LLM이 이해하기 어렵기 때문이다.
- LLM과의 상호작용은 시스템 프롬프트, 어시스턴트 프롬프트, 사용자 프롬프트로 구성되며, 대화가 이어질수록 이전 메시지들이 계속 재제출되면서 컨텍스트가 쌓인다.
- 컨텍스트 오염(context pollution)을 줄이고 게임을 AI가 이해할 수 있게 만드는 '하네스(harness)' 개념을 도입해야 한다. 하네스는 AI 에이전트가 특정 작업을 더 잘 수행하도록 설계된 패턴과 도구의 집합이다.
- 게임을 AI에 투명하게 만들기 위해 먼저 고정된 시드값으로 난수를 생성해야 하며, 특정 게임 상태를 정확히 재현할 수 있어야 한다.
- 스크린샷을 찍되, AI가 변화를 정확히 인식하도록 odiff 같은 이미지 diffing 도구를 사용해 변경 전후 사진의 정확한 차이를 수치화해서 제공해야 한다.
- 게임의 모든 객체를 단일 'Thing' 타입으로 통일하고 enum 값으로 구분하는 '씬 드리븐 아키텍처'를 도입하면 AI가 코드 구조를 쉽게 이해할 수 있다.
- 저장/로드를 게임 초반부터 설계하면 게임 상태를 쉽게 직렬화/역직렬화할 수 있고, AI가 특정 상태로 빠르게 이동해서 테스트할 수 있다.
- 커맨드 패턴을 사용해 게임 상태 변화를 직렬화된 객체로 캡처하면, AI가 텍스트 명령만으로(컴파일 없이) 게임 상태를 조작할 수 있다.
- AI가 게임 상태에 빠르게 접근하고 컴파일 없이 변경을 테스트할수록 agentic 루프가 더 빠르게 움직일 수 있다.