USE BEHAVIOR_PROFILE: <name>, and the compiler attaches the matching profile IR to that agent.
File contract
Behavior profile files belong inbehavior_profiles/ and should use the .behavior_profile.abl suffix:
behavior_profiles, while layers_included still uses core. Do’nt add behavior_profiles to layers_included.
The manifest entry is a pointer, not the profile definition. Import preview compiles the actual file at behavior_profiles.<name>.path. A package that only lists a profile in project.json but omits the referenced .abl file doesn’t create the profile; agents with USE BEHAVIOR_PROFILE: <name> will fail resolution with a missing profile diagnosis.
Grammar
Profile blocks
Beyond the required declarations, a profile can override several aspects of agent behavior. All blocks are optional.CONSTRAINTS
Adds business-rule constraints while the profile is active (a list of strings).RESPONSE
Shapes response rendering.VOICE
Voice (TTS) overrides while the profile is active. Sub-keys:instructions, ssml, plain_text
(same shape as the agent voice config).
TOOLS
HIDE: removes tools from the agent’s tool set; ADD: injects new tool definitions while the
profile is active.
CONVERSATION
Conversation-style overrides, organized into three sub-sections:speaking— output style:style,tone,emotion,pace,variety,max_sentences,one_thing_at_a_time,language_policy(interaction_context/agent_default/fixed),fixed_language,tool_lead_in,tool_results,readback,handoffs,phrases_ref,pronunciations_ref.listening— input handling:barge_in,backchannels,on_pause,on_overlap,on_unclear_audio,on_self_correction,use_audio_cues.interaction— dialogue behavior:answer_shape,detail,initiative,grounding,clarification,confirmation,uncertainty,empathy,repair,context,closure,assumption_handling,flow_mode, and more.
GATHER
Overrides gather behavior. Top-level keysvalidation_style and confirmation, plus a
FIELD_OVERRIDES: block (note the uppercase keyword) that adjusts individual fields.
FLOW
Overrides the agent’s flow while the profile is active.An inline
BEHAVIOR_PROFILE: declared inside an agent file (rather than as a standalone
document) supports only PRIORITY, WHEN, INSTRUCTIONS, and CONVERSATION. The other blocks
(CONSTRAINTS, RESPONSE, VOICE, TOOLS, GATHER, FLOW) are available only in standalone
profile files.Agent attachment
BEHAVIOR_PROFILE: header, not just the filename. Both
USE BEHAVIOR_PROFILE: (space) and USE_BEHAVIOR_PROFILE: (underscore) forms are accepted.
Compile and import behavior
During import preview, the platform:- Reads
project.jsonandabl.lock. - Categorizes
behavior_profiles/<name>.behavior_profile.ablas part of thecorelayer. - Parses the profile with the canonical ABL parser.
- Compiles profiles before agents.
- Resolves every
USE BEHAVIOR_PROFILEreference against compiled profile names. - Reports missing or malformed profiles as import/compiler issues.