본문으로 이동

AI 게임 마스터 설계

긴 AI RPG 캠페인을 위한 프롬프트 캐싱

OpenAI, Claude, Gemini의 프롬프트 캐싱 방식을 비교하고, 긴 AI RPG 캠페인에서 고정된 세계 설정과 변하는 턴 상태를 나눠 사용량을 측정합니다.

작성 Playworlds · Elser.AI ·

망토를 두른 모험가가 안개 낀 산 사이의 빛나는 관문을 향해 돌길을 걷습니다.

긴 캠페인에서 같은 정보가 반복되는 이유

AI 게임 마스터에게는 매 턴 같은 배경 규칙, 인물의 역할, 서술의 경계가 필요할 수 있습니다. 플레이어가 문을 열거나 증인에게 질문하면 장면은 바뀌지만 세계 자체가 다른 세계가 되는 것은 아닙니다. 일관된 답을 얻기 위해 공통 자료를 다시 보내야 할 때가 많습니다. 프롬프트 캐싱은 API가 반복된 입력의 처리 작업을 재사용하는 방법이지 게임이 저장하지 않은 사건을 기억하는 방법이 아닙니다.

잃어버린 별자리 지도를 찾는 비공정 원정을 상상해 보세요. 구름 바다의 지리와 해가 진 뒤에는 폭풍 장벽을 넘을 수 없다는 규칙은 매 턴 필요합니다. 현재 갑판, 목격자, 단서, 플레이어의 행동은 바뀝니다. 이 차이에서 개발자는 캐시 동작을 살펴볼 출발점을 얻습니다. 이는 설계 예시이지 측정된 Playworlds 최적화가 아닙니다.

변하는 턴의 사실보다 안정적인 세계 자료를 앞에 두기

요청은 지속적인 지침으로 시작할 수 있습니다. 게임 속 내레이터의 역할, 확립된 세계 제약, 주사위 결과를 전달하는 방법, 반복 등장인물에 대한 짧은 설명입니다. 뒤쪽에는 현재 장면을 둡니다. 어느 갑판에 갈 수 있는지, 누가 있는지, 플레이어가 무엇을 아는지, 어떤 행동을 시도했는지입니다. 재사용할 자료 앞에 시각, 세션 식별자, 새 플레이어 메시지를 놓으면 캐시가 재사용할 수 있었던 접두 부분이 달라질 수 있습니다.

캐시 조건에 맞추려는 이유만으로 요약을 불리지 마세요. 올바른 결정을 돕는 사실을 담고 제공업체의 적격 기준을 확인하세요. 영구적인 규칙이 바뀌면 새 버전을 다시 처리해야 하더라도 사실의 기준을 업데이트합니다.

API마다 다른 캐시 적중의 의미

OpenAI의 API 문서는 공통 프롬프트 접두 부분의 재사용과 지원 모델의 사용량 데이터에 표시되는 캐시 입력 토큰을 설명합니다. Anthropic은 자동 캐싱과 명시적 중단점을 문서화했으며, 안정적 콘텐츠의 끝을 표시하는 위치도 다룹니다. Gemini는 Generate Content API에서 암묵적 캐싱과 명시적 캐시 객체를 설명합니다. 방식이 다르므로 한 API 예시를 복사해 다른 곳에서 통하는 캐싱 구성으로 여겨서는 안 됩니다.

캐시 적중은 해당 입력의 처리와 가격을 줄일 수 있습니다. 새 장면의 사실이 무료가 되거나 출력 비용이 없어지거나 답이 정확하다는 증거가 되지는 않습니다. 유지 기간, 최소 길이, 지원 인터페이스, 청구 방식은 제공업체와 모델마다 다릅니다. 절감률을 약속하기 전에 실제 사용하는 API 경로를 확인하세요.

비공정 장면의 요청 예시

