ChatGPT가 Claude Code를 관리하게 하다
요약
본 글은 Claude Code의 과도한 설계 경향을 보완하기 위해 ChatGPT를 '감독자'로 활용하는 새로운 개발 워크플로우를 소개합니다. 이 방식은 두 AI를 병렬로 운영하여, 한쪽이 코드를 빌드하고 다른 쪽이 실시간으로 오류와 가정을 검증하며 수정 지침을 제공하는 구조입니다.
핵심 포인트
- ChatGPT가 Claude Code의 실행 과정을 감독하여 안정성을 높임.
- 병렬 에이전트(Parallel Agents)를 활용한 새로운 개발 프로토콜 제시.
- 각 단계마다 커밋 및 검증을 수행하는 순차적 리포지토리 실행 방식 도입.
- 실행 중 발생 가능한 문제점을 사전에 예측하고 주의사항을 알려줌.
ChatGPT가 Claude Code를 관리하게 하다
저는 Claude Code를 정말 좋아합니다. 그 터미널에서 비정상적으로 많은 시간을 보냈습니다. 하지만 저조차도 그것을 바라보는 것에 지치고 있습니다. 제가 화면에 '제발 그러지 마'라고 속삭이는 동안, 그것이 세 개의 파일로 된 기능을 12개 모듈 아키텍처로 자신감 있게 과잉 설계하는 것을 지켜보면서 말입니다.
제가 아무리 방화벽(guardrails)을 설정해도, Claude Code는 여전히 멋지게 탈선하는 능력을 보여줍니다.
그래서 저는 그것에게 보모를 붙여주었습니다.
설정 방법
저는 ChatGPT 데스크톱 앱을 다운로드하고 접근성 권한을 부여했습니다. 그러자 즉시 Claude Code가 실행 중인 터미널 창을 볼 수 있게 되었습니다. 화면 분할(Split screen). 두 개의 AI. 하나가 다른 하나의 작업을 지켜보는 방식입니다.
설정은 간단합니다: Claude Code는 빌드하고, ChatGPT는 관찰합니다. 제가 둘 다 감독하지만, ChatGPT가 저를 대신해 번거로운 감독 업무를 처리해 줍니다: 잘못된 가정을 포착하고, 미묘한 구현 실수를 표시하며, 수정 지침 프롬프트를 작성하고, (무엇보다도) Claude Code의 자동 압축 창 외부에서도 지속되는 안정적인 컨텍스트를 유지하는 것입니다.
마지막 부분이 진정한 핵심(real unlock)이었습니다.
첫 번째 저장
저는 Claude Code에게 우리가 이미 구성한 계획을 실행하도록 지시했고, 이어서 ChatGPT에게 현재의 실행 동작에 대해 어떻게 생각하는지 물어봤습니다.
저의 기본 방식은 병렬 에이전트(parallel agents)입니다. 이 경우, ChatGPT는 즉시 멈추라고 말했습니다. 그것은 현장에서 새로운 프로토콜을 설계했습니다: 계약 잠금(Contract Lock) 및 커밋과 검증을 각 단계마다 수행하는 순차적 리포지토리 실행(Sequential repo execution with commit and verify at each step).
그것 덕분에 저는 수 시간의 디버깅 시간을 절약할 수 있었습니다.
그리고 그것은 제가 예상하지 못한 일을 했습니다. 단순히 진행 중인 프로세스를 검증하는 것에 그치지 않고, 실행을 감독할 때 주의해야 할 구체적인 사항들을 알려주었습니다. 사소한 것이지만, 문제가 발생하기 전에 무엇을 주시해야 하는지 아는 것은 나중에 실패에 반응하는 것과는 완전히 다른 작업 방식입니다.
성능이 뛰어난 이유 (Where It Gets Good)
실행 단계(Execution phase). ChatGPT가 중간중간 확인해 주었습니다. 가장 도움이 되었던 부분은 제가 요청하지 않은 실수들을 잡아냈다는 점입니다. 체크포인트(checkpoints)를 정의하고, 각 단계에서 Claude Code가 무엇을 출력해야 할지 명시했으며, 이전에 이미 마주쳤고 간과했던 가정들까지 선제적으로 식별해 주었습니다.
프롬프트가 필요하지 않았습니다. 그냥 스스로 해냈습니다.
그리고 가장 중요한 순간이 왔습니다: Claude Code의 컨텍스트(context) 부족입니다. 이는 모든 전문적인 Claude Code 사용자가 부딪히는 벽입니다. 대화 내용이 압축되고, 핵심 세부 사항들이 사라지며, 결국 메모리와 Markdown 파일에서 상태를 재구성하려고 애쓰게 됩니다.
ChatGPT의 핸드오프 프롬프트(handoff prompt)에는 자체 대화의 전체 진행 기록이 포함되어 있었습니다. 일관되고 누적된 컨텍스트를 유지하며 Claude Code 인스턴스 간에 작업을 이어 나갈 수 있습니다.
저는 일단 하나의 터미널 인스턴스로만 사용했습니다. 하지만 이것은 병렬 실행을 관리하는 외부 오케스트레이터(orchestrator)의 아키텍처가 될 것이 분명합니다.
조용한 생산성 향상 (The Quiet Productivity Gains)
이 부분이 저를 가장 놀라게 했습니다.
저는 보통 Claude Code 세션의 흐름을 끊는 사소한 질문들(특정 패키지를 깊이 있게 설명하거나, Claude Code가 자신의 문제가 아니라고 판단하여 고치지 않은 깨진 Python 환경을 수정하거나, 단순히 무작정 넘어가기만 하는 대신 의존성 충돌이 왜 발생하는지 이해하는 것)에 ChatGPT를 사용하기 시작했습니다.
이러한 질문들은 중요합니다. 제 이해도를 높여주니까요. 하지만 이 질문들을 Claude Code 내부에서 하면 Opus가 간단한 것에 답하는 데 비정상적으로 오랜 시간을 기다려야 하고, 현재 작업과 전혀 관련 없는 내용으로 컨텍스트를 소모하게 됩니다.
이제 저는 오직 저와 대화하고 Claude Code를 모니터링하는 역할만을 지정받은 별도의 AI를 갖게 되었습니다. 채팅 인터페이스의 친숙함이 작동하는 이유는 제가 이 계층에서 실제로 원하는 것이 에이전트적 행동(agentic behavior)이 아니라 대화이기 때문입니다 (다음에는 분명 Codex도 시도해 볼 것입니다). 그리고 이는 두 개의 에이전트가 같은 코드베이스를 동시에 수정하려고 하는 것보다 훨씬 안정적입니다.
평가 문제 (The Evaluation Problem)
제가 예상하지 못했던 부분이 바로 이 부분입니다.
Claude Code 내에서만 작업하는 것은 공백 상태를 만들었습니다. 오직 Claude만이 자신의 실수에 대해 주석을 달고, 반복하고, 배우고 있었습니다. 외부 신호가 없었습니다. 두 번째 의견도 없었습니다. 단지 하나의 모델이 닫힌 루프(closed loop) 안에서 자체 출력을 평가할 뿐이었습니다.
ChatGPT를 관찰자(observer)로 추가하자마자 Claude Code가 놓치는 것들을 즉시 포착합니다. 시간이 지남에 따라, 그것은 제 패턴, 제 프로젝트, 그리고 제가 실패하는 방식들에 대한 미묘한 이해를 구축합니다. 마크다운 파일에 사라져버리는 것이 아니라, ChatGPT의 네이티브 메모리(native memory)에 저장됩니다: 요약, 특성 추적(trait tracking), 실제로 유지되는 지속적인 컨텍스트(persistent context)가 말입니다.
저는 다양한 방법, 프롬프트, 프로토콜로 끊임없이 실험합니다. 이제 눈을 감고 달리거나 무작정 진행하는 대신, 어떤 접근 방식이 합리적인지, 그리고 그렇지 않은지를 알려주는 것이 생겼습니다.
같은 문제를 서로 다른 각도에서 바라보는 두 개의 모델. 이것은 중복(redundancy)이 아니라 깊이(depth)입니다.
여기서 실제로 중요한 것 (What Actually Matters Here)
기억할 만한 세 가지 핵심 사항을 알려드립니다:
여기서 실제로 중요한 것 (What Actually Matters Here)
기억할 만한 세 가지 핵심 사항을 알려드립니다:
관심사 분리(Separation of concerns)는 여러분의 AI 워크플로우에도 적용됩니다. Claude Code가 빌드하고, ChatGPT가 모니터링하며 설명하고 맥락을 유지합니다. 하나의 모델에게 이 두 가지를 모두 하도록 시키려고 하면, 절반이
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기



