소스 코드 제공ADK-Rust v2 테스트 매트릭스 검증 완료

다중 채널 에이전트 운영

사용자가 이미 작업하는 곳에서 에이전트 실행

ADK Gateway는 메시징 채널, 웹 애플리케이션 및 기타 에이전트를 ADK-Rust 에이전트 팀에 연결합니다. 각 요청을 라우팅하고 올바른 컨텍스트를 복원하며 운영 정책을 적용하고 개발자가 시스템을 한 곳에서 보고 제어할 수 있게 합니다.

ADK Gateway 작동 중

사람과 시스템

텔레그램
Slack
WhatsApp
Discord
매트릭스

아이덴티티 · 라우터 · 러너

세션정책이벤트배송

에이전트 팀

시스템 에이전트
지원 에이전트
리서치 에이전트
코딩 에이전트
도구메모리프로토콜컨트롤

왜 게이트웨이가 필요한가요?

에이전트는 유용합니다. 운영되는 에이전트 시스템은 제품입니다.

ADK-Rust 에이전트는 추론하고, 도구를 호출하며, 이벤트를 스트리밍할 수 있습니다. 실제 배포에서는 실용적인 질문에도 답해야 합니다: 요청은 어디로 도착하나요? 어떤 에이전트가 받아야 하나요? 누구의 세션을 복원해야 하나요? 그 에이전트가 할 수 있는 일은 무엇인가요?

ADK Gateway는 공유 운영 계층을 제공합니다. Telegram, Slack, WhatsApp, Discord, Matrix, 웹훅 및 에이전트 대상 웹 요청이 어댑터를 통해 들어옵니다. 게이트웨이는 이를 하나의 메시지 형태로 변환하고 접근 규칙을 적용하며 시스템 또는 전문 에이전트로 라우팅하고 진행 상황을 원래 채널을 통해 전달합니다.

게이트웨이는 모든 에이전트를 하나의 어시스턴트로 통합하지 않습니다. 개발자는 연구, 지원, 운영, 코딩 에이전트를 서로 다른 모델, 도구, 작업 공간, 권한 및 채널 바인딩으로 분리하여 하나의 제어면을 통해 운영할 수 있습니다.

게이트웨이 없이

  • 각 채널은 자체 에이전트 통합이 필요합니다
  • 세션과 신원은 진입점 간에 이동합니다
  • 도구 및 권한은 여러 위치에서 구성됩니다
  • 운영자는 전체 에이전트 시스템을 볼 수 없습니다

ADK Gateway와 함께

  • 채널 어댑터는 하나의 인바운드 계약을 공유합니다
  • 라우팅은 에이전트와 세션을 신중하게 선택합니다
  • 기능과 정책은 에이전트 역할에 연결되어 유지됩니다
  • 하나의 제어판에서 에이전트, 채널, 작업 및 상태 표시

아키텍처

독립적으로 제어되는 에이전트 팀을 위한 하나의 게이트웨이.

왼쪽에서 오른쪽으로 아키텍처를 읽으세요. 요청은 사람 또는 에이전트 채널을 통해 들어옵니다. 신원과 라우팅이 위치를 결정합니다. ADK-Rust는 선택된 에이전트를 자체 상태와 기능으로 실행합니다. 제어 평면은 대화에 참여하지 않고 모든 계층을 관찰합니다.

진입점

  • 텔레그램 · 슬랙
  • WhatsApp · Discord
  • 매트릭스 · 웹훅
  • AWP 요청

신뢰 엣지

  • 페어링 + 신원
  • 허용 목록 + 역할
  • 속도 제한
  • JWT / SSO

게이트웨이 런타임

  • 메시지 라우터
  • ADK-Rust Runner
  • 세션 + 이벤트
  • 전달

에이전트 팀

  • 시스템 에이전트
  • 전문가 에이전트
  • 그래프 워크플로우
  • ACP 코딩 에이전트

기능

  • 모델 + 폴백
  • Rust 도구 + MCP
  • 메모리 + RAG
  • 아티팩트 + 저장소

운영자 제어 평면

전체 요청 경로를 구성, 승인, 관찰, 복구 및 감사합니다.

