생성형 AI 에이전트 개발, Google ADK로 더 쉽게!
생성형 AI의 가장 흔한 활용 사례 중 하나는 사용자가 자연어 대화를 통해 특정 작업을 완료할 수 있도록 돕는 AI 에이전트 개발입니다. 하지만 기존 상용 모델을 활용하더라도 AI 에이전트를 만드는 것은 결코 쉬운 일이 아닙니다. 이러한 어려움을 해결하기 위해 구글은 파이썬과 자바를 위한 라이브러리인 ‘에이전트 개발 키트(ADK)’를 출시했습니다.
Google ADK란 무엇인가?
구글 에이전트 개발 키트(ADK)는 AI 에이전트 개발 과정에서 발생하는 번거로운 작업을 자동화하여 개발 생산성을 높이는 것을 목표로 합니다. ADK는 간단한 작업부터 여러 단계로 이루어진 복잡한 워크플로우까지 다양한 에이전트 개발을 지원합니다. 구글의 제미나이와 같은 자체 AI 모델과의 호환성은 물론, API를 통해 제공되는 대부분의 AI 모델에도 쉽게 적용할 수 있도록 설계되었습니다.
ADK 설정 및 기본 에이전트 개발
ADK는 파이썬과 자바를 모두 지원하며, 여기서는 파이썬 버전을 중심으로 설명하겠습니다. 먼저, 새로운 가상 환경을 만들고 `pip install google-adk` 명령어를 사용하여 ADK를 설치합니다. 설치 후에는 AI 서비스 API 키를 저장할 `.env` 파일을 프로젝트 루트에 생성합니다. ADK는 `.env` 파일을 자동으로 감지하여 사용하므로 별도의 코드 작성이 필요하지 않습니다.
가장 기본적인 AI 에이전트를 만들어 보겠습니다. 이 에이전트는 인터넷 검색을 통해 질문에 대한 답변을 찾는 역할을 합니다. 프로젝트 디렉터리 안에 `searchagent`라는 하위 디렉토리를 만들고, 그 안에 `__init__.py`와 `agent.py` 두 개의 파일을 생성합니다. `agent.py` 파일에는 에이전트의 이름, 설명, 사용할 모델, 명령어, 그리고 사용할 툴(예: 구글 검색)을 정의합니다.
각 에이전트는 프로젝트 내에서 독립적으로 실행되거나 상호 작용할 수 있도록 별도의 디렉터리 안에 구성됩니다. `__init__.py` 파일은 에이전트 코드를 가져와 해당 디렉터리를 에이전트로 인식하게 합니다. 웹 인터페이스를 통해 로컬에서 에이전트를 실행하려면 명령줄에서 `adk web` 명령어를 사용합니다. 웹 브라우저에서 `http://localhost:8000`으로 접속하면 ADK 웹 인터페이스를 통해 에이전트와 상호 작용할 수 있습니다.
다중 에이전트 아키텍처 개발
ADK의 강력한 기능 중 하나는 여러 에이전트가 동시에 참여하는 시스템을 구축할 수 있다는 점입니다. 에이전트 간의 상호 작용은 워크플로우 에이전트를 통해 구성할 수 있습니다. 워크플로우 에이전트는 AI 에이전트의 작업을 시작하고 실행을 관리하는 역할을 수행합니다. 워크플로우 에이전트는 파이썬 또는 자바로 작성된 프로그램으로, 에이전트의 기능을 확장하는 데 중요한 역할을 합니다.
워크플로우 에이전트는 순차적, 루프, 병렬 에이전트 등 다양한 형태로 구현될 수 있습니다. 순차적 에이전트는 사용자 입력을 여러 LLM 또는 워크플로우에 순차적으로 제공하고 결과를 처리합니다. 루프 에이전트는 특정 조건이 충족될 때까지 LLM 또는 워크플로우에 입력을 반복적으로 제공합니다. 병렬 에이전트는 여러 에이전트의 작업을 동시에 실행하고 모든 작업이 완료될 때까지 결과를 반환하지 않습니다.
ADK에 포함된 툴 활용
ADK의 에이전트는 툴을 사용하여 작업 방식을 개선할 수 있습니다. 툴은 파이썬 또는 자바 코드로 작성된 기능으로, LLM 없이도 URL에서 데이터를 가져오거나 데이터베이스에서 정보를 검색하는 등의 작업을 수행할 수 있습니다. ADK 툴은 함수 툴, 기본 제공 툴, 서드파티 툴의 세 가지 범주로 나눌 수 있습니다. 기존 비즈니스 로직을 ADK 기반 에이전트에 연결하려면 에이전트 코드에 직접 로직을 복사하는 대신 툴을 사용하는 것이 좋습니다.
ADK 예제 프로젝트 살펴보기
ADK를 처음 시작하는 경우, 기존의 다양한 예제 프로젝트를 살펴보고 자신의 요구 사항에 맞게 수정하는 것이 좋은 방법입니다. 예를 들어, LLM 감사자 예제는 두 개의 에이전트로 구성된 자동화된 사실 확인 시스템을 보여줍니다. 고객 서비스 예제는 다양한 백엔드 서비스와 연결되어 고객 서비스 작업을 수행하는 에이전트를 보여줍니다. 이미지 채점 에이전트는 이미지를 생성하고 평가하는 루프 에이전트의 예시입니다.
결론
구글 ADK는 AI 에이전트 개발을 간소화하고 생산성을 높이는 데 유용한 도구입니다. 다양한 기능과 툴을 제공하며, 여러 에이전트를 연동하여 복잡한 워크플로우를 구축할 수 있도록 지원합니다. ADK를 활용하여 자신만의 강력한 AI 에이전트를 개발해 보세요.