---
title: "캐릭터는 다음에 무엇을 해야 하나요?"
description: "게임 캐릭터 상태(체력·적·인벤토리·지형)를 JSON으로 보내 다섯 행동 중 하나와 각 확률을 받습니다."
canonical: "https://system-one.dev/ko/demo/npc-action"
language: "ko"
---

# 캐릭터는 다음에 무엇을 해야 하나요?

게임 캐릭터 상태(체력·적·인벤토리·지형)를 JSON으로 보내 다섯 행동 중 하나와 각 확률을 받습니다.

캐릭터는 다음에 무엇을 해야 하나요? 체력이 낮으면 물약을 마시고, 높으면 공격합니다.
**이 샘플이 보여주는 것.** 게임 AI에는 "고정 목록에서 한 수를 고르는" 결정이 많고, 대개 if-else로 짜입니다. 여기서는 캐릭터 상태를 의사결정 모델에 단일 Choice 질문으로 보냅니다: 공격, 물약 마시기, 도망, 휴전 요청, 도발. 게임 루프가 그대로 실행할 행동 하나와 각 선택지 확률을 받습니다.

**샘플 입력과 결과(샘플 데이터, 라이브 모델 실행 아님).**
국경 경비병이 좁은 다리에 서 있고 체력 12%, 적 3명, 회복 물약 1, 근처 아군 없음. 결과: 물약 마시기 58%. 도망 24%, 휴전 9%, 공격 7%, 도발 2%.
체력만 80%로 바꾸면 공격 64%로 뒤집히고, 도발 18%, 물약은 3%.

**확률이 중요한 이유.** 저체력에서는 물약이 58%로 이기고 도망도 24%입니다. 분포에서 샘플링하거나, 최상위가 충분히 자신 있지 않으면 스크립트 규칙으로 돌아가 매번 같은 행동을 피합니다.

**이 접근이 맞는 때.** 상태가 몇 필드로 들어가고, 행동이 고정이며, 긴 추론 문단이 아니라 실행 가능한 답이 필요할 때. 샘플 요청은 Decider(decider-v1.1). 상태에 스크린샷이 있으면 이미지를 받는 Clef 모델로 바꾸세요.
## 자주 묻는 질문

### 이 페이지의 확률은 실시간 계산인가요?

아니요. 샘플 데이터이며 모델을 바꿔도 변하지 않습니다. 자신의 게임 상태를 실행하려면 로그인하세요.

### 직접 행동을 정의할 수 있나요?

네. 모델은 `criteria`에 나열한 항목 중에서 고릅니다. 선택지 최대 개수는 각 모델의 Model info에 있습니다.

### 매 프레임 호출해도 저렴한가요?

비용은 요청 크기와 질문 수에 따라 달라집니다. [요금](https://system-one.dev/ko/pricing)을 보세요. 매 프레임 호출 전에 게임에서 지연을 측정하세요.
## 시나리오
- [캐릭터는 다음에 무엇을 해야 하나요?](https://system-one.dev/ko/demo/npc-action): 캐릭터는 다음에 무엇을 해야 하나요? 체력이 낮으면 물약을 마시고, 높으면 공격합니다.
- [이 이메일은 피싱인가요?](https://system-one.dev/ko/demo/phishing-email): 이 이메일은 피싱인가요? 가짜 Apple 알림은 고위험, 사내 유지보수 공지는 저위험으로 판정됩니다.
- [이 게시물이 삭제될까요?](https://system-one.dev/ko/demo/tweet-moderation): 이 게시물이 삭제될까요? 월요일 회의 농담은 유지되고, 집단을 겨냥한 욕설은 삭제 대상으로 표시됩니다.
- [어느 답변이 더 신뢰할 수 있나요?](https://system-one.dev/ko/demo/llm-judge): 어느 답이 더 신뢰할 수 있나요? 더 정확한 쪽을 고릅니다. 두 답의 순서를 바꿔도 판정은 같습니다.
- [이 변경을 안전하게 머지할 수 있나요?](https://system-one.dev/ko/demo/code-review-risk): 이 변경을 안전하게 머지할 수 있나요? 경로를 확인하지 않고 폴더를 삭제하면 차단되고, 경로 검사를 추가하면 위험이 낮아집니다.
- [인보이스 추출: 인보이스 번호와 금액은?](https://system-one.dev/ko/demo/invoice-extraction): 송장 번호와 금액은? Clairic이 송장 텍스트에서 둘 다 추출합니다. 미지급 총액이 "확인 예정"이면 금액은 null입니다. 입력이 값을 정하지 못하면 Clairic은 null을 반환하며, 송장 번호는 그대로 추출됩니다.

[로그인 후 시도 →](https://system-one.dev/ko/playground?scenario=npc-action&variant=a) · [블로그](https://system-one.dev/ko/blog)
