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 for its owner.

An AEA represents an individual, organisation or object and looks after its interests. AEAs act independently of constant input from their owner and autonomously execute actions to achieve their prescribed goals. Their purpose is to create economic value for you, their owner, in clearly defined domains. AEAs have a wide range of application areas and we provide demo guides to highlight examples of their use cases.

What is not an AEA

  • Any agent: AEAs' purpose is to generate economic value in a multi-stakeholder environment with competing incentives between agents. They represent humans, organisations or objects.
  • 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 and transactions).
  • Artificial General Intelligence (AGI). AEAs can have a very narrow, goal directed focus involving some economic gain and can have a very simple logic.

Note

In the rest of the documentation, unless specified otherwise, we use the terms AEA and agent interchangeably to refer to AEA as defined above.

What is the AEA Framework?

The AEA framework is a development suite, currently implemented in Python, which equips you with an efficient and accessible set of tools for building and running 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 a search & discovery service for AEAs -- the simple Open Economic Framework (sOEF) -- a decentralized agent communication system -- the Agent Communication Network (ACN) -- and using Fetch.ai's blockchain as a financial settlement and commitment layer. AEAs can also be integrated with third-party blockchains, such as Ethereum.

Why build with the AEA Framework?

The AEA framework provides the developer with a number of features, which combined cannot be found anywhere else:

  • The peer-to-peer agent communication network (ACN) allows your AEAs to interact with all other AEAs over the public internet.
  • The search and discovery system sOEF allows your AEAs to find other AEAs.
  • The AEA registry enables code sharing and re-use by providing a space in which AEAs or their individual components may be shared.
  • The framework's crypto and ledger APIs make it possible for AEAs to interact with blockchains.
  • The contract packages enable AEAs to interact with smart contracts in Fetch.ai and other third-party decentralised ledgers.

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 want to 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 Discord channel.