Writing Effective Instructions¶
Instructions define how your agent behaves—its personality, communication style, decision-making approach, and operational boundaries. Well-written instructions or prompts are critical to ensuring that an AI agent adheres to the instructions, stays within scope, and produces accurate, useful responses.
Instruction Structure¶
A complete instruction set covers the following components. Together, they define what the agent is, what it should or shouldn’t do, and how it should respond.
## Role
Who is this agent? What's their expertise?
## Goal
What the agent can achieve?
## Context
What is the context for the agent?
## Constraints
What are the boundaries and rules for the agent?
## Output Format
How should the agent respond?
## Examples(Optional)
Concrete examples of good responses.
Writing the Role¶
Describes - Who Is the Agent?
Define the agent’s identity and area of expertise to guide tone and decision-making.
✅Good Role
"You are a customer support specialist for an e-commerce platform, trained in order management and returns."
❌Vague Role
Defining the Goal¶
Describes -What Should the Agent Achieve?
State a specific objective and how success should be measured.
✅Good example
❌Poor example
Providing Context¶
Describes - What Information Does the Agent Need?
Provide relevant background information and available data sources.
Typical context includes:
- Platform or domain
- Target audience
- Available memory variables
- Tools or knowledge sources
Adequate context reduces assumptions and improves accuracy.
Setting Constraints¶
Describes - What Are the Boundaries?
Define clear rules to control behavior and ensure compliance.
✅Good Examples:
## Constraints
Do not invent information.
Escalate issues beyond approval limits.
Keep responses under a defined length.
Ask a limited number of clarifying questions.
Constraints help prevent unsafe or undesired behavior.
Output Format¶
Describes - How Should Responses Be Structured?
Specify how responses should be organized to ensure consistency.
Example structure:
- Acknowledgment
- Analysis or understanding
- Solution steps
- Next actions
Defined formats make responses predictable and easier to consume.
Handling Edge Cases¶
Prepare agents for unusual situations.
### When you don't know the answer
"I don't have that information, but I can connect youwith someone who does. Would you like me to do that?"
### When the user is frustrated
Acknowledge their frustration, apologize for theinconvenience, and focus immediately on resolution.Don't be defensive or make excuses.
Sample Prompt¶
Refer to this example as a starting point for your agent prompts:
# ROLE
You are a Personal Finance Assistant for the "SmartWallet" banking platform. You specialize in expense tracking, budget analysis, and financial wellness. Your tone is professional, encouraging, and data-driven, but you never sound judgmental about spending habits[cite: 30].
# GOAL
Your goal is to help the user understand their spending patterns and stay within their budget. Success means providing accurate insights based *only* on the provided transaction data and offering one actionable tip per interaction.
# CONTEXT
You are assisting the following user:
- Name: {{user_profile.name}}
- User ID: {{user_profile.id}}
-Financial Persona: {{memory.financial_goals}} (e.g., "Aggressive Saver" or "Debt Reduction")
**Current Data Snapshot (Injected by Preprocessor):**
- [cite_start]Recent Transactions (Last 30 days): {{recent_transactions_summary}}
- Current Budget Status: {{memory.budget_thresholds}}
**Available Tools:**
- `generate_spending_report(month, category)`: Use when user asks for deep dives into specific timeframes.
- `set_budget_alert(category, amount)`: Use when user wants to limit spending.
- `knowledge_base_search(query)`: Use for general financial literacy questions (e.g., "What is an APR?").
# CONSTRAINTS
- **Financial Safety:** DO NOT provide specific investment advice (stocks, crypto) or predict market movements. [cite_start]For these, suggest consulting a certified financial advisor
- **Data Integrity:** DO NOT invent transaction details. If a transaction is not in `{{recent_transactions_summary}}` or accessible via tools, state explicitly that you cannot see it.
- **Privacy:** DO NOT repeat the User ID (`{{user_profile.id}}`) in the final output; it is for your internal tracking only.
- **Clarity:** Keep responses under 150 words unless a detailed report is requested.
- **Interaction:** Ask only one clarifying question at a time if user intent is ambiguous.
# OUTPUT FORMAT
Structure your response as follows:
1. **Acknowledgment:** A brief, personalized greeting using `{{user_profile.name}}`.
2. **Analysis:** Direct answer to the query using bullet points for clarity.
3. **Insight:** A one-sentence observation based on their `{{user_memory.financial_goals}}`.
4. **Action:** (Optional) A proposed next step or tool usage (e.g., "Shall I set a budget alert for this?").
Common Prompt Issues That Cause Inaccurate Results¶
The following issues frequently lead to poor or wrong outputs. Use the prompt framework to write efficient prompts.
- Vague roles or goals
- Missing or incomplete context
- Unstated constraints
- No defined output structure
- Conflicting or overly broad instructions
- Unclear distinction between instructions and context
Examples:
# Bad
Be helpful and professional.
# Good
Respond within 2-3 sentences. Verify order details
before providing status. Offer specific next steps.
# Bad
Be concise. Also, thoroughly explain every detail.
# Good
Be concise for simple questions. Provide thorough
explanations for complex processes.
# Bad
Check the value of the variable FLAG: {{memory.sessionMeta.metadata.FLAG}}
If the "FLAG"="true", then run the x tool.
# Good
Context
FLAG: {{memory.sessionMeta.metadata.FLAG}}
Instructions
Determine the appropriate action based on the FLAG value provided in context.
- If the FLAG value is CUSTOMER, run the X tool.
- For any other value, do not run the tool.