제어판WebSocket 이벤트메트릭로그상태
인터페이스 및 전달신원 및 운영 정책라우팅 및 실행상태 및 기능

단일 요청 추적

텔레그램 메시지에서 적합한 전문 에이전트로 연결

모든 지원 채널에 동일한 흐름이 적용됩니다. 어댑터와 전달 형식만 변경되며, 라우팅, 세션, 에이전트 실행, 정책 및 증거는 공유됩니다.

  1. 01Channel adapter

    하나의 메시지 형식 수신

    텔레그램, 슬랙, WhatsApp, 디스코드, 매트릭스, 웹훅은 서로 다른 형식으로 도착합니다. 각 어댑터는 이를 동일한 인바운드 메시지 계약으로 변환합니다.

  2. 02Access boundary

    계속할 수 있는 사람 식별

    페어링 규칙, 허용 목록, 그룹 멘션 정책, 다중 사용자 신원, 속도 제한 및 선택적 JWT 검사가 요청이 에이전트에 도달하기 전에 실행됩니다.

  3. 03메시지 라우터

    적합한 에이전트 선택

    라우팅은 채널, 계정, 개인 또는 그룹을 확인합니다. 가장 구체적인 매칭이 우선하며, 시스템 에이전트가 최종 대체자입니다.

  4. 04ADK-Rust Runner

    대화 복원

    러너는 에이전트 실행 시작 전에 올바른 세션, 사용자 컨텍스트, 메모리, 취소 상태 및 모델 폴백 체인을 연결합니다.

  5. 05Specialist agent

    할당된 기능만 사용

    선택된 에이전트는 Rust 도구, MCP 서버, 지식, 워크플로우 또는 승인된 ACP 코딩 에이전트를 사용할 수 있습니다. 역할 정책은 호출 가능한 항목을 제한합니다.

  6. 06Delivery + evidence

    진행 상황 반환 및 기록 유지

    타이핑된 이벤트는 타이핑 표시기, 진행 메시지, 이미지 또는 최종 응답이 됩니다. 메트릭, 로그, 작업 기록 및 감사 이벤트가 발생한 일을 설명합니다.

Rust에서의 라우팅

라우팅은 명시적이고 테스트 가능합니다.

개발자는 에이전트를 전체 채널, 해당 채널의 한 계정 또는 특정 개인이나 그룹에 바인딩할 수 있습니다. 라우터는 가장 구체적인 규칙을 먼저 확인하고 예측 가능하게 대체 규칙으로 넘어갑니다.

예제는 가독성을 위해 소스 구현을 압축했습니다. 저장소는 정확한 계정 수준, 채널 수준, 레거시 및 기본 라우팅 동작을 테스트합니다.

router.rs · simplified resolution order
/// Most-specific binding wins.
pub fn resolve_agent(&self, message: &InboundMessage) -> &str {
    // 1. channel + account + person or group
    if let Some(agent) = self.exact_binding(message) {
        return agent;
    }

    // 2. channel + account, then channel-only
    if let Some(agent) = self.account_binding(message)
        .or_else(|| self.channel_binding(message))
    {
        return agent;
    }

    // 3. configured legacy rules, then the system agent
    self.legacy_binding(message)
        .unwrap_or(&self.default_agent_id)
}
gateway.json · agent, channel, and role
{
  "agent": {
    "model": {
      "primary": "openai/gpt-5.4-mini",
      "fallbacks": ["openai/gpt-5.4-nano"]
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "${TELEGRAM_BOT_TOKEN}",
      "dmPolicy": "pairing"
    }
  },
  "user_agents": [{
    "id": "support",
    "name": "Customer support",
    "tools": ["order_lookup", "refund_request"],
    "channel_bindings": [{ "channel_type": "telegram" }],
    "role": {
      "allow": ["order_lookup", "refund_request"],
      "deny": ["refund_issue"]
    },
    "auto_start": true
  }]
}

내장 제어판

시스템을 보고 의도적으로 변경하세요.

React 제어판은 Rust 바이너리에 컴파일되어 다음 위치에서 제공됩니다 /ui. It is the operator interface for configuration, agent lifecycle, approvals, sessions, memory, scheduled work, logs, and health.

