AI 에이전트 오케스트레이션은 AI 에이전트가 작업을 수행하는 과정에서 여러 에이전트와 도구, 작업 흐름을 효과적으로 구성하는 방식을 말한다.

오케스트레이션은 조율, 조정이라는 뜻을 가지고 있다. 본래 오케스트라 지휘자가 여러 악기의 소리를 조화롭게 맞추는 일에서 온 말이다. 그러니 AI 에이전트 오케스트레이션이란, 여러 AI 에이전트의 역할과 작업 순서, 상호작용 등을 조율하여 하나의 목표를 수행하도록 만드는 것이다.

AI 에이전트 오케스트레이션은 접근 방식을 말한다. 그래서 사용 중인 AI 에이전트들을 메인 에이전트와 서브 에이전트들로 나눈 다음, 메인 에이전트에게 조율자 역할을 맡기는 방식이 가능하다. 아키텍처를 직접 구현할 수 있는 것이다.

별도의 프레임워크로 에이전트 오케스트레이션을 구현할 수도 있다. 대표적으로 LangGraph가 있는데, LLM 애플리케이션 개발에 특화된 LangChain과 같은 생태계에 속한 프레임워크다.

(출처: LangGraph 공식 블로그)

어느 방식을 사용하든 중요한 건 여러 AI 에이전트를 사용할 때 효율적으로 목표에 달성할 수 있도록 작업 흐름을 구성한다는 점이다.

IT 기술에서 오케스트레이션이란 컨셉은 새로운 것이 아니다. 우리도 이미 잘 알고 있기도 하다. 바로, 컨테이너 오케스트레이션이다. Kubernetes가 대표적인 컨테이너 오케스트레이션 플랫폼이다.


오케스트레이션은 왜 등장했나

AI 에이전트 오케스트레이션이나 컨테이너 오케스트레이션이나 그 대상만 다를 뿐 해결하려는 문제는 비슷하다. 바로, 수많은 구성요소의 역할과 작업 흐름을 조율하고 관리하는 것이다.

Kubernetes를 사용할 때를 떠올려보자. 컨테이너 하나를 실행하는 것만으로 충분하다면 굳이 Kubernetes를 쓸 필요가 없다. Docker 같은 도구로 컨테이너만 실행하면 그만이니까.

하지만 조직에서 개발하고 관리하는 컨테이너가 늘어나면 이야기가 달라진다. 어떤 컨테이너를 어느 노드에서 실행할지, 장애가 발생하면 어떻게 다시 실행할지, 필요한 만큼 컨테이너를 어떻게 늘리고 줄일지 등을 사람이 하나씩 관리하기란 어려운 일이다.

그래서 Kubernetes는 사용자가 원하는 상태를 선언하면 그 상태에 맞게 컨테이너를 배치하고 관리하는 역할을 맡는다.

AI 에이전트도 비슷하다. 에이전트 하나에 간단한 작업을 맡긴다면 오케스트레이션은 필요치 않을 수 있다. 하지만 여러 에이전트가 각자의 역할을 수행하고 서로 결과를 주고받으며 작업을 수행하기 시작하면 어떤 에이전트가 언제 무엇을 해야 하는지 정의하고 관리할 필요가 생긴다.

결국 오케스트레이션은 구성요소의 수와 복잡성이 사람이 직접 관리하기 어려운 수준으로 증가했을 때 등장하는 방식이라고 볼 수 있다.


그럼에도 명백한 차이는 있다

컨테이너 오케스트레이션에서는 최종 결과, 그러니까 원하는 상태를 사용자가 미리 정의할 수 있다고 했다. Kubernetes를 예로 들면 ‘Python 컨테이너 이미지로 실행되는 Pod가 3개 있어야 한다’ 같이 말이다.

사용자가 정의한 상태를 기준으로 Kubernetes는 실제 컨테이너 상태를 계속 확인하고, 둘 사이에 차이가 있다면 필요한 작업을 수행한다. Pod 하나가 장애로 종료되었다면 다시 생성하고, 3개보다 많아졌다면 불필요한 Pod를 정리할 수도 있다. 즉, 무엇이 되어야 하는지가 명확히 정의된다.

AI 에이전트 오케스트레이션은 다르다.

사용자가 목표를 정의할 수는 있다. ‘고객의 환불 요청을 처리해줘’처럼 말이다. 하지만 AI 에이전트가 그 목표를 달성하기 위해 어떤 과정을 거칠지는 미리 정해져 있지 않을 수도 있다.

예를 들어 에이전트가 아래 흐름으로 판단한다고 해보자.

  1. 고객 정보를 확인한다
  2. 환불 정책을 확인한다
  3. 환불 조건을 충족한다
  4. 환불을 처리한다
  5. 고객에게 결과를 알려준다

하지만 위 과정에서 고객 정보가 부족하다면 에이전트가 추가 정보를 요청할 수도 있고, 환불 정책이 복잡하다면 다른 에이전트에게 판단을 부탁할 수도 있다. 처리 결과가 예상과 다르다면 다시 다른 작업을 수행할 수도 있는 법이다.

목표는 동일하더라도 목표에 도달하는 과정은 경우에 따라 언제든 달라질 수 있는 것이다.

그래서 나는 두 개념의 차이를 이렇게 이해할 수 있었다.

컨테이너 오케스트레이션은 원하는 상태를 유지하기 위한 조율이라면, AI 에이전트 오케스트레이션은 목표를 달성하기 위한 작업 과정을 조율하는 데에 더 가깝다.


맺음말

처음 AI 에이전트 오케스트레이션을 접했을 때 컨테이너 오케스트레이션과 다르지 않은 개념이겠거니 싶었다. 실제로 비슷한 점도 많았다.

하지만 둘의 차이를 알아가면서 오히려 흥미로운 점을 발견했다. Kubernetes를 이해할 때 익혔던 오케스트레이션이라는 개념이 AI 에이전트를 이해하는 데에도 하나의 좋은 출발점이 되어줬다는 것이다.

새로운 개념을 마주쳤을 때 효율적으로 이해하는 방법은 이미 알고 있던 비슷한 개념과 비교하고 그 차이점을 인지하는 것 아닐까 싶다.


함께 읽어보면 좋은 아티클