본문 바로가기

IT/AI

ChatGPT Codex에 도입된 서브 에이전트 기능이란?

728x90
반응형
728x170

코딩할 때 가장 답답한 순간이 있습니다.
버그를 잡아야 하고, PR도 봐야 하고, 테스트도 돌려야 하고, 문서도 확인해야 하는데, 이걸 한 에이전트에게 전부 몰아주면 처음엔 똑똑해 보여도 점점 산으로 가기 시작합니다. 로그는 길어지고, 중간 메모는 쌓이고, 중요한 요구사항은 뒤로 밀리고, 결국 “아까 무슨 얘기했더라?” 모드에 들어가기 쉽죠.

 

이 지점에서 ChatGPT Codex의 서브 에이전트 기능은 꽤 중요한 변화입니다.
간단히 말하면, 하나의 Codex가 모든 일을 끌어안는 대신 여러 개의 보조 에이전트를 병렬로 띄워 각각 맡길 수 있게 된 것입니다. 개발자 입장에서 보면 “AI 한 명”이 아니라 “역할이 나뉜 작은 AI 팀”에 가까워졌다고 보면 됩니다.

(참고로 이 기능은 openCode나 클로드에서 얘기하는 서브 에이전트랑 사실상 동일한 기능입니다. codex 가 오히려 도입이 늦은편이죠 ㅎㅎ)

서브 에이전트 기능을 한 줄로 설명하면

서브 에이전트 기능은 Codex가 여러 전문 에이전트를 병렬로 실행하고, 각 에이전트가 탐색·분석·실행한 결과를 다시 메인 흐름으로 모아 하나의 답으로 정리해주는 방식입니다.

 

쉽게 비유하면 이렇습니다.

  • 메인 에이전트: 팀장
  • 서브 에이전트: 보안 담당, 코드 리뷰 담당, 테스트 담당, 문서 조사 담당
  • 최종 응답: 팀장이 취합한 회의 결과

예전 방식이 “한 명한테 다 시키기”였다면, 지금은 “일을 쪼개서 각각 맡기고 마지막에 종합하기”에 가깝습니다. 개발에서는 이 차이가 생각보다 큽니다. 특히 코드베이스 탐색, PR 리뷰, 로그 분석, 테스트 실패 원인 추적처럼 서로 독립적으로 진행 가능한 작업에서 효과가 좋습니다.

왜 이 기능이 필요한가

겉으로 보기엔 “어차피 AI가 다 알아서 하면 되는 거 아닌가?” 싶을 수 있습니다. 그런데 실제 개발 흐름에서는 컨텍스트가 금방 더러워집니다.

 

예를 들어 메인 대화창에 아래 내용이 한꺼번에 들어온다고 생각해보세요.

  • 요구사항 정리
  • 에러 로그 수백 줄
  • 테스트 결과
  • grep 결과
  • 관련 파일 탐색 메모
  • 문서 조사 내용
  • 임시 가설과 반례

이렇게 되면 중요한 요구사항과 최종 판단 근거가 중간 출력에 묻혀버립니다. OpenAI 문서도 이런 문제를 컨텍스트 오염과 컨텍스트 로트 관점에서 설명합니다. 즉, 중간 산출물이 너무 많이 쌓이면 메인 스레드의 품질과 집중력이 떨어질 수 있다는 뜻입니다.

 

서브 에이전트는 이 문제를 꽤 우아하게 푸는 방식입니다.

  • 메인 에이전트는 요구사항, 제약, 의사결정에 집중
  • 서브 에이전트는 탐색, 테스트, 로그 분석 같은 시끄러운 일을 분담
  • 메인 에이전트는 요약된 결과만 받아 최종 판단

개발자 입장에서는 “터미널 탭 6개 켜놓고 머리로 합치는 작업”을 Codex가 대신 해주는 느낌에 가깝습니다.

Codex에서 어떻게 동작하나

Codex의 서브 에이전트 워크플로는 대체로 이런 흐름으로 움직입니다.

단계 하는 일
1 사용자가 복잡한 작업을 지시함
2 Codex가 작업을 쪼갤 수 있다고 판단함
3 사용자가 명시적으로 요청한 경우 서브 에이전트를 생성함
4 각 서브 에이전트가 병렬로 탐색, 분석, 실행을 수행함
5 Codex가 결과를 기다린 뒤 취합함
6 최종적으로 하나의 정리된 응답을 반환함

 

여기서 중요한 포인트가 하나 있습니다.

 

Codex는 마음대로 서브 에이전트를 마구 늘리지 않습니다. 공식 문서 기준으로, 서브 에이전트는 사용자가 명시적으로 요청했을 때 생성됩니다. 이건 꽤 좋은 설계입니다. 괜히 조용한 작업에 인원만 늘렸다가 토큰 비용만 늘고 결과가 산만해지는 걸 막아주기 때문이죠.