설정

모델 공급자를 선택하고, 자격 증명을 저장하며, 채널 계정을 연결하고, 게이트웨이를 사용자에게 열기 전에 검증하세요.

첫 실행 마법사모델 폴백채널 연결 테스트검증된 JSON 구성

에이전트 지시

전문가 생성, 도구 및 채널 할당, 프로세스 시작 또는 중지, 작업 위임 가능 에이전트 정의.

에이전트 수명 주기채널 바인딩위임 권한예약 작업

통제 유지

민감한 도구 호출 검토, 사용자 페어링, 세션 종료, 동의 검사 및 작업 중단이 필요할 때 개입합니다.

도구 승인페어링 및 역할세션 종료AWP 동의

작동

채널과 에이전트를 실시간으로 감시하고, 오류를 검사하며, 메모리를 검색하고, 실행 중인 게이트웨이 상태를 추적합니다.

실시간 WebSocket 대시보드로그 및 메트릭메모리 브라우저컴포넌트 상태

프로토콜 경계 열기

도구, 코딩 에이전트, 웹사이트 및 애플리케이션 연결.

채널은 게이트웨이를 사람과 연결합니다. 프로토콜은 기능 및 다른 소프트웨어와 연결합니다. 각 경계는 명확한 역할이 있어 개발자가 전체 런타임을 재설계하지 않고도 하나를 추가할 수 있습니다.

MCP

에이전트에 외부 도구 제공

브라우저, 컴퓨터, 미디어, 데이터 및 비즈니스 시스템용 기능 서버 연결. 게이트웨이는 모든 통합을 바이너리에 포함하지 않고 구성된 MCP 서버를 추가, 나열 및 제거할 수 있습니다.

ACP

코딩 작업 위임

감독 경계 내에서 지원되는 코딩 에이전트 프로세스를 실행합니다. 작업 공간 정책, 권한 요청, 진행 상황, 비용, 대기열 상태 및 작업 기록이 게이트웨이에 표시됩니다.

AWP

에이전트 대상 웹 인터페이스 노출

게이트웨이와 작업하는 방법을 다른 소프트웨어가 이해할 수 있도록 발견, 기능, 상태, 동의, 구독 및 에이전트 메시지 엔드포인트를 게시하세요.

HTTP + WebSocket

통합 및 운영

인바운드 웹훅은 다른 애플리케이션에서 작업을 가져옵니다. HTTP API와 실시간 WebSocket 이벤트가 내장 제어판과 외부 운영 도구를 지원합니다

현재 경계: 소스는 AWP 인터페이스 아래에 agent-message 경로를 노출합니다. 페이지는 별도로 검증된 완전한 A2A 서버 인터페이스나 프로덕션 AWP 커머스 구현을 주장하지 않습니다.

거버넌스

에이전트가 가시 경계 내에서 작업할 공간 제공

에이전트 자율성은 구성된 운영 결정이어야 합니다. ADK Gateway는 요청을 전달하는 동일한 실행 경로에 신원, 권한, 한계 및 증거를 배치합니다.

01

아이덴티티

페어링, 허용 목록, 다중 사용자 세션, JWT/JWKS 및 역할 매핑은 누가 요청을 하는지 답합니다.

02

권한

에이전트별 허용 및 거부 규칙과 도구 승인으로 사람이거나 에이전트가 사용할 수 있는 기능을 결정합니다.

03

제한 사항

속도 제한, 요청 시간 초과, 취소, 제한된 도구 루프 및 상태 정책으로 작업 지속 시간을 제한합니다.

04

증거

감사 이벤트, 로그, 메트릭, 작업 기록, 도구 결과 및 상태 기록이 운영 기록을 제공합니다.

배포

게이트웨이가 실행될 위치 선택

개발자 워크스테이션, 내부 서버 또는 컨테이너가 동일한 게이트웨이 형태를 실행할 수 있습니다. 세션 저장소는 로컬 실험을 위해 메모리에 유지하거나 배포된 시스템에서는 SQLite, PostgreSQL, Redis 또는 Firestore로 이동할 수 있습니다.

01

단일 바이너리

