Alchemist | Documentation
Create Your First Agent

Create Your First Agent

In this section, we will create our first agent. We will use the Agent Teams view from the bottom menu. This view includes the list and graphical composition of all teams available in the application. Top of the right panel includes two buttons:

  • Create Agent Team - This option will bring us to the new page that will include guided agent team creation wizard.
  • Load Agent Team - Use this option to load agent team configuration from YAML file.

Below we will go through all steps needed to create a single agent.

The process will be done mainly in the guided panel on the left side where we will proceed from the top to the bottom. Every step we will take will become visible as a Agent Team graph on the right.

Agent Team

The first step is to create an agent team. We will be asked to give a name to the team and we will use Add Agent Team button to proceed. The name of the team will be used to identify the team in the application. The name should be unique and descriptive.

Add Agent Team Window
First step in creating of a new Agent Team. Agent Team Name field requires a unique and descriptive name. Button Add Agent Team finalizes this step.

Steps

Creation of a new Agent Team or a single agent requires a selection of a step in which the agent will be used. The possible steps are listed in the Agent Team Steps selection box. Two initial steps are allowed: Planning and Execution. The other steps will become available if the Planning step is selected. The Execution step is available for all agents.

Selection of Agent Team Steps
Selection of Agent Team Steps. Agent Team Steps selection box allows to select the steps in which the agent will be used. Initially only Planning and Execution steps are available.

Available Steps

Below is the list of all available steps. The steps are used to define the workflow of the agent team.

Step Description
Planning Agents in this step will be used to decompose the initial task and create a structured plan for solving the task. At this step the plan is static and agents in step will be involved only in the initial planning phase. The plan will be used in the next steps.
Plan Verification Planning agents will be used to verify the plan created in the previous step. The verification will be done by checking if the plan is feasible and if it can be executed. If the plan is not feasible, the agent will modify the plan by changing the description of tasks, adding new tasks or removing tasks from the plan. This step may be particularly useful in case of using smaller language model in the planner.
RePlanning RePlanning agents will be used to modify the plan created in the previous step during the execution and including this step will turn the planning process to be dynamic. After completion of the task, the agent will be able to modify the plan by changing the description of tasks, adding new tasks or removing tasks from the plan. This step will modify only tasks that have not been completed yet. This step may be important in case of complex tasks that may be difficult to plan in advance.
Execution Agents in this step are used to solve the tasks. If the team includes the planning step, the agents in this step will be used to execute the tasks from the plan created in the previous step. If the team does not include the planning step, the agents in this step will be used to solve the tasks directly.
Composition Standalone composition step is used to provide a final response to the user. The agents in this step will be used to compose the final response based on the results of the previous steps.
Verification Verification is used to check if the final response may be a feasible solution to the task. The agent does not perform any external check, but rather check if the response is consistent with what may be expected as a final result.

Agents

After the step have been selected (at least one), we will be able to add agents to the team. The Agents section will be used to add a single agent at a time. The agent will be added to the selected step. The agent will be added after using the Add Agent button.

Configuration of an agent includes the following options:

  • Agent's Name - Name of the agent. The name should be unique for a given step.
  • Workflow step - Step in which this agent should participate. Only created in the previous section steps will be available for selection.
  • Agent Type - Type of the agent. This will include the particular prompting strategy that the agent should use. Complete list of types is available in the table below.
  • Language model - Selection of a language model that this agent should use from the list of enabled in the application models.
  • Tools - Selection of tools this agent may use.
  • Agent Persona - Description of the agent characteristics, additional skills, role and focus of the agent.
Add Agent step and configuration of Agent's parameters.
Add Agent step and configuration of Agent's parameters. Agent's Name - name of the agent. Workflow step - step in which this agent should participate. Agent Type - type of the agent. Language model - selection of a language model that this agent should use from the list of enabled in the application models. Tools - selection of tools this agent may use. Agent Persona - description of the agent characteristics, additional skills, role and focus of the agent.

After the agent has been added by using Add Agent button, the graph on the right will be updated to include the new agent connected to the selected step node.

At this point every node marked in white is editable and its value may be modified after double click on the node.

Change in the Team Graph after an Agent was added
Change in the Team Graph after an Agent was added. The agent is connected to the selected step node. The agent name is editable and may be changed by double clicking on the node.

Agent Types

Below is the list of all available agent types. The types are used to define the prompting strategy of the agent.

Agent Type Description
Simple Simple non-iterative prompt strategy. No tool execution. Both prompt template and agent persona should be adjusted for this type.
ReAct Agent type with iterative structured responses and tool execution. The agent will use the ReAct prompting strategy. The agent will be able to use tools and will provide internal monologue to explain the reasoning.
PlanReAct ReAct agent type with additional planning step. The agent will use the ReAct prompting strategy and will be able to use tools. The agent will provide internal monologue to explain the reasoning. The agent will also include an internal planning step that will be used to create a plan for the subtask.
ConvPlanReAct PlanReAct agent aware of existence of other agents in the step and being able to communicate with them. This agent type should be used for multi-agent steps. Tool execution, internal reasoning and planning are available.
Planner Special type of Simple agent. Agent type dedicated to the Planning step. The agent will be used to create a plan for the task.
RePlanner Special type of Simple agent. Agent type dedicated to the RePlanning step and providing dynamic changes to the plan.
PlanVerifier Special type of Simple agent. Agent type dedicated to the Plan Verification step. The agent will be used to verify the plan created in the previous step.
Composer Special case of Simple agent. Agent type dedicated to the Composition step. The agent will be used to compose the final response based on the results of the previous steps.

Save Configuration

After the agent Alice has been added to the Execution step, we will proceed to the Save Configuration panel. A Save Agent Team button becomes available and after using it we will receive a message that our agent team has been saved.

At this point we can use the lower button List of Available Teams to view all teams available in the application, or proceed to the Home / New Task views to start conversation with the agent team we have created.

Save Agent Team
Use Save Agent Team to keep the Agent Team you just created, otherwise navigate away from the view to discard the team.