A library and runtime to build autonomous AI agents.
Project description
Agent OS
🌞 Build autonomous AI agents!
🛠️The Agent OS is an experimental framework and runtime to build sophisticated, long running, and self-coding AI agents.
We believe that the most important super-power of AI agents is to write and execute their own code to interact with the world. But for that to work, they need to run in a suitable environment—a place designed to be inhabited by agents. The Agent OS is designed from the ground up to function as a long-term computing substrate for these kinds of self-evolving agents.
❓If you want to understand the motivation behind the project, read the manifesto.
❓To learn how everything works, start reading the design docs.
In short:
- Think of the Agent OS as a substrate that is designed for the next generation of robust Auto-GPTs.
- The current version is implemented in Python, but the runtime and protocol is designed to work with many different programming languages, and the runtime should eventually be rewritten in a systems language. The current runtime is a prototype (but a serious one).
- The framework plays well with other AI libraries such as LangChain or LlamaIndex.
- The system is designed for "local-first" agents that run on your machine, but it should also be possible to run parts of an agent in the cloud.
- The data layer is made for longevity. We introduce a novel data structure that is inspired by Git. It's a content addressable storage that maintains your agent's history and memory and makes sure you never lose data.
- An agent's primary purpose is not to run large language models on your machine (although that's possible too), but to provide a place to execute the code and functions that are generated by these models. It then composes these functions into larger features and routes events and data to them.
- To demonstrate the power of the Agent OS, this project comes with a demo agent called "Jetpack" that can chat with you and write self-executing programs.
Click the the image to watch a short demo on YouTube.
Getting Started
As long as the project is still in alpha, the best way to get started is to clone this repository.
Requires Python >= 3.10 and Poetry. Works on Linux, macOS, and Windows.
Once cloned, cd
into the repository and run:
poetry install
The project comes with a CLI that can be used to initiate and run agents. To see the available commands run:
poetry run aos --help
Test Drive an Agent 🤖
To run your first agent, put an .env
file in the project root that contains an OpenAI API key. (It also works without an .env
file or key if you just want to give the project a quick spin.)
OPENAI_API_KEY=sk-myspecialkey
Jetpack Agent
The "Jetpack" agent demonstrates what the Agent OS can do and is geared towards end-to-end code generation and execution. It's a conversational agent that can accomplish various tasks for you. To run it, execute the following commands:
poetry run aos -d agents/jetpack/ push
poetry run aos -d agents/jetpack/ run
Jetpack comes with a web interface, and the Agent OS hosts a web server. To access the interface, browse to http://127.0.0.1:5000/ag/jetpack/wit/actors/frontend/query/web
Project Structure
agents/
: examples of agent implementations. See the folder for more details.jetpack/
: the flagship agent demo, geared towards conversational task completion through code generation.
src/
: contains all relevant modules that are part of the Agent OS.grit/
: object store, inspired by Git.wit/
: libraries to help write "wit" state transition functionsruntime/
: the Agent OS runtime: actor executor, custom python module loader, and wit function resolver.sync/
: modules to push and pull data into grit from the developer's file system.web/
: the web server that provides the web interface.cli/
: the "aos" (agent OS) CLI.
tests/
: extensive unit tests that cover most of the/src
packages and modules.docs/
: documentation, intended to be rendered as a GitBook.
Running the Tests
If you want to hack on the code, it is helpful to run the tests. The project uses pytest
and has almost 100 unit tests.
poetry run pytest tests/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file agent_os_py-0.1.0.tar.gz
.
File metadata
- Download URL: agent_os_py-0.1.0.tar.gz
- Upload date:
- Size: 87.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.90.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 138b777d97aac4ec743291c9215816814d33f0e66bbe98d8b9639b6c99ed66ce |
|
MD5 | 9a2c3424f97f4611bb0f7203f1da1a00 |
|
BLAKE2b-256 | 0fc24f04653b1a94ef1a6599508050e6f146971fa25049a1f33c9799dcf9042e |
File details
Details for the file agent_os_py-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: agent_os_py-0.1.0-py3-none-any.whl
- Upload date:
- Size: 106.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.90.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786c9d64d257b20dbf235256228a492fcd7bda59b02c9c38d7071420df05fe75 |
|
MD5 | f214005b6e7a35ce0efe451c83004aff |
|
BLAKE2b-256 | 3b759d784f67b75285251b20254c3861582d020a0de49debcb4dae93da997c0d |