오케스트레이션과 오케스트레이터
오케스트레이션
어떤 순서와 조건으로 진행할까?오케스트레이터
그 흐름에 따라 작업을 연결하는 도구오케스트레이션은 AI가 목표를 수행할 때 어떤 작업과 도구를 어떤 순서로 쓰고, 결과에 따라 다음에 무엇을 하며, 언제 멈출지 조율하는 방식입니다. 하나의 에이전트가 도구를 여러 번 사용하는 흐름에도, 여러 에이전트가 결과를 주고받는 흐름에도 적용할 수 있습니다.
오케스트레이터는 이런 흐름을 실행하거나 관리하도록 만든 프로그램 또는 시스템입니다. 사용자가 여러 작업을 살피고 지시하는 화면일 수도 있고, 코드나 에이전트가 다음 작업을 결정하는 구성 요소일 수도 있습니다. 실제 역할과 자동화 범위는 구현과 제품마다 다릅니다. OpenAI Agents SDK · 에이전트 흐름 조율
예를 들어 “검색 코드를 고친 뒤 테스트하고, 실패하면 두 번까지 다시 시도한다”는 조건과 순서를 정하는 것이 오케스트레이션입니다. 이 흐름을 실행하고 작업 상태와 결과를 관리하는 구성 요소가 오케스트레이터입니다.
1. AI로 일을 더 잘하고 싶을 때
개발자는 AI에게 “기존 프로그램에 검색 기능을 추가해 줘”라고 요청할 수 있습니다. AI는 코드를 살펴보고 필요한 파일을 수정하고, 사용할 수 있는 도구가 있다면 테스트도 실행합니다.
기능이 커질수록 확인할 일이 늘어납니다. 검색창이 들어갈 화면을 찾아야 하고, 검색 대상 데이터가 어떻게 저장되어 있는지 확인해야 합니다. 기존 검색 관련 코드와 테스트가 있는지도 살펴봐야 합니다. 수정이 끝나면 검색 결과가 예상대로 나오는지 검증해야 합니다.
한 에이전트에게 전체를 맡길 수 있습니다. 이때 사용자는 어떤 파일을 읽었고, 무엇을 바꿨고, 어떤 검사를 했는지 결과를 확인합니다.
독립적으로 확인할 수 있는 부분이 여럿이라면 여러 에이전트에게 동시에 맡기는 방법도 있습니다. 예를 들어 한쪽은 화면 코드를, 다른 쪽은 데이터 형식을 살펴볼 수 있습니다. 각자의 조사 결과를 받아 함께 검토한 후 수정에 들어갑니다.
여러 작업을 다룰 때 사용자가 바라는 것은 단순히 창을 많이 여는 일이 아닙니다. 어떤 작업이 진행 중인지 알고, 필요한 결과가 다음 작업에 전달되며, 최종적으로 더 잘 검토된 결과를 얻고 싶습니다.
2. 하나의 목표를 여러 작업으로 나누기
목표와 작업
목표는 사용자가 이루고 싶은 결과입니다. 검색 기능이 동작하도록 만드는 것이 목표라면, 화면을 조사하고 데이터 형식을 확인하는 일은 그 목표를 이루기 위한 작업입니다.
작업을 나누기 전에 각 작업이 무엇을 받아야 하고 무엇을 돌려줘야 하는지 정합니다.
| 작업 | 살펴볼 것 | 다음에 전달할 결과 |
|---|---|---|
| 화면 조사 | 검색창이 들어갈 화면과 관련 코드 | 수정할 화면과 파일 위치 |
| 데이터 조사 | 검색 대상과 데이터가 전달되는 형식 | 필요한 데이터와 기존 처리 방식 |
| 테스트 조사 | 현재 테스트와 확인되지 않은 조건 | 수정 후 실행할 검사 목록 |
이 세 조사는 같은 코드베이스를 읽으며 독립적으로 시작할 수 있다는 가상의 예입니다. 각 작업의 결과를 받으면 수정 담당이 그 내용을 바탕으로 구현할 수 있습니다.
동시에 할 수 있는 일과 기다려야 하는 일
화면 코드 조사와 테스트 조사는 함께 시작할 수 있습니다. 반면 수정한 코드가 실제로 동작하는지 검증하는 일은 검증할 변경본이 준비되어야 시작할 수 있습니다.
이처럼 앞 작업의 결과가 있어야 다음 작업을 할 수 있는 관계를 의존 관계라고 합니다. 어떤 작업은 동시에 진행하고, 어떤 작업은 먼저 끝난 작업의 결과를 받아 이어서 진행합니다.
예시 흐름은 다음과 같습니다.
화면·데이터·테스트 조사 → 조사 결과 전달 → 코드 수정 → 수정본 검증 → 사람이 결과 확인
독립적인 작업을 나누면 함께 진행할 기회가 생깁니다. 실제로 걸리는 시간과 비용은 작업의 성격, 실행 환경, 모델, 사용량, 결과를 취합하고 검증하는 과정에 따라 달라집니다.
단계별 안내에서 검색 기능 작업 나누기와 결과 전달 따라가기3. 나눈 작업이 많아지면 사람이 확인할 것
세 작업을 따로 맡겼다면 사용자는 각 작업이 어디까지 됐는지 살펴봅니다.
- 화면 조사는 끝났는가?
- 데이터 조사는 아직 실행 중인가?
- 테스트 담당은 어떤 파일을 확인했는가?
- 수정 담당에게 어떤 조사 결과를 전달했는가?
- 결과가 서로 다르면 누가 다시 확인하는가?
작업이 열 개로 늘어나면 확인할 상태와 전달할 결과도 늘어납니다. 여러 창에 흩어진 내용을 사용자가 계속 기억하고 직접 전달한다면, 일 자체뿐 아니라 일을 관리하는 일도 많아집니다.
예를 들어 화면 조사가 끝났어도 데이터 조사가 진행 중이면, 수정 담당에게 어느 결과가 도착했는지 알아야 합니다. 테스트 조사가 실패했다면 무엇을 다시 요청해야 하는지도 확인해야 합니다.
상태가 한곳에 정리되면 사용자는 이미 끝난 작업을 찾고, 대기 중인 작업의 이유를 확인하고, 자신의 결정이 필요한 곳부터 살펴볼 수 있습니다.
단계별 안내에서 작업 수를 늘리고 확인이 필요한 상태 찾기작업 상태와 전달 문맥
작업 상태는 어느 단계가 완료됐고 무엇이 대기 중인지 나타냅니다. 문맥은 다음 담당이 일을 할 때 참고할 자료입니다. 예를 들어 수정 담당은 화면 조사 결과와 데이터 형식을 받아 코드를 고치고, 작업 화면에서는 그 담당이 실행 중인지 확인할 수 있습니다.
작업 기록을 남기면 중단 전 진행 상황을 확인하는 데 도움이 됩니다. 중단된 실행을 실제로 다시 이어갈 수 있는 범위는 저장된 정보와 해당 제품의 복구 기능에 따라 다릅니다.
4. AI 오케스트레이터가 하는 일
AI 코딩 에이전트 오케스트레이터는 코딩 에이전트에게 맡긴 작업을 연결하고, 실행 흐름과 상태, 결과를 관리하는 도구 또는 시스템입니다.
사람은 목표와 조건을 정합니다. 에이전트는 맡은 범위에서 파일을 읽고, 코드를 수정하거나 도구를 실행합니다. 오케스트레이터는 작업과 담당을 연결하고, 어느 작업이 어떤 결과를 기다리는지 기록하며, 필요한 결과를 다음 작업이나 사용자에게 전달하는 역할을 합니다.
구체적인 동작은 제품과 설정에 따라 다르지만, 사용자가 살펴볼 수 있는 기능은 다음과 같습니다.
작업과 담당을 연결합니다
“화면 조사”라는 작업이 어느 저장소를 대상으로 하고 어느 에이전트에게 맡겨졌는지 연결합니다. 사용자는 목표에 속한 작업들을 찾아볼 수 있습니다.
진행 상태를 보여줍니다
대기 중, 실행 중, 완료, 실패처럼 작업의 현재 상태를 구분할 수 있습니다. 사람이 추가 정보를 주거나 승인해야 한다면 해당 상태를 확인할 수 있습니다.
필요한 결과를 다음 작업으로 넘깁니다
화면 조사에서 발견한 파일 위치와 데이터 조사에서 확인한 형식을 수정 담당에게 전달할 수 있습니다. 앞 작업이 끝나야 할 수 있는 일을 식별하고 실행 순서를 관리할 수도 있습니다.
결과와 근거를 모읍니다
어떤 파일을 바꿨는지, 어떤 테스트를 실행했는지, 무엇이 실패했는지를 작업과 연결해 볼 수 있습니다. 사용자는 그 기록을 바탕으로 결과를 검토하고 다음 행동을 결정합니다.
사람이 개입할 수 있게 합니다
어떤 제품은 사람이 세션마다 직접 지시하도록 돕고, 어떤 제품은 상위 에이전트나 설정된 규칙에 작업 배정을 맡길 수 있습니다. 사용자는 제품과 설정이 제공하는 범위에서 작업을 살피고 추가 지시나 결정을 내립니다.
5. 직접 조율과 위임 조율
직접 조율
위임 조율
같은 검색 기능을 만드는 작업에서도 일을 정하고 다음 단계를 시작하는 주체는 달라질 수 있습니다.
사람이 직접 조율하는 경우
사용자가 화면 조사, 데이터 조사, 테스트 조사를 각각 열어 지시합니다. 각 작업의 진행을 확인하고, 끝난 결과를 읽은 뒤 수정 담당에게 필요한 내용을 전달합니다.
오케스트레이터는 사용자가 여러 작업을 열고 오가며, 진행 상태와 기록을 살펴볼 수 있는 작업 환경이 됩니다. 이 경우 작업 분배와 판단에 사람이 직접 참여합니다.
조율을 위임하는 경우
사용자가 “검색 기능을 추가하고 검증해 줘”라는 목표와 조건을 전달합니다. 상위 에이전트나 설정된 흐름이 조사 작업을 나누고, 결과를 받아 수정과 검증으로 이어갈 수 있습니다.
사용자는 진행 상황과 결과를 확인하고, 필요한 시점에 추가 지시나 승인을 합니다. 어떤 작업을 자동으로 배정하고 어디까지 자동으로 진행하는지는 제품과 설정에 따라 달라집니다.
두 방식은 하나의 작업에서도 함께 쓰일 수 있습니다. 사람이 조사 담당을 직접 고르고, 그다음 수정과 테스트 순서는 위임하는 식입니다.
단계별 안내에서 직접 조율과 위임 조율 비교하기6. 여러 에이전트와 여러 종류의 에이전트
같은 에이전트를 여러 번 실행하기
동일한 코딩 에이전트를 여러 세션에서 실행하고, 각 세션에 다른 작업을 맡길 수 있습니다. 예를 들어 같은 종류의 에이전트 세 개에 화면 조사, 데이터 조사, 테스트 조사를 각각 맡깁니다.
여기서 세 개는 실행 중인 세션의 수입니다. 세 종류의 서로 다른 에이전트를 썼다는 뜻은 아닙니다.
서로 다른 에이전트를 연결하기
어떤 오케스트레이터는 여러 종류의 코딩 에이전트를 연결해 실행하는 환경을 제공합니다. 사용자는 익숙한 에이전트를 계속 쓰면서 다른 에이전트를 사용해 보거나, 작업별로 다른 도구를 선택할 수 있습니다.
여기서 확인할 것은 에이전트의 이름뿐만이 아닙니다. 실제 실행을 시작할 수 있는지, 진행 상태를 읽을 수 있는지, 입력을 전달하거나 중지할 수 있는지, 어떤 인증과 실행 환경이 필요한지도 제품마다 확인해야 합니다.
한 에이전트가 다른 종류의 에이전트에 작업을 맡길 수 있는지와, 사용자가 각 에이전트를 별도 세션으로 직접 실행할 수 있는지도 각각 확인할 사항입니다.
단계별 안내에서 에이전트 실행 수와 종류 살펴보기검색 기능에서 분기하고 멈추는 방법
수정 담당이 검색 코드를 고친 뒤 검증 담당이 테스트를 실행한다고 가정해 봅시다. 이 예시에서는 테스트가 실패하면 수정 후 최대 두 번 다시 검사하도록 정했습니다. 결과에 따라 다음 경로가 달라집니다.
분기는 검사 결과에 따라 다음 일을 고르는 것입니다. 테스트를 통과하면 변경본과 검사 기록을 사용자에게 보여 줍니다. 테스트가 실패하면 오류 내용을 수정 담당에게 보내고, 수정된 코드를 다시 검사합니다.
종료 조건은 이 예시에서 검사 통과 또는 재시도 한도 도달입니다. 최초 검사 이후 재시도를 두 번 사용했는데도 실패하면 자동 실행을 멈추고, 실패 기록을 남겨 사람이 확인하도록 합니다. 재시도 횟수는 이 설명을 위해 정한 값입니다.
테스트 명령 자체가 실행되지 않은 경우에는 검사 실패와 구분해 원인을 확인해야 합니다. 다음 경로를 코드의 조건으로 정하거나 에이전트의 판단에 맡기는 등 구현 방식은 다를 수 있습니다. OpenAI Agents SDK · 조율 방식
단계별 안내에서 테스트 통과·실패와 재시도 직접 따라가기7. 결과를 합치고 검증하기
조사 담당이 찾아낸 파일 위치는 수정 담당에게 도움이 됩니다. 하지만 조사 결과가 정확한지, 수정한 코드가 기대한 대로 동작하는지는 별도로 확인해야 합니다.
검색 기능 사례에서 검증 담당은 다음을 살펴볼 수 있습니다.
- 수정한 버전의 프로그램에서 검색어를 입력합니다.
- 일치하는 항목이 표시되는지 확인합니다.
- 일치하는 항목이 없을 때의 화면도 확인합니다.
- 실행한 테스트와 결과를 기록합니다.
- 사용자가 변경 내용과 검사 결과를 함께 검토합니다.
에이전트가 “완료”라고 보고했다면, 그것은 해당 에이전트가 작업을 마쳤다고 보고한 상태입니다. 사용자는 어떤 변경본을 대상으로 무엇을 확인했는지 기록을 살펴보고, 추가 검사가 필요한지 결정할 수 있습니다.
품절 표시 사례에 적용하기
상품 목록에 품절 표시를 추가한다고 가정해 봅시다. 화면 담당은 예시 데이터로 표시를 만들고, 서버 담당은 실제 재고 여부를 응답에 담습니다.
두 담당이 미리 데이터 형식에 합의했다면 각자 작업을 시작할 수 있습니다. 화면이 예시 데이터로 동작해도, 실제 기능을 확인하려면 서버와 화면을 연결한 뒤 재고가 있는 경우와 없는 경우를 함께 시험해야 합니다.
만약 서버가 화면에서 예상한 이름과 다른 이름으로 값을 보낸다면, 두 담당에게 실제 응답과 실패한 검사를 전달하고 형식을 맞춘 뒤 다시 확인합니다.
8. 플랫폼과 실행 환경으로 이어가기
오케스트레이터의 역할을 이해했다면 제품별로 다음 세 영역을 살펴볼 수 있습니다.
A. 플랫폼
작업이 어디에서 시작되고 어떻게 관리되는지 살펴봅니다. 관리형 클라우드, 사용자가 연결한 실행 환경, 에이전트 조율, 예약 실행, 이벤트 트리거, 팀 협업, API와 CLI가 여기에 들어갑니다.
B. 실행할 수 있는 에이전트
어떤 에이전트를 연결할 수 있으며, 각각을 실행하고 상태를 확인하고 제어할 수 있는 범위가 어디까지인지 살펴봅니다.
C. 실행 환경
사람이 터미널, 데스크톱 앱, 모바일 앱, 웹 중 어디에서 작업을 조작하는지 살펴봅니다. 실제 에이전트가 실행되는 컴퓨터나 서버의 위치도 함께 확인합니다.
설명을 확인하는 질문
- 첫 그림을 가리켜 보세요. 여러 AI에게 직접 일을 나눠 줄 때 개발자가 해야 하는 일 중 무엇을 맡길 수 있나요?
- 검색 기능 구현에서 동시에 시작할 수 있는 조사와 변경본을 기다려야 하는 검증은 각각 무엇인가요?
- 작업이 많아졌을 때 사람이 기억하고 전달해야 하는 정보에는 무엇이 있나요?
- 오케스트레이터는 사용자가 이 정보를 다룰 때 어떤 역할을 할 수 있나요?
- 사람이 직접 조율할 때와 상위 에이전트에 조율을 맡길 때 누가 다음 작업을 정하나요?
- 같은 종류의 에이전트를 세 번 실행하는 것과 서로 다른 종류 세 개를 연결하는 것은 어떻게 다른가요?
- 에이전트가 완료를 보고한 뒤 사용자는 어떤 기록을 확인할 수 있나요?