LlmAgent
집중된 추론
모델, 지침, 도구, 콜백 및 스트리밍 출력은 대부분의 시스템에서 작고 유용한 중심입니다.
ADK-Rust는 유형이 지정된 에이전트, 도구, 내구성 상태, 실시간 미디어 및 개방형 프로토콜을 하나의 비동기 런타임으로 제공하므로 집중 에이전트에서 자신 있게 운영할 수 있는 시스템으로 이동할 수 있습니다.
작업 단위로 시작
에이전트는 비동기 Rust 구성 요소입니다. 호출 컨텍스트를 수신하고, 모델이나 도구를 사용하여 작업을 수행하고, 진행되면서 형식화된 이벤트를 내보냅니다. LLM 에이전트, 워크플로, 실시간 에이전트, 코딩 에이전트 및 사용자 정의 Rust 에이전트는 모두 이 공유 계약을 사용합니다.
ADK-Rust를 매력적인 이유는 에이전트가 사용자가 이해하고 제어할 수 있는 소프트웨어 시스템의 일부로 남아 있다는 것입니다. 모델 호출, 도구 입력, 상태 변경, 승인 및 스트리밍 이벤트에는 명시적인 Rust 계약이 있습니다. 동일한 런타임은 Rust 팀이 기대하는 성능, 동시성, 이동성 및 운영 원칙을 유지하면서 집중된 어시스턴트, 내구성 있는 다중 에이전트 워크플로, 실시간 음성 경험 또는 서비스 전반에 걸쳐 작동하는 에이전트를 지원할 수 있습니다.
LangGraph, Google ADK, OpenAI Agents SDK 또는 CrewAI를 알고 있다면 도구, 핸드오프, 워크플로, 메모리, 가드레일 및 추적을 인식할 것입니다. ADK-Rust는 이러한 아이디어를 Rust 기본 런타임에 가져와 실시간 미디어, 코드 실행, RAG, 아티팩트 및 MCP, A2A, ACP 및 AWP와 같은 개방형 프로토콜과 연결합니다. 버전 2는 그래프, 실시간, 코딩 및 CodeAct 에이전트로 해당 기반을 확장합니다. 공급자 인식 도구 스키마; 구성 가능한 프로젝트 템플릿 및 화물 광고 빌드; 더 강력한 상태 및 운영 제어; 첫 번째 모델 호출부터 프로덕션까지 일관된 형식의 이벤트 추적입니다.
아키텍처를 읽는 방법
왼쪽에서 오른쪽으로 다이어그램을 따르십시오. 제품 표면이 Runner에 요청을 보냅니다. Runner는 세션 상태와 호출 컨텍스트를 첨부한 다음 선택한 에이전트를 호출합니다. 모델, 도구 및 상태는 작업을 지원하고 타입 안전 이벤트는 진행 상황과 결과를 다시 전달합니다.
Runner, 에이전트, 타입 안전 이벤트, 모델/도구 루프, 세션, 콜백, 전송 및 취소.
MCP, A2A, ACP, AWP, HTTP, SSE 및 실시간 전송은 별도의 시스템과 신뢰 영역을 연결합니다.
Studio, UI, 플레이그라운드 및 제어 평면은 ADK-Rust를 사용합니다. Runner 내부에서는 실행되지 않습니다.
프레임워크 표면
ADK-Rust는 에이전트 동작을 구성하고, 도구를 제공하고, 컨텍스트를 보존하고, 다른 시스템에 연결하고, 프로덕션에서 안전하게 작동하는 등 전체 에이전트 수명주기를 하나의 프레임워크로 가져옵니다. 아래 그룹은 이러한 기능이 어떻게 조화를 이루는지 보여줍니다.
LLM, 워크플로, 그래프, 실시간 및 코딩 에이전트를 구축하세요. 타입 안전 도구, MCP, RAG, 메모리, 세션 및 아티팩트를 장비합니다. REST, A2A, ACP 및 AWP를 통해 연결합니다. 그런 다음 인증, 가드레일, 원격 측정 및 프로덕션 평가를 추가합니다.
작성 capability
The main model-driven agent. Give it instructions, an LLM, tools, callbacks, and optional sub-agents; the Runner streams its work as typed events.
행위 capability
Turns a typed async Rust function into a model-callable tool and derives the argument schema from Rust types.
기억하다 capability
Keep conversation events and application state together so a user can continue the same interaction over multiple turns.
연결하다 capability
Exposes familiar HTTP endpoints for clients that send a request and receive a structured response.
운영하다 capability
Establishes who is calling the system through API keys, OAuth, OIDC, SSO, and application identity.
빌드 capability
Generate working starting shapes for focused agents, tools, retrieval, APIs, workflows, realtime sessions, and custom logic.
작동 방식 보기
Runner는 세션을 해결하고, 호출 컨텍스트를 구축하고, 에이전트를 실행하고, 모델 및 도구 작업을 스트리밍하고, 상태 변경을 적용하고, 지속성 이벤트를 유지하고, 발생하는 진행 상황을 호출자에게 반환합니다.
동일한 추적을 통해 터미널, 웹 UI, API 클라이언트, 평가 또는 실시간 대화를 제공할 수 있습니다.
실제 요청을 따르십시오
고객이 "왜 결제가 실패했나요?"라고 묻습니다. Runner는 올바른 세션을 열고, 모델 출력 및 도구 활동을 스트리밍하고, 상태 변경을 기록하고, 유용한 각 이벤트를 인터페이스에 반환합니다. 운영자가 완전한 실행 기록을 얻는 동안 사용자는 진행 상황을 볼 수 있습니다.
행동을 구성하라
라우터는 수행해야 할 작업을 식별합니다. 전문가는 자신이 가장 잘 이해하는 부분을 처리합니다. 순차 및 병렬 워크플로는 실행 순서를 제어하는 반면, 그래프 체크포인트는 동일한 작업에 연결된 증거, 승인 및 진행 상황을 유지합니다.
LlmAgent
모델, 지침, 도구, 콜백 및 스트리밍 출력은 대부분의 시스템에서 작고 유용한 중심입니다.
Sequential · Parallel · Loop
Rust 프로그램에서 순서, 동시성, 반복 및 종료 조건을 직접 표현합니다.
GraphAgent
사람에 대한 분기, 체크포인트, 인터럽트 및 프로세스나 대화가 진행된 후 재개됩니다.
CodingAgent · CodeActAgent
귀하가 제어하는 작업 영역 및 샌드박스 경계 내에서 에이전트가 코드를 검사, 편집 및 실행할 수 있습니다.
RealtimeAgent
하나의 라이브 세션을 통해 오디오, 스크립트, 비디오 프레임, 중단 및 서버 측 도구를 전달합니다.
CustomAgent
Rust에 직접 작성된 제품별 동작에 대한 에이전트 계약을 구현합니다.
에이전트 주변 시스템
유용한 에이전트에는 도구, 상태, 인터페이스, 경계 및 증거가 필요합니다. ADK-Rust는 귀하가 소유한 구성 가능한 Rust 인터페이스를 통해 각 부분을 노출합니다.
하나의 제품, 여러 가지 책임
고객 지원 제품에서 모델은 응답 초안을 작성하고 도구는 주문을 검사하며 세션은 고객 컨텍스트를 전달하고 승인은 환불을 제어하며 아티팩트는 영수증을 저장하고 원격 측정은 결과를 기록합니다. 각 책임은 런타임 중에 계속 표시됩니다.
호스팅된 프론티어 모델, 빠른 라우팅 모델, 로컬 Ollama 및 기본 mistral.rs 추론은 공통 Llm 계약 뒤에 있습니다.
Gemini · OpenAI · Anthropic · OpenRouter · DeepSeek · Groq · Ollama · Bedrock · Azure AI · 호환 엔드포인트
입력된 Rust 함수, MCP 서버, 기술, 브라우저 세션, 코딩 에이전트 또는 샌드박스 프로세스를 런타임이 검사하고 호출할 수 있는 기능으로 전환합니다.
#[tool] · FunctionTool · MCP · ACP · 스킬 · 브라우저 · 코드
세션은 이벤트 기록을 보유합니다. 기억은 유용한 지식을 검색합니다. 아티팩트는 파일을 보존합니다. 그래프 체크포인트를 사용하면 긴 작업을 재개할 수 있습니다.
SQLite · PostgreSQL · Redis · MongoDB · Firestore · Neo4j · 암호화된 세션
ADK-Rust는 Rust 소유 세션 내에서 오디오, 스크립트, 비디오 프레임, 도구 호출, 중단 및 변경 컨텍스트를 유지합니다.
OpenAI Realtime · Gemini Live · Vertex Live · LiveKit · 선택적 WebRTC
모델이 응답하기 전에 문서를 청크하고, 삽입하고, 벡터 저장소를 검색하고, 결과 순위를 다시 매기고, 프로젝트별로 메모리를 분리합니다.
RAG 파이프라인 · 의미 기억 · 지식 그래프 · 5개의 벡터 저장소 구현
승인, 콜백, 가드레일, 샌드박스 프로필, 취소, 원격 측정 및 평가는 프로덕션 실행 경계를 형성합니다.
RBAC · OAuth/OIDC · 도구 확인 · PII 가드레일 · OpenTelemetry · 평가
경계를 선택하세요
기능이 실행되는 곳부터 시작하세요.
배포, 상태 및 신뢰를 공유하는 경우 하위 에이전트를 하나의 ADK-Rust 런타임 내에 유지하세요. 기능, 에이전트, 코딩 작업 영역 또는 웹 사이트에 자체 배포, 프로세스, 소유권 또는 신뢰 경계가 있는 경우 프로토콜을 도입하세요.
동일한 Rust 프로세스
에이전트, 하위 에이전트 또는 도구
외부 도구 또는 리소스
MCP
독립적으로 배포된 에이전트
A2A
코딩 프로세스 또는 IDE
ACP
에이전트가 읽을 수 있는 웹사이트
AWP
모델 컨텍스트 프로토콜
What is MCP?
에이전트가 호출할 수 있는 도구와 읽을 수 있는 리소스를 외부 서버에서 게시하는 표준 방법입니다.
에이전트 간 프로토콜
What is A2A?
원격 에이전트를 검색하고, 작업을 전송하고, 진행 상황을 추적하고, HTTP 경계를 넘어 결과를 수신하기 위한 네트워크 프로토콜입니다.
에이전트 클라이언트 프로토콜
What is ACP?
편집자, CLI 및 오케스트레이션 시스템을 포함하여 코딩 에이전트와 이를 호스팅하는 클라이언트 간의 세션을 표준화하는 프로토콜입니다.
에이전트 웹 프로토콜
What is AWP?
사이트가 누구인지, 에이전트가 무엇을 할 수 있는지, 어떤 정책이 적용되는지, 에이전트 대면 서비스가 정상인지 여부를 게시하는 웹 프로토콜입니다.
개발자 빠른 시작
작고 작동하는 Rust 프로젝트부터 시작하세요. 아래 안내 단계에서는 생성기가 추가하는 내용, 프로젝트를 로컬로 컴파일하는 방법, 제품 성장에 따라 확장할 위치를 설명합니다.
결국 당신은 무엇을 갖게 될 것인가
타입 안전 도구, 대화형 Launcher 세션, 원격 측정 설정, 세션 및 가드레일 통합 지점, 터미널의 실제 모델 응답을 포함하는 컴파일된 Rust 에이전트입니다. 생성된 프로젝트는 읽고, 변경하고, 확장할 수 있는 일반 Rust 소스입니다.
시작하기 전에
컴퓨터에는 두 가지가 필요합니다.
Rust 1.95 이상.
Rustup으로 설치하거나 안정적인 툴체인을 업데이트하세요.
모델 API 키.
이 경로는 다음을 사용합니다. GOOGLE_API_KEY; 나중에 다른 제공자를 선택할 수 있습니다.
Cargo-adk는 에이전트 프로젝트를 생성, 검사, 빌드 및 배포하는 데 사용되는 화물 adk 명령을 추가합니다.
cargo install cargo-adk입력된 Rust 도구를 호출할 수 있는 에이전트로 시작하세요. 프로젝트가 생성되는 동안 관찰 가능성, 세션 상태 및 가드레일 후크를 추가합니다.
cargo adk new support-agent --template tools \
--addon telemetry --addon sessions --addon guardrails생성된 예제에서는 기본적으로 Gemini를 사용합니다. 안전한 예제 파일을 복사한 다음 추적되지 않는 .env 파일에 키를 저장하세요.
cd support-agent
cp .env.example .env
# set GOOGLE_API_KEY in .env화물 adk 빌드는 아무것도 배포하지 않고 생성된 종속성, 기능 조합, Rust 유형 및 릴리스 바이너리를 확인합니다.
cargo adk build생성된 콘솔을 실행하고, 메시지를 입력하고, 나중에 API, 워크플로 또는 실시간 제품을 구동할 수 있는 동일한 유형의 런타임을 시청하세요.
cargo run한 번 설치
$ cargo install cargo-adk프로젝트 생성
$ cargo adk new support-agent \
+ --template tools \
+ --addon telemetry \
+ --addon sessions \
+ --addon guardrails모델 구성
$ cd support-agent
cp .env.example .env
# Add GOOGLE_API_KEY to .env확인한 후 실행하세요.
$ cargo adk build
cargo run ADK-Rust — support-agent
Type a message to chat. Type 'exit' to quit.
You > Greet Ada casually.
[tool] greet({"name":"Ada","style":"casual"})
Hey Ada! What's up?
You > exit
Goodbye.비계 이해하기
템플릿은 작업 에이전트 모양을 제공합니다. 각 추가 기능은 필요한 상자 기능, 가져오기, 구성 및 통합을 완료하기 위한 명시적인 위치를 제공합니다.
템플릿
입력된 #[tool] 함수와 모델 도구 호출에 필요한 스키마 연결을 사용하여 LLM 에이전트를 생성합니다.
Add-on
OpenTelemetry 통합을 활성화하여 모델, 도구 및 런타임 작업을 추적할 수 있습니다.
Add-on
대화 상태가 하나의 모델 호출 이후에도 지속될 수 있도록 세션 서비스 연결을 추가합니다.
Add-on
입력 유효성 검사, 출력 확인 및 콘텐츠 필터링을 위한 기능과 명확한 후크를 추가합니다.
다른 시작 모양 선택
유용한 첫 번째 작품과 일치하는 모양을 선택하세요. 템플릿은 편집 가능한 Rust 소스, 종속성, 공급자 구성 및 실행 가능한 진입점을 생성합니다.
llm에이전트 템플릿LlmAgentBuilder, Gemini 모델 설정, 지침, 세션 지원 Launcher 및 대화형 터미널을 생성합니다.
이럴 때 선택하세요
보조자, 추출, 분류 또는 집중적인 모델 및 도구 루프를 위해 선택하세요.
생성된 시작점
LLM 에이전트 1개 · 스트리밍 콘솔 · 공급자 구성
cargo adk new my-agent --template llmtools에이전트 템플릿작동하는 #[tool] 함수, 입력된 인수, JSON 스키마 생성 및 LLM 에이전트 등록을 통해 src/tools.rs를 추가합니다.
이럴 때 선택하세요
에이전트가 계산, 데이터 검색, 비즈니스 로직 호출 또는 작업 수행이 필요할 때 선택하세요.
생성된 시작점
LlmAgent · 인사 도구 · serde · 스키마러 · adk-tool
cargo adk new my-agent --template toolsrag에이전트 템플릿문서 청크, Gemini 임베딩, 메모리 내 벡터 저장소, 샘플 문서 및 RagTool을 사용하여 RAG 파이프라인을 생성합니다.
이럴 때 선택하세요
제품 문서, 정책, 연구 컬렉션 또는 개인 자료에 기반한 답변을 보려면 선택하세요.
생성된 시작점
RagPipeline · 청커 · 임베딩 · 벡터 검색 · RagTool
cargo adk new my-agent --template ragapi에이전트 템플릿LLM 에이전트 주변의 상태, 세션 생성 및 스트리밍 실행 엔드포인트를 사용하여 Axum 서버를 생성합니다.
이럴 때 선택하세요
웹 애플리케이션, 모바일 클라이언트, 백엔드 서비스 또는 자동화 플랫폼이 에이전트를 호출할 때 선택하세요.
생성된 시작점
Axum · REST 경로 · SSE 응답 · 메모리 내 세션
cargo adk new my-agent --template apia2a패턴 별칭a2a-server 패턴으로 확인하고 에이전트 간 액세스를 위해 LLM 에이전트를 서버 및 세션 기능과 결합합니다.
이럴 때 선택하세요
다른 에이전트가 배포 또는 소유권 경계를 넘어 이 에이전트를 검색하고 호출해야 하는 경우 이를 선택합니다.
생성된 시작점
A2A 서버 · 에이전트 ID · 작업 처리 · 세션
cargo adk new my-agent --template a2agraph에이전트 템플릿그래프 기능을 활성화하고 노드, 에지, 체크포인트, 중단 및 재개에 대한 가져오기 및 에이전트 시작점을 만듭니다.
이럴 때 선택하세요
분기, 승인 단계, 복구 또는 지속 가능한 실행 상태가 포함된 장기 실행 작업을 위해 선택하세요.
생성된 시작점
그래프 기능 · 워크플로우 에이전트 · 토폴로지 시작점
cargo adk new my-agent --template graphrealtime에이전트 템플릿실시간 지원을 활성화하고 실시간 가져오기 및 공급자 구성을 통해 간결한 음성 에이전트 시작점을 생성합니다.
이럴 때 선택하세요
자연스러운 대화, 중단, 실시간 번역, 오디오 도구 또는 수신 비디오 프레임을 위해 선택하세요.
생성된 시작점
실시간 기능 · 음성 안내 · 운송 출발점
cargo adk new my-agent --template realtimesequential워크플로 템플릿각 단계가 이전 단계에서 생성된 작업을 받을 수 있도록 SequentialAgent 내부에 연구원 및 작가 에이전트를 생성합니다.
이럴 때 선택하세요
프로세스에 수집, 분석, 초안 작성, 검토, 게시 등 명확한 단계가 있는 경우 선택하세요.
생성된 시작점
두 개의 LLM 에이전트 · 순서가 지정된 실행 · 공유 호출 추적
cargo adk new my-agent --template sequentialparallel워크플로 템플릿ParallelAgent 내부에 두 명의 전문 에이전트를 생성하고 하나의 상위 워크플로를 통해 작업을 수집합니다.
이럴 때 선택하세요
동일한 입력에서 여러 조사를 시작하고 독립적으로 완료할 수 있는 경우 이를 선택합니다.
생성된 시작점
LLM 에이전트 2개 · 동시 실행 · 집계 결과
cargo adk new my-agent --template parallelloop워크플로 템플릿명시적인 완료 신호와 5회 반복 안전 제한을 사용하여 LoopAgent 내부에 작업자를 생성합니다.
이럴 때 선택하세요
반복적인 통과를 통해 개선되는 초안 작성, 비평, 수리, 검증 또는 검색 프로세스를 위해 선택하세요.
생성된 시작점
LoopAgent 빌더 · 작업자 에이전트 · 완료 지침 · 최대 반복
cargo adk new my-agent --template loopconditional워크플로 템플릿들어오는 요청에서 경로를 선택하는 ConditionalAgent 내부에 기술 및 일반 에이전트를 생성합니다.
이럴 때 선택하세요
작업 카테고리에 다양한 지침, 도구, 모델 또는 도메인 전문가가 필요한 경우 이를 선택하세요.
생성된 시작점
ConditionalAgent · 2개 경로 · LLM 기반 선택
cargo adk new my-agent --template conditionalcustom에이전트 템플릿에이전트 특성 메서드와 자체 Rust 실행 논리 및 이벤트 스트림에 대해 준비된 실행 기능을 사용하여 MyAgent 유형을 생성합니다.
이럴 때 선택하세요
결정론적 오케스트레이션, 기존 상태 머신, 도메인 런타임 또는 전체 Rust 제어가 필요한 동작을 위해 선택하세요.
생성된 시작점
에이전트 특성 골격 · InvocationContext · EventStream 진입점
cargo adk new my-agent --template customCLI 레지스트리에는 공급자별 항목도 포함되어 있습니다. openai 템플릿, 5가지 엔터프라이즈 패턴, basic 그리고 a2a 별칭 및 구성 가능한 기능 추가 기능.
cargo adk templatescargo adk addons필요한 것을 컴파일하세요
먼저 프로젝트 실행 형태에 맞는 템플릿을 선택하세요. 그런 다음 바이너리로 컴파일된 기능에 대한 기능 계층을 선택합니다.
기능 계층은 종속성, 컴파일 시간, 바이너리 표면 및 사용 가능한 프레임워크 API를 제어합니다. 영구 데이터베이스, MCP, 클라우드 비밀 관리자 및 특정 실시간 전송은 여전히 명시적인 선택입니다.
에이전트 · Gemini · Runner · 세션
기본 표면이 가장 작은 집중형 에이전트입니다.
도구 · 메모리 · 그래프 · 서버 · 인증 · 평가 · 원격 측정
대부분의 API, 워크플로 시스템 및 내부 에이전트 제품.
실시간 기반 · 브라우저 · RAG · 결제 · AWP
더욱 풍부한 상호 작용과 상호 운용성이 필요한 제품.
오디오 · 코드 실행 · 샌드박스
가장 강력한 로컬 및 실행 기능을 선택하세요.
adk-rust = { version = "2.0.0", features = ["standard"] }ADK-Rust로 빌드
첫 번째 유용한 이정표는 요청 1개, 눈에 보이는 도구 호출 1개, 이해하는 세션 1개입니다. 안내된 빠른 시작은 해당 경로를 구축합니다. 여기에서 제품에 필요한 워크플로, 상태, 프로토콜 및 운영 제어를 추가하세요.