
유용한 JEV API 통합은 대규모 게임 시스템을 중심으로 한 소규모 의사 결정 서비스입니다. 게임은 권위 있는 세계를 소유하고 그것을 컴팩트한 상태로 변환하며 이제 합법적인 행동을 만들어냅니다. JEV은 제한된 질문을 평가합니다. 실행자는 답변을 검증하고 작업을 수행합니다.
통합 파이프라인
Game State -> Legal Actions -> Typed Question -> JEV -> Validate -> Execute or Fallback1. 디자인 컴팩트 Game State
다음 결정을 변경할 수 있는 사실(역할, 상태, 가시적 위협, 목표, 자원, 재사용 대기시간, 엄폐물, 현재 의도 및 단조로운 상태 버전)을 보냅니다. 엔진 객체 그래프 전체를 보내지 말고, NPC이 인지하지 못한 숨겨진 정보를 유출하지 마세요.
{ agentId: 'guard-07', healthRatio: 0.42, visibleThreats: 1, ammo: 3, stateVersion: 1842 }2. Legal Actions
정의각 후보에는 안정적인 이름, 명시적 매개변수, 전제 조건 및 실행 소유자가 필요합니다. 예: takeCover(coverId), attack(targetId) 또는 holdPosition(locationId)
. 신뢰할 수 있는 상태에서 목록을 작성합니다. JEV에게 ID, 경로, 능력 또는 매개변수를 만들어 달라고 요청하지 마세요.
3. 기본 요소를 선택하세요
후보 한 명을 선택해야 할 경우 Choice을 사용하고, 후보자의 순위가 필요한 경우 Score를 사용하며, 질문이 목표를 포기할지 여부와 같은 관문일 경우 제한된 예 또는 아니오 판단을 사용합니다. 질문과 일치하는 가장 작은 기본 요소를 사용하세요.
const result = await jev.decide({ state, legalActions, question: 'Protect the relay' }); const current = buildLegalActions(world, npc); if (!current.some(action => sameAction(action, result))) return fallback(); return executor.run(result);을 확인하세요.
const result = await jev.decide({ state, legalActions, question: 'Protect the relay' }); const current = buildLegalActions(world, npc); if (!current.some(action => sameAction(action, result))) return 대체 정책(); return executor.run(result);
정확한 SDK 방법은 다를 수 있습니다. 불변성은 상태 버전을 비교하고, 매개변수를 재검증하고, 더 이상 유효하지 않은 결과를 거부하지 않습니다. 요청이 진행되는 동안 응답이 오래될 수 있습니다.
5. 신뢰 처리
응답에 확률이나 신뢰도가 포함된 경우 이를 검증 우회 권한이 아닌 정책 신호로 사용하세요. 낮은 신뢰도는 보수적인 지역 정책을 촉발하거나 현재 의도를 보존할 수 있습니다.
6. 케이던스와 대체 정책
설정
모든 렌더링 프레임이 아닌 의미 있는 이벤트 또는 제한된 전술 타이머를 호출합니다. 각 요청에 마감일을 지정하세요. 시간 초과 시 안전한 조치를 유지하거나 엄폐, 위치 유지, 따르기 또는 작성된 행동 트리와 같은 역할별 대체 정책을 사용하십시오. 취소 및 주문이 명시적으로 명시되지 않는 한 상담원당 진행 중인 결정을 하나로 제한합니다.
7. 계약 테스트
{ schemaVersion: 'npc-decision-v1', agentId, stateVersion, state, legalActions, primitive: 'choice', deadlineMs, requestId }요청 계약 설계
프로덕션 요청에는 스키마 버전, 에이전트 ID, 상태 버전, 허용된 상태 투영, Legal Actions, 결정 기본 요소, 목표, 기한 및 상관 관계 ID가 포함되어야 합니다. 목표를 짧고 안정적으로 유지하세요. 한 단락의 지침에 의존하기보다는 코드와 데이터에 엄격한 제약을 두십시오.
{ schemaVersion: 'npc-decision-v1', agentId, stateVersion, state, legalActions, primitive: 'choice', deadlineMs, requestId }
| 응답 계약 설계 | 응답은 선택된 후보 또는 Score, 관찰된 상태 버전, 사용 가능한 경우 신뢰도 또는 확률, 제공자 상태를 식별해야 합니다. 설명을 실행 필드가 아닌 선택적 원격 측정으로 처리합니다. 실행자는 구문 분석 없이 작업을 검증할 수 있어야 합니다. |
|---|---|
| 게임을 계속 유지하는 오류 처리 | 조건 |
| 작업 _ | 시간 초과 |
| 무시 응답을 사용하고 역할별 대체 정책 | Invalid를 사용합니다. Schema |
| 계약 오류 기록 및 실패 닫힘 | 부실 버전 |
| 현재 작업을 삭제하거나 재검증합니다. set | 공급자 실패 |
짧은 백오프를 시도하고 계속 로컬로
반복됨 실패
에이전트 및 표면에 대한 원격 결정을 비활성화합니다. 원격 측정법
재생 및 관찰 가능성
프로젝션 상태, Legal Actions, 질문 스키마, 모델 응답, 타임스탬프, 상태 버전, 검증 결과, 실행된 명령, 결과 및 대체 정책 이유 등 결정을 재현하기에 충분한 정보를 유지합니다. 플레이어 데이터와 비밀을 수정합니다. 재생 하네스를 사용하면 디자이너는 전체 게임을 로드하지 않고도 동일한 시나리오에 대해 새로운 프롬프트나 공급자를 비교할 수 있습니다.API이 중지되어야 하는 위치API은 세계를 변경하는 것이 아니라 결정을 반환해야 합니다. 인벤토리 쓰기, 피해, 이동 권한, 멀티플레이어 상태 변경을 게임 서버나 엔진 뒤에 보관하세요. 이 경계는 재시도를 더 안전하게 만들고 중복 요청으로 인해 게임플레이 효과가 두 번 적용되는 것을 방지합니다.전체 NPC 흐름은 JEV 튜토리얼을 참조하세요. 행동 공간 설계에 대해서는 .


