Claude OAuth 차단 대응 계획
작성: 2026-04-06 | Claude Code 전수 조사 기반
1. 현재 상태 진단
크론잡 전수 분류 (jobs.json 235개 + crontab 21개)
| 분류 | 수량 | Claude CLI 의존 | 비고 |
|---|---|---|---|
| Python 스크립트 직접 실행 가능 | 102개 | 불필요 | crontab 21 + jobs.json 81 |
| Claude 경유하지만 스크립트로 대체 가능 | 58개 | 현재만 의존 | systemEvent/prompt → bash 명령 패턴 |
| 순수 에이전트 작업 (대체 불가) | 41개 | 필수 | 애널리스트 4인, ETF 수집, 코워크 등 |
| 중복/정리 대상 | 34개 | - | technical-stat-models 21개 등 |
게이트웨이가 이미 지원하는 백엔드 (7개)
| 백엔드 | 인증 상태 | 비용 |
|---|---|---|
| GitHub Copilot (gpt-5-mini) | PAT 등록 완료 | 무료, 무제한 |
| Codex CLI (gpt-5.4) | OAuth 등록 완료 | ChatGPT Plus 구독 |
| OpenRouter (DeepSeek R1, Gemini Flash, Kimi 등) | API 키 등록 완료 | 무료~저가 |
| MiniMax (M2.5, VL-01) | API 키 + OAuth 등록 | 유료 |
| Ollama (qwen3, kimi-k2.5) | 로컬, 인증 불필요 | 무료 |
| Google Gemini | 환경변수에 키 존재 | 무료 티어 있음 |
| AWS Bedrock | 코드 지원됨, 자격증명 미설정 | 유료 |
핵심 발견
- Claude CLI가 실제로 필수인 크론은 41개 (전체의 16%)
- 나머지 84%는 이미 스크립트 직접 실행 또는 게이트웨이 LLM API 호출로 동작
- 게이트웨이의
shared/llm.py는 이미 Copilot → OpenRouter → Codex → Ollama 폴백 체인 구현 완료 - PI 에이전트가 Claude 없이도 다른 LLM으로 에이전트 실행 가능한 구조
2. 대체 가능 범위 분석
Tier 1: 즉시 대체 (영향 없음) — 160개
| 작업 유형 | 현재 | 대체 후 | 변경 사항 |
|---|---|---|---|
| 데이터 수집 (주가, 뉴스, 공시) | Claude 경유 스크립트 실행 | crontab 직접 실행 | 게이트웨이 의존 제거 |
| LLM 요약/분류 | shared/llm.py → 게이트웨이 → Claude | shared/llm.py → Copilot gpt-5-mini | 모델명만 변경 |
| 텔레그램 전송 | Claude 경유 | 스크립트 직접 | 이미 telegram_send.py 존재 |
| systemEvent 리마인더 | Claude가 bash 실행 | crontab이 직접 실행 | 프롬프트 → 쉘 명령 추출 |
Tier 2: 경량 에이전트로 대체 — 약 34개
| 작업 유형 | 현재 | 대체 방안 |
|---|---|---|
| ETF 수집 + 분석 | Claude 에이전트가 yfinance + 판단 | Codex CLI (gpt-5.4) 에이전트로 전환 |
| 콘텐츠 요약 | Claude 에이전트 | PI 에이전트 + Gemini/MiniMax |
| 파이프라인 오케스트레이션 | Claude가 스킬 실행 | Codex + MCP 서버 (이미 4개 연결) |
Tier 3: 진짜 에이전트 작업 (핵심 7개)
| 작업 | 왜 Claude가 필요한가 | 대체 난이도 |
|---|---|---|
| Technical Analyst | 차트 해석, 패턴 인식, 스킬 호출 | 높음 — Codex + TradingView MCP로 부분 대체 |
| Macro Analyst | 거시 판단, 다중 소스 종합 | 높음 — Codex + 볼트 컨텍스트 로딩 필요 |
| Fundamental Analyst | 재무 분석, IR 자료 해석 | 중간 — Codex + yfinance + DART MCP |
| Portfolio Manager | 4인 분석 종합, 의사결정 | 높음 — 가장 복잡한 판단 작업 |
| Cowork (Full) | 장기 자율 작업, 파일 수정 | 높음 — Codex가 유일한 대안 |
| Cowork (Lite) | 중간 복잡도 자율 작업 | 중간 — PI + Gemini Pro로 가능 |
| Oil Supply Monitor | 지정학 판단 + 데이터 종합 | 중간 — 수집은 스크립트, 판단만 LLM |
3. 전환 아키텍처 설계
핵심 원칙
- 게이트웨이는 유지 — 이미 7개 백엔드를 지원하는 라우터. 버리지 않는다
- Claude CLI 의존을 제거하되, 에이전트 구조는 보존 — 실행 런타임만 교체
- Codex CLI를 1차 에이전트 런타임으로 승격 — 이미 MCP 4개, 플러그인 4개 연결
변경 아키텍처
Before (Claude OAuth 의존):
cron → gateway → CLI Runner → claude CLI → Anthropic OAuth → 실행
After (탈 Claude):
Tier 1: cron → python script (직접 실행, LLM 필요시 shared/llm.py → Copilot)
Tier 2: cron → gateway → PI Runner → Gemini/Codex API → 실행
Tier 3: cron → gateway → CLI Runner → codex CLI → OpenAI OAuth → 실행
게이트웨이 변경 사항
- 기본 CLI 백엔드 전환:
cli-backends.ts의 DEFAULT_CLAUDE_BACKEND → Codex 백엔드로 - PI Runner 강화: Gemini Pro를 기본 모델로 등록, tool use 지원 확인
- 모델 폴백 체인 재구성: Claude 제거 후 Codex → Gemini → MiniMax → Ollama
Codex CLI 에이전트 역할 확장
현재 Codex에 이미 연결된 자원: - MCP: codex-self, workspace-fs, knowledge-memory, agent-bus - 플러그인: Google Calendar, Gmail, GitHub, Google Drive
추가 필요: - TradingView MCP 연결 (Technical Analyst 대체용) - DART MCP 연결 (Fundamental Analyst 대체용) - 볼트 MCP 연결 (knowledge-agent/ 접근용) - 스킬 시스템 포팅 (핵심 스킬을 Codex 프롬프트 템플릿으로)
4. 단계별 전환 계획
Phase 0: 사전 준비 (D-day 전, 즉시 시작)
| 작업 | 상세 | 소요 |
|---|---|---|
| 중복 크론 정리 | technical-stat-models 21개 → 1개, 6h-content-summary 7개 → 1개 | 30분 |
| 스크립트 직접 실행 테스트 | 102개 Python 스크립트를 crontab 직접 실행으로 전환 테스트 | 2시간 |
| Codex MCP 확장 | TradingView, DART, 볼트 MCP를 Codex에 연결 | 1시간 |
| Gemini 프로바이더 등록 | 게이트웨이 models.json에 Google Gemini 추가 | 15분 |
| shared/llm.py 폴백 체인 검증 | Claude 없이 Copilot → Codex → OpenRouter 체인 테스트 | 30분 |
Phase 1: Tier 1 전환 (D-day, 즉시)
목표: Claude CLI 없이 160개 크론 정상 동작
- systemEvent 리마인더 58개 → 프롬프트에서 bash 명령 추출 → crontab 직접 등록
- LLM 호출 46개 스크립트 → shared/llm.py 기본 체인에서 Claude 모델 제거
- 게이트웨이 환경변수에서 Anthropic API 키/OAuth 토큰 제거해도 나머지 동작 확인
검증: 게이트웨이 로그에서 anthropic-messages 백엔드 호출 0건 확인
Phase 2: Tier 2 전환 (D+1~3)
목표: 경량 에이전트 34개를 Codex/PI로 전환
- ETF 수집 에이전트 6개 → Codex CLI + yfinance-data 스킬 포팅
- 콘텐츠 요약 에이전트 → PI Runner + Gemini 3 Flash
- 파이프라인 오케스트레이션 → Codex CLI + agent-bus MCP
검증: 각 에이전트의 출력물이 기존과 동일한 형식/품질인지 비교
Phase 3: Tier 3 전환 (D+3~7)
목표: 핵심 에이전트 7개 대체
| 에이전트 | 전환 전략 | 우선순위 |
|---|---|---|
| Technical Analyst | Codex + TradingView MCP + Pine Script 스킬 | 1 |
| Fundamental Analyst | Codex + DART + yfinance + 볼트 | 2 |
| Oil Supply Monitor | 수집 스크립트화 + Codex 판단 | 3 |
| Macro Analyst | Codex + 볼트 컨텍스트 + 웹서치 | 4 |
| Cowork Lite | PI Runner + Gemini Pro | 5 |
| Portfolio Manager | Codex + 4인 리포트 읽기 + 볼트 | 6 |
| Cowork Full | Codex + 전체 MCP + 볼트 | 7 |
핵심 과제: - Claude의 스킬 시스템 → Codex 프롬프트 템플릿으로 변환 - 볼트 컨텍스트 로딩 → Codex의 knowledge-memory MCP로 대체 - 1M 컨텍스트 윈도우 → gpt-5.4의 컨텍스트 한도 내에서 요약/청킹
Phase 4: 안정화 (D+7~14)
- 전체 크론 모니터링 — 실패율 추적
- 출력 품질 비교 — Claude vs Codex/Gemini 결과물 A/B 테스트
- 비용 최적화 — Copilot(무료) vs Codex(구독) vs OpenRouter(종량) 배분
- 문서화 — 새 아키텍처 AGENTS.md 반영
5. 리스크와 대응
| 리스크 | 영향 | 대응 |
|---|---|---|
| Codex OAuth도 차단 | 에이전트 런타임 상실 | Bedrock에 API 키 설정 (Claude Bedrock는 별도 인증) |
| gpt-5.4 품질이 Claude Opus 못 미침 | 분석 품질 저하 | Gemini 3 Pro를 2차 옵션으로, 중요 분석은 수동 검증 |
| 스킬 시스템 포팅 불완전 | 에이전트가 기존 워크플로우 못 따름 | 핵심 스킬 7개만 우선 포팅, 나머지는 점진적 |
| MCP 호환성 문제 | Codex가 일부 MCP 도구 못 씀 | PI Runner를 백업 런타임으로 유지 |
| Copilot 무료 정책 변경 | 기본 LLM 체인 붕괴 | OpenRouter 무료 모델 + Ollama 로컬로 2중 백업 |
6. 즉시 실행 항목 (Phase 0)
오늘 당장 할 수 있는 것:
- [ ] 중복 크론 34개 정리 (21 + 7 + 6)
- [ ] Gemini 프로바이더를 게이트웨이 models.json에 추가
- [ ] Codex CLI에 TradingView MCP 연결 테스트
- [ ] shared/llm.py에서 Claude 모델 제거 후 폴백 체인 테스트
- [ ] 스크립트 직접 실행 가능한 102개 목록 추출 → crontab 이전 스크립트 작성
7. 결론
Claude OAuth 차단은 치명적이지 않다. 이유:
- 전체 크론의 84%는 이미 Claude 없이 동작 가능한 구조
- 게이트웨이가 7개 백엔드를 지원하고 5개에 이미 인증 설정 완료
- Codex CLI가 에이전트 런타임으로 즉시 승격 가능 (MCP 4개, 플러그인 4개)
- shared/llm.py 폴백 체인이 이미 Copilot → OpenRouter → Ollama 순서로 구현됨
최악의 경우: 핵심 에이전트 7개의 품질이 일시적으로 저하될 수 있으나, 데이터 수집과 파이프라인 운영은 중단 없이 계속된다. 1~2주 내 Codex/Gemini 기반으로 완전 전환 가능.
Bedrock 경유 Claude 사용이 가능하면 OAuth 차단의 실질적 영향은 거의 제로다. Bedrock는 API 키 인증이라 OAuth와 무관하다.