# Writing agents
## System prompt design
1. Role definition: What the agent is and what it does
2. Core capabilities: What tasks the agent can perform
3. Behavioral guidelines: How the agent should respond and interact
4. Constraints: What the agent should not do or discuss
5. Success criteria: What makes the agent's responses good
## Structure
1. Name
2. Model (choice)
3. System prompt
4. Tools definition, consisting of:
1. Input data schema
2. Output data schema
3. Function to execute
4. Description covering instructions when to use this tool