์ต์ข ๊ฐฑ์ : 2026-06-26 ยท ์ํ: ๋ผ์ด๋ธ ๊ฒ์ฆ ์๋ฃ z.ai GLM-5.2 (2026-06-16 ์ถ์, 744B MoE / 40B active, 1M ctx, Intelligence Index v4.1 51์ โ ๊ณต๊ฐ๋ชจ๋ธ ์ต๊ฐ, MIT) ๋ฅผ MCO ์ํ๊ณ์ ์ฌํ ํตํฉ.
๊ธฐ๋ณธ ์์น: ๊ธฐ์กด Claude๋ ์ ์ง, GLM-5.2๋ ํด๋ฐฑยทํ๊ฐ์ยท์ ํ์ต์ ์ผ๋ก ์ถ๊ฐ.
| ์์ญ | ๋ฌด์ | ์๋ํฌ์ธํธ | ํ์ฑํ |
|---|---|---|---|
| MCO ๋ผ์ฐํฐ/ํ๊ฐ์ | router.mjs glm provider (eval ์ ๋ยทreasoning ํด๋ฐฑยทcoding ์ ๋) |
api/paas/v4 (OpenAI ํธํ) |
์ข ๋์ Cash |
| Claude Code ๋ฐ์ฒ | cc-glm (/usr/local/bin/cc-glm) |
api/anthropic (Anthropic ํธํ) |
Coding Plan ๋๋ ์ข ๋์ |
| orchestrate | decompose/grade JSON ์์ ํ | router ๊ฒฝ์ | ์ข ๋์ Cash |
| ๋ฒค์น๋งํฌ | models.star365.site all-bench.json |
์ ์ | โ |
/root/.zai_token (chmod 600). ๋ผ์ฐํฐ์ฉ์ /etc/star365-worker.env์ ZAI_API_KEY + GLM_MODEL=glm-5.2.claude๋ Anthropic(opus[1m]) ๊ทธ๋๋ก โ cc-glm๋ง GLM ๋ฐฑ์๋.cc-glmcc-glm # GLM-5.2 ๋ํํ Claude Code ์ธ์
cc-glm -p "ํ๋กฌํํธ" # ๋น๋ํ 1ํ ์คํ
GLM_OPUS=glm-4.6 cc-glm # opus ์ฌ๋กฏ์ glm-4.6์ผ๋ก (๋น ๋ฅด๊ณ ์ ๋ ด)
ANTHROPIC_BASE_URL=https://api.z.ai/api/anthropic, ANTHROPIC_AUTH_TOKEN=$(cat /root/.zai_token), ANTHROPIC_DEFAULT_OPUS_MODEL=glm-5.2, CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1, API_TIMEOUT_MS=3000000 ์ค์ ํ claude ์คํ.GLM_OPUS / GLM_SONNET / GLM_HAIKU ํ๊ฒฝ๋ณ์.โ claude.ai connectors disabled ๊ฒฝ๊ณ ๋ ์ ์(์๋ํํฐ ํค ์ฌ์ฉ ์ Anthropic ์ปค๋ฅํฐ๋ง ๊บผ์ง).router.mjsPROVIDERS.glm ์ด OpenAI ํธํ paas/v4 ๋ก ํธ์ถ. TIER_CHAINS:
glm ์ ๋ (GAN ๋
๋ฆฝ ํ๊ฐ์, GLM-5.2 = ๋น-Claudeยท์ต๊ฐ)google_pro โ glm โ claude-cli (Claude ํด๋ฐฑ ๋ณด์กด)glm ์ ๋๋ผ์ฐํ ์
sortBySuccessRate๋ก ์ฑ๊ณต๋ฅ ๋์ ์ ๋ ฌ๋ฉ๋๋ค. ์ ๊ท/์คํจ provider ๋ 0.5 ์ค๋ฆฝ โ ๊ฒ์ฆ๋ provider ๊ฐ ์ฐ์ ํ ์ ์์ผ๋ฉฐ, GLM ์ฑ๊ณต์ด ์์ด๋ฉด ์์ฐํ ์ ๋๋ก ์ฌ๋ผ์ต๋๋ค(์๋๋ ๋์).
z.ai ๊ณ ์ ํ๋ผ๋ฏธํฐ thinking: { type: "enabled" | "disabled" }. task ๋ณ ์๋ ๋ถ๊ธฐ:
| task | thinking | reasoning_tokens | ์ฉ๋ |
|---|---|---|---|
| eval / reasoning | enabled |
>0 (์: 116) | ๊น์ ์ถ๋ก ยท์ฑ์ ํ์ง |
| ๊ทธ ์ธ (chat/cheap/coding) | disabled |
0 | ๋น ๋ฅธ ์๋ต |
max_tokens ๋ thinking ๋ณ ๋ถ๋ฆฌ(enabled 4000 / disabled 3000) โ reasoning ํ ํฐ์ด ์ถ๋ ฅ์ ์ ์ํด ๋น ์๋ต ๋๋ ๋ฌธ์ ๊ทผ๋ณธ ํด๊ฒฐ.
constraints.jsonMode: true โ GLM response_format: { type: "json_object" }. ์ฑ์ /๋ถํด์ฒ๋ผ JSON ์ด ํ์ํ ๊ฒฝ๋ก์์ ํ์ฑ ์คํจ ๊ทผ๋ณธ ํด๊ฒฐ.
mco-eval grade, mco-orchestrate gradeยทdecomposejsonMode ๋ฌด์(ํ๋กฌํํธ ๊ธฐ๋ฐ JSON ์ ์ง) โ ํ์ํธํโ ๏ธ z.ai ๋
json_schema๋ฅผ ์ค์ ๋ก ์ง์ํ์ง ์์ต๋๋ค (๋ฌธ์์ ๋ฌ๋ฆฌ ๋ผ์ด๋ธ์์ ๋งํฌ๋ค์ด ์๋ต). ๋ฐฐ์ด์ด ํ์ํ decompose ๋{"subtasks":[...]}๊ฐ์ฒด wrapping + json_object ๋ก ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํฉ๋๋ค. OpenAI์json_schema๋ ์ฐ์ง ๋ง์ธ์.
# ๋ผ์ฐํฐ ํ๊ฐ์ (eval ์ฒด์ธ ์ ๋ glm)
echo "..." | mco-eval --grade "์ฝ๋ ํ๊ฐ" # [router:glm] think=enabled json=true
# ๋ผ์ฐํฐ ๋ชจ๋ธ ์ ํ (glm-5.2 โ glm-4.6)
# /etc/star365-worker.env ์ GLM_MODEL ๋ณ๊ฒฝ ํ ์ ํธ์ถ๋ถํฐ ๋ฐ์
# ๊ด์ฐฐ ๋ก๊น
โ ๋งค glm ํธ์ถ ์ stderr
# [router:glm] think=<mode> reasoning_tokens=<n> json=<bool> model=<id>
๋ผ์ด๋ธ ๊ฒ์ฆ(2026-06-26):
json=true JSON ํ์ฑ ์ฑ๊ณตok=true, decompose {subtasks:[...]} ์ ์1113 โ ์๋ ํด๋ฐฑ(๋ฌดํด).json_schema ๋ฏธ์ง์ โ json_object wrapping ์ฌ์ฉ.glm52-mco-integration-20260626