# ChatBHT agents

The agent can work through a task in several steps using the tools you allow. Results appear as a response, traceable work steps and, where relevant, files in the chat's workspace.

## Switch on the agent

Enable **Agent** directly in the message field. Open its settings using the adjacent **Agent tools** icon. Availability depends on your access and instance.

```{include} ../_includes/ui-composer.md
```

The switch applies to the current chat. Describe a specific goal, the required inputs and the desired output format in your message.

> Create a short analysis of the attached table. Check for missing values, describe the key results and save a report as a Markdown file.

## Select a profile

```{include} ../_includes/ui-agent.md
```

| Profile | Behaviour |
| --- | --- |
| **Execute** | Works on the task in the workspace. Permitted tools can write files, execute code and produce results. |
| **Plan** | Creates a plan and reads existing files without changing them. |
| **Architecture** | Examines structure and technical decisions without changing files. |
| **Review** | Reviews results, risks and open questions without changing files. |

Tools that modify files or execute code are available only in the **Execute** profile. The profile and tool permissions jointly determine what the agent may do.

## Skills and tools

Open **Advanced** to see the options.

| Skill | Purpose |
| --- | --- |
| **Requirements** | Clarifies requirements and assumptions. |
| **Plan review** | Reviews a plan for completeness and risks. |
| **Research** | Examines sources and supports conclusions with evidence. |
| **Implementation** | Carries out steps and checks the results. |

Below these, enable or disable individual tools: listing, reading and searching files; writing and editing files; terminal and Python; web search, reading web pages and downloading files. The options in your app are authoritative. A skill describes a way of working and does not grant additional tool permissions.

(files-for-the-agent)=
## Files for the agent

With the **agent switched on**, the paperclip in the message field opens the file selector for agent attachments. These files belong to the task in the current chat and are made available in the agent's workspace. You can attach up to **eight files per message**, each no larger than **16 MiB**.

Check the filenames above the message field before sending. The **X** removes an attachment from the next message's selection. Switching chats does not transfer this selection to another chat.

With the **agent switched off**, the same paperclip opens the [project upload](../using-chatbht/upload-documents.md). Project files provide reusable knowledge. Agent attachments are intended for direct work on a task. Selected projects can additionally provide retrieved knowledge context to the agent.

## Check progress and results

While the agent runs, the chat shows its steps and tool outputs. Open details to see which files it has read or changed. **Stop** requests cancellation of the current process; it does not undo changes already made.

Generated files appear in the workspace, also called the **Worktree**. You can view or download available results there. Check the completed files and response before reusing them.

```{include} ../_includes/ui-worktree.md
```

## Reset the environment

**Reset environment** in the agent dialog resets this chat's workspace and cancels running agent work. Download any results you need beforehand. To continue chatting without tools, simply switch **Agent** off.

Use [GitLab evidence](../using-chatbht/ai-quotes-with-git.md) to save a versioned record of a completed chat and its working files.
