[한영자막] OpenAI가 직접 밝힌 Codex 하네스 위에 나만의 에이전트를 구축하는 법
한 줄 핵심
Codex app server와 하네스 구조를 활용해, 기존 시스템 프롬프트를 크게 건드리지 않으면서도 동적 도구·로그인·배포 방식까지 제어하는 나만의 에이전트 인터페이스를 빠르게 구축하는 방법을 설명한다.
시간별 요약
-
0:00
오프닝 & 소개 직접 에이전트 하네스를 만드는 부담을 줄이기 위해, Codex 하네스 위에 인터페이스를 얹는 방법을 18분 동안 소개한다. 목표는 더 쉽게, 덜 겁먹고, 더 재미있게 자신만의 에이전트 경험을 만드는 것이다.
-
0:40
App Server란 무엇인가? Codex app server는 Codex 하네스를 감싸는 프로토콜 계층이다. 이 구조를 통해 하네스 위에 직접 통합된 클라이언트를 만들 수 있다.
-
1:00
Codex의 기반 프로토콜 app server는 Codex 하네스를 감싸는 프로토콜이며, agent client protocol과 비슷한 발상으로 동작한다. 핵심은 하네스의 내부 기능에 직접 붙어 깊게 통합할 수 있다는 점이다.
-
1:25
오픈소스와 다양한 모델 지원 Codex 하네스와 app server는 모두 오픈소스이며 Apache 2 라이선스로 제공된다. responses API 호환 모델이면 다른 모델 제공자와도 연결할 수 있고, LM studio나 lama 연결도 쉽게 설정할 수 있다.
-
2:05
아키텍처 및 동작 원리 app server 프로토콜은 JSON RPC 스타일이며, Codex app, IDE 확장, VS code 확장뿐 아니라 Xcode, Jet Brains, Theos T3 code, remoteex 같은 서드파티 인터페이스도 구동한다. 클라이언트와 서버가 메시지와 이벤트를 주고받는 구조로, 앱의 핵심 기능을 그대로 노출한다.
-
3:20
라이브 이벤트 인스펙터 데모 실제 Codex app과 app server 사이를 가로채는 인스펙터로 실시간 이벤트를 보여준다. thread 시작, 설정 읽기, 데이터 스트리밍, 파일 검색 등 내부 동작이 그대로 노출되어 하네스 통합 시 재사용 가능한 정보를 확인할 수 있다.
-
5:19
120개 이상의 클라이언트 메시지 초기화, thread 수정, turn 처리, goal 설정, plugin 목록, file search, 파일 시스템 수정까지 120개가 넘는 클라이언트 메시지를 제공한다. 단순한 범용 프로토콜이 아니라 하네스의 개별 구성요소를 더 세밀하게 제어할 수 있다.
-
6:19
ChatGPT로 로그인하기 이 프로토콜을 쓰면 사용자가 자신의 ChatGPT 구독으로 로그인해 Codex 사용량 한도에 연결할 수 있다. 외부 앱에 에이전트를 붙이면서도 사용자 계정 기반 사용 경험을 유지할 수 있다.
-
6:44
개발자 지침 커스터마이징 개발자 지침은 Codex의 시스템 프롬프트 위에 덧붙이는 방식으로 사용하는 것이 권장된다. 기본 프롬프트를 직접 바꾸기보다, 이미 튜닝된 모델별 프롬프트를 유지하면서 사용 사례에 맞게 확장하는 편이 안전하다.
-
7:29
동적 도구 및 지연 도구 MCP 같은 외부 연동이나 직접 정의한 도구를 동적으로 노출할 수 있다. deferred loading으로 등록하면 도구를 시스템 프롬프트에 넣지 않고 tool search로 찾게 하여 컨텍스트 오염을 줄일 수 있다.
-
8:34
바이너리 배포 및 패키징 app server는 Codex CLI와 같은 바이너리로 포함되며, 앱 번들에도 함께 패키징된다. Windows에서는 WSL용 Linux 바이너리와 네이티브 Windows 바이너리를 함께 배포해 실행 환경에 맞게 선택한다.
-
9:34
바인딩 생성과 전송 방식 버전별로 프로토콜이 자주 바뀌므로 TypeScript bindings나 JSON schema를 생성해 두는 것이 유용하다. 통신은 stdio 또는 websockets로 할 수 있으며, 앱에 묶어 배포하면 기대하는 버전의 기능을 더 안정적으로 통제할 수 있다.
-
10:19
Python SDK 활용 최근 공개된 Python SDK는 생명주기 관리와 ChatGPT 로그인 통합을 쉽게 만들어 준다. 복잡한 하네스 제어를 직접 짜지 않고도 빠르게 통합을 시작할 수 있다.
-
10:39
Codex에게 직접 코드 생성 요청하기 Codex는 이 프로토콜 구현에 매우 강하므로, 문서만 가리켜도 상당 부분의 코드를 생성할 수 있다. macOS 앱부터 Visual Basic 기반 Windows 네이티브 앱까지 짧은 시간에 만들 수 있고, 기존 챗 인터페이스 밖의 창의적인 통합도 가능하다.
-
11:48
둠(Doom) 게임 안에 Codex 탑재하기 Codex를 게임 속에 넣는 극단적인 실험으로, Electron 앱과 Doom Wasm 렌더러 위에 Codex를 얹는다. 게임 화면 안에서도 app server와 IPC로 연결되어 실제 대화를 주고받을 수 있다.
-
13:28
데모: 둠 게임 조작 도구 부여하기 dynamic tools를 붙이면 방어구, 체력, 무기, 탄약 같은 게임 상태를 직접 조회하게 할 수 있다. 동시에 현재 작업 디렉터리 같은 시스템 정보도 읽을 수 있어, 같은 하네스 안에서 실제 에이전트 기능을 확장하는 모습을 보여준다.
-
14:38
App Server vs codex exec 비교 codex exec는 비대화형 스크립팅과 CI/CD 자동화처럼 한 번 실행하고 끝나는 작업에 적합하다. 반면 app server는 대화형 클라이언트, 다수의 thread 병렬 실행, 자체 eval harness 같은 더 복잡한 인터페이스에 강하다.
-
15:43
실전 구축을 위한 3가지 팁 첫째, 사용자 설치본에 의존하지 말고 하네스 버전을 직접 배포해야 한다. 둘째, 새 기능은 인터페이스에 노출하되 deferred로 처리해 컨텍스트를 보호해야 하며, 셋째, 기본 시스템 프롬프트를 갈아엎기보다 developer instructions부터 추가하는 편이 안정적이다.
실무 인사이트
- 하네스 버전을 앱에 함께 묶어 배포하면 호환성 문제와 사용자 업데이트 의존성을 크게 줄일 수 있다.
- 새 도구를 system prompt에 직접 넣기보다 deferred tool로 등록하면 기능 확장과 컨텍스트 절약을 동시에 달성할 수 있다.
- 대화형 에이전트와 스크립팅용 실행 인터페이스를 분리하면, codex exec와 app server를 각각 가장 잘 맞는 용도로 활용할 수 있다.