zavora-ai/adk-rust

Rust Agent Development Kit (ADK-Rust): Build AI agents in Rust with modular components for models, tools, memory, realtime voice, and more. ADK-Rust is a flexible framework for developing AI agents with simplicity and power. Model-agnostic, deployment-agnostic, optimized for frontier AI models. Includes support for real-time voice agents.

ADK‑Rust – 생산용 AI 에이전트를 위한 러스트 중심 프레임워크

무엇인가요 – ADK‑Rust는 모듈식, 타입 안전, 비동기 대응 가능한 러스트 워크스페이스(43개 크레이트)로, 자율 AI 에이전트를 조합하고 실행하며 제공할 수 있습니다. 모델에 종속되지 않으며, Gemini, OpenAI, Anthropic, Ollama, Bedrock, Groq, DeepSeek, Mistral‑rs 등 다양한 제공업체를 연결할 수 있으며, mistral.rs를 통해 로컬 모델도 실행할 수 있습니다.

핵심 아이디어

  • 에이전트는 코드 – LlmAgentBuilder 또는 고수준 워크플로우 빌더로 에이전트(또는 에이전트 팀)를 정의합니다. 핵심 Agent 트레이트는 모든 LLM 클라이언트를 추상화합니다.
  • 조합 가능한 기능 – 크레이트 워크스페이스는 계층(minimal, standard, enterprise, full)과 세밀한 기능 시스템으로 나뉘어 있습니다. 작은 Gemini 전용 에이전트로 시작하여 도구, 메모리, RAG, 실시간 음성/영상, 결제, 사전화된 코드 실행 등을 추가할 수 있으며, 관련 없는 코드를 포함하지 않습니다.
  • 지속 가능한 오케스트레이션 – 내장된 그래프 워크플로우, 서브그래프, 체크포인트(SQLite, Redis, Mongo, Firestore, Neo4j, Vertex AI), 프로세스 재시작 후에도 유지되는 일시정지 및 재개 메커니즘을 제공합니다.
  • 도구 호출 – #[tool] 매크로는 러스트 타입에서 JSON 스키마를 자동 생성하여 LLM에 사용자 정의 함수를 쉽게 노출할 수 있게 합니다.
  • 관측성 및 보안 – OpenTelemetry 트레이싱, 구조화된 로깅, RBAC/JWT 인증, 감사 로그, 입력/출력 검증용 가드레일.
  • 풍부한 런타임 UI – 내장된 웹 UI(http://127.0.0.1:8080/ui/)는 대화 내역, 스트리밍 마크다운, 도구 결과, 에이전트 실행의 실시간 그래프를 표시합니다.
  • 엔터프라이즈 확장 기능 – 실시간 음성/영상(OpenAI Realtime, Gemini Live, LiveKit), 브라우저 자동화(46개 WebDriver 도구), 에이전트형 상거래(ACP/AP2), Gemini Enterprise Agent Engine BYOC 컨테이너.

일반적인 워크플로우

  1. CLI 헬퍼 설치: cargo install cargo-adk.
  2. 템플릿으로 프로젝트 스캐폴딩: 예: cargo adk new quickstart_agent --template api --provider openai.
  3. .env에 API 키를 입력하고 cargo run 실행.
  4. UI를 통해 상호작용하거나 HTTP 엔드포인트(/api/health, /api/...)를 호출.

예시 – 최소한의 Gemini 에이전트

use adk_rust::prelude::*;
use adk_rust::Launcher;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    dotenvy::dotenv().ok();
    let model = GeminiModel::new(&std::env::var("GOOGLE_API_KEY")?, "gemini-3.7-flash")?;
    let agent = LlmAgentBuilder::new("assistant")
        .instruction("You are a helpful assistant. Be concise and accurate.")
        .model(std::sync::Arc::new(model))
        .build()?;
    Launcher::new(std::sync::Arc::new(agent)).run().await?;
    Ok(())
}

