agent-runtime  by easylink-ai-open

Agent runtime core for building AI agents

Created 1 week ago

New!

292 stars

Top 90.2% on SourcePulse

GitHubView on GitHub
Project Summary

<2-3 sentences summarising what the project addresses and solves, the target audience, and the benefit.> easylink-ai-open/agent-runtime provides a standalone, provider-neutral core for AI agent development. It decouples the agent loop, LLM interactions, and tool execution from specific product implementations, offering reusable primitives and extensibility for developers building sophisticated agents.

How It Works

<2-4 sentences on core approach / design (key algorithms, models, data flow, or architectural choices) and why this approach is advantageous or novel.> The runtime manages the core agent loop, context estimation, iteration budgets, collaboration modes, and hooks. It uses neutral data types (Message, Part, LLMRequest/Response) for LLM interactions, abstracting provider specifics via built-in wire converters. This design ensures independence from product applications, communicating solely through neutral runtime data types at its boundaries.

Quick Start & Requirements

  • Primary install: uv pip install -e . --python .venv/bin/python (within a Python 3.11 virtual environment).
  • Dependencies: uv for installation, pytest for testing.
  • Requires LLM API keys for actual model interactions.
  • No official documentation or demo links provided in the README.

Highlighted Details

  • Provider-Neutrality: Abstracts LLM interactions using neutral types and wire converters for seamless integration with various providers (e.g., OpenAI, Anthropic).
  • Extensibility: Supports injection protocols for custom ModelClient, ToolDispatcher, SystemPromptProvider, and CacheStrategy.
  • Collaboration Modes: Defines agent behavior constraints (e.g., blocked_tools, blocked_effects) without hardcoding policies.
  • Hooks: AgentHooks provide lifecycle extension points for context compaction, policy enforcement, and auditing.
  • Production Features: Includes streaming, model-call retries with backoff, tool-error containment, human-in-the-loop pauses, interruption handling, and token usage aggregation.
  • Context Management: Features max_context_tokens and pluggable Compactor strategies (like SummarizingCompactor) for context window utilization.

Maintenance & Community

The provided README does not contain specific details regarding notable contributors, sponsorships, community channels (e.g., Discord/Slack), or a public roadmap.

Licensing & Compatibility

Licensed under the Apache License, Version 2.0. This license is permissive and generally suitable for commercial use and integration into closed-source applications.

Limitations & Caveats

Core functionalities like memory, sessions, sandboxing, persistence, and brand policy are explicitly externalized, requiring implementation by the consuming product layer. Default configurations for ToolDispatcher and CacheStrategy are no-ops, necessitating explicit setup. The SummarizingCompactor involves hidden model calls, potentially adding latency or cost.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
292 stars in the last 10 days

Explore Similar Projects

Feedback? Help us improve.