SnowPro Specialty: Gen AI Question 159
Single answerCustom_instructions fieldA data engineering team is building a chat-based assistant in Snowflake to help analysts write SQL against curated finance tables. They want every response to follow the same behavior: use concise language, prefer Snowflake SQL syntax, avoid commenting on tables outside the FINANCE schema, and remind users when a request may expose sensitive data. The team also wants to keep user prompts focused only on the analyst's immediate question. Which approach best meets these requirements when configuring the model request?
- A
Store the behavioral rules in the custom_instructions field and pass the analyst's current question in the prompt field.
- B
Put the analyst's question in custom_instructions and leave the prompt field empty so the model treats the instructions as the full request.
- C
Add the behavioral rules to the prompt for every request and reserve custom_instructions only for SQL text generated by the application.
- D
Create separate prompts for style, security, and SQL syntax, because custom_instructions cannot contain multiple behavioral requirements.
Show answer and explanation
Correct answer: A
Explanation
The best practice is to use custom_instructions for durable, cross-request behavior and use the prompt for the user's immediate question. In this scenario, the team's rules about concise wording, Snowflake SQL preference, schema boundaries, and sensitive-data reminders are all examples of higher-level instructions that should consistently influence responses. Keeping those rules in custom_instructions improves maintainability, avoids repeating the same text in every prompt, and makes the prompt easier to tailor to the analyst's specific request. This aligns with standard prompt-engineering guidance for separating persistent system-level behavior from task-specific input in Snowflake GenAI workflows.
- A. Correct.
Correct. The custom_instructions field is intended for persistent guidance that should shape how the model responds across requests, such as tone, formatting, domain constraints, and safety reminders. The prompt should contain the user's current task or question. This separation improves consistency and keeps the user input focused on the immediate request.
- B. Incorrect.
Incorrect. This reverses the intended roles. The analyst's actual question belongs in the prompt, while reusable behavioral guidance belongs in custom_instructions. Leaving the prompt empty would make the request less clear and would misuse custom_instructions as the primary task input rather than as supplemental instruction.
- C. Incorrect.
Incorrect. While adding rules directly into every prompt can work, it is less maintainable and increases repetition. The misconception is that custom_instructions should hold generated SQL or other output content. In practice, custom_instructions is better suited for stable response guidance, while the prompt carries the task-specific request.
- D. Incorrect.
Incorrect. custom_instructions can include multiple behavioral constraints in a single request, such as style, domain boundaries, and safety guidance. The misconception here is that each instruction category must be isolated into separate prompts, which is unnecessary and complicates orchestration.