Update architecture.md (#588)

This commit is contained in:
gagb 2024-09-19 12:01:34 -07:00 committed by GitHub
parent 19f83debb1
commit 7f25d28aac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,32 +1,31 @@
# AGNext Architectures
# Agent Runtime Environments
AGNext is a framework for building multi-agent applications with AI agents.
At the foundation level, it provides a runtime envionment to facilitate
communication between agents, manage their identities and lifecycles,
At the foundation level, the framework provides a _runtime envionment_, which facilitates
communication between agents, manages their identities and lifecycles,
and enforce security and privacy boundaries.
AGNext supports two types of runtime architectures: standalone and distributed.
Both architectures provide a common set of APIs for building multi-agent applications,
so you can switch between them with no change to your agent implementation.
Each architecture can also have different implementations.
It supports two types of runtime environment: *standalone* and *distributed*.
Both types provide a common set of APIs for building multi-agent applications,
so you can switch between them without changing your agent implementation.
Each type can also have multiple implementations.
## Standalone Agent Runtime
Standalone runtime is suitable for single-process applications where all agents
are implemented in the same programming language and running in the same process.
In Python API, an example of standalone runtime is the {py:class}`~autogen_core.application.SingleThreadedAgentRuntime`.
In the Python API, an example of standalone runtime is the {py:class}`~autogen_core.application.SingleThreadedAgentRuntime`.
The following diagram shows the standalone runtime architecture of AGNext.
The following diagram shows the standalone runtime in the framework.
![AGNext Standalone Runtime](agnext-architecture-standalone.svg)
![Standalone Runtime](agnext-architecture-standalone.svg)
Agents communicate via messages through the runtime. The runtime manages
the lifecycle of agents.
Here, agents communicate via messages through the runtime, and the runtime manages
the _lifecycle_ of agents.
Developers can build agents quickly by using the provided components including
routed agent, AI model clients, tools for AI models, code execution sandboxes,
_routed agent_, AI model _clients_, tools for AI models, code execution sandboxes,
model context stores, and more.
They can also implement their own from scratch, or use other libraries.
They can also implement their own agents from scratch, or use other libraries.
## Distributed Agent Runtime
@ -34,17 +33,17 @@ Distributed runtime is suitable for multi-process applications where agents
may be implemented in different programming languages and running on different
machines.
![AGNext Distributed Runtime](agnext-architecture-distributed.svg)
![Distributed Runtime](agnext-architecture-distributed.svg)
A distributed runtime, as shown in the diagram above,
consists of a host servicer and multiple workers.
consists of a _host servicer_ and multiple _workers_.
The host servicer facilitates communication between agents across workers
and maintains the states of connections.
The workers run agents and communicate with the host servicer via gateways.
The workers run agents and communicate with the host servicer via _gateways_.
They advertise to the host servicer the agents they run and manage the agents' lifecycles.
Agents work the same way as in the standalone runtime so that developers can
switch between the two runtime architectures with no change to their agent implementation.
switch between the two runtime types with no change to their agent implementation.
## API Layers