프로바이더를 변경하려면 클라이언트 생성 부분만 바꾸면 되며, 나머지 코드는 동일하게 유지됩니다.

기능 매트릭스 (선택 사항)

타입 제공 기능 일반적인 사용 사례
minimal (기본값) Gemini 클라이언트, 핵심 에이전트 런타임, 세션 빠른 프로토타이핑, 단일 LLM 봇
standard minimal의 모든 기능 + OpenAI, Anthropic, 도구 시스템, 메모리, 텔레메트리, HTTP 서버, 인증, 그래프 워크플로우, 평가 본격적인 챗봇 또는 도구 호출 서비스
enterprise standard + 실시간 오디오/비디오, RAG, 결제, AWP, 브라우저 자동화 음성 어시스턴트, 검색 증강 에이전트, 상거래 기능이 있는 봇
full enterprise + 오디오 생성, 사전화된 코드 실행, 고급 보안 코드 작성 또는 미디어 생성이 포함된 종단 간 AI 제품

구축 가능한 것들 (각 항목은 리포지토리 내 가이드 및 실행 가능한 예제로 연결)

  • 실시간 토폴로지 시각화를 갖춘 내장 UI
  • #[tool]을 통한 사용자 정의 도구
  • MCP (에이전트 클라이언트 프로토콜) 클라이언트/서버
  • 순차적, 병렬, 반복, 조건부 워크플로우 에이전트
  • 검증된 인수 및 수령을 갖춘 멀티 에이전트 팀
  • 지속 가능한 체크포인트와 인간이 개입하는 서브그래프를 갖춘 그래프 워크플로우
  • 사전화된 작업공간에서 코드를 편집하고 실행하는 코딩 에이전트
  • 실시간 음성/영상 에이전트 (OpenAI Realtime, Gemini Live, LiveKit)
  • 승인 다이제스트를 통한 통제된 컴퓨터 사용
  • 6개의 벡터 스토어 백엔드를 갖춘 검색 증강 생성 (RAG)
  • 장기적 의미 기억 및 이중 시공간 지식 그래프
  • HTTP/REST 서버를 통해 에이전트를 노출하고 Server-Sent Events 스트리밍 제공
  • Gemini Enterprise Agent Engine BYOC 컨테이너 및 Terraform 배포
  • 발견, 매니페스트, 동의, 신뢰 수준을 다루는 에이전트형 웹 프로토콜 (AWP)
  • 지속적인 거래 저널을 갖춘 에이전트형 상거래 (ACP/AP2)
  • 브라우저 자동화 도구 (WebDriver)
  • 평가 프레임워크 (궤적, 기준, LLM-판단, A/B 테스트)
  • 가드레일, RBAC, SSO, 감사 로깅
  • OpenTelemetry 트레이싱 및 구조화된 로깅

설치

# 어떤 러스트 프로젝트에도 크레이트 추가
cargo add adk-rust   # 기본은 "minimal"
# 타입 선택 시
cargo add adk-rust --features "standard"

또는 CLI 스캐폴딩(cargo adk new …)을 사용해 실행 가능한 프로젝트를 생성하세요.

문서 및 커뮤니티

  • Crates.io 페이지: 버전화된 릴리스 (최신 2.2.0, 2.3.0 RC 준비 중).
  • docs.rs와 위키에서 문서 제공, 심층 가이드도 포함.
  • CI 배지: 지속적 테스트 (4,300+ 테스트, 104개 예제).
  • 팟캐스트 시리즈 (에피소드 3: v2.0 "행동하는 에이전트" 기능).
  • GitHub Discussions에서 질문과 답변, 후원 링크를 통한 자금 지원.

대상 사용자 – 단순한 챗봇, 멀티 에이전트 워크플로우 시스템, 음성 기능이 있는 어시스턴트, 또는 상거래 및 준수 요구사항이 있는 풀스택 AI 제품을 개발하는 러스트 개발자.


위 정보는 리포지토리의 README에서 직접 가져왔으며, 추가 기능은 추측되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트