Core Concepts

Note as of 0.1.1 Aesoperator SDK is still experimental and in development, these are functions that are still experimental

Aesoperator is an AI agent that can use computers just like a human would - interacting with applications, processing data, and completing complex tasks across your entire system. Here are the key concepts:

Task

A Task represents any computer-based job you want Aesoperator to complete. This could be:

  • Analyzing data across multiple applications

  • Automating multi-step workflows

  • Monitoring systems and responding to events

  • Processing and organizing files

  • Interacting with web applications

Note: The default configuration runs on Ubuntu 22.04, so Windows-only applications and features will not be available. Make sure your tasks are compatible with Linux environments.

Tasks are defined declaratively:

task = aesop.Task(
    name="analyze_sales_data",
    description="Process quarterly sales reports and generate summary",
    inputs={
        "data_source": "sales_q4_2024.xlsx",
        "output_format": "powerpoint",
        "metrics": ["revenue", "growth", "forecasts"]
    },
    system_access=["excel", "powerpoint", "local_files"]
)

System Access

Aesoperator can interact with its own Ubuntu 22.04 environment:

  • Applications: Firefox, command line tools

  • Files: Read, write, organize files and directories

  • System: Monitor resources, run commands, manage processes

  • Network: Make API calls, handle web requests, manage connections via the terminal

  • Data: Process various file formats, query databases, transform data with LibreOffice

Example of system-wide access:

Memory & Context

Aesoperator maintains context across your entire system:

In the backend, Aesoperator maintains a persistent key-value store for its context:

Actions

Actions represent discrete operations Aesoperator can perform:

System Actions

Application Actions

Data Actions

Function Composition

Chain actions together for complex workflows:

Note: This workflow is still really hard to get right as mistakes Aesoperator makes become exponentially more difficult to fix in-context and is a research problem.

Last updated