Skip to content

Introduction

The AEA framework provides the tools for creating Autonomous Economic Agents (AEA).

What are AEAs?

We define an autonomous economic agent or AEA as:

an intelligent agent acting on an owner's behalf, with limited or no interference, and whose goal is to generate economic value to its owner.

AEAs act independently of constant input from their owner and autonomously execute actions to achieve their prescribed goal. Their goal is to create economic value for you, their owner, in a clearly defined domain. AEAs have a wide range of application areas and we provide demo guides for some examples.

AEAs are not:

  • just any agents: AEAs' purpose is to generate economic value in a multi-stakeholder environment with competing incentives between agents.
  • APIs or sensors which do not have agency.
  • smart contracts which do not display any proactiveness and are purely reactive to external requests (=contract calls).
  • artificial general intelligence (AGI): AEAs can have a very narrow goal directed focus involving some economic gain and implemented via simple conditional logic.

What is the AEA Framework?

The AEA framework is a Python-based development suite which equips you with an efficient and accessible set of tools for building AEAs. The framework is modular, extensible, and composable. It attempts to make agent development as straightforward an experience as possible, similar to web development using popular web frameworks.

AEAs achieve their goals with the help of the Open Economic Framework (OEF) - a decentralized communication and search & discovery system for agents - and using Fetch.ai's blockchain as a financial settlement and commitment layer. Third-party blockchains, such as Ethereum, may also allow AEA integration.

Why build with the AEA Framework?

The AEA framework provides the developer with a number of features which cannot be found in this combination anywhere else:

  • the peer-to-peer agent communication network allows your AEAs to interact with all other AEAs over the public internet
  • the search and discovery system sOEF allows your AEAs find other agents
  • the AEA registry enables code sharing and re-use
  • the framework's crypto and ledger APIs make it possible for AEAs to interact with blockchains
  • reusability of code for interacting with blockchains is enabled via the contract packages

Next steps

To get started developing your own AEA, check out the getting started section.

To learn more about some of the distinctive characteristics of agent-oriented development, check out the guide on agent-oriented development.

If you would like to develop an AEA in a language different to Python then check out our language agnostic AEA definition.

If you would run a demo, check out the demo guides.

Help us improve

Note

This developer documentation is a work in progress. If you spot any errors please open an issue on Github or contact us in the developer Slack channel.