Rust 서비스는 컴파일된 React 제어판을 내장합니다. 실행 파일 하나를 설치하거나 복사하고 구성 파일을 그 옆에 유지하세요.

02

컨테이너

저장소에는 컨테이너 배포를 위한 Dockerfile과 문서화된 볼륨 및 포트 계약이 포함되어 있습니다.

03

Linux 서비스

systemd 유닛은 부팅 시작, 재시작 정책, 준비 상태, 로그 및 운영자 소유 환경 파일을 지원합니다.

04

macOS 서비스

launchd 정의가 개발자 및 워크스테이션 에이전트를 위한 지속적인 로컬 게이트웨이를 실행합니다.

마이그레이션 및 검증

오늘 검증된 것은 무엇인가요?

이 페이지의 제품 기능은 로컬 Gateway 소스, 구성, 문서 및 테스트 스위트에서 가져옵니다. ADK-Rust v2 마이그레이션은 이제 라이브러리, 속성, 통합, 생성 에이전트 및 제어판 검증을 통과했습니다.

검증된 소스

게이트웨이 제품 아키텍처

채널 어댑터, 메시지 라우팅, 에이전트 레지스트리, 프로세스 수명 주기, 세션, 메모리, RAG, 예약 작업, 도구 승인, 접근 제어, 제어판 경로, AWP, MCP, ACP 통합, 배포 자산 및 테스트가 검토된 저장소에 존재합니다.

테스트 검증됨

로컬 ADK-Rust v2 마이그레이션

모든 ADK 종속성은 로컬 2.0 작업 공간으로 해결됩니다. Rust 2024 및 Rust 1.95는 모든 대상과 기능에서 컴파일됩니다. 845개의 라이브러리 테스트, 276개의 독립 속성 및 통합 테스트, 81개의 제어판 테스트가 모두 통과합니다.

출시된 릴리스

crates.io는 여전히 v1 유지

검증된 v2 상태는 현재 로컬 소스 마이그레이션이며, 게시된 adk-gateway v2 크레이트가 아닙니다. 설치 안내는 소스 체크아웃과 crates.io v1 릴리스를 계속 구분해야 합니다.

운영자 검증

자격 증명 및 배포된 동작

모든 메시징 제공자, 모델 제공자, 외부 MCP 서버, 영구 백엔드, 신원 제공자 및 프로덕션 배포는 여전히 운영자의 자격 증명, 인프라 및 보안 검토가 필요합니다.

명시적 제한

실험적 인터페이스

멀티 에이전트 코드 생성은 여전히 자리 표시자 A2A 엔드포인트를 문서화하며, AWP 상거래는 완전한 거래 시스템으로 선언되었지만 구현되지 않았습니다. 둘 다 여기서 프로덕션 준비 상태로 제시되지 않습니다.

소싱 검토: 모든 ADK 종속성은 로컬 v2.0.0 작업 공간으로 해결되며, 프로젝트는 MSRV 1.94를 사용하는 Rust 2024를 대상으로 하고, 모든 대상/모든 기능 컴파일이 통과됩니다. 검증은 845개의 라이브러리 테스트, 276개의 독립 속성 및 통합 테스트, 81개의 제어판 테스트를 통과하며, crates.io는 계속해서 v1 릴리스를 게시합니다.

ADK Gateway는 웹사이트 호스팅 서비스가 아닌 소스 기반 소프트웨어로 제공됩니다. 로컬 v2 마이그레이션이 검증되었으며, crates.io는 여전히 v1을 유지합니다. 메시징 채널, 모델 제공자, 외부 MCP 도구, 영구 백엔드 및 프로덕션 보안은 운영자 자격 증명과 배포 구성에 의존하며, 실험적 코드 생성 및 AWP 상거래는 소스 문서에서 명시적으로 제한됩니다.

운영 계층 빌드

하나의 채널 연결. 하나의 요청 라우팅. 모든 결정을 가시적으로 유지.

검증된 v2 소스에서 시작하세요. 저장소에는 게이트웨이, 내장 제어판, 구성 참조, 채널 가이드, 배포 자산 및 전체 시스템 이해와 운영에 필요한 테스트 스위트가 포함되어 있습니다.