Skip to main content
When it comes to running your agency, Agency Swarm provides 3 main methods:
  1. CopilotKit/AG-UI Interface: The most modern and recommended way to get started.
  2. Get Response: For backend or custom integrations.
  3. Terminal Version: Best for quick debugging and testing.

Pre-requisites for CopilotKit/AG-UI Demo

To use the CopilotKit/AG-UI demo (copilot_demo()), make sure you have the following installed: If these requirements are not met, the demo will not start and you will see an error message.

CopilotKit/AG-UI Interface

To open a CopilotKit interface, use the copilot_demo method:
agency.copilot_demo()
This will launch both the backend and a Next.js frontend. Simply follow the localhost link from the terminal to start using your agency in a chat-based UI.

Get Response

To get a response from your agency directly in code, use the async get_response method:
import asyncio

async def main():
    result = await agency.get_response("I want you to build me a website")
    print(result.final_output)

asyncio.run(main())
With additional parameters:
async def main():
    result = await agency.get_response(
        message="I want you to build me a website",
        additional_instructions="This is an additional instruction for the task.",
        recipient_agent=dev  # Optional: specify which agent to send to
    )
    print(result.final_output)

asyncio.run(main())
Synchronous version:
result = agency.get_response_sync(
    message="I want you to build me a website",
    additional_instructions="This is an additional instruction for the task.",
    recipient_agent=dev  # Optional: specify which agent to send to
)
print(result.final_output)
Parameters:
  • message: The message to send to the agency.
  • additional_instructions (optional): Additional instructions that will be appended at the end of instructions for the recipient agent.
  • recipient_agent (optional): The agent to which the message should be sent.

Track Usage and Cost

Use the /cost command in the terminal demo to see the current session usage and cost.
Terminal demo /cost output showing session usage and cost To understand what’s inside the usage object, see Observability. If you’re running your agency as an HTTP API, see Serving Agencies as APIs.

Terminal Version

To run the agency directly from your terminal, use the terminal_demo method:
agency.terminal_demo()
When using the terminal to run the agency, you can send messages directly to any top-level agent by using the “mentions” feature. To do this, start your message with the agent’s name preceded by an @ symbol (for example, @Developer I want you to build me a website). This directs your message to the specified agent instead of the CEO. You can also press the tab key to autocomplete the agent’s name.
Implementation: src/agency_swarm/ui/demos/terminal.py