게이트웨이 없이
- 각 채널은 자체 에이전트 통합이 필요합니다
- 세션과 신원은 진입점 간에 이동합니다
- 도구 및 권한은 여러 위치에서 구성됩니다
- 운영자는 전체 에이전트 시스템을 볼 수 없습니다
다중 채널 에이전트 운영
ADK Gateway는 메시징 채널, 웹 애플리케이션 및 기타 에이전트를 ADK-Rust 에이전트 팀에 연결합니다. 각 요청을 라우팅하고 올바른 컨텍스트를 복원하며 운영 정책을 적용하고 개발자가 시스템을 한 곳에서 보고 제어할 수 있게 합니다.
사람과 시스템
아이덴티티 · 라우터 · 러너
에이전트 팀
왜 게이트웨이가 필요한가요?
ADK-Rust 에이전트는 추론하고, 도구를 호출하며, 이벤트를 스트리밍할 수 있습니다. 실제 배포에서는 실용적인 질문에도 답해야 합니다: 요청은 어디로 도착하나요? 어떤 에이전트가 받아야 하나요? 누구의 세션을 복원해야 하나요? 그 에이전트가 할 수 있는 일은 무엇인가요?
ADK Gateway는 공유 운영 계층을 제공합니다. Telegram, Slack, WhatsApp, Discord, Matrix, 웹훅 및 에이전트 대상 웹 요청이 어댑터를 통해 들어옵니다. 게이트웨이는 이를 하나의 메시지 형태로 변환하고 접근 규칙을 적용하며 시스템 또는 전문 에이전트로 라우팅하고 진행 상황을 원래 채널을 통해 전달합니다.
게이트웨이는 모든 에이전트를 하나의 어시스턴트로 통합하지 않습니다. 개발자는 연구, 지원, 운영, 코딩 에이전트를 서로 다른 모델, 도구, 작업 공간, 권한 및 채널 바인딩으로 분리하여 하나의 제어면을 통해 운영할 수 있습니다.
아키텍처
왼쪽에서 오른쪽으로 아키텍처를 읽으세요. 요청은 사람 또는 에이전트 채널을 통해 들어옵니다. 신원과 라우팅이 위치를 결정합니다. ADK-Rust는 선택된 에이전트를 자체 상태와 기능으로 실행합니다. 제어 평면은 대화에 참여하지 않고 모든 계층을 관찰합니다.
진입점
신뢰 엣지
게이트웨이 런타임
에이전트 팀
기능
운영자 제어 평면
전체 요청 경로를 구성, 승인, 관찰, 복구 및 감사합니다.
단일 요청 추적
모든 지원 채널에 동일한 흐름이 적용됩니다. 어댑터와 전달 형식만 변경되며, 라우팅, 세션, 에이전트 실행, 정책 및 증거는 공유됩니다.
텔레그램, 슬랙, WhatsApp, 디스코드, 매트릭스, 웹훅은 서로 다른 형식으로 도착합니다. 각 어댑터는 이를 동일한 인바운드 메시지 계약으로 변환합니다.
페어링 규칙, 허용 목록, 그룹 멘션 정책, 다중 사용자 신원, 속도 제한 및 선택적 JWT 검사가 요청이 에이전트에 도달하기 전에 실행됩니다.
라우팅은 채널, 계정, 개인 또는 그룹을 확인합니다. 가장 구체적인 매칭이 우선하며, 시스템 에이전트가 최종 대체자입니다.
러너는 에이전트 실행 시작 전에 올바른 세션, 사용자 컨텍스트, 메모리, 취소 상태 및 모델 폴백 체인을 연결합니다.
선택된 에이전트는 Rust 도구, MCP 서버, 지식, 워크플로우 또는 승인된 ACP 코딩 에이전트를 사용할 수 있습니다. 역할 정책은 호출 가능한 항목을 제한합니다.
타이핑된 이벤트는 타이핑 표시기, 진행 메시지, 이미지 또는 최종 응답이 됩니다. 메트릭, 로그, 작업 기록 및 감사 이벤트가 발생한 일을 설명합니다.
Rust에서의 라우팅
개발자는 에이전트를 전체 채널, 해당 채널의 한 계정 또는 특정 개인이나 그룹에 바인딩할 수 있습니다. 라우터는 가장 구체적인 규칙을 먼저 확인하고 예측 가능하게 대체 규칙으로 넘어갑니다.
예제는 가독성을 위해 소스 구현을 압축했습니다. 저장소는 정확한 계정 수준, 채널 수준, 레거시 및 기본 라우팅 동작을 테스트합니다.
/// 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)
}{
"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.
모델 공급자를 선택하고, 자격 증명을 저장하며, 채널 계정을 연결하고, 게이트웨이를 사용자에게 열기 전에 검증하세요.
전문가 생성, 도구 및 채널 할당, 프로세스 시작 또는 중지, 작업 위임 가능 에이전트 정의.
민감한 도구 호출 검토, 사용자 페어링, 세션 종료, 동의 검사 및 작업 중단이 필요할 때 개입합니다.
채널과 에이전트를 실시간으로 감시하고, 오류를 검사하며, 메모리를 검색하고, 실행 중인 게이트웨이 상태를 추적합니다.
프로토콜 경계 열기
채널은 게이트웨이를 사람과 연결합니다. 프로토콜은 기능 및 다른 소프트웨어와 연결합니다. 각 경계는 명확한 역할이 있어 개발자가 전체 런타임을 재설계하지 않고도 하나를 추가할 수 있습니다.
MCP
브라우저, 컴퓨터, 미디어, 데이터 및 비즈니스 시스템용 기능 서버 연결. 게이트웨이는 모든 통합을 바이너리에 포함하지 않고 구성된 MCP 서버를 추가, 나열 및 제거할 수 있습니다.
ACP
감독 경계 내에서 지원되는 코딩 에이전트 프로세스를 실행합니다. 작업 공간 정책, 권한 요청, 진행 상황, 비용, 대기열 상태 및 작업 기록이 게이트웨이에 표시됩니다.
AWP
게이트웨이와 작업하는 방법을 다른 소프트웨어가 이해할 수 있도록 발견, 기능, 상태, 동의, 구독 및 에이전트 메시지 엔드포인트를 게시하세요.
HTTP + WebSocket
인바운드 웹훅은 다른 애플리케이션에서 작업을 가져옵니다. HTTP API와 실시간 WebSocket 이벤트가 내장 제어판과 외부 운영 도구를 지원합니다
현재 경계: 소스는 AWP 인터페이스 아래에 agent-message 경로를 노출합니다. 페이지는 별도로 검증된 완전한 A2A 서버 인터페이스나 프로덕션 AWP 커머스 구현을 주장하지 않습니다.
거버넌스
에이전트 자율성은 구성된 운영 결정이어야 합니다. ADK Gateway는 요청을 전달하는 동일한 실행 경로에 신원, 권한, 한계 및 증거를 배치합니다.
페어링, 허용 목록, 다중 사용자 세션, JWT/JWKS 및 역할 매핑은 누가 요청을 하는지 답합니다.
에이전트별 허용 및 거부 규칙과 도구 승인으로 사람이거나 에이전트가 사용할 수 있는 기능을 결정합니다.
속도 제한, 요청 시간 초과, 취소, 제한된 도구 루프 및 상태 정책으로 작업 지속 시간을 제한합니다.
감사 이벤트, 로그, 메트릭, 작업 기록, 도구 결과 및 상태 기록이 운영 기록을 제공합니다.
배포
개발자 워크스테이션, 내부 서버 또는 컨테이너가 동일한 게이트웨이 형태를 실행할 수 있습니다. 세션 저장소는 로컬 실험을 위해 메모리에 유지하거나 배포된 시스템에서는 SQLite, PostgreSQL, Redis 또는 Firestore로 이동할 수 있습니다.
Rust 서비스는 컴파일된 React 제어판을 내장합니다. 실행 파일 하나를 설치하거나 복사하고 구성 파일을 그 옆에 유지하세요.
저장소에는 컨테이너 배포를 위한 Dockerfile과 문서화된 볼륨 및 포트 계약이 포함되어 있습니다.
systemd 유닛은 부팅 시작, 재시작 정책, 준비 상태, 로그 및 운영자 소유 환경 파일을 지원합니다.
launchd 정의가 개발자 및 워크스테이션 에이전트를 위한 지속적인 로컬 게이트웨이를 실행합니다.
마이그레이션 및 검증
이 페이지의 제품 기능은 로컬 Gateway 소스, 구성, 문서 및 테스트 스위트에서 가져옵니다. ADK-Rust v2 마이그레이션은 이제 라이브러리, 속성, 통합, 생성 에이전트 및 제어판 검증을 통과했습니다.
채널 어댑터, 메시지 라우팅, 에이전트 레지스트리, 프로세스 수명 주기, 세션, 메모리, RAG, 예약 작업, 도구 승인, 접근 제어, 제어판 경로, AWP, MCP, ACP 통합, 배포 자산 및 테스트가 검토된 저장소에 존재합니다.
모든 ADK 종속성은 로컬 2.0 작업 공간으로 해결됩니다. Rust 2024 및 Rust 1.95는 모든 대상과 기능에서 컴파일됩니다. 845개의 라이브러리 테스트, 276개의 독립 속성 및 통합 테스트, 81개의 제어판 테스트가 모두 통과합니다.
검증된 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 소스에서 시작하세요. 저장소에는 게이트웨이, 내장 제어판, 구성 참조, 채널 가이드, 배포 자산 및 전체 시스템 이해와 운영에 필요한 테스트 스위트가 포함되어 있습니다.