Coder Social home page Coder Social logo

agent-os's Introduction

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.

Jetpack Demo Video
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 functions
    • runtime/: 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/

agent-os's People

Contributors

lukebuehler avatar dankrusi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.