워크플로: 멀티 에이전트, 멀티 노드 애플리케이션¶
에이전트 애플리케이션이 복잡해질수록 모든 로직을 하나의 거대한 에이전트로 구성하면 개발, 평가, 유지 관리가 어려워질 수 있습니다. Agent Development Kit(ADK)는 여러 에이전트와 실행 가능한 노드를 조합해 정교한 에이전트 애플리케이션을 에이전트 워크플로로 구성할 수 있도록 지원합니다. 여러 요소로 에이전트를 구조화하면 애플리케이션이 더 복잡하고 정교해질 때 다음과 같은 이점을 얻을 수 있습니다.
- 예측 가능성: 템플릿화된 로직이나 그래프 기반 실행 메커니즘을 사용해 더 통제된 작업 실행 흐름을 만들 수 있습니다.
- 신뢰성: 작업이 필요한 순서나 패턴에 따라 일관되게 실행되도록 보장할 수 있습니다.
- 구조화: 에이전트 요소를 조합하고, 작업 책임을 분리하고, 특정 작업의 데이터 컨텍스트를 제한해 복잡한 프로세스를 더 관리하기 쉽게 만들 수 있습니다.
워크플로는 다음 다이어그램처럼 여러 구조와 아키텍처로 만들 수 있습니다.
그림 1. ADK 워크플로는 유연한 실행 경로를 가질 수도 있고, 구체적이고 템플릿화된 실행 패턴을 따를 수도 있습니다.
다음은 ADK로 에이전트 애플리케이션의 워크플로를 만드는 여러 방법에 대한 빠른 안내입니다.
-
그래프 기반 워크플로: (ADK 2.0 이상) AI 기반 에이전트와 결정론적 실행 노드를 모두 유연한 실행 그래프로 조합할 수 있습니다. 이 그래프에는 의사결정 분기도 포함할 수 있습니다.
-
동적 워크플로: (ADK 2.0 이상) 완전한 프로그래밍 코드 로직을 사용해 AI 기반 에이전트와 결정론적 실행 노드를 조합할 수 있습니다.
-
협업 워크플로: (ADK 2.0 이상) 하나의 에이전트가 동적 코디네이터 역할을 수행하며 지정된 서브 에이전트 집합과 함께 작업을 완료할 수 있습니다.
-
템플릿 워크플로: 이러한 사전 빌드 워크플로는 BaseAgent에서 확장되며 시퀀스, 루프, 병렬 실행을 포함한 고정 실행 로직 구조를 제공합니다.
각 ADK 워크플로 아키텍처에 대한 자세한 내용은 위 링크를 참고하세요.
실험 기능: 에이전트 라우팅
에이전트 라우팅은 런타임에 라우터 함수를 사용해 여러 에이전트 중 하나를 선택할 수 있게 해 주는 실험 기능입니다. 폴백, A/B 테스트, 자동 라우팅에 사용할 수 있습니다. 자세한 내용은 에이전트 라우팅을 참고하세요.