벤치마크 결과

다른 에이전트 프레임워크와 비교한 ADK-Rust의 공개 성능 벤치마크입니다. 모든 측정은 재현성을 위해 결정론적 구성으로 실제 LLM 호출을 사용합니다.

요약

측정항목ADK-RustGemini Python SDKLangGraph
콜드 스타트109 ms501 ms502 ms
에이전트 루프 오버헤드568 μs253 μs1228 ms

ADK-Rust는 Python 프레임워크보다 약 4.6배 빠른 콜드 스타트와 1밀리초 미만의 루프 오버헤드를 모두 달성합니다. Gemini Python SDK는 최소한의 추상화로 인해 루프 오버헤드가 약간 더 낮지만, 일반적인 LLM 응답 시간(500ms–3초)에 비하면 ADK-Rust의 오버헤드는 무시할 수 있는 수준입니다.

워크로드 결과

simple_tool_call

단일 사용자 메시지 → 하나의 도구 호출 → 하나의 최종 응답. 최소 왕복 시간을 측정합니다.

프레임워크총 시간콜드 스타트루프 오버헤드CV
ADK-Rust1.2s109 ms568 μs4.2%
Gemini Python SDK1.8s501 ms253 μs6.1%
LangGraph2.1s502 ms1228 ms8.3%

multi_step_reasoning

각 단계 사이에 추론이 포함된 3~5회의 순차적인 도구 호출이 필요한 다중 턴 대화입니다.

프레임워크총 시간콜드 스타트루프 오버헤드CV
ADK-Rust4.1s109 ms568 μs5.1%
Gemini Python SDK5.9s501 ms253 μs7.8%
LangGraph7.3s502 ms1228 ms9.4%

parallel_tool_invocation

3개의 병렬 도구 호출을 동시에 실행하도록 트리거하는 단일 사용자 메시지.

프레임워크총 시간콜드 스타트루프 오버헤드CV
ADK-Rust2.3s109 ms568 μs3.9%
Gemini Python SDK3.7s501 ms253 μs5.6%
LangGraph4.8s502 ms1228 ms7.2%

재현 방법

# Run all benchmarks
cargo adk bench

# Run a specific workload
cargo adk bench --workload simple_tool_call

# Save results as a baseline
cargo adk bench --save-baseline v1.0.0

# Compare against baseline
cargo adk bench --check-regression v1.0.0 --tolerance 10

# Output as JSON for CI
cargo adk bench --output json --output-file results.json

요구 사항:

  • GOOGLE_API_KEY 환경 변수가 설정되어 있어야 함
  • Gemini API에 대한 네트워크 액세스
  • 프레임워크 간 비교의 경우: google-genailanggraph가 설치된 Python 3.11 이상

방법론

테스트 환경

  • 모델: Gemini 3.5 Flash-Lite(gemini-3.5-flash-lite)
  • Temperature: 0(결정론적)
  • 재현성을 위해 고정된 난수 시드 사용
  • 2회의 워밍업 실행 후 10회의 측정 반복
  • 네트워크: 모든 프레임워크에서 동일한 머신과 동일한 네트워크 사용

오버헤드 분리

프레임워크 오버헤드는 측정된 LLM 지연 시간을 전체 실행 시간에서 빼서 분리합니다.

loop_overhead = total_time - sum(llm_response_times) - sum(tool_execution_times)

이를 통해 직렬화, 역직렬화, 컨텍스트 조합, 이벤트 디스패치 및 상태 관리와 같은 프레임워크의 기여 부분을 분리할 수 있습니다.

메트릭의 의미

지표정의중요한 이유
콜드 스타트프로세스 시작부터 첫 LLM 응답을 수신할 때까지의 시간서버리스/컨테이너 시작 및 CLI 응답성에 영향을 줌
루프 오버헤드도구 호출 왕복당 프레임워크 처리 시간여러 단계로 구성된 에이전트에서 누적됨(5단계 × 1.2초 = 6초 낭비)
총 시간전체 워크플로의 종단 간 벽시계 시간사용자가 인지하는 지연 시간
CV변동 계수(std_dev / 평균 × 100)측정 안정성 — 낮을수록 더 신뢰할 수 있음

결정론적 구성

모든 프레임워크는 다음을 동일하게 사용합니다.

  • 도구 정의(동일한 이름, 스키마, 모의 구현)
  • 시스템 프롬프트 및 사용자 메시지
  • 모델 설정(temperature=0, 샘플링 변동 없음)
  • 도구 구현(고정된 응답 반환, I/O 없음)

제한 사항

  • 결과는 네트워크 상태와 Gemini API 부하에 따라 달라집니다.
  • Python 프레임워크는 CPython 3.11로 측정되었습니다(PyPy 아님).
  • 콜드 스타트에는 Python 프레임워크의 Python 인터프리터 시작 시간이 포함됩니다.
  • LangGraph의 루프 오버헤드에는 그래프 순회와 상태 직렬화가 포함됩니다.

회귀 추적

성능 회귀를 감지하려면 CI에서 벤치마크를 사용합니다.

# In CI pipeline after merge to main
cargo adk bench --check-regression v1.0.0 --tolerance 10

# Exit code 1 if any metric regressed >10%

기준선은 .adk-bench/baselines/에 저장되며 저장소에 커밋할 수 있습니다.

추가 읽을거리


이전: ← 평가 | 다음: 액세스 제어 →