agents-at-scale-ark  by mckinsey

A declarative runtime for scalable, provider-agnostic AI agent applications

Created 6 months ago
352 stars

Top 79.5% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Summary

Ark is a provider-agnostic, Kubernetes-native framework simplifying the development and operation of distributed AI agentic applications. It addresses vendor lock-in and operational overhead by codifying proven patterns, enabling engineers to build scalable, portable, and adaptable agentic workloads on robust Kubernetes infrastructure.

How It Works

Ark uses a declarative approach, defining agents as Kubernetes custom resources for specifying behavior, tools, and models. Its key advantage is provider agnosticism, allowing seamless switching between AI services (OpenAI, Anthropic, Google, Ollama) without code changes. Orchestration leverages Kubernetes, supporting diverse multi-agent team strategies, tool integration, persistent memory, and an Agent-to-Agent protocol for interoperability.

Quick Start & Requirements

Prerequisites include a Kubernetes cluster (Minikube, Kind, Docker Desktop), Node.js, and Helm. Install the CLI via npm install -g @agents-at-scale/ark, then Ark with ark install. Configure models with ark models create default and run the dashboard via ark dashboard. Detailed documentation is available at https://mckinsey.github.io/agents-at-scale-ark/.

Highlighted Details

  • Declarative Agents: Define agents as Kubernetes custom resources (prompts, tools, models).
  • Provider Agnostic: Switch between AI providers (OpenAI, Anthropic, Google, Azure, Ollama) seamlessly.
  • Multi-Agent Teams: Orchestrate agents via sequential, graph, selector, or round-robin strategies.
  • Tool Integration: Connect agents to HTTP APIs, MCP servers, or other agents.
  • Persistent Memory: Maintain conversation context with pluggable backends.
  • A2A Protocol: Interoperate with external agent systems.
  • CLI & SDKs: Manage agents via CLI or integrate using Python/TypeScript SDKs.

Maintenance & Community

Initial design and implementation were led by Roman Galeev, Dave Kerr, and Chris Madden. No specific community channels or sponsorship details are provided in the README.

Licensing & Compatibility

The specific open-source license is not explicitly stated in the README, requiring further investigation for commercial use or closed-source integration compatibility.

Limitations & Caveats

A Kubernetes cluster is a prerequisite, potentially limiting adoption for users without existing infrastructure. The README does not detail other potential limitations, alpha/beta status, or known bugs.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
140
Issues (30d)
125
Star History
23 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.