DISCOVER THE FUTURE OF AI AGENTSarrow_forward

Academy

calendar_todayAdded Apr 22, 2026
categoryAgent & Tooling
codeOpen Source
PythonWorkflow AutomationMulti-Agent SystemAI AgentsAgent FrameworkSDKAgent & ToolingAutomation, Workflow & RPAEducation & Research Resources

Modular middleware for building and deploying stateful actors and autonomous agents in federated research infrastructure

Positioning#

Academy is a modular middleware developed by Globus Labs / University of Chicago (Ian Foster's lab) for building and deploying stateful agents across heterogeneous federated computing resources. Its core value lies in enabling the same agent code to run seamlessly across different infrastructure — local processes, Globus cloud communication, Redis, ProxyStore — without modifying upper-layer business logic.

Agent Programming Model#

  • Stateful Agents: Agent instances maintain internal state (e.g., self.last_reading), supporting context tracking across long-running processes
  • Autonomous Control Loops: Define autonomous decision loops via the @loop decorator; agents independently respond to events and execute tasks, with loops controlled by asyncio.Event for graceful shutdown
  • Remotely Callable Actions: Methods marked with @action become asynchronously invocable through Handle

Communication & Deployment Abstraction#

  • Handle Async Communication: Users communicate with agents asynchronously via Handle, with messages routed through Mailboxes managed by Exchange
  • Multi-backend Exchange:
    • LocalExchange — In-process local communication
    • CloudExchange — Globus-based cross-site cloud communication
    • RedisExchange — Redis-based messaging
    • ProxyStoreExchange — ProxyStore-based communication
    • HybridExchange — Hybrid mode
  • Executor Backend Abstraction: Based on concurrent.futures.Executor interface, supporting ThreadPoolExecutor and other execution backends

Federated Infrastructure Adaptation#

  • Globus Integration: CloudExchange supports identity authentication and cross-site communication via Globus
  • HPC High Throughput: Paper reports high performance and scalability in HPC environments
  • Heterogeneous Resource Management: Designed for federated research ecosystems, coordinating HPC systems, experimental facilities, and data repositories

Architecture Layers#

  • Agent Layer (academy.agent): Agent base class provides state management and message processing; @action registers remote RPC interfaces, @loop registers autonomous loops
  • Communication Layer (academy.exchange): Exchange handles message routing and Mailbox management, created via Factory pattern with interchangeable implementations
  • Management Layer (academy.manager): Manager serves as the unified entry point for agent lifecycle, encapsulating launch/shutdown with async context manager support
  • Handle Layer (academy.handle): Remote handle for agents, exposing async interfaces consistent with local method calls
  • Cloud Communication Infrastructure (academy.exchange.cloud): Globus authentication, backend adaptation, token storage for cross-site communication

Typical Application Scenarios#

  • Scientific workflow orchestration (materials discovery, astronomy, decentralized learning, information extraction)
  • Stateful Actor model for data management and request response in distributed systems
  • LLM Agent: integrating LLM inference and tool calling to build AI agents
  • Embodied Agent: serving as the control brain for robots or simulation entities
  • Compute units: encapsulating simulation runs, data processing, model training
  • Orchestrators: coordinating other agents' activities, distributing tasks, monitoring progress
  • HPC cross-site federated collaborative computing

Installation & Getting Started#

pip install academy-py

Optional dependency groups: pip install academy-py[dev], pip install academy-py[docs], pip install academy-py[proxystore]

Minimum requirement: Python ≥ 3.10

Getting started path:

  1. Extend Agent base class, use @action for callable methods, @loop for autonomous loops
  2. Select Exchange Factory (LocalExchangeFactory for local dev, CloudExchange for federated deployment)
  3. Create manager via Manager.from_exchange_factory(), launch agents with launch()
  4. Invoke agent methods asynchronously via returned Handle
  5. Shut down agents with manager.shutdown()

Unconfirmed Information#

  • Specific performance benchmark data (paper mentions microbenchmarks but exact figures require full text review)
  • Complete end-to-end Cloud Exchange deployment workflow
  • External production adoption status
  • Performance comparison and selection guide across Exchange backends
  • Agent persistence and fault recovery mechanisms

Related Projects

View All arrow_forward

STAY UPDATED

Get the latest AI tools and trends delivered straight to your inbox. No spam, just intelligence.

rocket_launch