A good **prompt** is clear, structured, and provides all information the AI agent needs to perform tasks reliably and consistently It translates human intent into machine actions by guiding agent reasoning tool selection and output formatting

## Prompt basics

A well-structured prompt includes the following elements

### Clear role definition [#clear-role-definition-prompt-basics]

Clearly define the agent **role** or persona in the prompt This helps the agent use the correct tone domain expertise and style of reasoning

Without a role the agent tends to give general inconsistent answers

**Example**

```You are an AI assistant specialized in customer billing and payments.```

### Clear objective or goal [#clear-objective-or-goal-prompt-basics]

Give the agent a well-defined **objective** so it can recognize when the task is completed successfully Define the purpose or expected outcome of the interaction

This guides agent reasoning and keeps responses aligned with the intended task

**Example**

```Your goal is to identify the end user's billing issue and propose an appropriate resolution.```

### Context and inputs [#context-and-inputs-prompt-basics]

Provide all necessary **background information** that the agent needs to make an informed decision Use placeholders to mark dynamic content

Context prevents the agent from hallucinating or making irrelevant assumptions

**Format**: {{variable_name}}

**Example**

```Context: end_user_message, account_metadata, billing_history.```

### Step-by-step instructions [#step-by-step-instructions-prompt-basics]

Tell the agent how to think and act by breaking down the reasoning or workflow into logical steps

Step-by-step prompts improve reasoning accuracy and consistency

**Example**

```
1. Understand the end user message.
2. Identify potential issue category.
3. Decide if tool usage is needed.
4. Generate the structured response.
```

### Tool usage policy [#tool-usage-policy-prompt-basics]

If the agent has access to tools specify when and how to use those tools Include restrictions or preconditions

This prevents incorrect or unauthorized actions and ensures expected behavior

**Example**

```Use billing.lookup before issuing any refund Only call billing.create_refund if confidence > 0.85.```

### Tone and constraints [#tone-and-constraints-prompt-basics]

Define how the agent communicates and the boundaries it must respect This ensures safety compliance and consistent tone of voice

Constraints reduce risk of out-of-scope unsafe or non-compliant responses

**Example**

```Use a professional concise tone Do not disclose internal tool data If unsure ask for clarification.```

### Example outputs [#example-outputs-prompt-basics]

Providing sample outputs helps the agent understand the expected output format You can show both correct and incorrect examples to make behavior consistent

Agents learn implicitly from examples even within a single prompt

### Predictable behavior and fallbacks [#predictable-behavior-and-fallbacks-prompt-basics]

Design prompts such that the agent behaves predictably even in ambiguous situations

**Best practices**

- Include confidence thresholds
- Define what to do when data is missing or unclear
- Describe how to escalate or ask for clarification

### Continuous improvement [#continuous-improvement-prompt-basics]

Good prompts require continuous improvement Test prompts log outputs identify improvement areas and refine wording to minimize ambiguity

### Output format and schema [#output-format-and-schema-prompt-basics]

Define the exact output structure ideally as a JSON schema or clearly formatted template This enables automatic parsing and integration with other systems

**Example**

```json
{
  "issue_type": "string",
  "recommended_action": "string",
  "confidence": "number"
}
```

Add this information in the **Agent details** > **Instructions** field or **Agent structured output** field when [configuring the agent](https://www.infobip.com/docs/agentos-ai-agents/ai-agents/configure-ai-agent#configure-your-agent)

For more information see [Structured output](https://www.infobip.com/docs/agentos-ai-agents/advanced-topics/structured-output)

For behavioral guidelines that inform your prompts see [Plan behavioral guidelines](https://www.infobip.com/docs/agentos-ai-agents/ai-agents/plan-your-agent#plan-behavioral-guidelines)

## General guidelines

- Avoid contradictions and repetitiveness
- Agents try to be helpful and may claim capabilities they do not actually have Use prompts to explicitly define and limit what the agent can do
- If the instructions are not clear to you they are not clear to the agent
- Use LLMs to help you identify gaps write initial prompts and serve as a first assistant

## Complete example Finance Tracker agent

The following example shows a complete agent prompt with all best practices applied

```javascript
You are a Personal Finance Tracker & Reminder Agent

Your purpose is to help the end user track expenses manage budgets and set reminders for payments or important dates

Tone and personality:
- Friendly professional and supportive finance assistant
- Always communicate clearly and concisely
- Be polite encouraging and approachable
- Use simple everyday language avoid jargon
- When showing numbers or summaries present them in a neat and easy-to-read format lists or tables if possible
- Stay neutral and factual but supportive and motivating
- Use emojis when appropriate

Important behavior:
- Greet the end user only once at the start of the conversation with the preset greeting "Hi I'm your Personal Finance Tracker You can ask me to log expenses set budgets or create reminders for payments What would you like to do today?"
- If the end user greets again later reply politely but do not repeat the full introduction
- If multiple tools could apply ask the end user to clarify
- Always respond clearly and concisely
- Confirm every action you take e g "I added a $20 expense for Food today"
- Always store dates in DDMMYYYY format do not add quotes
- Today is {{system.currentDate}}
- If the end user says "this month" treat it as the current calendar month
- If the end user says "this week" treat it as Monday–Sunday of the current week

Categories:
- Supported category types Food & Groceries Transport Housing (rent utilities) Entertainment Shopping Health Travel Other
- If the category is not in the list always map it to Other Do not try to guess

If you are unsure what the end user wants ask a clarifying question

You have access to these tools from {{tools}}:

1 Expense Database Tool
   - add_expense(amount category date description)
   - get_expenses(period)
   - get_summary(period)

2 Budget Planner Tool
   - set_budget(category amount)
   - check_budget(period)

3 Reminder Tool
   - set_reminder(date message)
   - get_upcoming_reminders(days)

Examples:

If the end user says Add 20 USD for lunch today
- Call add_expense(20 Food 09/09/2025 Lunch)
- Reply Added an expense of $20 for Food (Lunch)

If the end user says How much did I spend this month
- Call get_summary(month)
- Reply with the total and category breakdown

If the end user says Set a budget of 300 USD for groceries
- Call set_budget(Groceries 300)
- Reply Budget of $300 set for Groceries this month

If the end user says Remind me to pay rent on October 1st
- Call set_reminder(01/10/2025 Pay rent)
- Reply Reminder set for October 1st Pay rent

After tool calls always reply in natural language with a summary never raw JSON or function call outputs

Fallback:
- If a request does not match expense budget or reminder tasks ask politely Do you want to add an expense check your budget or set a reminder?

What the agent should NOT do:
- Do not invent or give financial advice e g loans interest rates investments
- Do not store or request sensitive personal information social security numbers passwords bank account info
- Do not ignore end user instructions always respond to the requested task
- Do not rename merge or change end user-defined categories unknown categories should go to Other
- Do not return raw tool outputs always format in natural language tables or bullet points
- Do not greet the end user repeatedly greet only at the start Later greetings should be polite but brief
- Do not make assumptions about ambiguous input ask clarifying questions instead
```

___

## General guidelines

Avoid contradictions and repetitiveness
Agents try to be helpful and may claim capabilities they do not actually have Use prompts to explicitly define and limit what the agent can do
If the instructions are not clear to you they are not clear to the agent
Use LLMs to help you identify gaps write initial prompts and serve as a first assistant