게임 AI에서 JEV이 Legal Actions을 선택하는 방법

JEV에 대한 안전한 작업 공간을 설계하는 방법을 알아보세요. 게임 코드에서 Legal Actions을 생성하고 JEV이 이를 선택하거나 Score하도록 한 다음 실행 전에 재검증합니다.

Seele Editorial TeamUpdated 2026년 9월 21일
Game AI agent evaluating legal action cards through a validation gate.

신뢰할 수 있는 게임 AI 통합에서 JEV은 임의의 명령을 만들어서는 안 됩니다. 게임은 먼저 현재 규칙, 인식, 자원 및 권한 제약 하에서 가능한 Legal Actions: Choice을 생성합니다. JEV은 해당 후보자를 선택하거나 Score할 수 있습니다. 집행자는 세상을 바꾸기 전에 이를 다시 확인합니다.

허용된 행동란 무엇입니까?

A 허용된 행동는 현재 상담원이 시도할 수 있는 의미 있는 명령입니다. 안정적인 이름, 명시적 매개 변수, 전제 조건 및 실행 소유자가 있습니다. 예에는 attack(targetId), takeCover(coverId), heal(allyId) 및 후퇴(routeId).

자유 형식 작업이 아닌 이유는 무엇입니까?

자유 형식 생성으로 인해 검증, 테스트 및 균형 조정이 더 어려워졌습니다. 모델은 더 이상 존재하지 않는 대상, 도달할 수 없는 경로 또는 구현되지 않은 동사를 반환할 수 있습니다. 닫힌 작업 세트는 발명을 선택으로 바꿉니다. 디자이너는 후보자를 검사하고 QA는 이를 재생하며 실행자는 계약 이외의 모든 것을 거부합니다.

게임 코드에서 후보 생성

if (canSeeTarget && ammo > 0) add({ name: 'attack', targetId }); if (safeCover) add({ name: 'takeCover', coverId }); if (allyNeedsHelp) add({ name: 'assist', allyId }); if (empty) add({ name: 'holdPosition' });

빌더는 신뢰할 수 있는 상태와 에이전트의 인식을 사용합니다. 후보 목록은 여전히 ​​스냅샷이며 최종 검증을 대체하지 않습니다.

Choice, Score 및 게이트

하나의 후보를 선택해야 하는 경우 Choice을 사용하고, 대상이나 경로에 순위가 필요한 경우 Score를 사용하고 목표 포기 여부와 같은 제한된 예 또는 아니오 판단을 게이트로 사용합니다. 넓은 공간의 경우 후보 범위를 먼저 좁히고 두 번째를 선택하세요.

실행 전 재검증

응답이 도착하면 현재 작업 세트를 다시 빌드하거나 다시 확인하세요. 이름, 매개변수, 상태 버전, 대상 존재, 리소스 및 권한을 확인합니다. 후보자가 사라진 경우 응답을 삭제하고 대체 정책을 사용하세요. 결코 오래된 결정을 새로운 세계 상태로 강요하지 마십시오.

const current = buildLegalActions(world, npc); const selected = current.find(action => sameAction(action, decision)); if (!selected) return fallback(); return execute(selected);

행동 공간은 얼마나 커야 합니까?

실제 절충안을 나타내는 몇 가지 옵션부터 시작하세요. 모든 이동 옵션을 노출하면 의사결정 계층이 탐색과 전술을 함께 해결하게 됩니다. NPC 분대의 경우 방어, 엄폐, 지원, 공격 및 후퇴만으로 충분할 수 있습니다. 탐색 및 기능은 낮은 수준의 세부정보를 처리합니다.

부실 작업 및 대체 정책

대상이 죽고, 재사용 대기시간이 시작되고, 경로가 차단되고, 인식이 변경됩니다. 실시간 게임에서 부실함을 정상적으로 처리합니다. 결과를 버리고 상태를 다시 구축한 후 결정적 정책을 계속 진행합니다. API 구현의 경우 JEV API 사용법을 읽어보세요. NPC 아키텍처의 경우 JEV NPC.

을 참조하세요.

유용한 작업 스키마

{ id: 'cover-wall-a', intent: 'takeCover', target: { coverId: 'wall-a' }, cost: { timeMs: 900 }, preconditions: ['reachable', 'notOccupied'] }

{ id: 'cover-wall-a', intent: 'takeCover', target: { coverId: 'wall-a' }, cost: { timeMs: 900 }, preconditions: ['reachable', 'notOccupied'] }

순위를 매기기 전에 정리

하드 제약조건은 모델 평가 이전에 속합니다. 범위, 재사용 대기시간, 소유권, 가시성, 탐색 또는 멀티플레이어 규칙을 위반하는 작업을 제거합니다. 그런 다음에만 JEV 안전, 객관적 압력, 자원 보존 및 팀 조정과 같은 보다 부드러운 절충안을 비교해야 합니다. 이렇게 하면 노이즈가 줄어들고 결과를 더 쉽게 설명할 수 있습니다.

행동 공간이 큰 경우

2단계 설계를 사용합니다. 먼저 Score하거나 후보를 작은 경계로 필터링한 다음 하나의 작업을 선택합니다. 예를 들어, 게임 코드는 20개의 눈에 띄는 커버 포인트를 생성할 수 있고, JEV은 전술적 가치를 Score할 수 있으며, 결정론적 정책은 최종 Choice 전에 가장 좋은 3개를 유지할 수 있습니다. 내비게이션은 여전히 ​​경로 유효성을 소유하고 있습니다.

액션 공간 디자인은 게임 밸런스입니다

액션을 추가하면 NPC의 전략 공간이 변경됩니다. 후퇴를 추가하면 경비원이 더 오래 살아남을 수 있습니다. 지원을 추가하면 팀 결속력이 향상되지만 목표가 지연될 수 있습니다. 액션 어휘를 버전화하고, 대표 만남을 재현하고, 디자이너에게 액션이 합법적인지 여부뿐만 아니라 의도된 절충안을 생성하는지 여부도 검토하도록 요청하세요.

  • 계약 테스트
  • 모든 후보자에는 핸들러가 있습니다.
  • 모든 핸들러는 현재 전제 조건을 확인합니다. 다시.
  • 알 수 없는 작업 ID가 실패하여 닫힙니다.
  • 매개변수 유형 및 대상 소유권은 다음과 같습니다. 검증되었습니다.
  • 부실한 후보자는 재생 및 라이브 테스트에서 거부됩니다.