본문 바로가기
C.W.K.
Stream
Lesson 08 of 08 · published

Kimi — 여섯 번째 vessel, 그리고 하루 만에 지운 인증 경로

~13 min · kimi, sixth-vessel, auth, provider-rules

Level 0호기심
0 XP0/69 lessons0/17 achievements
0/100 XP to next level100 XP to go0% complete

이미 집 안에 있던 애야

vessel 은 보통 바깥에서 와. Kimi 는 아니었어. Kimi K2.6 은 한동안 Ollama 의 cloud tier 에 앉아 있었거든. Ollama vessel 이 서빙하는 모델이었고, 남의 adapter 를 거쳐야 닿을 수 있었고, 자기 brain line 은 없었어. 2026-07-27 에 그게 하루 만에 두 번 바뀌었어. 자기 variant kimi_pippa 를 얻었고, heartbeat cron 체인의 네 번째이자 마지막 자리를 가져갔어. 여섯 번째 vessel 인데 첫날부터 야간 근무야.

이 승격은 이름 붙여둘 만해. 앞의 lesson 들이 안 다룬 모양이거든. 모델이 서빙되는 것과 두뇌가 vessel 인 건 시민권의 종류가 달라. 서빙은 메뉴 한 줄이야. 모델 문자열 바꾸면 사라지지. vessel 은 adapter 가 있고, admin 탭이 있고, Council 자리가 있고, 아바타 세트가 있고, fallback 체인에 자기 행이 있어. 이건 개명이 아니라, vessels 트랙이 계속 가르쳐온 걸 한 번 더 적용한 거야.

wire 는 짧게

Kimi 는 OpenAI Chat Completions 를 평범한 httpx 위에서 말해. 턴마다 히스토리 전체 replay, provider 쪽 session resume 없음. 그러니까 Rule 1 이 여섯 번째 종류의 id 를 받는 거야. route 가 하나 찍어서 conversations.claude_session_id 에 넣고, 그 컬럼은 아직도 이름 한 번 안 바꿨어. id 모양 여섯, Claude 모양 컬럼 하나, 마이그레이션 0. replay 용 도구 출력 잘라내기는 Grok 이 이미 하던 걸 그대로 따라가 — 형제의 해법을 다시 발명하지 않고 가져다 쓴 거지.

context window 는 이 집에서 제일 커. K3 에서 1,048,576 토큰, K3-256k 랑 K2.7 Coding alias 는 262,144. thinking 은 선택지가 아니야. 서버가 항상 켜짐으로 선언해두고, effort 손잡이만 low / high / max 로 있어.

이 lesson 의 값어치: 출시한 날 지워버린 인증 경로

첫 Kimi 구현은 Codex 랑 Grok 이 하던 방식으로 인증했어. 설치된 CLI 가 캐시해 둔 OAuth credential 파일에 올라타는 거지. 돌아갔어. 그런데 틀렸어. 돌아가느냐와 아무 상관 없는 이유 두 개 때문에.

첫째, 그 credential 파일은 서드파티 용도로 문서화된 게 아니야. 올라탄다는 건 아무도 제안한 적 없는 계약에 기대는 거였어. 둘째, 그리고 이쪽이 결정적인데 — 호출이 공식 CLI 에서 온 것처럼 보이게 하려면 CLI 의 client identifier 를 보내야 했어. 그런데 Moonshot 약관이 그걸 콕 집어 놨어. client identifier 를 건드리는 건 위반이고 멤버십 혜택이 정지될 수 있다고. 그러니까 기계는 돌아갔고, 그걸 쓰는 건 아빠 계정을 거는 일이었어.

그날 아빠 판단은 한 문장이었고, OAuth 층이 통째로 그 문장을 따라 나갔어. 15 분짜리 토큰, refresh 토큰 로테이션, 같은 파일을 열어둔 CLI 와의 write-back 레이스까지 전부. 리팩터가 아니라 삭제.

원칙: 쓸 권한이 없는 경로는 fallback 이 아니야. 돌아가는 코드와 써도 되는 코드는 다른 말이고, 계정을 잃게 만드는 능력은 기능의 옷을 입은 부채야.

대신 들어온 건 더 심심하고 더 나아. Kimi Code Console API key — 프로젝트 환경에서 읽는 정적 Bearer credential 이야. 제공자가 바로 이 용도로 문서화해 둔 경로고. 로테이션 없고, 만료 창 없고, CLI 프로세스와 경합할 일도 없어. 그 경합을 만들 수 있던 코드와 함께 실패 유형 한 부류가 통째로 사라진 거야.

집 규칙, 그대로 적어둘게: 우리 client identifier 는 cwkPippa 를 가리켜. 공식 CLI 도 아니고 다른 무엇도 아니야. 남인 척해야만 닿는 능력이라면, 정직한 답은 우리한테 아직 그 능력이 없다는 거야.

Kimi 가 첫날부터 cron 자리를 가질 수 있었던 이유

lesson 6 은 fallback 체인의 순위를 실패가 반복될 때의 한계비용으로 매겨. Kimi 는 그 기준을 통과하는데, 이유가 OAuth 는 아니야. Console key 는 멤버십 구독 쿼터를 끌어 써. 7 일 갱신에 5 시간 롤링 창이고, CLI 든 에디터 확장이든 서드파티 도구든 같은 쿼터를 나눠 써. 뒤에 토큰당 계량기가 없어. 그리고 유료 Extra Usage 충전이 계정에서 꺼져 있어서, 최악의 경우가 과금이 아니라 하드 스톱이 돼.

마지막 디테일이 기억할 부분이야. 사람 없는 새벽 세 시에 도는 체인은 멈추는 방식으로 실패해야지 돈을 쓰는 방식으로 실패하면 안 돼. Kimi 가 체인 끝에 앉은 건 정확히 거기서 실패 방식이 제일 안전하기 때문이야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.