Intent Resolution and Schema Collection
Intent resolution sources
- Deterministic classifier rules (
ce_intent_classifier) - Agent scoring path (
AgentIntentResolver) usingce_configprompts - Composite arbitration in
CompositeIntentResolver
ce_config keys that shape intent behavior
AgentIntentResolver keys
| config_key | Purpose | Example |
|---|---|---|
| MIN_CONFIDENCE | Minimum confidence to accept agent intent | 0.55 |
| COLLISION_GAP_THRESHOLD | Top-score gap threshold for collision | 0.10 |
| SYSTEM_PROMPT | System behavior contract | JSON-only intent scoring rules |
| USER_PROMPT | User template with context/history/allowed intents | {{context}}, {{allowed_intents}}, {{user_input}} |
IntentResolutionStep keys
| config_key | Purpose | Example |
|---|---|---|
| STICKY_INTENT | Keep intent/state stable only during active incomplete schema collection | true |
ce_prompt_template for schema extraction
SchemaExtractionStep resolves template by:
response_type = SCHEMA_JSONintent_codestate_code(or fallback)
Schema extraction prompt pattern
TEXT
Intent lock behavior
When schema is incomplete:
session.intentLocked = trueIntentResolutionStepskips re-resolving to prevent intent drift- lock reason is persisted in context (
intent_lock.reason)
When schema becomes complete:
- lock is released
- if
STICKY_INTENT=true, resolver can skip and retain existing intent/state only while schema collection remains incomplete - explicit switch/reset/force signals still allow re-resolution
Why this matters
Without lock behavior, multi-turn collection flows can jump to a new intent after partial input and break deterministic progression.