์คํ ์ค์ธ vLLM serve ์ ์ฑ๋ฅ์ *์ ๋์ ์ผ๋ก* ๊ฒ์ฆํด "๊ธฐ๋ ์ดํ"๋ฅผ ๊ฒ์ดํธ์์ ์ฐจ๋จํ๋ค. ๊ฒฐ์ ๋ก ๋ฃจํ๋ผ์ธ (R_fp/R_token, spec-aware) + ์ธ๋ถ ๋ ํผ๋ฐ์ค(E) + ์ฌ์ฉ์(c) 3์ค ๋ฃจ๋ธ๋ฆญ์ผ๋ก ๋ฌด์ฅํ Devil's Advocate ๊ฐ "์ด ์๋น์ ์ถฉ๋ถํ ๋น ๋ฅด๋ค"๋ ์ฃผ์ฅ์ ๊ณต๊ฒฉ โ ๊ธฐ๊ฐ ์ recipe-explorer ๋ฅผ ์๊ทนํด ์ ๋ต ํ๊ธฐยท์ฌํ์ (loop-until-done). "์๋น ์ฑ๋ฅ ๊ฒ์ฆํด์ค", "๋ฒค์น๋งํฌ ๋๋ ค์ค", "์ด ๋ชจ๋ธ ๋๋ฌด ๋๋ฆฐ๋ฐ", "๋์ฝ๋ ์๋ ์ ์์ด์ผ?", "๊ธฐ๋ ์ดํ ์ฑ๋ฅ ๊ฒ์ฆ", "์ฑ๋ฅ ๊ฒ์ดํธ" ๊ฐ์ ์ง์์ ๋ฐ๋. ์ธก์ =`vllm bench serve`(๊ฒฐ์ ๋ก ), ์ ๋ ํ์ =LLM. ์ค์๋น์ ๊ธฐ๋ํ์ง ์๋๋ค(๋๊ณ ์๋ serve ๋ฅผ ๊ฒ์ฆ โ ๊ธฐ๋์ recipe-explorer/compose). ๊ทผ๊ฑฐ: ์ ๋์ ๊ฒ์ฆ ํจํด(Pattern 3) + ๋ชฉํ๋ฌ์ฑ๊น์ง ๋ฐ๋ณต(Pattern 6) ยท plan_2026063014_1 ยท self-preference ์ฌ๊ฑด testlog_2026063004_1.
vLLM ์ ์คํธ๋ฆผ ์ ๋ฒ์ ์ ์ถ์ ํด ๋ณ๊ฒฝ์ ๋ ํดํ๊ณ , ์ปค์คํ Docker ์ปจํ ์ด๋ ๋ ์ด์ด(๋ฒ ์ด์ค ์ด๋ฏธ์งยท ํต์ฌ wheelยท์ฃผ๋ณ ์์กด์ฑ)์ bump๋ฅผ ์ ์ํ๋ค. "vllm ์ ๋ฐ์ดํธ", "vllm ๋ฒ์ ์ฌ๋ ค", "์ ๊ท vllm ๋ฒ์ ๋ฐ์", "์ปจํ ์ด๋ ๋ฒ์ bump", "NGC ๋ฒ ์ด์ค ๋ง์ถฐ์ค" ๊ฐ์ ์ง์์ ๋ฐ๋. ์ ์๋ง ํ๋ฉฐ, ์ค์ ํ ๋ณ๊ฒฝยท ๋น๋ยทpush๋ .claude/rules/workflow.md ์ ์ ํ ์ํฌํ๋ก(HITL ๊ฒ์ดํธ)๋ฅผ ๋ฐ๋ฅธ๋ค.
**ํ ํด๋ก์ง-์ค๋ฆฝ ์ง์ (์จ๋ณด๋ฉ) ์ค์ผ์คํธ๋ ์ดํฐ** โ fresh-clone/๋ฏธํ ๋ผํฌ๋ฐ ํ๊ฒฝ์์ ๋ฅ๋ ๋ฐ๋ํด **์ฒซ ๋์์ผ๋ก ํ ํด๋ก์ง(โ ๋จ์ผ๋ ธ๋ โก N๋ ๋ฉํฐ๋ ธ๋)๋ฅผ ์ธํฐ๋ทฐ๋ก ํ์ **ํ๊ณ , ๊ทธ์ ๋ฐ๋ผ ๋ ธ๋๋ฅผ ์ค์บยทmanifest.yaml(์คํฌ ๊ฐ ๋จ์ผ ๊ณ์ฝ)์ ์ฑ์ด๋ค. **single โ ๋จ์ผ๋ ธ๋ ์จ๋ณด๋ฉ**(manifest nodes:[], sub-control dormant) ยท **multi โ ์๋ธ๋ ธ๋ ์ค์บยท์ฐ๊ฒฐ/์ฑ๋ฅ ๊ฒ์ฆ + ์๋ธ ์ฝ๋์์ด์ ํธ(Claude Code) ์์ ํ๊ฒฝ ๊ตฌ์ถ**(๋ฉ์ธ ๋ ๋โ์ ๋ฌโmodel-less ์นด๋๋ฆฌ). "์ด์ ๋ญํด์ผํด", "ํ๊ฒฝ ์ ์ ", "์จ๋ณด๋ฉ", "ํ ๋ผํฌ๋ฐ", "๋ ธ๋ ์ค์บ", "๋จ์ผ/๋ฉํฐ ๊ฒฐ์ ", "manifest ์์ฑ", "์๋ธ๋ ธ๋ ์ ์ ", "์ธํฐ์ปค๋ฅํธ ์ ๊ฒ", "์๋ธ ์์ด์ ํธ ํ๊ฒฝ ๊ตฌ์ถ", "์๋ธ ์ฝ๋์์ด์ ํธ ์ ์ " ๊ฐ์ ์ง์ยทfresh-clone ๊ฐ์ง์ ๋ฐ๋. **๋ฌด๋จ ์ค์บ ๊ธ์ง** โ ํ ํด๋ก์ง ์ธํฐ๋ทฐ โ (multi๋ฉด 5-์ ์ ์กฐ๊ฑด ์ธํฐ๋ทฐ) โ ์ฌ์ฉ์ ์น์ธ ํ ์ค์บ. ํ ํด๋ก์ง ๋ฏธ์ ์ธ ์ emit fail-closed. ์ฑ๋ฅ ๋ฏธ๊ฒ์ฆ ๋ฉํฐ ์งํ์ fail-closed๋ก ์ฐจ๋จ.
๋ชจ๋ธํ๋ ๊ฒฉ๋ฆฌ ํ๊ฒฝ(์ธ๋ถ์ ์ ์ ๋ฐ ์ฐจ๋จ ์๋)์์ ๊ณ ์ ๋ ํ ๋ชจ๋ธ์ config.json์ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ํ์ฑํ๊ณ , (quantization ร max-model-len ร gpu-memory-utilization) 3์ถ ๋ ์ํผ ํ๋ณด๋ฅผ ๊ฒฐ์ ๋ก VRAM ์ถ์ โ ์์ฐร์์ ๋ง์ง ํ๋๊ฒ์ดํธ โ headroomโcontext ๋ญํน์ผ๋ก ์ ์ํ๊ณ , ์ฌ๋์ด ๊ณ ๋ฅธ ๋ ์ํผ๋ฅผ DGX Spark ์๋น์ฉ 3์ข ์ธํธ(.yaml+.sh+.env)๋ก ์์ฑํ๋ค(Phase 1, ์ถ์ ). Phase 2๋ ๋ฉํฐํด ์ธํฐ๋ทฐ๋ก lock/soft/free ๋ณ์๋ฅผ ์ ํ๊ณ ์ค์๋น trial-loop๋ก ์ ๋ KV ํด๋จํ(--kv-cache-memory-bytes)๋ฅผ ์๋ ด์์ผ ๊ฒ์ฆ๋ ๋ ์ํผ๋ฅผ ๋ธ๋ค. "๋ ์ํผ ์ถ์ฒ", "์๋น ๋ ์ํผ", "VRAM ์์ฐ์ ๋ง์ถฐ", "์ด ๋ชจ๋ธ ์ด๋ค ์ค์ ์ผ๋ก ๋์ธ๊น", "RTX4090 ์์ฐ ๋ ์ํผ", "gpu memory ์์ฐ", "recipe", "์ค์ ๋ก ๋์์ ๊ฒ์ฆ", "KV ์บ์ ํ๋", "batch/๋์์์ฒญ", "tool/reasoning ํ์", "attention backend" ๊ฐ์ ์ง์์ ๋ฐ๋. tp๋ manifest(len(nodes)รgpus_per_node) ์๋๊ฒฐ์ (git ๋ธ๋์น โ). ํ ๋ผํฌ๋ฐ-์์ Flag ์์ผ๋ฉด info-only.
Path-reference librarian over the project's docs/ work-history (devlog, testlog, plan, simlog) and the sub-doc mirror. Builds a deterministic relationship graph (cites/realizes/evidences edges) and surfaces authority-ranked, edge-traversable context WITHOUT copying source bodies. Use when starting an Ouroboros interview, writing a plan, devising a model serving strategy, bumping a vLLM version, or adapting topology โ whenever grounded prior context or faster Seed convergence helps; also when shelving new docs into the library or asking "what does this project already know about X". Also triggers on Korean instructions like "์ํค ์กฐํ", "์ด์ ์ ๋ญ ํ๋์ง/๋ญ์์ง", "๊ทผ๊ฑฐ ๋ฌธ์ ์ฐพ์์ค", "๊ด๋ จ plan/devlog ์ฐพ์์ค", "๋ฌธ์ ๋ฑ๋ก/๊ฐฑ์ /์ ๊ณ ". Run init once to bootstrap __llm-wiki, then warm-start incrementally on each invocation.