genai_extract_system_prompt function extracts the system prompt from a GenAI messages array. The system prompt typically contains instructions that define the AI assistant’s behavior, personality, and capabilities. It’s usually the first message with role ‘system’.
You can use this function to audit AI behavior configurations, monitor prompt changes, analyze consistency across conversations, or validate that correct system instructions are being used.
For users of other query languages
If you come from other query languages, this section explains how to adjust your existing queries to achieve the same results in APL.Splunk SPL users
Splunk SPL users
In Splunk SPL, you would need to filter messages by role and extract the first system message.
ANSI SQL users
ANSI SQL users
In ANSI SQL, you would unnest the array and filter for the first system role message.
Usage
Syntax
Parameters
- messages (dynamic, required): An array of message objects from a GenAI conversation. Each message typically contains
roleandcontentfields.
Returns
Returns a string containing the content of the system message, or an empty string if no system message is found.Use case examples
- Log analysis
- OpenTelemetry traces
- Security logs
Extract system prompts to verify that AI assistants are using the correct configuration and behavior instructions.QueryRun in PlaygroundOutput
This query helps you understand which system prompts are most commonly used and track prompt variations.
| system_prompt | conversation_count |
|---|---|
| You are a helpful customer service assistant. | 1250 |
| You are a technical support expert specializing in software troubleshooting. | 845 |
List of related functions
- genai_extract_user_prompt: Extracts the user’s prompt. Use this to analyze what users are asking, while system prompts define AI behavior.
- genai_extract_assistant_response: Extracts the assistant’s response. Use this to see how the AI responded based on the system prompt.
- genai_get_content_by_role: Gets content by any role. Use this for more flexible extraction when you need other specific roles.
- genai_message_roles: Lists all message roles. Use this to understand conversation structure and verify system message presence.