# Agents Overview

> Create AI assistants that plan, use tools, and get things done.

**URL:** https://inference.sh/docs/agents/overview
**Last updated:** 2026-10-11

---

**Create AI assistants that plan, use tools, and get things done.**

Agents are the primary way to interact with inference shell. Instead of manually running apps one by one, you describe what you want and the agent handles the execution.

---

## Creating an Agent

### From the web app

1. Go to [Agents](https://app.inference.sh/agents) in the web app
2. Click **New Agent**
3. Configure the basics:

| Setting | What it does |
|---------|--------------|
| **Name** | Identifier for your agent |
| **LLM** | The AI model that powers reasoning (GPT-4, Claude, etc.) |
| **System Prompt** | Describes the agent's role and behavior |
| **Tools** | Apps and flows the agent can use |
| **Sub-Agents** | Other agents this one can delegate to |

### The System Prompt

This is where you define your agent's personality and purpose:

```
You are a creative assistant that helps design social media content.

When asked to create content:
1. Ask clarifying questions if the request is vague
2. Generate images using the available tools
3. Suggest captions and hashtags
4. Offer to resize for different platforms

Always explain what you're doing and offer alternatives.
```

---

## Adding Tools

Tools are apps and flows your agent can use. When you add a tool:

- The **name** and **description** are automatically extracted
- The **input schema** becomes the tool's parameters
- You don't need to write tool definitions manually

### Example Tools

| Tool | What it does |
|------|--------------|
| `stable-diffusion` | Generate images from text |
| `whisper` | Transcribe audio to text |
| `summarize` | Condense long text |
| `web-search` | Search the internet |
| `resize-flow` | Resize images for multiple platforms |

### Adding a Tool

1. In your agent settings, click **Add Tool**
2. Search for an app or flow
3. Select it — done!

The agent now knows how to use it.

---

## Built-in Capabilities

Every agent comes with default tools that aren't editable:

| Tool | Purpose |
|------|---------|
| **memory** | Per-chat scratch notes (working state for the current task; only this chat sees them) |
| **plan** | Break down complex tasks into steps |
| **finish** | Mark the task as complete |

These help agents think through problems and remember context.

---

## Sub-Agents

For complex tasks, agents can delegate to specialized sub-agents:

```
Main Agent: "Create a blog post about AI trends"
    │
    ├──▶ Research Agent: Gathers information
    │
    ├──▶ Writing Agent: Creates the draft
    │
    └──▶ Editor Agent: Reviews and polishes
```

Add sub-agents the same way you add tools — search and select.

---

## Talking to Your Agent

### In the web app

Open your agent and start chatting:

```
You: Generate a sunset landscape image

Agent: I'll create that for you.
       [Calling stable-diffusion...]
       
       Here's your sunset landscape! I generated a vibrant 
       scene with orange and purple colors over mountains.
       
       Would you like me to:
       - Modify the style?
       - Generate variations?
       - Resize for specific platforms?
```

### Widgets

Sometimes agents need more information. They can generate simple UI widgets:

```
Agent: I need a few details for the logo:

       ┌─────────────────────────────────┐
       │ Company Name: [____________]    │
       │ Style: [Modern ▼]               │
       │ Colors: [_____] [_____]         │
       │                                 │
       │ [Generate Logo]                 │
       └─────────────────────────────────┘
```

Fill it out and the agent continues.

### Chat Integrations

Connect your agent to external platforms:

| Platform | Guide |
|----------|-------|
| **Slack** | [Slack integration](/docs/credentials/slack) |
| **Discord** | [Discord integration](/docs/credentials/discord) |
| **Telegram** | Chat interface (configure in the web app) |
| **WhatsApp** | Message-based (configure in the web app) |

→ [Chatting](/docs/agents/chatting) · [Agent webhooks](/docs/agents/webhooks)

### Embed on your website

Publish an agent and embed it in an iframe on your own site. Visitors chat without signing in; your workspace pays for inference.

→ [Publishing and embedding](/docs/agents/publishing) · [Embed API](/docs/api/rest/embed)

---

## Example: Content Creation Agent

### Configuration

**Name:** `content-creator`

**System Prompt:**
```
You are a content creation assistant. Help users create 
images, write copy, and prepare social media posts.

When creating content:
1. Ask about the target audience
2. Generate visuals using image tools
3. Write engaging copy
4. Offer platform-specific formatting
```

**Tools:**
- `stable-diffusion` — Image generation
- `copywriter` — Marketing copy
- `resize-flow` — Multi-platform sizing

### Conversation

```
You: I need Instagram content for a coffee shop

Agent: Great! Let me help you create some Instagram content.
       
       A few questions:
       - What's the coffee shop's name and vibe?
       - Any specific products to highlight?
       - Preferred visual style (minimal, cozy, bold)?

You: "Morning Brew" - cozy vibe, featuring their new 
     oat milk latte, warm and inviting style

Agent: Perfect! I'll create content for Morning Brew.
       
       [Generating cozy coffee shop image...]
       [Writing caption...]
       
       Here's what I've created:
       
       📸 Image: A warm, inviting shot of a oat milk latte
          with morning light streaming through a window
       
       ✍️ Caption: "Start your morning the right way ☀️ 
          Our new Oat Milk Latte is creamy, dreamy, and 
          100% plant-based. Your cozy corner awaits.
          #MorningBrew #OatMilkLatte #CoffeeLovers"
       
       Want me to create more variations or resize for Stories?
```

---

## Headless Agent SDK

Build agents programmatically without the web app:

```python
from inferencesh import Agent, tool, string

agent = Agent(
    api_key="inf_...",
    config={
        "core_app": { "ref": "infsh/claude-sonnet-4@latest" },
        "name": "Assistant",
        "tools": [my_tool],
    }
)

response = agent.send_message("Hello!")
```

→ [Agent SDK documentation](/docs/api/agent/overview)

---

## What's Next?

- [**Agent SDK**](/docs/api/agent/overview) — Build agents in code
- [**Apps**](/docs/apps/overview) — Explore tools your agents can use
- [**Flows**](/docs/flows/overview) — Create multi-step workflows as tools
