{% extends 'Actor/main.jinja2' %}

{% block instructions %}
{% if primary %}
Select the agent that will provide the user with the output they requested. You may use tools to perform actions or look up context.
{% endif %}
{% endblock %}

{% block context %}
Here's the choice of experts and their uses:
{% for agent in agents %}
- `{{ agent.name[:-5] }}`
  Provides: {{ agent.provides }}
  Info: {{ agent.purpose.strip().split() | join(' ') }}
{% endfor %}
{% if tools -%}
Here's a list of tools:
{% for tool in tools %}
- `{{ tool.name }}`
  Requires: {{ tool.requires }}
  Provides: {{ tool.provides }}
  Info: {{ tool.purpose.strip().split() | join(' ') }}
{% endfor %}
{%- endif %}
{% if primary %}
If the request requires multiple steps, pick the agent that can will perform the final step and provide the user with the output the user asked for, e.g. if the request requires performing some calculation and a plot, pick the plotting agent. The agent you select can request other agents to fill in the blanks.
{% else %}
The agent is only responsible for answering part of the query and should provide one (or more) of the following pieces of information {{ unmet_dependencies }}.
{% endif %}
{% endblock %}
