| name | gpt-come-on |
| description | 느린 GPT 모델(5.5·5.5-pro·o3) 비동기 위임 엔진 v2. background API + 단일 호출 wait(smart-poll·자동 get)·다중 발주(start-batch)·다운시프트 게이트·INBOX 알림으로 형 체감 속도 최적화. P1 gpt-come-on, GPT 컴온, 지피티컴온, 지피티로, 지피티에게, 지피티한테, 지피티불러서, 지피티불러, GPT한테, GPT에게, 컴온, come on, 비동기위임, async delegate, GPT5.5, GPT-5.5-pro, o3, 깊은추론, 느린모델, background mode, 폴링위임, 장시간추론, 세션초과추론, async GPT, response polling, deferred GPT, queue GPT, wait모드, smart-poll, start-batch, 멀티발주, 다운시프트, 모델다운시프트, INBOX, inbox-scan. P2 깊게 시켜줘, 오래 걸려도, 기다려줘, 불러줘, 시켜줘, 컴온해줘, GPT 시켜줘, 결과 와있어, take time, deep run, async run, 비동기로, 폴링으로, 백그라운드로, 한번에 회수, 한방에 회수. P3 OpenAI Responses API background mode, async LLM delegation, polling pattern, deferred response retrieval, exponential backoff, batch async dispatch, model downshift gate. P4 GPT-5.5·pro·o3 사용시, 14k 토큰+ 입력시, 5분 이상 추론 필요시, 세션 timeout 회피시, N개 동시 위임시. P5 .md 강제, 결과 VAULT/gpt-come-on/_outputs/ 디폴트. NOT 빠른모델 동기위임(→delegate-llm), 트리거검출(→trigger-skill), 세션저장(→session-briefing), 카피라이팅(→copywriting-skill). |
GPT Come On — 느린 GPT 비동기 위임 엔진 v2.1
GPT-5.5·5.5-pro·o3처럼 응답에 분 단위 시간이 걸리는 모델을 세션 timeout(45초) 안에서 다루는 스킬. background API로 즉시 발주 → ID 박제 → 다음 호출에서 폴링 → 완료 시 회수.
기존 delegate-llm은 동기 호출 한정 → 빠른 모델(mini·flash) 전용. 본 스킬은 그 보완재.
v2.1 속도 최적화 + 단일 폴더 통합 (형 체감 핑퐁 ↓·마운트 부담 ↓):
wait — poll(지수백오프) + 자동 get + 메타까지 단일 호출. 핑퐁 3턴 → 1턴
smart-poll — 30/45/60/90/120s 백오프. API 호출 -50%
start-batch — N개 미션 동시 발주. 순차 → 병렬
- 다운시프트 게이트 — 단순 미션엔 5.5-pro→5.5 권유. 응답시간 -40~60%
- INBOX 알림 — 완료시
VAULT/gpt-come-on/_logs/INBOX/{job}.flag 떨굼. 다음 세션 자가스캔
- VAULT 캐시 —
~/.gpt-come-on/vault_path 단일파일. resolve 0초·미마운트 폴백
- 단일 폴더 통합 (v2.1) — 본 스킬 모든 자원이
VAULT/gpt-come-on/ 하위. _secrets/_logs 분산 ✗. 다중 디바이스 이식 1폴더
⛔ 절대 규칙
| # | 규칙 | 이유 |
|---|
| 0 | VAULT 마운트 게이트 (스킬 발동 즉시) — 스킬 진입 첫 단계에서 ① VAULT 마운트 상태 검증 → ② 미마운트 시 request_cowork_directory(~/Library/CloudStorage/Dropbox/ObsidianVault) 자동 호출 → ③ 형이 승인 UI에서 컨펌한 뒤에만 다음 단계 진입. 거부 시만 STOP+1줄 보고 (ObsidianVault 미사용 환경 대비). 자동 호출이 사용자 동의 절차를 거치므로 강제 ✗·게이트 ○ | 본 스킬 자원 전부 = VAULT/gpt-come-on/ 단일 폴더 (_secrets/.env·_logs/jobs/·_logs/INBOX/·_logs/llm_usage.md). 마운트 0 = 발주·박제·비용로깅·INBOX 전부 ✗ |
| 1 | wait 디폴트 — start 1회 → wait 1회. poll/get 분리는 세션 단절·재개 시만 | 핑퐁 0턴. 단일 wait는 max 600s 슬립 (Cowork bash timeout 무관) |
| 2 | response_id 박제 강제 — start 직후 ID를 VAULT/gpt-come-on/_logs/jobs/{job_id}.json에 저장 | 다음 세션·다른 대화에서도 회수 가능 |
| 3 | API 키 채팅 노출 ✗ — VAULT/gpt-come-on/_secrets/.env만 사용 | 보안 |
| 4 | 비용 로깅 강제 — 회수 직후 VAULT/gpt-come-on/_logs/llm_usage.md에 내장 cost_logger 호출 (KRW 환산·monthly_pct) | 자체완결 |
| 5 | 한국어 강제 — 외부 LLM 영어 답해도 Claude가 한국어 정리 | UX |
| 6 | 메타평가 4블록 강제 — 외부 LLM 답을 그대로 패스 ✗ | delegate-llm 절대규칙 #1 동일 |
| 7 | VAULT 마운트 선행 — VAULT/gpt-come-on/ 단일 폴더 접근 위해 ObsidianVault 마운트 필수 | 미마운트 시 호스트 폴백 (~/.gpt-come-on/local_vault/) |
| 8 | 모델 화이트리스트 — gpt-5.5·gpt-5.5-pro·o3·o3-pro·o4-mini만. mini·flash는 delegate-llm으로 | 영토 분리 |
| 9 | .md 강제 + VAULT 디폴트 출력 — 미션 입력·결과 출력 모두 .md. --out이 .md가 아니면 자동 .md 부착 + stderr 경고. --out 미지정 시 디폴트 = VAULT/gpt-come-on/_outputs/{job_id}_{label}.md. .txt·확장자 없음 = 자동 보정 (소실 ✗). 미션 파일도 .md 권장 | 옵시디언 볼트 통합·렌더링·검색·백링크 정합. txt 산출 = 토막 메모·생산성 ↓ |
🚦 트리거 → 분기 결정
| 형 발화 | 분기 | 비고 |
|---|
| "GPT-5.5로 깊게 시켜줘" / "오래 걸려도" | start | 신규 발주만 |
| "발주하고 결과까지 가져와" / "기다려줘" / "한방에" | start → wait | 디폴트 추천 (핑퐁 0) |
| "N개 동시에 던져" / "병렬로 시켜" | start-batch | 다중 미션 |
| "아까 그 GPT 결과 와있어?" / "{job_id} 폴링" | poll 1회 또는 wait | wait 권장 |
| "GPT 결과 가져와" / "회수해줘" | get 또는 wait | wait가 자동 회수 포함 |
| "어제 발주한 거 회수 안 한 거 있어?" | inbox-scan | INBOX 미회수 보고 |
| "GPT 미니로 / 빠르게" | delegate-llm으로 라우팅 | 본 스킬 ✗ |
흐름 — 디폴트 = wait 단일 호출
[디폴트 — 핑퐁 0]
START → WAIT (smart-poll → 자동 GET → 메타) → 보고
[클래식 — 세션 분리·재개 시나리오]
START → (세션 종료) → POLL → GET → 메타
명령 매트릭스:
| 명령 | 입력 | 출력 | 호출 |
|---|
start | mission | job_id | 1 |
start-batch | mission-files N | job_id N | 1 |
poll | job_id | status | 1 |
get | job_id, out(.md 디폴트) | result | 1 |
wait | job_id, out(.md 디폴트), max | result (poll+get 흡수) | 1 (핑퐁 0) |
inbox-scan | (none) | 미회수 완료 목록 | 1 |
list | limit | 최근 job 메타 | 1 |
migrate | (none) | 옛 경로(_secrets/.env·_logs/gpt_come_on/) → VAULT/gpt-come-on/로 1회 이동 | 1 |
① START
python3 scripts/gpt_come_on.py start \
--model gpt-5.5 \
--mission-file mission.md \
--label "C8 리허설 v4.1"
출력: job_id (= response_id 단축) + VAULT/gpt-come-on/_logs/jobs/{job_id}.json 박제 확인.
박제 내용:
{
"job_id": "...",
"response_id": "resp_...",
"model": "gpt-5.5",
"label": "C8 리허설 v4.1",
"status": "queued",
"started_at": "2026-05-07T05:56:00",
"in_tok": 9153,
"out_tok": null,
"krw": null
}
①+ START-BATCH (다중 발주)
python3 scripts/gpt_come_on.py start-batch \
--model gpt-5.5 \
--mission-files m1.md m2.md m3.md \
--labels "C8" "D2" "F1"
3개 동시 발주·각 job_id 즉시 박제. 라벨 미지정 시 파일명 stem 사용.
② WAIT (디폴트·단일 호출)
python3 scripts/gpt_come_on.py wait \
--job {job_id} \
--out /path/to/result.md \
--max 600
내부 동작:
- smart-poll — 30s → 45s → 60s → 90s → 120s → 120s ... 백오프
completed 감지 시 즉시 output_text 회수 → --out 저장
- 비용 로깅 (
VAULT/gpt-come-on/_logs/llm_usage.md) + INBOX flag 떨굼
- 박제 갱신 + stdout 메타 JSON
--max 도달 전 완료 = ok:true. 도달 시 ok:false·status:in_progress + exit 4 → 다음 메시지에서 wait 재호출하면 캐시 hit·즉시 GET.
다운시프트 게이트: start 직전 미션 길이 < 12k자 + 복잡도 키워드(증명·수학·정합성·재무모델 등) 0개면 5.5-pro→5.5·o3-pro→o3 권유 1줄 보고. exit 3. --force-model로 무시 가능.
③ POLL (1회 상태 확인)
python3 scripts/gpt_come_on.py poll --job {job_id}
세션 분리·외부 모니터링 용. 디폴트 흐름은 wait가 흡수.
④ GET (수동 회수)
python3 scripts/gpt_come_on.py get --job {job_id} --out /path/result.md
wait가 내부 호출하므로 단독 사용은 드묾. wait가 timeout으로 끊긴 경우 재회수용.
⑤ INBOX-SCAN (미회수 알림)
python3 scripts/gpt_come_on.py inbox-scan
VAULT/gpt-come-on/_logs/INBOX/{job}.{status}.flag 스캔 → 미회수 완료 job 보고. 다음 세션 진입시 Claude 자가스캔으로 "어제 발주 N개 완료. 회수?" 자동 보고에 사용.
⑤+ MIGRATE (v2.1 단일 폴더 통합 1회 마이그레이션)
python3 scripts/gpt_come_on.py migrate
옛 경로 → 새 경로 자동 이동:
| 옛 위치 | 새 위치 |
|---|
VAULT/_secrets/.env | VAULT/gpt-come-on/_secrets/.env (복사·원본 보존) |
VAULT/_logs/gpt_come_on/jobs/ | VAULT/gpt-come-on/_logs/jobs/ |
VAULT/_logs/gpt_come_on/INBOX/ | VAULT/gpt-come-on/_logs/INBOX/ |
VAULT/_logs/llm_usage.md (gpt-come-on 항목만) | VAULT/gpt-come-on/_logs/llm_usage.md (전체 복사) |
~/.gpt_come_on/ | ~/.gpt-come-on/ |
.env는 복사 (원본 보존 — 다른 도구 공유 가능성). 나머지는 이동. 멱등 — 재실행해도 안전.
⑥ 메타평가 (Claude 강제)
wait/get 직후 Claude가 4블록:
- 원문: 회수된 응답 그대로
- 요약: 1줄
- 평가: 정확성·맥락·맹점
- 다음: 형이 취할 액션 1~3개
❌ WRONG / ✅ CORRECT
❌ WRONG-1 — 동기 호출 시도:
python3 delegate.py --vendor gpt --model gpt-5.5 --mission "..."
❌ WRONG-2 — start만 발주하고 poll/get을 형 발화에 의존 (v1 디폴트):
python3 gpt_come_on.py start --model gpt-5.5 --mission-file m.md
✅ CORRECT-1 — wait 단일 호출 (v2 디폴트):
python3 gpt_come_on.py start --model gpt-5.5 --mission-file m.md --label "C8"
python3 gpt_come_on.py wait --job abc123 --out VAULT/gpt-come-on/_outputs/c8.md --max 600
✅ CORRECT-2 — start-batch 다중 발주:
python3 gpt_come_on.py start-batch \
--model gpt-5.5 \
--mission-files m1.md m2.md m3.md \
--labels "C8" "D2" "F1"
✅ CORRECT-3 — 다음 세션 회수:
python3 gpt_come_on.py inbox-scan
python3 gpt_come_on.py wait --job {job_id} --out /path/result.md
모델 라우팅
| 모델 | 용도 | 평균 응답시간 |
|---|
gpt-5.5 | 디폴트 — 깊은 추론 | 1~3분 |
gpt-5.5-pro | 최고 추론 — 복잡 분석 | 3~10분 |
o3 | 수학·논리 깊은 추론 | 2~5분 |
o3-pro | 최강 reasoning | 5~15분 |
o4-mini | 추론 모델 빠른 버전 | 30초~2분 |
mini·flash 모델은 delegate-llm 사용 — 본 스킬 ✗.
폴백 처리
| 에러 | 대응 |
|---|
_secrets/.env 없음 | STOP + 키 박제 요청 |
| 401 | STOP + 키 폐기·재발급 권고 |
| 429 (rate limit) | start 단계: 30초 대기 후 1회 재시도. poll 단계는 자연스럽게 통과 |
status: failed | OpenAI 에러 메시지 그대로 보고 + 형 컨펌 후 재발주 제안 |
status: queued 5분 초과 | 백엔드 큐 적체. 1회 더 폴링 권유 |
| 월 한도 100% 초과 | start 차단 + 형 컨펌 |
| job_id 박제 파일 손상 | OpenAI 대시보드에서 직접 response 조회 안내 |
호출 예시
예시 1: 단일 발주 + wait (디폴트·핑퐁 0)
형: "C8 문서를 GPT-5.5로 깊게 점검해줘"
Claude:
① start: gpt_come_on.py start --model gpt-5.5 --mission-file c8.md --label "C8 점검"
→ job_id: abc12345
② wait: gpt_come_on.py wait --job abc12345 --out VAULT/gpt-come-on/_outputs/c8_rehearsal.md --max 600
→ smart-poll 30/45/60s ... → completed → 자동 GET → 비용 로깅 → INBOX flag
③ Claude 메타평가 4블록
예시 2: 다중 발주 (start-batch)
형: "C8·D2·F1 3개 동시에 GPT-5.5로 점검해줘"
Claude:
① start-batch: --mission-files c8.md d2.md f1.md --labels "C8" "D2" "F1"
→ job_ids: [abc, def, ghi]
② wait 순차 (또는 OpenAI 큐 결과 빠른 것부터):
wait --job abc → 메타
wait --job def → 메타
wait --job ghi → 메타
예시 3: 다운시프트 게이트 발동
형: "GPT-5.5-pro로 짧은 카피 점검해줘" (mission 800자)
Claude:
① start --model gpt-5.5-pro
→ 게이트 차단 보고: "미션 800자 + 복잡도 0 → gpt-5.5로 충분 추정. 응답시간 -40~60%"
② 형 컨펌 후 --model gpt-5.5 (다운시프트) 또는 --force-model (강행)
예시 4: 다음 세션 자가스캔
[세션 1]
형: "GPT-5.5-pro로 깊은 분석 발주만 해두자"
Claude: start → job_id 박제
[세션 2 (다음 날 첫 메시지)]
Claude: (자가스캔) inbox-scan → "어제 발주 1개 완료. 회수?"
형: "응"
Claude: wait --job {id} --out ... (캐시 hit·즉시 GET) → 메타
Gotchas
| 함정 | 대응 |
|---|
| start + wait를 같은 bash 1회에 묶음 | start만 1회·wait는 별 호출. wait는 자체 슬립 (Cowork bash timeout과 무관 — 별 프로세스) |
wait --max 너무 짧음 (예: 60s) | gpt-5.5-pro 평균 3~10분. --max 600 (10분) 디폴트 권장. timeout 시 다음 메시지에서 wait 재호출하면 캐시 hit·즉시 GET |
| job_id 메모리에만 보관 | 세션 종료 시 소실. VAULT/gpt-come-on/_logs/jobs/ 박제 강제. 미마운트시 ~/.gpt-come-on/local_vault/gpt-come-on/ 폴백 |
| 다운시프트 게이트 무한 차단 | --force-model로 강행. 또는 권유받은 모델로 재호출 |
| 다운시프트 권유 무시 (5.5-pro 강행) | OpenAI 비용 ↑·응답 ↑. 게이트 보고 1줄 읽고 결정 |
output_text 대신 output[0].content[0].text 깊은 파싱 | SDK 헬퍼 output_text만 사용 |
| reasoning_tokens 중복 계산 | OpenAI가 output_tokens에 포함시켜 청구 — out_tok 그대로 cost_logger 전달. 별도 더하기 ✗ |
| INBOX flag 청소 안 함 | 누적시 inbox-scan 시끄러움. 회수 완료한 flag는 주기적으로 archive 또는 삭제 |
| start-batch 후 wait 동시 N개 시도 | 각 wait는 별 bash 호출. Cowork는 직렬 — 첫 wait 끝나야 둘째. 진정한 병렬은 OpenAI 큐만 (이미 일어남) |
| 회수 안 한 채 새 start | OpenAI 응답 유효기간 30일. 잊으면 비용만 발생. inbox-scan으로 주기 점검 |
--out 누락 | --out 미지정 시 자동 VAULT/gpt-come-on/_outputs/{job_id}_{label}.md 디폴트. 명시적 path 권장 |
--out을 .txt·확장자 없음으로 줌 | 자동 .md 부착 + stderr 경고. 옵시디언 볼트 정합·검색·백링크 위해 .md 강제 |
| delegate-llm과 혼용 | 빠른 모델은 delegate-llm, 느린 모델은 gpt-come-on. 영토 분리 |
| mission 셸 인자 길이 제한 | --mission-file 옵션으로 파일 경로 전달 |
캐시 stale (~/.gpt-come-on/vault_path 옛 경로) | resolve_vault가 자동 무효화. 수동 삭제 시 rm ~/.gpt-come-on/vault_path |