AI를 '만능 직원'으로! OpenAI AgentKit 구조 완벽 해설
여러분은 이제 단순한 질문에 대답만 하는 챗봇이 아닌, 이메일을 보내고, DB를 조회하고, 복잡한 워크플로우를 처리하는 **'AI 에이전트'**를 만들고 싶으실 겁니다. OpenAI의 AgentKit은 바로 이 복잡한 에이전트를 쉽게 설계, 배포, 평가할 수 있도록 돕는 통합 플랫폼입니다.
AgentKit은 에이전트 개발의 복잡한 퍼즐 조각들을 하나의 툴킷으로 합친 것과 같습니다. 이 툴킷은 네 가지 핵심 구성 요소가 유기적으로 연결되어 작동합니다.
🏗️ AgentKit의 4대 핵심 구성 요소
AgentKit은 에이전트의 설계(Agent Builder), 사용자 접점(ChatKit), 실행 엔진(Responses API), 그리고 **품질 관리(Trace & Evals)**를 모두 한곳에 모은 통합 플랫폼입니다.
1. Agent Builder
**'코드 없는(No-Code) 시각적 워크플로우 설계 도구'**입니다.
- 역할: 복잡한 에이전트의 작업 흐름(Workflow)을 드래그 앤 드롭으로 시각적으로 설계하는 캔버스입니다. 마치 블록을 연결하듯이, '의도 분류', 'DB 조회', '이메일 전송' 같은 단계를 노드로 연결합니다.
- 초보자 비유: 에이전트에게 "일하는 순서"를 알려주는 플로우차트(순서도) 작성 도구입니다.
- 주요 기능: 노드 연결, 조건부 로직 설정, 버전 관리, 가드레일(Guardrails, 안전장치) 설정.
2. ChatKit
개발한 에이전트를 웹사이트나 애플리케이션에 쉽게 삽입(Embed) 할 수 있도록 도와주는 임베디드 UI 툴킷입니다.
- 역할: 개발자가 채팅 인터페이스를 처음부터 만들 필요 없이, 커스터마이징 가능한 채팅 위젯을 제공하여 에이전트를 제품에 바로 배포할 수 있게 합니다.
- 초보자 비유: 에이전트와 사용자가 대화할 수 있도록 웹사이트에 붙이는 **'채팅 상담 창'**입니다.
- 장점: 프런트엔드 개발 시간을 획기적으로 줄여주며, 에이전트가 반환하는 이미지나 인터랙티브 요소들을 깔끔하게 표시해 줍니다.
3. Responses API
AgentKit 전체 워크플로우를 실행시키는 백엔드 엔진 역할을 하는 OpenAI의 핵심 API입니다.
- 역할: Agent Builder에서 설계된 워크플로우 정의(JSON 형태)를 받아, LLM을 호출하고, 도구(Tool)를 사용하도록 오케스트레이션(조율)하며, 그 결과를 ChatKit으로 전달하는 실행 환경입니다.
- 초보자 비유: Agent Builder가 설계한 자동차의 설계도라면, Responses API는 그 설계도에 따라 실제로 바퀴를 굴리고 기어를 변속하는 자동차 엔진입니다.
4. Trace & Evals
에이전트가 제대로 작동하는지 확인하고 지속적으로 개선하는 평가 및 추적 도구입니다.
- Trace (추적): 에이전트가 사용자의 질문을 받은 순간부터 답변을 내기까지 **어떤 노드(단계)**를 거쳤고, 어떤 도구를 몇 번 사용했는지 전 과정을 기록합니다.
- Evals (평가): 기록된 Trace를 바탕으로, 에이전트의 답변이 정확했는지, 의도한 대로 작동했는지를 자동으로 평가합니다. 이를 통해 개발자는 성능 저하의 원인을 찾아내고 프롬프트를 최적화합니다.
- 초보자 비유: 에이전트의 모든 행동을 녹화하고, **'O, X 테스트'**를 통해 점수를 매겨 성적표를 만들어주는 시스템입니다.
📝 통합 구조 예제: '자동 고객 지원 에이전트'
AgentKit의 구성 요소들이 고객 지원 에이전트를 만드는 과정에서 어떻게 상호 작용하는지 살펴봅시다.
시나리오: "주문 번호 1234의 배송 상태를 알려줘."
Agent Builder: 워크플로우 설계 개발자는 Agent Builder에서 다음과 같은 단계를 설계합니다.
- 노드 1 (분류): 사용자 질문이 '배송 조회'인지 '환불 문의'인지 분류합니다.
- 노드 2 (도구 호출): '배송 조회'로 분류되면,
check_shipping_api라는 외부 도구(API)를 호출하는 노드를 연결합니다. - 노드 3 (응답 생성): API 결과를 바탕으로 사용자에게 친절하게 답변하는 노드를 연결합니다.
Responses API: 실행 엔진 작동
- 사용자가 ChatKit에 질문을 입력하면, Responses API가 워크플로우를 시작합니다.
- API는 노드 2에 도달했을 때, LLM에게 "주문 번호 1234를 이용해
check_shipping_api를 호출하라"고 명령합니다. - API는 도구의 결과를 받아 노드 3으로 전달하고, 최종 답변을 생성합니다.
ChatKit: 사용자에게 결과 전달
- Responses API가 생성한 최종 답변("주문 1234는 현재 출고 준비 중입니다.")을 받아 웹사이트에 삽입된 ChatKit 위젯에 실시간으로 표시합니다.
Trace & Evals: 품질 검증
- Trace: 시스템은 "질문 -> 분류 노드(성공) -> 도구 호출(성공) -> 응답 생성(성공)"의 전체 흐름을 기록합니다.
- Evals: 개발자는 "답변에 주문 번호가 정확히 포함되었는지"를 검증하는 평가 기준을 설정하고, 자동으로 에이전트의 정확도를 측정합니다. 이 과정을 통해 "API 응답을 해석하는 프롬프트가 미흡하다"는 문제가 발견되면 즉시 Agent Builder에서 수정할 수 있습니다.
AgentKit 구조
AgentKit은 인공지능 에이전트를 설계하고 실행하며 최적화할 수 있도록 구성된 플랫폼이다. 전체 구조는 설계, 실행, 인터페이스 제공, 평가라는 네 가지 단계로 나눌 수 있다.
먼저 Agent Builder는 에이전트의 작업 흐름을 시각적으로 설계하는 역할을 한다. 마치 건축가가 건물을 짓기 전에 도면을 그리듯, 이 단계에서 에이전트의 구조와 흐름이 정의된다.
다음으로 ChatKit은 사용자가 에이전트와 직접 상호작용할 수 있도록 대화형 UI를 제공한다. 건물에 비유하면, 사람들이 드나드는 정문과 창문과 같은 역할을 한다.
설계된 흐름은 Responses API를 통해 실제로 실행된다. 이는 건물을 움직이는 전력 시스템과 같은 엔진 역할을 하며, LLM과 다양한 도구들이 이 단계에서 작동하게 된다.
마지막으로 Trace & Evals는 실행 과정을 추적하고 결과의 정확도를 평가하는 단계이다. 이는 품질 관리팀이 건물이 제대로 작동하는지 검사하는 과정과 비슷하다. 이 단계에서 성능 데이터를 분석하고 개선점을 찾아 에이전트의 품질을 최적화한다.
결국 AgentKit은 설계에서 실행, 인터페이스 제공, 평가와 최적화까지 이어지는 선순환 구조를 통해, 개발자가 쉽게 강력하고 안정적인 AI 에이전트를 만들 수 있도록 지원하는 통합 도구라 할 수 있다.