공통 부분은 간결하게 유지합니다. “당신은 비공정 원정의 게임 마스터다. 확립된 사실을 사용하고 플레이어의 선택을 존중하며 게임이 이미 해결한 규칙 결과를 서술한다. 해가 진 뒤에는 폭풍 장벽을 넘을 수 없다. 항해사 이리는 경로를 계획하며, 그녀의 현재 지식은 매 턴 제공된다.” 이는 설명을 위한 프롬프트 요약이지 Playworlds 프롬프트나 모델 실행 기록이 아닙니다.

그 뒤에 변하는 상태를 붙입니다. “현재 장면: 해가 진 뒤 비공정이 폭풍 장벽에 접근한다. 저장된 사건: 플레이어가 기관실에서 그을린 별자리 지도를 찾았다. 이리는 출발 이후 그 지도를 본 적이 없다. 플레이어 행동: 지도를 이리에게 보여 주고 누가 기관실에 들어갔는지 묻는다.” 다음 턴에는 공통 부분을 유지하고 실제로 바뀐 사실만 교체합니다. 응답을 캠페인 업데이트로 받아들이기 전에 저장된 사건과 대조합니다.

광고 문구의 할인율보다 유용한 한 턴의 비용 측정하기

요청마다 모델과 인터페이스, 총 입력·출력 토큰, 캐시 입력 또는 캐시 읽기 토큰, 청구되는 경우 캐시 쓰기 토큰, 경과 시간, 실제 작업 결과를 기록합니다. 일반적인 연속 턴과 안정적인 접두 부분을 의도적으로 유지한 버전을 비교합니다. 한 턴에 호출 두 번이나 재시도가 필요했다면 모두 포함하세요. 잘못된 답 때문에 다시 생성해야 한다면 요청 하나가 싸 보여도 절감이 아닙니다.

재사용된 입력 비율과 완성된 턴의 비용을 비교합니다. 답이 지도 발견, 폭풍 장벽의 규칙, 이리의 지식을 지키는지도 확인하세요. 사용량 필드는 재사용을 보여 주지 서사의 연속성을 측정하지 않습니다. 캐시 미스를 고치려 프롬프트를 바꾸기 전에 실제 요청의 차이를 살펴보세요.

이야기의 사실을 캐시 배치와 분리하기

캠페인은 처음 만든 세계 요약을 넘어설 수 있습니다. 승무원이 폭풍 장벽을 없앴다면 해가 진 뒤 넘을 수 없다는 고정 문장은 틀립니다. 게임은 그 규칙을 업데이트하고 요약에 버전을 붙이거나, 예외를 내레이터가 볼 수 있는 권위 있는 현재 상태로 옮겨야 합니다. 캐시 적중을 지키려고 모순을 남겨서는 안 됩니다. 마찬가지로 게임 마스터만 아는 비밀을 플레이어에게 보이는 요약에 담아서는 안 됩니다.

제공업체 캐시는 처리 보조 수단이지 캠페인 데이터베이스가 아닙니다. 저장된 모험에는 확정된 행동, 굴림, 발견, 캐릭터 변화를 따로 기록해야 합니다. Playworlds에는 계정에 연결된 모험과 AI 내레이터가 있지만, 이 글은 실제 게임이 특정 제공업체의 프롬프트 캐시를 쓴다고 주장하지 않습니다. 예시는 게임 팀이 평가할 수 있는 방안입니다.

최적화 전의 간단한 점검표

첫째, 여러 턴에 반복되는 사실을 찾아 정확하고 버전을 관리하는 하나의 요약에 둡니다. 둘째, 그 뒤에 플레이어 행동과 현재 장면을 놓고 비밀은 알아야 할 인물에게만 한정합니다. 셋째, 정확한 제공업체 API 경로와 캐시 사용량 필드를 기록하고 재시도와 출력을 포함한 전체 턴을 비교합니다. 넷째, 비용이 줄었다고 성공이라 부르기 전에 서사의 사실 관계와 플레이어 선택이 유지되는지 시험합니다.

이어지는 AI 모험을 플레이어로 경험하고 싶다면 Playworlds 세계 목록에서 캐릭터가 조사할 이유가 있는 배경을 골라 보세요. 첫 세션을 구성할 때는 솔로 역할극 가이드도 참고할 수 있습니다.