콘텐츠로 이동

에이전트

ADK에서 지원PythonTypeScriptGoJava

Agent Development Kit(ADK)에서 에이전트(Agent) 또는 LlmAgent는 특정 목표를 달성하기 위해 자율적으로 동작하도록 설계된 독립 실행 단위입니다. 에이전트는 작업을 수행하고, 사용자와 상호작용하며, 외부 도구를 활용하고, 다른 에이전트와 협력할 수 있습니다. Agent의 기본 구성 요소는 인공지능(AI) 모델, 작업 지침, 그리고 선택적으로 에이전트가 사용할 도구 집합입니다. 에이전트 작업과 복잡도가 커지면 ADK 개발 프레임워크를 사용해 이를 워크플로로 확장할 수 있으며, 워크플로를 통해 여러 에이전트와 코드 실행 작업을 결합하고 오케스트레이션할 수 있습니다.

ADK의 에이전트와 워크플로

그림 1. ADK의 단순 에이전트와 에이전트 워크플로

모델, 지침, 도구만으로 에이전트를 만드는 것은 대부분의 개발자에게 좋은 출발점입니다. 에이전트의 기능과 복잡도가 커질수록, 동작을 더 잘 관리하고 모델의 동작 컨텍스트 한계 안에서 작업하며 코드를 모듈화해 유지보수하기 쉽게 만들기 위해 에이전트 애플리케이션의 기능을 나누고 싶어질 가능성이 높습니다. ADK 에이전트 워크플로 아키텍처를 사용하면 에이전트를 모놀리식 구조에서 더 모듈화된 코드와 프로젝트 구조로 발전시킬 수 있습니다.

단일 에이전트에서 워크플로로 확장하기

ADK에서는 에이전트가 둘 이상이거나 실행 가능한 노드(Node)가 둘 이상인 에이전트 애플리케이션을 워크플로로 간주합니다. ADK는 단일 에이전트 아키텍처에서 다중 에이전트 또는 그래프 기반 워크플로 아키텍처로 이동해야 하는 엄격한 요구 사항을 부과하지 않습니다. 프로젝트의 필요에 따라, 또는 다음과 같은 단일 에이전트 방식의 한계를 발견했을 때 변경 시점을 결정할 수 있습니다.

  • 지침 수행 성능: 여러 단계로 이루어진 지침 집합이 일정 길이나 복잡도를 넘어서면 단일 에이전트가 모든 지침을 안정적으로 완료하지 못하거나, 요구되는 품질 또는 속도로 수행하지 못할 수 있습니다.
  • 컨텍스트 한계: 에이전트 작업 수행에 필요한 데이터의 양이 사용 중인 AI 모델의 컨텍스트 윈도 한계를 초과한다는 점을 발견할 수 있습니다.
  • 에이전트 코드 모듈성: 에이전트 코드의 복잡성과 구성이 커지면 코드를 더 관리하기 쉽게 만들거나 다른 에이전트 프로젝트에서 재사용할 수 있도록 에이전트 기능을 분리하고 싶어질 수 있습니다.
  • 결정적 작업과 비결정적 작업의 혼합: 더 복잡한 문제를 해결하는 에이전트를 구축하다 보면 전체 작업 실행을 비결정적 AI 모델에만 맡기기보다, AI 모델의 비결정적 기능과 결정적 코드를 서로 엮는 에이전트를 설계하고 구축하고 싶어질 수 있습니다. 자세한 내용은 그래프 기반 워크플로를 참고하세요.

ADK 워크플로와 에이전트 프로젝트 아키텍처에 대한 자세한 내용은 워크플로 섹션을 참고하세요.

에이전트 기능

ADK 에이전트의 기능은 다음 기능을 사용해 확장하고 보강할 수 있습니다.

  • AI 모델: Google 및 기타 제공업체의 생성형 AI 모델과 통합하여 에이전트의 기반 지능을 교체합니다.

  • 사전 구축 도구와 통합: 웹사이트, MCP 도구, 애플리케이션, 데이터베이스, 프로그래밍 인터페이스 등 세상과 상호작용할 수 있도록 다양한 도구, 플러그인 및 기타 통합을 에이전트에 제공합니다.

  • 커스텀 도구: 특정 문제를 정밀하고 제어 가능하게 해결하기 위한 작업별 도구를 직접 만듭니다.

  • 아티팩트: 대화 수명주기를 넘어 존재하는 파일, 코드, 문서 같은 지속적인 출력을 에이전트가 생성하고 관리할 수 있게 합니다.

  • 스킬: 사전 구축 또는 커스텀 Agent Skills를 사용해 AI 컨텍스트 윈도 한계 안에서 효율적으로 동작하는 방식으로 에이전트 기능을 확장합니다.

  • 플러그인: 복잡한 사전 패키징 동작과 서드파티 서비스를 에이전트 워크플로에 직접 통합합니다.

  • 콜백: 에이전트 실행 수명주기 중 특정 이벤트에 연결해 핵심 에이전트 로직을 바꾸지 않고도 로깅, 모니터링 또는 커스텀 부수 효과를 추가합니다.

다음 단계

ADK에서 사용할 수 있는 여러 에이전트 유형의 개요를 살펴보았으니, 이제 각 유형의 작동 방식과 효과적인 사용 방법을 더 자세히 알아보세요.

  • 단순 에이전트: 지침 설정, 도구 제공, 계획 및 코드 실행 같은 고급 기능 활성화를 포함해 AI 모델 기반 에이전트를 구성하는 방법을 살펴봅니다.
  • 그래프 워크플로: 일반 언어 지침에서 AI 추론과 결정적 코드 로직을 결합하는 조합 가능하고 신뢰할 수 있는 실행 경로로 에이전트를 발전시키는 방법을 알아봅니다.
  • 다중 에이전트 워크플로: 여러 에이전트, 실행 노드, 다양한 작업 실행 제어 메커니즘을 결합해 프로젝트 요구에 맞는 에이전트 애플리케이션을 구축하는 방법을 살펴봅니다.