Examples

This directory contains examples of how to use AGNext.

chat layer examples

We provide examples that use pre-built agents and message types in the chat layer. These examples are intended for users who want to quickly create demos and experimenting with multi-agent design paterns.

Single agent examples

  • assistant.py: a demonstration of how to use the OpenAI Assistant API to create a ChatGPT agent.

Reflection pattern examples

  • coder_reviewer.py: using a coder and reviewer agents to implement the reflection pattern for code generation.
  • illustrator_critics.py: using an illustrator, critics and descriptor agent to implement the reflection pattern for image generation.
  • chest_game.py: using two chess player agents to demonstrate tool use and reflection on tool use.

Group chat pattern examples

  • software_consultancy.py: a demonstration of multi-agent interaction using the group chat pattern.

Orchestrator pattern examples

  • orchestrator.py: a demonstration of multi-agent problem solving using the orchestrator pattern.

Advanced examples

We also provide examples that use only the core, application, and components layers. These examples are intended for advanced users who want to create custom agents and message types for building applications.

  • inner_outer.py: An example of how to create an inner and outer custom agent.
  • chat_room.py: An example of how to create a chat room of custom agents without a centralized orchestrator.
  • mixture_of_agents_pub_sub.py: An example of how to create a mixture of agents that communicate using a publish-subscribe pattern.
  • mixture_of_agents_gather.py: An example of how to create a mixture of agents that communicate using an async distribute-gather pattern.

Running the examples

First, you need a shell with AGNext and the examples dependencies installed. To do this, run:

hatch shell

To run an example, just run the corresponding Python script. For example, to run the coder_reviewer.py example, run:

hatch shell
python coder_reviewer.py

Or simply:

hatch run python coder_reviewer.py

To enable logging, turn on verbose mode by setting --verbose flag:

hatch run python coder_reviewer.py --verbose

By default the log file is saved in the same directory with the same filename as the script, e.g., "coder_reviewer.log".