어떤 상황에서 특히 유용한가

1. PR 리뷰를 항목별로 분리할 때

예를 들어 이런 요청이 가능합니다.

현재 브랜치와 main을 비교해서
보안, 코드 품질, 버그 가능성, 테스트 불안정성, 유지보수성 관점으로
항목별 서브 에이전트를 하나씩 띄우고
모든 결과를 기다린 뒤 요약해줘.

이 방식의 장점은 각 에이전트가 자기 역할에만 집중한다는 점입니다.


보안 담당은 보안만 보고, 테스트 담당은 flaky test 가능성만 보고, 최종 정리는 메인 에이전트가 합니다. 사람 팀이 일하는 방식과 꽤 비슷합니다.

2. 큰 코드베이스를 빠르게 탐색할 때

모놀리식 서비스든 MSA든, 처음 보는 저장소는 늘 “여기가 어디고 나는 누구인가” 상태가 되기 쉽습니다. 이때도 서브 에이전트가 유용합니다.

  • 한 에이전트는 인증 흐름 탐색
  • 한 에이전트는 결제/주문 흐름 추적
  • 한 에이전트는 테스트 구조 확인
  • 한 에이전트는 설정 파일과 배포 구조 확인

이렇게 쪼개면 메인 스레드가 지저분해지지 않고, 마지막에 핵심 구조만 압축해서 받을 수 있습니다.

3. 문서 조사와 코드 수정 작업을 분리할 때

실무에서는 “공식 문서 확인”과 “실제 코드 수정”이 동시에 필요할 때가 많습니다.
이때 문서 조사 전담 에이전트와 구현 전담 에이전트를 분리하면 꽤 안정적입니다.

 

예를 들면:

  • docs_researcher: 프레임워크 문서, API 변경사항, 레퍼런스 확인
  • worker: 실제 코드 수정과 테스트 실행

이렇게 하면 코드 수정 담당이 추측으로 달리기보다, 문서 조사 결과를 받아 더 정확하게 움직일 수 있습니다.

커스텀 에이전트까지 붙으면 더 재미있다

Codex의 서브 에이전트 기능은 단순히 “여러 개 띄운다”에서 끝나지 않습니다.
커스텀 에이전트를 정의해서 역할별 성격을 다르게 줄 수도 있습니다.

 

공식 문서 기준으로 기본 제공 에이전트에는 대략 이런 유형이 있습니다.

  • default: 범용 에이전트
  • worker: 구현·수정 중심
  • explorer: 읽기 중심 탐색

여기에 사용자가 직접 커스텀 에이전트를 추가할 수도 있습니다.
설정 위치는 개인 전역 기준 ~/.codex/agents/, 프로젝트 기준 .codex/agents/ 입니다.

 

예시는 이런 느낌입니다.

name = "reviewer"
description = "PR reviewer focused on correctness, security, and missing tests."
developer_instructions = """
Review code like an owner.
Prioritize correctness, security, behavior regressions, and missing test coverage.
"""
model = "gpt-5.4"
sandbox_mode = "read-only"

이렇게 해두면 “리뷰어는 수정하지 말고 읽기 전용으로 근거 중심 리뷰만 해라” 같은 캐릭터를 부여할 수 있습니다.
한마디로 Codex 안에서 역할 기반 인력 배치를 하는 셈입니다. 갑자기 개발 조직도 냄새가 좀 납니다.

장점만 있는 건 아니다

좋은 기능일수록 어디서 쓰면 좋고 어디서 조심해야 하는지 같이 봐야 합니다.

장점

  • 병렬 처리로 시간 절약 가능
  • 메인 컨텍스트 오염 감소
  • 역할 분담으로 응답 품질 안정화
  • 코드 탐색, 리뷰, 문서 조사 같은 읽기 중심 작업에 강함
  • 큰 작업을 더 작은 단위로 나눠 다루기 쉬움

주의할 점

  • 서브 에이전트는 추가 모델 호출과 도구 사용이 들어가므로 토큰 소비가 더 큼
  • 여러 에이전트가 동시에 쓰기 작업을 하면 충돌 가능성이 생김
  • 병렬화가 항상 정답은 아님
  • 단순한 작업에 쓰면 오히려 오버엔지니어링이 될 수 있음

특히 쓰기 중심 작업은 신중해야 합니다.
공식 문서도 읽기 중심 탐색, 테스트, 트리아지, 요약 작업엔 병렬 에이전트를 먼저 고려하고, 동시에 여러 에이전트가 코드를 수정하는 흐름은 충돌과 조율 비용이 커질 수 있으니 주의하라고 안내합니다.

모델 선택까지 역할별로 나눌 수 있다

이 기능이 더 실무적으로 느껴지는 이유는, 에이전트마다 모델 성격까지 다르게 줄 수 있기 때문입니다.

