Wie JEV Legal Actions in der Spiel-KI auswählt

Erfahren Sie, wie Sie einen sicheren Aktionsraum für JEV entwerfen: Generieren Sie Legal Actions im Spielcode, lassen Sie JEV sie auswählen oder Score und validieren Sie sie dann vor der Ausführung erneut.

Seele Editorial TeamUpdated 21. September 2026
Game AI agent evaluating legal action cards through a validation gate.

In einer zuverlässigen Spiel-KI-Integration sollte JEV keine willkürlichen Befehle erfinden. Das Spiel generiert zunächst Legal Actions: Choices, die unter den aktuellen Regeln, Wahrnehmungen, Ressourcen und Autoritätsbeschränkungen möglich sind. JEV kann diese Kandidaten auswählen oder Score; Der Ausführer überprüft sie erneut, bevor er die Welt verändert.

Was ist eine rechtliche Maßnahme?

Eine zulässige Aktion ist ein sinnvoller Befehl, den der aktuelle Agent ausführen darf. Es verfügt über einen stabilen Namen, explizite Parameter, Vorbedingungen und einen Ausführungseigentümer. Beispiele hierfür sind attack(targetId), takeCover(coverId), heal(allyId) und retreat(routeId).

Warum nicht Freiformaktionen?

Die Freiformgenerierung erschwert die Validierung, Tests und den Ausgleich. Ein Modell gibt möglicherweise ein Ziel zurück, das nicht mehr existiert, eine nicht erreichbare Route oder ein nicht implementiertes Verb. Ein geschlossener Aktionssatz verwandelt die Erfindung in eine Auswahl: Designer prüfen Kandidaten, die Qualitätssicherung spielt sie noch einmal ab und der Ausführende lehnt alles ab, was außerhalb des Vertrags liegt.

Kandidaten im Spielcode generieren

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' });

Der Builder nutzt den autorisierenden Zustand und die Wahrnehmung des Agenten. Die Kandidatenliste ist immer noch eine Momentaufnahme und ersetzt nicht die endgültige Validierung.

Choice, Score und Tore

Verwenden Sie Choice, wenn ein Kandidat ausgewählt werden soll, Score, wenn Ziele oder Routen eine Rangfolge benötigen, und ein begrenztes Ja-oder-Nein-Urteil als Tor, beispielsweise ob ein Ziel aufgegeben werden soll. Bei großen Räumen grenzen Sie zunächst die Kandidaten ein und wählen Sie dann zweitens aus.

Vor der Ausführung erneut validieren

Wenn die Antwort eintrifft, erstellen Sie den aktuellen Aktionssatz neu oder überprüfen Sie ihn erneut. Überprüfen Sie Name, Parameter, Statusversion, Zielexistenz, Ressourcen und Autorität. Wenn ein Kandidat verschwunden ist, verwerfen Sie die Antwort und verwenden Sie fallback. Erzwinge niemals eine alte Entscheidung in einem neuen Weltzustand.

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

Wie groß soll der Aktionsraum sein?

Beginnen Sie mit ein paar Optionen, die echte Kompromisse darstellen. Das Offenlegen jeder Bewegungsoption zwingt die Entscheidungsebene dazu, Navigation und Taktik gemeinsam zu lösen. Für einen Trupp NPC können Verteidigung, Deckung, Unterstützung, Angriff und Rückzug ausreichen; Navigation und Fähigkeiten zur Verarbeitung von Details auf niedriger Ebene.

Veraltete Aktionen und fallback

Ziele sterben, Abklingzeiten beginnen, Routen werden blockiert und die Wahrnehmung ändert sich. Behandeln Sie Stagnation in einem Echtzeitspiel als normal. Verwerfen Sie das Ergebnis, erstellen Sie den Status neu und fahren Sie mit einer deterministischen Richtlinie fort. Informationen zur Implementierung von API finden Sie unter JEV API Verwendung. Informationen zur Architektur NPC finden Sie unter JEV NPC.

Ein nützliches Aktionsschema

Stellen Sie jede Aktion als Daten mit einer ID, Absicht, Parametern, Vorbedingungen, geschätzter Dauer, Ressourcenkosten und Ausführendem dar. Die ID sollte für den aktuellen Snapshot stabil sein, während Ziel- und Standortverweise explizit sein sollten. Dies gibt Designern und Qualitätssicherung ein gemeinsames Vokabular für die Diskussion von Verhalten.

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

Beschneiden Sie, bevor Sie ein Ranking erstellen

Harte Einschränkungen gehören vor die Modellbewertung. Entfernen Sie Aktionen, die gegen Reichweite, Abklingzeit, Besitz, Sichtbarkeit, Navigation oder Mehrspielerregeln verstoßen. Erst dann sollte JEV weichere Kompromisse wie Sicherheit, objektiver Druck, Ressourcenschonung und Teamkoordination vergleichen. Dies reduziert das Rauschen und erleichtert die Erklärung des Ergebnisses.

Wenn der Aktionsraum groß ist

Verwenden Sie ein zweistufiges Design: Zuerst Score oder filtern Sie Kandidaten in eine kleine Grenze und wählen Sie dann eine Aktion aus. Beispielsweise kann Spielcode zwanzig sichtbare Deckungspunkte generieren, JEV kann ihren taktischen Wert Score und eine deterministische Richtlinie kann die besten drei vor einem endgültigen Choice behalten. Die Navigation besitzt weiterhin die Pfadgültigkeit.

Action-Space-Design ist Spielbalance

Das Hinzufügen einer Aktion ändert den Strategieraum des NPC. Das Hinzufügen eines Rückzugs kann dazu führen, dass eine Wache länger überlebt. Das Hinzufügen von Assists kann den Teamzusammenhalt verbessern, aber das Erreichen des Ziels verzögern. Versionieren Sie das Aktionsvokabular, wiederholen Sie repräsentative Begegnungen und bitten Sie Designer, nicht nur zu prüfen, ob eine Aktion legal ist, sondern auch, ob sie den beabsichtigten Kompromiss herbeiführt.

Vertragstests

  • Jeder Kandidat hat einen Handler.
  • Jeder Handler prüft aktuelle Voraussetzungen erneut.
  • Unbekannte Aktions-IDs schlagen fehl.
  • Parametertypen und Zieleigentum sind validiert.
  • Veraltete Kandidaten werden in Wiederholungs- und Live-Tests abgelehnt.
  • Der fallback bleibt gültig, wenn die Kandidatenliste ist leer.