공식 문서에서는 대체로 이런 방향을 제안합니다.

  • gpt-5.4: 메인 에이전트, 복잡한 추론, 다단계 조율
  • gpt-5.3-codex-spark: 빠른 탐색, 읽기 중심 스캔, 요약형 병렬 워커

즉, 깊게 생각해야 하는 팀장은 무거운 모델을 쓰고, 파일 훑고 요약해오는 실무 담당자는 빠른 모델을 쓰는 식입니다.
이건 비용과 속도, 정확도를 동시에 조절할 수 있다는 점에서 꽤 실전적입니다.

결국 이 기능의 본질은 무엇인가

ChatGPT Codex의 서브 에이전트 기능은 단순히 “AI 여러 개 돌리기”가 아닙니다.
핵심은 메인 대화의 집중력을 지키면서, 복잡한 개발 업무를 병렬화하고, 역할을 분리해 더 안정적으로 처리하게 만드는 데 있습니다.

개발 현장에서 진짜 귀한 건 “똑똑한 한 번의 답”보다도 “복잡한 작업을 끝까지 안 흐트러지고 처리하는 능력”인 경우가 많습니다.
그 점에서 서브 에이전트는 Codex를 단순 코드 생성기에서 조금 더 실제 개발 팀에 가까운 도구로 끌어올리는 기능이라고 볼 수 있습니다.

 

정리하면 이렇습니다.

  • 혼자 다 하는 AI에서 역할 분담하는 AI로 진화
  • 긴 작업에서 컨텍스트 관리가 훨씬 중요해짐
  • 병렬 탐색과 요약 구조가 실무 생산성을 높임
  • 커스텀 에이전트로 팀별·프로젝트별 운영 방식까지 반영 가능

한마디로, 이제 Codex는 “코드 좀 써주는 도구”보다 “일을 나눠서 처리하는 개발 보조 팀장”에 더 가까워지고 있습니다.
개발자 입장에서는 꽤 반가운 변화입니다. 사람 팀장보다 말이 짧고, 회의도 덜 길 가능성이 높으니까요.

참고 자료

  • Codex는 OpenAI의 코딩 에이전트이며, ChatGPT Plus, Pro, Business, Edu, Enterprise 플랜에서 사용할 수 있고 CLI는 로컬 터미널에서 코드 읽기·수정·실행을 지원합니다. (OpenAI 개발자 웹사이트)
  • Codex는 클라우드 기반 소프트웨어 엔지니어링 에이전트로 소개됐고, 여러 작업을 병렬로 처리할 수 있도록 설계되었습니다. (OpenAI)
  • 서브 에이전트 기능은 전문화된 에이전트를 병렬로 생성해 탐색·실행·분석을 동시에 진행하고, 결과를 하나의 응답으로 취합하는 방식입니다. (OpenAI 개발자 웹사이트)
  • 현재 Codex 릴리스에서는 서브 에이전트 워크플로가 기본 활성화되어 있으며, 활동은 Codex 앱과 CLI에서 확인할 수 있고 IDE Extension 가시성은 추후 제공 예정입니다. (OpenAI 개발자 웹사이트)
  • Codex는 사용자가 명시적으로 요청했을 때만 서브 에이전트를 생성하며, 이 워크플로는 단일 에이전트 실행보다 더 많은 토큰을 사용할 수 있습니다. (OpenAI 개발자 웹사이트)
  • 서브 에이전트의 목적 중 하나는 컨텍스트 오염과 성능 저하를 줄이는 것이며, 읽기 중심 탐색·테스트·트리아지·요약 같은 병렬 작업에 특히 적합하다고 안내됩니다. (OpenAI 개발자 웹사이트)
  • 기본 제공 에이전트 유형으로 default, worker, explorer가 있으며, 사용자는 ~/.codex/agents/ 또는 .codex/agents/ 아래 TOML 파일로 커스텀 에이전트를 정의할 수 있습니다. (OpenAI 개발자 웹사이트)
  • 커스텀 에이전트는 name, description, developer_instructions를 필수로 가지며, 모델·sandbox·skills 설정 등을 상속 또는 개별 지정할 수 있습니다. (OpenAI 개발자 웹사이트)
  • AGENTS.md는 Codex가 작업 시작 전에 읽는 프로젝트 지침 파일이며, skills는 작업별 지침·리소스·스크립트를 묶어 재사용 가능한 워크플로를 만드는 기능입니다. (OpenAI 개발자 웹사이트)
  • OpenAI는 서브 에이전트 모델 선택 예시로 gpt-5.4를 복합 조율용, gpt-5.3-codex-spark를 빠른 탐색·요약용으로 안내합니다. (OpenAI 개발자 웹사이트)
728x90
반응형
그리드형