sprag-cli 3.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.ko.md +637 -0
- package/README.md +758 -0
- package/bin/cli.js +801 -0
- package/examples/statusline-command.ps1 +43 -0
- package/examples/statusline-command.sh +36 -0
- package/package.json +62 -0
- package/presets/cohesion/cohesion-en.md +26 -0
- package/presets/doc2md/convert.py +363 -0
- package/presets/korean-style/LICENSE-fluent-korean +21 -0
- package/presets/korean-style/fluent-korean.md +52 -0
- package/presets/korean-style/supplement.md +93 -0
- package/presets/model-rules.json +115 -0
- package/presets/ratchet-rules.json +38 -0
- package/src/advice.js +564 -0
- package/src/agents.js +52 -0
- package/src/brief.js +264 -0
- package/src/caps-cache.js +84 -0
- package/src/cli-args.js +51 -0
- package/src/cohesion.js +70 -0
- package/src/commands/brief.js +31 -0
- package/src/commands/cohesion.js +59 -0
- package/src/commands/compact-window.js +93 -0
- package/src/commands/doc2md.js +166 -0
- package/src/commands/feedback.js +132 -0
- package/src/commands/handoff.js +33 -0
- package/src/commands/harness.js +459 -0
- package/src/commands/history.js +46 -0
- package/src/commands/install.js +358 -0
- package/src/commands/korean.js +220 -0
- package/src/commands/last.js +151 -0
- package/src/commands/mode.js +46 -0
- package/src/commands/route-scan.js +454 -0
- package/src/commands/seed.js +105 -0
- package/src/commands/uninstall.js +42 -0
- package/src/commands/update-check.js +77 -0
- package/src/commands/upgrade.js +68 -0
- package/src/compact-window.js +205 -0
- package/src/config.js +232 -0
- package/src/cost.js +253 -0
- package/src/debug.js +29 -0
- package/src/demo.js +331 -0
- package/src/doc2md-ledger.cjs +227 -0
- package/src/doc2md.cjs +997 -0
- package/src/fig2md-runner.cjs +21 -0
- package/src/fig2md.cjs +191 -0
- package/src/first-run-note.js +63 -0
- package/src/format-time.js +44 -0
- package/src/formatters/csv.js +8 -0
- package/src/formatters/json.js +3 -0
- package/src/formatters/statusline.js +750 -0
- package/src/formatters/table.js +299 -0
- package/src/handoff.js +161 -0
- package/src/harness-analyzer.cjs +264 -0
- package/src/harness-templates.js +153 -0
- package/src/harness.js +613 -0
- package/src/history.js +383 -0
- package/src/hook-manager.js +96 -0
- package/src/hook.cjs +196 -0
- package/src/installer.js +614 -0
- package/src/korean-lint.cjs +303 -0
- package/src/korean-style.js +187 -0
- package/src/litellm-budget.js +223 -0
- package/src/model-alias.js +484 -0
- package/src/model-rules.js +527 -0
- package/src/month-spend.js +47 -0
- package/src/parser.js +330 -0
- package/src/paths.js +41 -0
- package/src/prompt.js +52 -0
- package/src/route-scan.js +832 -0
- package/src/savings-ledger.js +137 -0
- package/src/seed-rules.js +280 -0
- package/src/session-cache.js +160 -0
- package/src/session-records.js +188 -0
- package/src/stats.js +380 -0
- package/src/stdin-payload.js +122 -0
- package/src/subagent-records.js +214 -0
- package/src/update-check.js +201 -0
- package/src/window-labels.js +64 -0
package/README.ko.md
ADDED
|
@@ -0,0 +1,637 @@
|
|
|
1
|
+
[English](./README.md) ยท **ํ๊ตญ์ด**
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/claude-token-saver)
|
|
4
|
+
|
|
5
|
+
๐ **[sprag.io](https://sprag.io)** ยท ํ๋ก์ ํธ ์ฌ์ดํธ (claude-token-saver๋ **Sprag**๋ก ์ด๋ฆ์ ๋ฐ๊พธ๋ ์ค์
๋๋ค)
|
|
6
|
+
|
|
7
|
+
# claude-token-saver
|
|
8
|
+
|
|
9
|
+
**์๋ ๋์ ๋ ์ค๋ก ๋ณด์ฌ ์ค๋๋ค.** ๋น์ผ ๋ชจ๋ธ์ด ๋ฐ๋ณตํ๋ ์ฌ์ด ์์
์ ์ผ ๋ชจ๋ธ๋ก ๋ด๋ ค๋ณด๋ด๊ณ , ๋ชจ๋ธ์ด ์ฝ์ง ๋ชปํ๋ ๋ฌธ์๋ฅผ Markdown ์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๋ ์ ๊ฐ์ก ๋ชจ๋ ์ถ์ ์ด ์๋๋ผ ์์ฅ ๊ธฐ๋ก์
๋๋ค. ์์กด์ฑ 0, ์ค์น ํ ์ค.
|
|
10
|
+
|
|
11
|
+

|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm i -g claude-token-saver
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
์ซ์ ๋ค ๊ฐ๊ฐ ์ด ๋๊ตฌ์ ์ ๋ถ์
๋๋ค.
|
|
18
|
+
|
|
19
|
+
- **๊ณต๊ฐ ๋ฒค์น๋งํฌ์์ ๋จ์ผ ๋ชจ๋ธ ์ ๋ถ๋ฅผ ์ด๊น๋๋ค**: ์ด ๋๊ตฌ๊ฐ ๋ฐฐํฌํ๋ ํฐ์ด ํ๋ณ ๊ธฐ์ค์ LLMRouterBench 11,696๋ฌธํญ์ ์ ์ฉํ๋ฉด 59.1%๋ก, ๋จ์ผ ์ต๊ณ ๋ชจ๋ธ(57.9%)์ ๋์ด์๋ฉด์ ๋น์ฉ์ gpt-5 ๋๋น 31%, gemini-2.5-pro ๋๋น 64% ์๋๋ค ([๋ฒค์น๋งํฌ](./docs/BENCHMARK.md))
|
|
20
|
+
- **๋ฌธ์ ํ ํฐ 95.8% ์ ๊ฐ**: 30MB ๋ฐํ์๋ฃ๋ฅผ Markdown ์ผ๋ก ์ฝ์ผ๋ฉด 540,429 ํ ํฐ์ด 22,610 ํ ํฐ์ด ๋ฉ๋๋ค ([๊ทผ๊ฑฐ](#-doc2md-๋ฌธ์๋ฅผ-์ฝ๊ธฐ-์ ์-markdown-์ผ๋ก-๋ฐ๊ฟ๋๋ค))
|
|
21
|
+
- **๋น์ฉ 18.6% ์ ๊ฐ**: Harness 5์์น ๋์
์ ํ ์ค์ธก์
๋๋ค ([๊ทผ๊ฑฐ](#์ค์ -ํจ๊ณผ-๋์
-์ ํ-๋ฆฌํฌํธ))
|
|
22
|
+
- **๋ผ์ฐํ
์ ๊ฐ์ก์ ์คํ ๋จ์ ์์ฅ**: ์ถ์ ์น๊ฐ ์๋๋ผ ์์ ํ ๊ฑด ํ ๊ฑด์ ์ฐจ์ก ๊ธฐ๋ก์
๋๋ค ([๊ทผ๊ฑฐ](#-์ ๊ฐ์ก์-์ถ์ ์ด-์๋๋ผ-์์ฅ-๊ธฐ๋ก์
๋๋ค))
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
์ ํ๋ ์ด๋น์ฉ (11,696๋ฌธํญ)
|
|
26
|
+
ํฐ์ด ๊ธฐ์ค ๋ผ์ฐํฐ 59.1% โ ์ต๊ณ $268 โฐโฐโฐโฐโฐโฑโฑโฑโฑโฑโฑโฑโฑโฑโฑ
|
|
27
|
+
gpt-5 57.8% $388 โฐโฐโฐโฐโฐโฐโฐโฐโฑโฑโฑโฑโฑโฑโฑ
|
|
28
|
+
gemini-2.5-pro 57.9% $734 โฐโฐโฐโฐโฐโฐโฐโฐโฐโฐโฐโฐโฐโฐโฐ
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
v3.35.0 ๋ถํฐ๋ ์ง์ถ๋ ๋ณด์
๋๋ค. ์ด๋ฒ ๋ฌ 1์ผ ์ดํ ์ด ๊ธ์ก์ `๐ต Sep $42` ๋ก ์์ ํ์ํ๊ณ , 5h/7d cap ์ด ์์ ์๋ LiteLLM ๊ฒ์ดํธ์จ์ด(Bedrock ๋ฑ) ํ๊ฒฝ์์๋ ํค ์์ฐ์ `๐ budget โฐโฑ 34% $34/$100` ๊ฒ์ด์ง๋ก ๋ณด์ฌ ์ค๋๋ค.
|
|
32
|
+
|
|
33
|
+
## ๋ค ๊ฐ์ง๊ฐ ํจ๊ป ๋์๊ฐ๋๋ค
|
|
34
|
+
|
|
35
|
+
| | ํ๋ ์ผ | ํจ๊ณผ |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| ๐ **๋ผ์ฐํ
** | ๋ฐ๋ณต๋๋ ์ฌ์ด ์์
์ ๋ ์ผ ๋ชจ๋ธ์ ์์ | ์ ๊ฐ์ก์ ์์ฅ์ ์ค์ธก ๊ธฐ๋ก, ํ๋ณ ๊ธฐ์ค์ ๊ณต๊ฐ ๋ฐ์ดํฐ๋ก [๋ฒค์น๋งํฌ](./docs/BENCHMARK.md) |
|
|
38
|
+
| ๐ **๋ฌธ์ ๋ณํ** | pptxยทxlsxยทpdfยทdocxยทfig ๋ฅผ ์ฝ๊ธฐ ์ ์ Markdown ์ผ๋ก ๋ณํ | ๋ฐํ์๋ฃ ํ ๊ฑด์ **51๋ง ํ ํฐ** ์ ์ฝ |
|
|
39
|
+
| ๐
ท **Harness** | ์ฆ๊ฑฐ ์๋ ์๋ฃ ๋ณด๊ณ ยท๊ฒ์ฆ ์๋ต ์ฐจ๋จ (5์์น) | **๋น์ฉ โ18.6%** |
|
|
40
|
+
| โ๏ธ **Ratchet** | ํ ๋ฒ ๊ฒช์ ์๋ฌ๋ฅผ ๋ฃฐ๋ก ๊ณ ์ | ๊ฐ์ ์ค์ ์ฌ๋ฐ ์ฐจ๋จ |
|
|
41
|
+
|
|
42
|
+
์ค์น ํ ๋ฒ์ด๋ฉด ๋ท ๋ค ์ ์ฉ๋ฉ๋๋ค. ์ค์ธก โ18.6%๋ Harness์ ratchet์ ๋ชซ์ด๊ณ , ๋ผ์ฐํ
๊ณผ ๋ฌธ์ ๋ณํ ์ ๊ฐ์ก์ ๊ทธ ์์ ์นํ๋๋ค. ๋ ์ ๊ฐ์ก์ ์ฑ๊ฒฉ์ด ๋ฌ๋ผ์ ํ ์ซ์๋ก ํฉ์น์ง ์๊ณ , statusline ์ด ๊ฐ๊ฐ์ ์ค๋ก ๋ณด์ฌ ์ฃผ๋ฉฐ ๊ธ์ก์ด ํฐ ์ชฝ์ ์์ ๋์ต๋๋ค.
|
|
43
|
+
|
|
44
|
+
## ๋ชฉ์ฐจ
|
|
45
|
+
|
|
46
|
+
- **๋จผ์ ๋ณผ ๊ฒ**: [์์ํ๊ธฐ](#์์ํ๊ธฐ) ยท [statusline ์ฝ๋ ๋ฒ](#statusline-์ฝ๋-๋ฒ) ยท [์ฃผ์ ๋ช
๋ น](#์ฃผ์-๋ช
๋ น)
|
|
47
|
+
- **์ ๊ฐ ๊ธฐ๋ฅ**: [๋ผ์ฐํ
์ ๊ฐ ์์ฅ](#-์ ๊ฐ์ก์-์ถ์ ์ด-์๋๋ผ-์์ฅ-๊ธฐ๋ก์
๋๋ค) ยท [route-scan](#-route-scan-์ด-๋ฐ๋ณต-์์
์-๋-์ผ-ํฐ์ด๋ก-๋ด๋ ค๋-๋ฉ๋๋ค) ยท [doc2md](#-doc2md-๋ฌธ์๋ฅผ-์ฝ๊ธฐ-์ ์-markdown-์ผ๋ก-๋ฐ๊ฟ๋๋ค) ยท [seed](#-seed-์ค์น-์งํ๋ถํฐ-์์์ด-๊ฑธ๋ฆฌ๊ฒ-ํ๋-์์-๋ฃฐ) ยท [๋ฒค์น๋งํฌ](./docs/BENCHMARK.md)
|
|
48
|
+
- **๊ฐ๋๋ ์ผ**: [Harness](#-harness-๋ชจ๋) ยท [compact-window](#-compact-window-1m-์ปจํ
์คํธ์-์๋-์์ถ-์ง์ -๊ณ ์ ) ยท [ํ๊ตญ์ด ๋ฌธ์ฒด](#-ํ๊ตญ์ด-๋ฌธ์ฒด-์ง์นจ)
|
|
49
|
+
- **๋น์ฉ ๊ฐ์ํยทํ๊ฒฝ**: [์ด๋ฒ ๋ฌ ์ง์ถยทLiteLLM ํค ์์ฐ](#litellm-5h7d-cap-๋์ -ํค-์์ฐ์-๋ณด์ฌ-์ค๋๋ค-v3350) ยท [๊ฒ์ดํธ์จ์ด(BedrockยทVertex)](#-bedrockvertex-๊ฒฝ์ -ํ๊ฒฝ) ยท [ํ ํฐ ๊ธ์ฆ ์์ธ ์ฝ๋](#ํ ํฐ-๊ธ์ฆ-์์ธ-์ฝ๋) ยท [์ค์ธก ํจ๊ณผ](#์ค์ -ํจ๊ณผ-๋์
-์ ํ-๋ฆฌํฌํธ)
|
|
50
|
+
|
|
51
|
+
## ์์ํ๊ธฐ
|
|
52
|
+
|
|
53
|
+
**์ฌ์ ์ค๋น:** Node.js โฅ 18 (`node -v`๋ก ํ์ธ ยท macOS `brew install node` ยท Windows `winget install OpenJS.NodeJS.LTS` ยท Linux/WSL์ [nvm](https://github.com/nvm-sh/nvm) ๊ถ์ฅ)
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm uninstall -g claude-cache-monitor # (๊ตฌ ํจํค์ง ์ฌ์ฉ์๋ง)
|
|
57
|
+
npm i -g claude-token-saver
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
์ค์นํ๋ฉด Claude Code ํ๋ฉด ํ๋จ์ statusline์ด ๊ณง๋ฐ๋ก ๋ํ๋ฉ๋๋ค. `--ignore-scripts` ์ต์
์ด๋ sudo ์ฌ์ฉ ๋ฑ์ผ๋ก ์๋ ๋ฑ๋ก์ด ๋์ง ์์๋ค๋ฉด `claude-token-saver install`์ ์คํํด ์ง์ ๋ฑ๋กํ์ญ์์ค.
|
|
61
|
+
|
|
62
|
+
์ค์น ํ ๋ฒ์ผ๋ก **statusline๊ณผ Skill, SessionStart ํ
, ๐
ท Harness(5์์น), ์ต์ด route-scan์ด** ๋ชจ๋ ์ค๋น๋ฉ๋๋ค. Harness์ ํ๊ตญ์ด ๋ฌธ์ฒด ์ง์นจ์ **๋ฌด์์ด ์ถ๊ฐ๋๋์ง ๋ณด์ฌ ์ค ๋ค ์ผค์ง ๋ฌผ์ด๋ด
๋๋ค.** Harness๋ `~/.claude/CLAUDE.md`์ ํ์๊ฐ ๋ถ์ ๋ธ๋ก์ผ๋ก **์ถ๊ฐ๋๋ฉฐ**, ๊ธฐ์กด์ ์์ฑํด ๋ ๋ด์ฉ์ ๋ฐฑ์
ํ ๋ค ๊ทธ๋๋ก ๋ณด์กดํฉ๋๋ค. ์ด๋ฏธ ์ค์ ๋์ด ์๋ ๊ฒฝ์ฐ์๋ ์๋ฌด๊ฒ๋ ๋ฐ๊พธ์ง ์์ต๋๋ค.
|
|
63
|
+
|
|
64
|
+
ํฐ๋ฏธ๋์ด ์๋ ํ๊ฒฝ(npm์ `postinstall`, CI, ํ์ดํ ์
๋ ฅ)์์๋ ์ง๋ฌธ์ ๊ฑด๋๋ฐ๊ณ ๊ธฐ์กด ๊ธฐ๋ณธ๊ฐ์ ์ ์ฉํฉ๋๋ค. ์ง๋ฌธ ์์ด ์งํํ๋ ค๋ฉด `--yes`๋ `--no-input`, ์์ ๊ฑด๋๋ฐ๋ ค๋ฉด `CTS_NO_HARNESS=1 npm i -g claude-token-saver`๋ฅผ ์ฐ์ญ์์ค. ์ด๋ฏธ ์ ์ฉํ ์ค์ ์ ๋๋๋ฆฌ๋ ค๋ฉด `claude-token-saver harness uninit --global`์ ์คํํ์ญ์์ค.
|
|
65
|
+
|
|
66
|
+
> โ ๏ธ sudo๋ก ๊ธ๋ก๋ฒ ์ค์น๋ฅผ ํ๋ฉด Skill์ด ์ฌ์ฉ์ ๊ณ์ ์ด ์๋๋ผ root์ `~/.claude`์ ๋ฑ๋ก๋๋ ํจ์ ์ด ์์ต๋๋ค. nvm์ด๋ fnm, Volta๋ฅผ ์ฌ์ฉํด ์ฌ์ฉ์ ์์ญ์ ์ค์นํ๊ธฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค.
|
|
67
|
+
|
|
68
|
+
### ์ค์นํ๋ฉด ์ผ์ง๋ ๊ธฐ๋ฅ๊ณผ ์ง์ ์ผ์ผ ํ๋ ๊ธฐ๋ฅ
|
|
69
|
+
|
|
70
|
+
์ค์น ์์ ์ ๋น์ฉ์ด ๋ค์ง ์๋ ๊ธฐ๋ฅ์ ์ ๋ถ ์๋์ผ๋ก ์ผ์ง๋๋ค. ์๋์ผ๋ก ๋จ๊ฒจ ๋ ํญ๋ชฉ์ Claude Code ์์ฒด์ ์ค์ ์ ๋ฐ๊พธ๊ฑฐ๋, ์ ์ฉ ๋ฒ์๋ฅผ ์ฌ๋์ด ์ ํด ์ฃผ์ด์ผ ํ๋ ๊ฒ๋ค๋ฟ์
๋๋ค.
|
|
71
|
+
|
|
72
|
+
| ๊ธฐ๋ฅ | ์ค์น ์งํ ์ํ | ๋๋ ๋ฐฉ๋ฒ |
|
|
73
|
+
|---|---|---|
|
|
74
|
+
| statusline (์ง๋จ ์นฉยท์ ๊ฐ ์์ฅ) | ์ผ์ง | `claude-token-saver uninstall` |
|
|
75
|
+
| `/claude-token-saver` Skill | ์ผ์ง | ์์ ๊ฐ์ต๋๋ค |
|
|
76
|
+
| SessionStart ํ
(route-scan ์ฌ๋ถ์) | ์ผ์ง | ์์ ๊ฐ์ต๋๋ค |
|
|
77
|
+
| UserPromptSubmit ํ
(brief ์ฃผ์
) | ์ผ์ง | ์์ ๊ฐ์ต๋๋ค |
|
|
78
|
+
| ์ต์ด route-scan (์ต๊ทผ 14์ผ ๋ก๊ทธ ๋ถ์) | ์ค์น ์ค ์ฆ์ 1ํ ์คํ | ํด๋น ์์ต๋๋ค |
|
|
79
|
+
| ๐
ท Harness 5์์น (`~/.claude/CLAUDE.md`) | ์ผ์ง (ํฐ๋ฏธ๋์์๋ ๋ด์ฉ์ ๋ณด์ฌ ์ฃผ๊ณ ํ ๋ฒ ๋ฌป์ต๋๋ค) | `harness uninit --global` ยท `CTS_NO_HARNESS=1` |
|
|
80
|
+
| doc2md ํ
(ReadยทEditยทWriteยทํ๋กฌํํธ) | ์ผ์ง | `doc2md off` ยท `CTS_NO_DOC2MD=1` |
|
|
81
|
+
| doc2md ๋ณํ๊ธฐ(markitdown venv) | ํฐ๋ฏธ๋์์ ์ค์น ์ฌ๋ถ๋ฅผ ๋ฌป๊ณ , ๋น๋ํํ ์ค์น์์๋ ๋ช
๋ น๋ง ์๋ดํฉ๋๋ค | `doc2md install-converter` ๋ก ๋์ค์ ์ค์น |
|
|
82
|
+
| ํ๊ตญ์ด ๋ฌธ์ฒด ์ง์นจ | ์์คํ
๋ก์ผ์ผ์ด ํ๊ตญ์ด๋ฉด ์ผ์ง (ํฐ๋ฏธ๋์์๋ ๋ฌป์ต๋๋ค) | `korean off` ยท `CTS_NO_KOREAN=1` |
|
|
83
|
+
| compact-window ๊ฒฝ๊ณ ์นฉ | ์ผ์ง | `compact-window off` |
|
|
84
|
+
| ์
๋ฐ์ดํธ ์๋ด ์นฉ | ์ผ์ง | `CTS_NO_UPDATE_CHECK=1` |
|
|
85
|
+
| **compact-window ๊ฐ ๊ณ ์ ** (`autoCompactWindow` 500k) | **๊บผ์ง โ ์ง์ ์คํํด์ผ ํฉ๋๋ค** | `compact-window set --global` ๋๋ `--project` |
|
|
86
|
+
| **๋ชจ๋ธ ํผํ
๋ฃฐ ์น์ธ** (`ratchet-model.md` ์์ ๋ฃฐ) | **ํ๋ณด๋ง ์ ์ํฉ๋๋ค** | `route-scan rules` ๋ก ํ์ธํ๊ณ ์น์ธยท์ญ์ |
|
|
87
|
+
| `handoff` (ํ๋ ์๋ฐ ์ ์์
๋ฐฑ์
) | ํ์ํ ๋ ์ง์ ์คํํ๋ ๋ช
๋ น์
๋๋ค | ํด๋น ์์ต๋๋ค |
|
|
88
|
+
|
|
89
|
+
`compact-window set` ์ Claude Code ์ `settings.json` ์ ๊ฐ์ ์ ๊ณ , ์ ์ญ๊ณผ ํ๋ก์ ํธ ์ค ์ด๋์ ์ ์์ง๋ ์ฌ๋์ด ์ ํด์ผ ํ๋ฏ๋ก ์๋์ผ๋ก ์คํํ์ง ์์ต๋๋ค. ๋ชจ๋ธ ํผํ
๋ฃฐ๋ ๊ฐ์ ์ด์ ๋ก ์น์ธ ๋จ๊ณ๋ฅผ ๋จ๊ฒจ ๋์์ต๋๋ค. ์ด๋ค ์์
์ ๋ ์ผ ํฐ์ด์ ๋งก๊ธธ์ง๋ ์ฌ์ฉ์์ ํ๋จ์ด ํ์ํฉ๋๋ค.
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
## ๐ ์ ๊ฐ์ก์ ์ถ์ ์ด ์๋๋ผ ์์ฅ ๊ธฐ๋ก์
๋๋ค
|
|
93
|
+
|
|
94
|
+
์์๋ ์คํ ํ๋ํ๋๋ฅผ ์ด๋ ๊ฒ ๊ธฐ๋กํฉ๋๋ค.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
๊ธฐ์ค ๋ชจ๋ธ ์คํ ๋ชจ๋ธ ์ฐจ์ก
|
|
98
|
+
claude-opus-5 โ haiku-4-5 = $0.57
|
|
99
|
+
(๋ฃฐ ์น๊ฒฉ ์ (์ค์ ๋ก (๊ฐ์ ํ ํฐ๋์
|
|
100
|
+
์ด ์ ํ์ ์ฒ๋ฆฌํ ๋ ๋ชจ๋ธ ๊ฐ๊ฒฉํ๋ฅผ
|
|
101
|
+
์ฒ๋ฆฌํ๋ ๋ชจ๋ธ) ๋ชจ๋ธ) ๊ฐ๊ฐ ์ ์ฉ)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
$ claude-token-saver route-scan savings # ๋ชจ๋ ๊ธ์ก์ ๋ฃฐ ๋จ์๊น์ง ์ญ์ถ์
|
|
106
|
+
|
|
107
|
+
๐ ๋ผ์ฐํ
์ ๊ฐ ๋์ $2.09 (์ต๊ทผ 7์ผ $1.40 ยท 30์ผ $2.09)
|
|
108
|
+
|
|
109
|
+
๋ชจ๋ธ ์ด๋๋ณ:
|
|
110
|
+
claude-fable-5 โ claude-sonnet-5 โ 1ํ, $0.72
|
|
111
|
+
claude-opus-5 โ claude-haiku-4-5 โ 1ํ, $0.57
|
|
112
|
+
|
|
113
|
+
์คํ๋ณ (์ต๊ทผ์):
|
|
114
|
+
2026-08-22 $0.51 claude-fable-5 โ claude-haiku-4-5
|
|
115
|
+
๋ฃฐ: T2|paste|-Users-me-projects-my-app
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**์ง๊ณ์์ ๋นผ๋ ๊ฒ๋ค**: ์ ์งํ ์ซ์๊ฐ ์์ ์ซ์๋ณด๋ค ๋ซ๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
119
|
+
|
|
120
|
+
- ๋ฑ๋ก๋ ๋ฃฐ์ด ๋ด๋นํ์ง ์๋ ์์(`Explore`, ์ง์ ๋ง๋ ์์ด์ ํธ, ํ๋ฌ๊ทธ์ธ ์์ด์ ํธ): ์ด ๋๊ตฌ๊ฐ ๋ผ์ฐํ
ํ ๊ฒฐ๊ณผ๊ฐ ์๋๋๋ค.
|
|
121
|
+
- ๊ฐ๊ฒฉํ๊ฐ ์ธ์ํ์ง ๋ชปํ๋ ๋ชจ๋ธ๋ช
: ํ๋ฆฐ ๊ธ์ก์ ์ฐ๋๋ ๊ทธ ์คํ์ ๋บ๋๋ค.
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## โก ๊ทธ ๋ฐ์ statusline์ด ์ก์ ์ฃผ๋ ๊ฒ
|
|
126
|
+
|
|
127
|
+
| | |
|
|
128
|
+
|---|---|
|
|
129
|
+
| ๐จ **ํ๋ ์ด๊ณผ ์๋ฐฉ** | 5์๊ฐยท7์ผ rate-limit ์๋๊ฐ 90%์ ๋ฟ์ผ๋ฉด ๊ฒฝ๊ณ ํ๊ณ , `handoff`๋ก ์์
์ ๋ฐฑ์
ํฉ๋๋ค |
|
|
130
|
+
| ๐ง **์บ์ ๋ญ๋น ๊ฐ์ง** | ํํธ์จยทTTLยท1M ์ปจํ
์คํธ๋ฅผ ๊ฐ์งํด ํ ํฐ ๊ธ์ฆ ์์ธ์ ์ฝ๋๋ก ์ง๋จํฉ๋๋ค |
|
|
131
|
+
| ๐ต **๋น์ฉ ๊ฐ์ํ** | ์ด๋ฒ ๋ฌ ์ง์ถ(`๐ต Sep $42`)์ ์์ ํ์ํ๊ณ , LiteLLM ๊ฒ์ดํธ์จ์ด์์๋ ํค ์์ฐ ๊ฒ์ด์ง(`๐ budget 34% $34/$100`)๋ก 5h/7d cap ์ ๋์ ํฉ๋๋ค ([์๋](#litellm-5h7d-cap-๋์ -ํค-์์ฐ์-๋ณด์ฌ-์ค๋๋ค-v3350)) |
|
|
132
|
+
| ๐ฐ๐ท **ํ๊ตญ์ด ๋ฌธ์ฒด ๊ต์ ** | ํ๊ตญ์ด ํ๊ฒฝ์ด๋ฉด ์๋์ผ๋ก ์ผ์ง๋๋ค ([์๋](#-ํ๊ตญ์ด-๋ฌธ์ฒด-์ง์นจ)) |
|
|
133
|
+
|
|
134
|
+
## ๋ผ์ฐํฐ๊ฐ ์๋๋๋ค: 60์ด ์ค๋ช
|
|
135
|
+
|
|
136
|
+
์ด ๋๊ตฌ๋ ์์ฒญ์ ์ค์๊ฐ์ผ๋ก ๊ฐ๋ก์ฑ์ง ์์ต๋๋ค.
|
|
137
|
+
**์ธ์
์ด ๋๋ ๋ค์** ๋ก์ปฌ ๊ธฐ๋ก์ ์ฝ์ด์ ๋น์ผ ๋ชจ๋ธ์ด ๋ฐ๋ณตํด์ ์ฒ๋ฆฌํด ์จ ์ฌ์ด ์ ํ์ ์ฐพ์๋ด๊ณ ,
|
|
138
|
+
๊ทธ ์ ํ์ **๋ค์ ์ธ์
๋ถํฐ** ๋ ์ผ ๋ชจ๋ธ์ด ๋งก๋๋ก ๋ฃฐ๋ก ๋ฑ๋กํฉ๋๋ค. ๋ฃฐ์ ์ ์ฉ ๋ฒ์๋ ๊ธ๋ก๋ฒ๊ณผ ํ๋ก์ ํธ๋ก ๋๋ฉ๋๋ค.
|
|
139
|
+
|
|
140
|
+
### ์ค์๊ฐ ๋ชจ๋ธ ๋ผ์ฐํ
์ด ์คํ๋ ค ๋น์ฉ์ ํค์ฐ๋ ์ด์
|
|
141
|
+
|
|
142
|
+
์ธ์
๋์ค์ ๋ชจ๋ธ์ ๋ฐ๊พธ์ง ์๋๋ค๋ ์ ์ด ์ด ๋๊ตฌ์ ํต์ฌ์
๋๋ค.
|
|
143
|
+
|
|
144
|
+
ํ๋กฌํํธ ์บ์๋ **๋ชจ๋ธ๋ณ๋ก ๋ฐ๋ก ์ ์ง๋ฉ๋๋ค.** ๊ทธ๋์ ์ธ์
์ค๊ฐ์ ๋ ์ผ ๋ชจ๋ธ๋ก ์ ํํ๋ฉด ์ ๋ชจ๋ธ์ ๋น ์บ์์์ ์์ํ๊ณ , ๊ทธ๋๊น์ง ์์ธ ๋ํ ์ ์ฒด๋ฅผ ์ ๊ฐ๋ก ๋ค์ ์ฝ์ด์ผ ํฉ๋๋ค. ์บ์ ํํธ๋ ์๋ ์
๋ ฅ๊ฐ์ 10๋ถ์ 1 ์์ค์ด๋ฏ๋ก, ๋ํ๊ฐ 2๋ง ํ ํฐ๋ง ๋์ด๊ฐ๋ **์ ํ ํ ๋ฒ์ ๊ทธ๋ ์๋ ๊ธ์ก์ด ํต์งธ๋ก ์ฌ๋ผ์ง๋๋ค.** ์ผ ๋ชจ๋ธ๋ก ์ฎ๊ฒผ๋๋ฐ ์ฒญ๊ตฌ์๋ ๋ ์ปค์ง๋, ์ค์๊ฐ ๋ผ์ฐํ
์ ๋ํ์ ์ธ ์ญ์ค์
๋๋ค.
|
|
145
|
+
|
|
146
|
+
์ค์ ๋ก ๋ผ์ฐํ
์ ํ์ ๋ง๋ค๋ ํ๋ค์ด ๊ฐ์ ์ด์ ๋ก ๊ธฐ๋ฅ์ ๊ป์ต๋๋ค: [LLM ๋ผ์ฐํฐ๋ฅผ ๋ง๋ ์ฌ๋๋ค์ด ์ง์ ๊ป์ต๋๋ค #Shorts](https://www.youtube.com/shorts/SK-GoAABjbg)
|
|
147
|
+
|
|
148
|
+
์ด ๋๊ตฌ๋ ๊ทธ๋์ ๋ฉ์ธ ์ธ์
์ ๋ชจ๋ธ์ ๊ฑด๋๋ฆฌ์ง ์์ต๋๋ค. **์๋ธ์์ด์ ํธ ์์๋ง ์ฌ์ฉํ๋ฏ๋ก** ๋ฉ์ธ ์ธ์
์ ์บ์๋ ๊ทธ๋๋ก ์ ์ง๋๊ณ , ์์๋ ์์
๋ง ๋ณ๋ ์ปจํ
์คํธ์์ ์ผ ๋ชจ๋ธ์ด ์ฒ๋ฆฌํฉ๋๋ค. ์ ๊ฐ์ก์ด ์บ์ ์์ค๋ก ์์๋์ง ์๋ ์ด์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค.
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
npm i -g claude-token-saver@latest
|
|
152
|
+
claude-token-saver route-scan # ์ง๋ ์ธ์
์์ ์์ ํ๋ณด ์ถ์ถ (LLM ํธ์ถ ์์)
|
|
153
|
+
claude-token-saver route-scan rules # ์น๊ฒฉ๋ ๋ฃฐ ํ์ธ ยท rm <N> ์ผ๋ก ์ญ์
|
|
154
|
+
claude-token-saver route-scan savings # ์์์ผ๋ก ์ ๊ฐํ ๊ธ์ก์ ๊ทผ๊ฑฐ๋ฅผ ์ ์ ํ์ธ
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
ํ์ ๊ธฐ์ค์ ์ ๋ค๋ฅธ ์ฌ๋์ ๋ฒค์น๋งํฌ๊ฐ ์๋๋ผ **์ฌ์ฉ์ ๋ณธ์ธ์ ์ต๊ทผ 14์ผ ๋ถํฌ(p25/p75)** ๋ก ์ก์ต๋๋ค.
|
|
158
|
+
์์ํ ๋ค์ ์ค์ ๋ก ์ฑ๊ณตํ๋์ง๊น์ง ์ธก์ ํ๋ rule-health๋ [v3.9.0](#v390-2026-08-01)์ ๋ค์ด๊ฐ์ต๋๋ค.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## statusline ์ฝ๋ ๋ฒ
|
|
163
|
+
|
|
164
|
+
์ ๊ฐ ์์ฅ์ ๊ธฐ๋ก์ด ์์ด๋ฉด statusline์ด **๋ ์ค๋ก** ์ถ๋ ฅ๋ฉ๋๋ค. ์ฒซ์งธ ์ค์๋ ๋ผ์ฐํ
์ ๊ฐ์ก๋ง ํ์ํ๊ณ , ๋์งธ ์ค์๋ ์ง๋จ ์นฉ์ ํ์ํฉ๋๋ค.
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
๐ Routing saved $2.09 | fableโsonnet 1ร $0.72 ยท opusโhaiku 1ร $0.57
|
|
168
|
+
โ Ctx 500k+ ยท ๐
ท 5/5 ยท ๐ค Opus 5 ยท ๐ง Cache hit 98.8% ยท โณ Cache expires 59:46 ยท โฆ current โโโโโโ 62% ๐ 21:33 ยท ๐
weekly โโโโโโ 38% ๐ Tue 19:33 ยท ๐ฆ Ctx 47% of 1M ยท ๐ฐ Cache saved $1.0K ยท last 1d
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
์์ฅ์ด ๋น์ด ์์ผ๋ฉด, ๋ค์ ๋งํด ์์ง ์ค์ธก๋ ์์์ด ์์ผ๋ฉด ์ฒซ์งธ ์ค์ ๊ทธ๋ฆฌ์ง ์๊ณ ์ข
์ ์ฒ๋ผ ํ ์ค๋ก ์ถ๋ ฅํฉ๋๋ค. ์ผ๋ถ ํ๊ฒฝ(๊ตฌ๋ฒ์ macOS Claude Code)์์ ์ฒซ์งธ ์ค๋ง ํ์๋๋ค๋ฉด `--single-line` ์ต์
์ผ๋ก ํ ์ค ๋ ์ด์์์ ์ ์งํ์ญ์์ค.
|
|
172
|
+
|
|
173
|
+
| ์ธ๊ทธ๋จผํธ | ์๋ฏธ |
|
|
174
|
+
|---|---|
|
|
175
|
+
| `๐` **์ฒซ์งธ ์ค** | ๋ผ์ฐํ
์ผ๋ก ์ ๊ฐํ ๋์ ๊ธ์ก๊ณผ ๋ชจ๋ธ ์ด๋ ๋ด์ญ์
๋๋ค. ๋ด์ญ ํฉ๊ณ๋ ๋์ ๊ธ์ก๊ณผ ์ ํํ ์ผ์นํ๊ณ , ๋ชจ๋ธ๋ช
์ ๊ณ์ด๋ง ๋จ๊น๋๋ค(`opusโhaiku`). ๊ทผ๊ฑฐ๋ `route-scan savings` ๋ก ์ ๋ถ ํ์ธํ ์ ์์ต๋๋ค |
|
|
176
|
+
| `๐` **๋์งธ ์ค** | doc2md ๋ฌธ์ ๋ณํ์ด ์ ๊ฐํ ๋์ ๊ธ์ก๊ณผ ํ์๋ณ ๋ด์ญ์
๋๋ค. ๋ผ์ฐํ
๊ณผ ๋ฌธ์ ๋ณํ ์ค ๊ธ์ก์ด ํฐ ์ชฝ์ด ์ฒซ์งธ ์ค์ ์ฐจ์งํฉ๋๋ค |
|
|
177
|
+
| `๐ค` | ํ์ฌ ๋ชจ๋ธ |
|
|
178
|
+
| `๐
ท 5/5` | harness ์์น ์ ์ ([Harness ๋ชจ๋](#-harness-๋ชจ๋)) |
|
|
179
|
+
| `๐ง ` | ์บ์ ํํธ์จ (85%+ ๋
น์) |
|
|
180
|
+
| `โณ` | ์บ์ TTL ์นด์ดํธ๋ค์ด์
๋๋ค. ๋ง๋ฃ๋๊ธฐ ์ ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ฉด ์บ์๊ฐ ์ ์ง๋ฉ๋๋ค. ์
๋ ฅ์ด ์์ ๋๋ ์ด ๋จ์๋ก ์ค์ด๋๋ ํ์๋ Claude Code v2.1.97 ์ด์์์ ๋์ํฉ๋๋ค (์๋ [์นด์ดํธ๋ค์ด์ด ๋ฉ์ถฐ ๋ณด์ผ ๋](#๋์-์๋ฆฌ--ํ๊ฒฝ) ์ฐธ๊ณ ) |
|
|
181
|
+
| `โฆ current` / `๐
weekly` | 5์๊ฐ / 7์ผ rate-limit ์๋ ์ฌ์ฉ๋ฅ + ๋ฆฌ์
์๊ฐ |
|
|
182
|
+
| `๐ฆ` | ์ปจํ
์คํธ ์ฌ์ฉ๋ฅ ์
๋๋ค(์: `Ctx 68% of 1M`). ์ฌ์ฉ๋ฅ ์ ๋ฐ๋ผ ๋
น์ยท๋
ธ๋์ยท๋นจ๊ฐ์์ผ๋ก ํ์ํฉ๋๋ค. ์ต์ ๋ชจ๋ธ์ 1M ์ปจํ
์คํธ๊ฐ ๊ธฐ๋ณธ์ด๊ณ ๋ณ๋ ์๊ธ์ด ๋ถ์ง ์์ง๋ง, ํ ํฐ๋ ์์ฒด๊ฐ ํด๋น ๋น์ฉ๊ณผ 5์๊ฐยท7์ผ ํ๋๋ฅผ ๋น ๋ฅด๊ฒ ์๋ชจ์ํต๋๋ค |
|
|
183
|
+
| `๐ต Sep $42` | **์ด๋ฒ ๋ฌ 1์ผ 00์(๋ก์ปฌ) ์ดํ ์ง์ถ ์ถ์ ์น**์
๋๋ค. ์ธ์
๋ก๊ทธ์ ์ธ์
๋ณ ๋ชจ๋ธ ๋จ๊ฐ๋ฅผ ์ ์ฉํด ํฉ์ฐํ๋ฉฐ, 5h/7d cap ์ด ์๋ ๊ฒ์ดํธ์จ์ด ํ๊ฒฝ์์๋ ํญ์ ํ์๋ฉ๋๋ค (v3.35.0) |
|
|
184
|
+
| `๐ budget` | **LiteLLM ๊ฒ์ดํธ์จ์ด ํค์ ์์ฐ ๊ฒ์ด์ง**์
๋๋ค. stdin ์ rate_limits ๊ฐ ์ค์ง ์๋ ํ๊ฒฝ์์ ํค์ `max_budget` ๋๋น `spend` ๋ฅผ `๐ budget โฐโฑ 34% $34/$100` ํํ๋ก ๋ณด์ฌ ์ค๋๋ค (v3.35.0, [์๋](#-bedrockvertex-๊ฒฝ์ -ํ๊ฒฝ)) |
|
|
185
|
+
| `๐ฐ` | ํ๋กฌํํธ ์บ์๊ฐ ์ ์ฝํด ์ค ๋์ ๊ธ์ก์
๋๋ค. ์ฒซ์งธ ์ค์ `๐`(๋ชจ๋ธ ๋ผ์ฐํ
์ ๊ฐ์ก)์๋ **์๋ก ๋ค๋ฅธ ์์น์
๋๋ค** |
|
|
186
|
+
| `v3.24.0` | ์ง๊ธ ์คํ ์ค์ธ claude-token-saver์ ๋ฒ์ ์
๋๋ค. ์ต์ ์ด๋ฉด ํ์์ผ๋ก ์ค ๋์ ์กฐ์ฉํ ๋์
๋๋ค |
|
|
187
|
+
| `โฌ v3.24.0 โ 3.25.0` | ์ ๋ฒ์ ์ด ๋ฐฐํฌ๋์ด ์๋ค๋ ํ์์
๋๋ค. ์กฐ์น๊ฐ ํ์ํ ์นฉ์ด๋ฏ๋ก ์ค ์์ชฝ์ผ๋ก ์ฌ๋ผ์ต๋๋ค ([์
๋ฐ์ดํธ ์๋ด](#-์
๋ฐ์ดํธ-์๋ด)) |
|
|
188
|
+
|
|
189
|
+
๋ฌธ์ ๊ฐ ๊ฐ์ง๋๋ฉด **๊ฒฝ๊ณ ์นฉ์ ์ค ๋งจ ์์** ๋ถ์
๋๋ค.
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
๐จ 5H โโโโโโ 94% ๐ 12:36 ยท ๐
ท 5/5 ยท ๐ค Opus 4.8 ยท ๐ง Cache hit 72.1% ยท โ Cache miss ยท ๐
weekly โโโโโโ 12% ๐ Sun 14:26 ยท ๐ฆ Ctx 200k ยท last 1d
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
์นฉ์ ์ข
๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. `๐จ 5H/7D NN%`(ํ๋ ์๋ฐ) ยท `โ Ctx 500k+`(๋จ์ผ ์์ฒญ์ด ์ค์ ๋ก 500k๋ฅผ ์ด๊ณผ) ยท `โ Cache miss` ยท `โ Input spike` ยท `โ Output heavy` ยท `โ Call surge` ยท `โ Rebuild churn` ยท `โ 5m TTL`. ๋ ์๋๊ฐ ๋์์ 90%๋ฅผ ๋์ผ๋ฉด ๋ฆฌ์
์ด ๋ ์๋ฐํ ์ชฝ์ ๐จ๋ก ์ฌ๋ฆฌ๊ณ , ๋๋จธ์ง ํ๋๋ ๋นจ๊ฐ ์ธ๊ทธ๋จผํธ๋ก ๊ณ์ ํ์ํฉ๋๋ค (v2.16.0 ์ด์).
|
|
196
|
+
|
|
197
|
+
### ๊ฒฝ๊ณ ์นฉ์ด ๋ด์ ๋
|
|
198
|
+
|
|
199
|
+
Claude Code ์์์ `/claude-token-saver` Skill์ ์คํํ๊ฑฐ๋, ์นฉ์ ์ ํ ๋ฌธ๊ตฌ๋ฅผ ๊ทธ๋๋ก ๋งํ๊ธฐ๋ง ํด๋("5H cap ๋ด์ด", "cache miss") Skill์ด ์๋์ผ๋ก ํ์ฑํ๋์ด **์์ธ ์ฝ๋์ ๋จ๊ณ๋ณ ํด๊ฒฐ ๋ช
๋ น์** ๋ณด์ฌ ์ค๋๋ค. ํ๋๊ฐ ์๋ฐํ ์ํฉ์์๋ `claude-token-saver handoff`๋ก ์งํ ์ค์ธ ์์
์ ๋งํฌ๋ค์ด ํ์ผ์ ๋ฐฑ์
ํ ๋ค ์ ์ธ์
์์ ์ด์ด๊ฐ๋ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค.
|
|
200
|
+
|
|
201
|
+
## ์ฃผ์ ๋ช
๋ น
|
|
202
|
+
|
|
203
|
+
์
ธ์์ ์ง์ ์คํํฉ๋๋ค (Claude Code ์์์๋ `/claude-token-saver` Skill ํ๋๋ง ์ฌ์ฉ):
|
|
204
|
+
|
|
205
|
+
| ๋ช
๋ น | ์ค๋ช
|
|
|
206
|
+
|---|---|
|
|
207
|
+
| `claude-token-saver` | ์ต๊ทผ 1์ผ ์ง๋จ ๋ฆฌํฌํธ (`--days N` / `--hours N`) |
|
|
208
|
+
| `claude-token-saver last` | ๊ฐ์ฅ ์ต๊ทผ ๊ฒฝ๊ณ 1๊ฑด + ์ฒ๋ฐฉ |
|
|
209
|
+
| `claude-token-saver history` | ์ต๊ทผ 7์ผ ๊ฒฝ๊ณ ์ ์ด ๋ก๊ทธ |
|
|
210
|
+
| `claude-token-saver handoff` | ์์
์ํ๋ฅผ `HANDOFF-*.md`๋ก ๋ฐฑ์
(์บก ์๋ฐ ์) |
|
|
211
|
+
| `claude-token-saver mode [keywords...]` | ์ถ๋ ฅ ์ค์ (`icon`/`text`, `ko`/`en`, `1h`~`30d` ์๋ ๋ฑ) |
|
|
212
|
+
| `claude-token-saver harness ...` | ๐
ท Harness ๊ด๋ฆฌ (์๋ ์ฐธ๊ณ ) |
|
|
213
|
+
| `claude-token-saver route-scan` | ์์ ๋ชจ๋ธ์ด ๋ฐ๋ณต ์ฒ๋ฆฌํ ์ฌ์ด ์์
์ ๊ฐ์งํด haiku ์์ ๋ซ์ณ ๋ฃฐ์ ์ ์ํฉ๋๋ค (์๋ ์ฐธ๊ณ ) |
|
|
214
|
+
| `claude-token-saver route-scan savings` | ๋ผ์ฐํ
์ ๊ฐ ์์ฅ์
๋๋ค. ๋ชจ๋ธ ์ด๋๋ณ ํฉ๊ณ์ ์คํ๋ณ ๋ด์ญ์ ํจ๊ป ๋ณด์ฌ ์ฃผ๋ฉฐ, ํ์๋๋ ๊ธ์ก์ ๊ทผ๊ฑฐ๊ฐ ๋ฉ๋๋ค |
|
|
215
|
+
| `claude-token-saver compact-window` | 1M ์ปจํ
์คํธ๋ฅผ ์ฐ๋ฉด์ ์๋ ์์ถ ์ฐฝ์ด ์ค์ ๋์ง ์์์ผ๋ฉด ๊ฒฝ๊ณ ํ๊ณ , `set`์ผ๋ก 40๋ง์ ๊ณ ์ ํฉ๋๋ค (์๋ ์ฐธ๊ณ ) |
|
|
216
|
+
| `claude-token-saver korean on\|off\|status` | ํ๊ตญ์ด ๋ฌธ์ฒด ์ง์นจ์ ์ธ์
์์ ์ ์ฃผ์
ํ๊ณ , ์ฐ๊ธฐ ์์ ๊ฒ์ฌ๋ฅผ ํจ๊ป ์ค์นํฉ๋๋ค (์๋ ์ฐธ๊ณ ) |
|
|
217
|
+
| `claude-token-saver cohesion on\|off\|status\|show` | ์์ด ๋ฌธ์ฅ ์ฐ๊ฒฐ(์์ง์ฑ) ์ง์นจ์ ์ธ์
์์ ์ ์ฃผ์
ํฉ๋๋ค |
|
|
218
|
+
| `claude-token-saver korean lint block\|warn\|off` | ์ฐ๊ธฐ ์์ ๊ฒ์ฌ๊ฐ ์๋ฐ์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง ์ ํฉ๋๋ค |
|
|
219
|
+
| `claude-token-saver korean lint scope all\|prose` | ๊ฒ์ฌ ๋ฒ์๋ฅผ ๋ชจ๋ ํ
์คํธ ํ์ผ๊ณผ ๋ฌธ์ ์ ์ฉ ์ฌ์ด์์ ๊ณ ๋ฆ
๋๋ค |
|
|
220
|
+
| `claude-token-saver doc2md on\|off` | ์ฒจ๋ถ ๋ฌธ์๋ฅผ ๋ชจ๋ธ์ด ์ฝ๊ธฐ ์ ์ Markdown ์ผ๋ก ๋ณํํฉ๋๋ค (์๋ ์ฐธ๊ณ ) |
|
|
221
|
+
| `claude-token-saver doc2md <ํ์ผ>` | ํ์ผ ํ๋๋ฅผ ์ง์ ๋ณํํฉ๋๋ค. ์ง๋จ ์ฉ๋์ด๋ฉฐ ์คํจ ์ด์ ๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํฉ๋๋ค |
|
|
222
|
+
| `claude-token-saver mode ttl=5m\|1h\|auto` | ์บ์ TTL ๋ฒํท์ ์ง์ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ `auto`๋ ์ค์ธก๊ฐ์ ๋จผ์ ๋ณด๊ณ , ์ค์ธก๊ฐ์ด ์์ผ๋ฉด ๊ฒ์ดํธ์จ์ด ์ฌ๋ถ๋ก ํ์ ํฉ๋๋ค |
|
|
223
|
+
| `claude-token-saver --version` | ์ค์น๋ ๋ฒ์ ์ ์ถ๋ ฅํฉ๋๋ค |
|
|
224
|
+
| `claude-token-saver update-check` | ์ ๋ฒ์ ์ด ์๋์ง ํ์ธํฉ๋๋ค (`--refresh`๋ก ์ฆ์ ์กฐํ, `--dismiss`๋ก ๊ทธ ๋ฒ์ ์๋ด ๋๊ธฐ) |
|
|
225
|
+
| `claude-token-saver upgrade` | ์ค์น ๊ฒฝ๋ก์ ๋ง๋ ๋ช
๋ น์ผ๋ก ์ต์ ๋ฒ์ ์ ์ค์นํฉ๋๋ค (`--print`๋ก ์คํ ์์ด ๋ช
๋ น๋ง ํ์ธ) |
|
|
226
|
+
| `claude-token-saver install` | Skillยทstatusline ์๋ ๋ฑ๋ก |
|
|
227
|
+
| `claude-token-saver uninstall [--purge]` | ๋ฑ๋กํ ํ
ยทstatuslineยทSkill ์ ๊ฑฐ. ๊ธฐ๋ก๋ ์ ๊ฐ์ก์ ๋จ๊ธฐ๋ฉฐ, `--purge` ๋ฅผ ๋ถ์ด๋ฉด ์ํ ๋๋ ํฐ๋ฆฌ๊น์ง ์ง์๋๋ค |
|
|
228
|
+
|
|
229
|
+
์ถ๋ ฅ ์ธ์ด๋ ์ค์นํ ๋ ํ ๋ฒ ์ ํฉ๋๋ค. ํฐ๋ฏธ๋์์ ์ค์นํ๋ฉด ์์คํ
๋ก์ผ์ผ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ ์ํ๊ณ ํ๊ตญ์ด๋ฅผ ์ธ์ง ๋ฌผ์ด๋ณด๋ฉฐ, ๋น๋ํํ ์ค์น์์๋ ๋ก์ผ์ผ ํ์ ์ ๊ทธ๋๋ก ๊ธฐ๋กํฉ๋๋ค. ํ ๋ฒ ๊ธฐ๋ก๋๋ฉด ์
๊ทธ๋ ์ด๋ํด๋ ๋ค์ ๋ฌป์ง ์์ต๋๋ค. ๋์ค์ ๋ฐ๊ฟ ๋๋ `mode ko`๋ `mode en`์ ์ฐ๊ณ , ์คํฌ๋ฆฝํธ์์ ์ค์นํ ๋๋ `CTS_LANG=ko` ๋๋ `CTS_LANG=en`์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค. statusline์ ์นฉ์ ์ธ์ ๋ ๊ธฐํธ๋ก ํ์ํฉ๋๋ค. ์ ์ฒด ์ต์
์ [์๋ฌธ README](./README.md#options)๋ฅผ ์ฐธ๊ณ ํ์ญ์์ค.
|
|
230
|
+
|
|
231
|
+
## โฌ ์
๋ฐ์ดํธ ์๋ด
|
|
232
|
+
|
|
233
|
+
statusline์ ๋ํ ์์๋ฅผ ๋์ธ ์ ์๊ณ , 300๋ฐ๋ฆฌ์ด๋ง๋ค ๋ค์ ๊ทธ๋ ค์ง๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฆฌ๋ ์์ ์ ๋คํธ์ํฌ๋ฅผ ์ธ ์๋ ์์ต๋๋ค. ๊ทธ๋์ ์๋ด๋ฅผ ๋ ์ง์ ์ผ๋ก ๋๋์์ต๋๋ค.
|
|
234
|
+
|
|
235
|
+
- **statusline์ ์๋ฆฌ๊ธฐ๋ง ํฉ๋๋ค.** ์ต์ ๋ฒ์ ์ด๋ฉด ์ค ๋์ `v3.24.0`์ ํ์์ผ๋ก ์กฐ์ฉํ ํ์ํ๊ณ , ์ ๋ฒ์ ์ด ์์ผ๋ฉด `โฌ v3.24.0 โ 3.25.0`์ ์ค ์์ชฝ์ ๋
ธ๋์์ผ๋ก ์ฌ๋ฆฝ๋๋ค. ๋นจ๊ฐ์์ ์ฐ์ง ์์ต๋๋ค. ๋ฌด์๋ ๊ณ ์ฅ ๋ ์ํ๊ฐ ์๋๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
236
|
+
- **๋ฌป๋ ์ผ์ ์ธ์
์์์์ ํฉ๋๋ค.** ์ ์ธ์
์ด๋ `/clear` ์์ ์ SessionStart ํ
์ด "์ ๋ฒ์ ์ด ์์ผ๋ ์ฌ์ฉ์์๊ฒ ์
๊ทธ๋ ์ด๋ํ ์ง ๋ฌผ์ด๋ณด๋ผ"๋ ํ ์ค์ ๋ชจ๋ธ์๊ฒ ์ฃผ์
ํฉ๋๋ค. ๋ชจ๋ธ์ ์ฌ์ฉ์์๊ฒ ํ์ธํ ๋ค์๋ง `claude-token-saver upgrade`๋ฅผ ์คํํฉ๋๋ค. ๋ฌป์ง ์๊ณ ์ค์นํ์ง ์์ต๋๋ค.
|
|
237
|
+
- **๊ฑฐ์ ์ ๊ธฐ์ตํฉ๋๋ค.** ์ฌ์ฉ์๊ฐ ์์น ์์ผ๋ฉด `claude-token-saver update-check --dismiss`๋ก ๊ทธ ๋ฒ์ ์ ๋ฌป์ง ์๋๋ก ์ค์ ํฉ๋๋ค. ๋ ์๋ก์ด ๋ฒ์ ์ด ๋ฐฐํฌ๋๋ฉด ๋ค์ ๋ฌป์ต๋๋ค. statusline ์นฉ์ ๊ทธ๋๋ก ๋จ์ต๋๋ค. ๊ฑฐ์ ํ ๊ฒ์ ์ง๋ฌธ์ด์ง, ์ ๋ฒ์ ์ด ์๋ค๋ ์ฌ์ค์ด ์๋๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
238
|
+
|
|
239
|
+
๋ฒ์ ์กฐํ๋ 24์๊ฐ์ ํ ๋ฒ, ๋ถ๋ฆฌ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ง ํ์ผ์ ๋จ๊น๋๋ค(`update-check.json`). ์ด ๋ฐฉ์์ npm์ `update-notifier`๊ฐ ์ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๋คํธ์ํฌ๊ฐ ๋๊ฒจ ์์ด๋ ์คํจ ์๊ฐ์ ๊ธฐ๋กํด ๋๋ฏ๋ก ๋งค ๋ ๋๋ง๋ค ์ฌ์๋ํ์ง ์์ต๋๋ค. ํ์ธ ์์ฒด๋ฅผ ๋๋ ค๋ฉด ํ๊ฒฝ ๋ณ์ `CTS_NO_UPDATE_CHECK=1` ๋๋ `NO_UPDATE_NOTIFIER`๋ฅผ ์ค์ ํ์ญ์์ค.
|
|
240
|
+
|
|
241
|
+
## ๐
ท Harness ๋ชจ๋
|
|
242
|
+
|
|
243
|
+
๋ค์ฏ ์์น(Ratchet ยท Evidence ยท PEV ยท Structured Task ยท Default Safe Path)์ ํ ์ค ๋ช
๋ น์ผ๋ก `CLAUDE.md`์ ์
์
ํ๊ณ statusline์ด `๐
ท 5/5`๋ก ์ ์ํํฉ๋๋ค. ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ๋ณต๋๋ฉด `๐
ทโ ratchet?` ์๋ฆผ์ด ๋ ์ ๋ฃฐ๋ก ์น๊ฒฉํ ์ ์์ต๋๋ค.
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
claude-token-saver harness init # ์ด ํ๋ก์ ํธ์ ์
์
|
|
247
|
+
claude-token-saver harness init --global # ~/.claude/CLAUDE.md, ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ
|
|
248
|
+
claude-token-saver harness check # ํ์ฌ ์ ์ (๊ธ๋ก๋ฒ fallback ์ธ์ )
|
|
249
|
+
claude-token-saver harness analyze # ํ
์์ด๋ ์๋์ผ๋ก ์ ์ฌ ๋ถ์์ ์คํํด harness-state.json ๊ฐฑ์
|
|
250
|
+
claude-token-saver harness promote <N> --project|--global # ๊ฒฝ๊ณ #N โ ratchet ๋ฃฐ (์ค์ฝํ ํ์)
|
|
251
|
+
claude-token-saver harness promote "<๋ฃฐ ํ
์คํธ>" --project|--global # ๋ด๊ฐ ์ง์ ์ ์ํ ๋ฃฐ๋ ๊ฐ์ ๋ช
๋ น์ผ๋ก ๋ฑ๋ก
|
|
252
|
+
claude-token-saver harness pull # ํจํค์ง ๋๋ด ํ๋ ์ด์
๋ฃฐ โ ๋ด ๊ธ๋ก๋ฒ ๋ซ์ณ์ ๋ฑ๋ก (opt-in, ์ค๋ณต ์คํต)
|
|
253
|
+
claude-token-saver harness list / rm <N> # ๋ฃฐ ์กฐํ / ์ญ์ (์๋ .bak)
|
|
254
|
+
claude-token-saver harness off | on # ๐
ท ํ์ ํ ๊ธ
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
- `promote`๋ non-TTY ํ๊ฒฝ(์คํฌ๋ฆฝํธ๋ LLM ํธ์ถ)์์ `--project` ๋๋ `--global` ํ๋๊ทธ๊ฐ **๋ฐ๋์ ํ์ํฉ๋๋ค.** ์ ์ฉ ๋ฒ์๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฌป์ง ์์ ์ฑ ๊ฒฐ์ ๋๋ ์ฌ๊ณ ๋ฅผ ๋ง๊ธฐ ์ํ ์ค๊ณ์
๋๋ค.
|
|
258
|
+
- `pull`์ ํจํค์ง์ ๋๋ด๋ **์ ์์ ํ๋ ์ด์
๋ซ์ณ ๋ฃฐ**(`presets/ratchet-rules.json`, ์ค์ ๋ฐ๋ณต ์ฌ๊ณ ์์ ์น๊ฒฉ๋ ๋ฒ์ฉ ๋ฃฐ๋ง)์ ๋ด ๊ธ๋ก๋ฒ ๋ซ์ณ(`~/.claude/ratchet.md`)์ ๋ฑ๋กํฉ๋๋ค. ์ค์น(`install`)๋ `init`์ ์๋ฌด๊ฒ๋ ์๋ ์ฃผ์
ํ์ง ์์ผ๋ฉฐ, `pull`์ ํญ์ opt-in์ด๊ณ ์ฌ์คํํด๋ ์ค๋ณต์ด ์์ต๋๋ค(๋ฉฑ๋ฑ). ๋ง์์ ์ ๋๋ ๋ฃฐ์ `harness rm`์ผ๋ก ์ ๊ฑฐํ๋ฉด ๋ฉ๋๋ค.
|
|
259
|
+
- `seed`๋ ๊ฐ์ ํ๋ฆฌ์
์ **ํ ๊ฑด์ฉ** ๋ฌผ์ด๋ณด๋ ๊ฒฝ๋ก์
๋๋ค. `pull`์ด ๋ซ์ณ ๋ฃฐ ์ ์ฒด๋ฅผ ํ ๋ฒ์ ๋ฑ๋กํ๋ ๋ช
๋ น์ธ ๋ฐ ๋ฐํด, `seed`๋ ๋ชจ๋ธ ํผํ
ํ๋ฆฌ์
๊น์ง ํฌํจํด ์ค์นยท์
๊ทธ๋ ์ด๋ ํ ์ฒซ ์ธ์
์์ ํ ๊ฑด์ฉ ์ ์ํฉ๋๋ค ([์๋](#-seed-์ค์น-์งํ๋ถํฐ-์์์ด-๊ฑธ๋ฆฌ๊ฒ-ํ๋-์์-๋ฃฐ)).
|
|
260
|
+
- ๐
ทโ ๋ฐํ์ ๊ฒฝ๊ณ (`ratchet?` `no-evidence` `PEV-skip`)๋ 30๋ถ ํ ์๋ ๋ง๋ฃ๋๊ณ , ํ์ ๋๋ ํฐ๋ฆฌ ์ธ์
๋ ํ๋ก์ ํธ์ ์ฌ๋ฐ๋ฅด๊ฒ ๋งค์นญ๋ฉ๋๋ค. PEV-skip์ ๋ณ๊ฒฝ์ฑ ๋๊ตฌ(Edit/Write/Bash)๋ง ์นด์ดํธํด ์ฝ๊ธฐ ์์ฃผ ์ธ์
์์๋ ๋ฐ๋ํ์ง ์์ต๋๋ค (v2.16.0+).
|
|
261
|
+
|
|
262
|
+
<details>
|
|
263
|
+
<summary>โ ๏ธ <code>harness rm</code>์ ์ ์คํ๊ฒ ์ฌ์ฉํ์ญ์์ค: ์ญ์ ์ ํ์ธ ์ฌํญ</summary>
|
|
264
|
+
|
|
265
|
+
ratchet์ ๊ฐ์น๋ **ํ ๋ฐฉํฅ ๋์ **์ ์์ต๋๋ค. ๋ฃฐ์ ๊ฐ๋ณ๊ฒ ์ง์ฐ๋ฉด ๊ฐ์ ์ค์๊ฐ ๋ค์ ์๊ธฐ ์์ํฉ๋๋ค.
|
|
266
|
+
|
|
267
|
+
- **๋ฃฐ์ด ๋๋ฌด ๊ด๋ฒ์ํด์ ์ ์ ์ผ์ด์ค๋ ๋ง๋?** โ โ ์ญ์ โ
์กฐ๊ฑด์ ์ขํ ๋ค๋ฌ๊ธฐ (์: `"ํ๋์ฝ๋ฉ ๊ธ์ง"` โ `"ํ
์คํธ ์ธ ์ฝ๋์์ ํ๋์ฝ๋ฉ ๊ธ์ง"`)
|
|
268
|
+
- **๋ฃฐ์ด ๋๋ฌด ์ข์ ๊ฑฐ์ ๋ฐ๋ ์ ๋๋?** โ โ ์ญ์ โ
๊ทธ๋ฅ ๋๊ธฐ (๋น์ฉ 0)
|
|
269
|
+
- **์ ๋ง ์๋ชป๋ ๋ฃฐ์ด๋ผ ํ์ ?** โ โ
๊ทธ๋๋ง ์ญ์
|
|
270
|
+
|
|
271
|
+
์ญ์ ์ `.bak`์ด ๋จ์ง๋ง **๊ทธ ๋ฃฐ์ด ๋ฐํ ์ธ์
์ปจํ
์คํธ(์)๋ ๋ณต์๋์ง ์์ต๋๋ค.**
|
|
272
|
+
</details>
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
## ๐ฆ compact-window: 1M ์ปจํ
์คํธ์ ์๋ ์์ถ ์ง์ ๊ณ ์
|
|
276
|
+
|
|
277
|
+
Claude Code๋ `min(autoCompactWindow, ๋ชจ๋ธ ์ต๋ ์ฐฝ)`์ ๊ฐ๊น์์ง๋ฉด ๋ํ๋ฅผ ์๋ ์์ถํฉ๋๋ค. 1M ์ฐฝ์ ์ฐ๋ฉด ์ด ๊ฐ์ด ์กํ ์์ง ์์ ํ 80๋ง ํ ํฐ ๊ทผ์ฒ๊น์ง ๊ฐ์์ผ ์์ถ์ด ๊ฑธ๋ฆฌ๊ณ , ๊ทธ์ ๊น์ง ๋ชจ๋ ์์ฒญ์ด ์ ์ฒด ์ปจํ
์คํธ๋ฅผ ํต์งธ๋ก ์ฌ๊ณผ๊ธํฉ๋๋ค. **1M์ ๋๋ฌด ํฌ๋ 40๋ง~70๋ง ๋ฒ์๋ฅผ ๊ถ์ฅํฉ๋๋ค.** ํฐ ๋ถ์ฌ๋ฃ๊ธฐ์ฉ ์ฌ์ ๋ 200k ์ธ์
์ 2~3.5๋ฐฐ๋ก ๋จ๊ธฐ๋ฉด์ ๊ผฌ๋ฆฌ๋ง ์๋ผ๋
๋๋ค.
|
|
278
|
+
|
|
279
|
+
**๊ถ์ฅ ๋ฒ์ ์์ด๋ฉด ๊ฒฝ๊ณ ํ์ง ์์ต๋๋ค.** 40๋ง์ ์ ๊ฐ์ด ์์ถ ํ์๋ฅผ ์ด๊ธฐ๋ ํํ์ด๊ณ , ๊ธด ์ธ์
์ ๊ทธ๋ณด๋ค ์ฌ์ ๊ฐ ๋ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฏธ์ค์ ์ด๊ฑฐ๋ 70๋ง์ ๋์ ๋๋ง ์๋ฆฝ๋๋ค(๊ทธ๋ณด๋ค ๋ฎ๊ฒ ์ก์ ๊ฑด ๋ ๊ณต๊ฒฉ์ ์ผ๋ก ์๋ผ๊ฒ ๋ค๋ ์ ํ์ด๋ผ ๊ทธ๋ฅ ๋ก๋๋ค).
|
|
280
|
+
|
|
281
|
+
**200k ์ปจํ
์คํธ๋ ๊ฒฝ๊ณ ๋์์ด ์๋๋๋ค.** ์ฐฝ์ด ์ด๋ฏธ 200k ์ดํ์ด๋ฏ๋ก ์ด ์ค์ ์ผ๋ก ๋ฌ๋ผ์ง๋ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
claude-token-saver compact-window # ํ์ฌ ์ํ (๋ชจ๋ธยท์ฐฝยท์ค์ ๊ฐยท์ถ์ฒ)
|
|
285
|
+
claude-token-saver compact-window set --global # ~/.claude/settings.json ์ 50๋ง ๊ณ ์ (๋ฒ์ ์ค๊ฐ)
|
|
286
|
+
claude-token-saver compact-window set --project # <root>/.claude/settings.json ์ ๊ณ ์
|
|
287
|
+
claude-token-saver compact-window set --global --value 600k # ๊ฐ ์ง์ ์ง์ (10๋ง~1M)
|
|
288
|
+
claude-token-saver compact-window off | on # ๊ฒฝ๊ณ ํ์ ํ ๊ธ
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
- 1M ๋ชจ๋ธ์ธ๋ฐ ๋ฏธ์ค์ ์ด๊ฑฐ๋ 40๋ง์ ๋์ผ๋ฉด statusline์ `๐
ทโ compact-window?`๊ฐ ๋จ๊ณ , ์ธ์
๋ธ๋ฆฌํ์ด ๋ฑ๋ก ๋ช
๋ น๊น์ง ์๋ ค์ค๋๋ค.
|
|
292
|
+
- ์ ์ฉ ๋ฒ์(`--global` ๋๋ `--project`)๋ `set`์์ **๋ฐ๋์ ์ง์ ํด์ผ ํฉ๋๋ค.** ๊ธ๋ก๋ฒ ์ค์ ํ์ผ์ ์ฌ์ฉ์์๊ฒ ๋ฌป์ง ์๊ณ ์์ ํ๋ ์ผ์ ๋ง๊ธฐ ์ํ ์ค๊ณ์
๋๋ค.
|
|
293
|
+
- ๊ธฐ์กด `settings.json`์ ๋ค๋ฅธ ํค๋ ๊ทธ๋๋ก ๋ณด์กดํ๊ณ `.bak`์ ๋จ๊น๋๋ค. JSON์ด ๊นจ์ ธ ์์ผ๋ฉด ์๋ฌด๊ฒ๋ ์ฐ์ง ์๊ณ ์ค๋จํฉ๋๋ค.
|
|
294
|
+
- ์
ธ์ `CLAUDE_CODE_AUTO_COMPACT_WINDOW`๊ฐ export๋ผ ์์ผ๋ฉด ๊ทธ์ชฝ์ด settings.json๋ณด๋ค ์ฐ์ ํฉ๋๋ค (`set`์ด ์ด ๊ฒฝ์ฐ๋ฅผ ๊ฐ์งํด ์๋ ค์ค๋๋ค).
|
|
295
|
+
|
|
296
|
+
## ๐ route-scan: "์ด ๋ฐ๋ณต ์์
์ ๋ ์ผ ํฐ์ด๋ก ๋ด๋ ค๋ ๋ฉ๋๋ค"
|
|
297
|
+
|
|
298
|
+
์ธ์
๋ก๊ทธ์์ ์์ ๋ชจ๋ธ(opus/fable)์ด ๋ฐ๋ณต ์ฒ๋ฆฌํด ์จ ์ฌ์ด ์์
์ ์ฐพ์ **haiku/sonnet ์์ ๋ฃฐ๋ก ์น๊ฒฉ**์ ์ ์ํฉ๋๋ค. ์ ๊ณผ์ ๋ก์ปฌ, ํ ํฐ ๋น์ฉ 0.
|
|
299
|
+
|
|
300
|
+
- **T2 โ haiku:** ํ์๊ณผ ์กฐํ, ๋จ์ ์คํ์ ํด๋นํฉ๋๋ค. ์๋ฌ๊ฐ ์๊ณ ๋ณ๊ฒฝ๋ ๊ฑฐ์ ์๋ ์์
์
๋๋ค.
|
|
301
|
+
- **T1 โ sonnet:** ๋น๋์ ์ํ ์ ๊ฒ์ ํด๋นํฉ๋๋ค. ๋ณ๊ฒฝ์ด ์ ๊ณ ์๋ฌ๊ฐ 1๊ฑด ์ดํ์ธ ์์
์
๋๋ค.
|
|
302
|
+
- **T0 ์ ์ง:** ์๋ฌ๊ฐ ๋ฐ๋ณต๋๊ฑฐ๋ ๋ณ๊ฒฝ์ด ๋ง๊ฑฐ๋ ์ค๊ณ์ ๋ถ์์ด ํ์ํ ์์
์
๋๋ค. ์ธ์
๋ชจ๋ธ์ด ๊ณ์ ๋ด๋นํฉ๋๋ค.
|
|
303
|
+
|
|
304
|
+
ํต์ฌ ์ค๊ณ๋ ์ธ ๊ฐ์ง์
๋๋ค:
|
|
305
|
+
1. ๋์ด๋๋ฅผ ํ
์คํธ๋ก ์ถ์ธกํ์ง ์๊ณ **์ค์ ๊ฒฐ๊ณผ๋ก ํ์ ํฉ๋๋ค.** ๋๊ตฌ ์๋ฌ์ ๋ณ๊ฒฝ์ ์ผ์ผํจ ๋๊ตฌ์ ์, ์ถ๋ ฅ ํ ํฐ์ ๊ทผ๊ฑฐ๋ก ์ผ์ต๋๋ค.
|
|
306
|
+
2. ์๊ณ๊ฐ์ **์ฌ์ฉ์์ ์ต๊ทผ 14์ผ ๋ก๊ทธ ๋ถํฌ์์ ์๋์ผ๋ก ๋ณด์ ํฉ๋๋ค.** ๊ณ ์ ๋ ์์๋ ์ํฌ๋ก๋๊ฐ ๋ฐ๋๋ฉด ๊ณง ์ด๊ธ๋๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
307
|
+
3. ์น๊ฒฉ๋ ๋ฃฐ์ ๋๊ตฌ๊ฐ ๊ด๋ฆฌํ๋ ๋ณ๋ ํ์ผ(`.claude/ratchet-model.md`)์์ **์๋์ผ๋ก ๊ฐฑ์ ๋๋ฉฐ,** ์์ํ ๋ค ์๋ฌ์จ์ด ๋์์ง๋ฉด `โ rule-health`๋ก ๊ฒฝ๊ณ ํฉ๋๋ค. ๋ฃฐ์ด ๋ก์๋ค๋ ์ฌ์ค์ ์ค์ค๋ก ์๋ฆฌ๋ ์
์
๋๋ค.
|
|
308
|
+
|
|
309
|
+
```bash
|
|
310
|
+
claude-token-saver route-scan # ์ค์บ (24h ์บ์) + ํฐ์ด๋ณ ํ๋ณด ์ถ๋ ฅ
|
|
311
|
+
claude-token-saver harness promote R1 --project # ํ๋ณด R1์ ๋ชจ๋ธ ํผํ
๋ฃฐ๋ก ๋ฑ๋ก
|
|
312
|
+
claude-token-saver route-scan dismiss 1 # ๊ด์ฌ ์์ผ๋ฉด ๋ฌด์ (์ฌ์ค์บ์๋ ์ ๋ธ)
|
|
313
|
+
claude-token-saver route-scan rules # ๋ฑ๋ก๋ ๋ชจ๋ธ ํผํ
๋ฃฐ ๋ชฉ๋ก (rm <N>์ผ๋ก ์ ๊ฑฐ)
|
|
314
|
+
claude-token-saver route-scan savings # ์ ๊ฐ ์์ฅ: ์ด๋ ๋ฃฐ์ด ์ด๋ค ๋ชจ๋ธ์์ ์ด๋ค ๋ชจ๋ธ๋ก ์ฎ๊ฒผ๋์ง
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
`route-scan savings`๋ statusline์ `๐ Routing saved` ํ ์ค ๋ค์ ์๋ ๊ทผ๊ฑฐ๋ฅผ ๊ทธ๋๋ก ๋ณด์ฌ์ค๋๋ค. ๋ชจ๋ธ ์ด๋๋ณ ํฉ๊ณ์ ์คํ๋ณ ๋ด์ญ์ด ํจ๊ป ๋์ค๋ฏ๋ก, ๊ธ์ก์ด ์ด๋์ ๋์๋์ง ์ถ์ ํ ์ ์์ต๋๋ค.
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
๐ ๋ผ์ฐํ
์ ๊ฐ ๋์ $2.09 (์ต๊ทผ 7์ผ $1.40 ยท 30์ผ $2.09)
|
|
321
|
+
|
|
322
|
+
๋ชจ๋ธ ์ด๋๋ณ:
|
|
323
|
+
claude-fable-5 โ claude-sonnet-5 โ 1ํ, $0.72
|
|
324
|
+
claude-opus-5 โ claude-haiku-4-5 โ 1ํ, $0.57
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
๋ ์์๋ณด๊ธฐ: **ํฐ์ด ๊ธฐ์คยท๋ฆฌ์์น ๊ทผ๊ฑฐ** โ [docs/TIER_CRITERIA.md](./docs/TIER_CRITERIA.md) ยท **๋ฃฐ ํ์ผ ๊ตฌ์กฐยท์ค์บ ํธ๋ฆฌ๊ฑฐยท์๋ธ์์ด์ ํธ ์ค๋น** โ [docs/ROUTE_SCAN.md](./docs/ROUTE_SCAN.md)
|
|
328
|
+
|
|
329
|
+
### ๊ฒ์ดํธ์จ์ด(BedrockยทLiteLLM) ๊ฒฝ์ ํ๊ฒฝ
|
|
330
|
+
|
|
331
|
+
์ฌ๋ด ๊ฒ์ดํธ์จ์ด๋ฅผ ๊ฑฐ์น๋ฉด ๋ก๊ทธ์ ๋ชจ๋ธ๋ช
ํ๋์ ์ถ๋ก ํ๋กํ์ผ ARN์ด ๊ธฐ๋ก๋ฉ๋๋ค. ๊ทธ ๋ฌธ์์ด์๋ `opus`ยท`haiku` ๊ฐ์ ๋จ์๊ฐ ์์ด์ ์์ ๋ฒ์ ์ ์ด๊ฒ์ ์ ๋ถ Sonnet์ผ๋ก ์ฝ์๊ณ , ๊ทธ ๊ฒฐ๊ณผ **T1(โsonnet) ์์ ๋ฃฐ์ด ํ๋๋ ์ ์๋์ง ์์์ผ๋ฉฐ ์ ๊ฐ ์ง๊ณ๊ฐ 0**์ด์์ต๋๋ค.
|
|
332
|
+
|
|
333
|
+
v3.10.0๋ถํฐ๋ ํ๋กํ์ผ ID๋ฅผ ์ญํ (mainยทopusยทsonnetยทhaiku)๋ก ๋๋๋ฆฐ ๋ค `ANTHROPIC_DEFAULT_*_MODEL` ํ๊ฒฝ๋ณ์๊ฐ ์ ์ธํ ๋ณ์นญ์ผ๋ก ์นํํฉ๋๋ค. ๋งคํ์ ๋ถ๋ชจ ์ธ์
์ `Task` ํธ์ถ๊ณผ ์๋ธ์์ด์ ํธ ๊ธฐ๋ก์ `toolUseId`๋ก ์กฐ์ธํด ์ค์ค๋ก ํ์ตํ๋ฉฐ, ๊ด์ธก์ด 3๊ฑด ๋ฏธ๋ง์ด๊ฑฐ๋ ์ญํ ํ์ ์ด 80% ๋ฏธ๋ง์ผ๋ก ๊ฐ๋ฆฌ๋ฉด **์ถ์ธกํ์ง ์๊ณ `unknown`์ผ๋ก ๋๊ณ ์์ ์ง๊ณ์์ ์ ์ธ**ํฉ๋๋ค.
|
|
334
|
+
|
|
335
|
+
์๋ ํ์ต์ด ๋ฟ์ง ์๋ ํ๊ฒฝ์์ ์ธ ์ ์๋ ์๋ ๊ฒฝ๋ก๋ ์์ต๋๋ค. `<userDataDir>/profile-map.json`์ ์๋์ฒ๋ผ ์ ์ผ๋ฉด ๋๊ณ , ๊ณ์ ID์ ๋ฆฌ์ ์ `*`๋ก ๊ฐ๋ ค๋ ๋งค์นญ๋ฉ๋๋ค.
|
|
336
|
+
|
|
337
|
+
```jsonc
|
|
338
|
+
{
|
|
339
|
+
"modelAliases": {
|
|
340
|
+
"arn:aws:bedrock:*:*:application-inference-profile/<PROFILE_ID>": "claude-opus-5",
|
|
341
|
+
"prod-large": "claude-opus-5", // ์ฌ๋ด ๋ณ์นญ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋งคํ๋ฉ๋๋ค
|
|
342
|
+
"team-*": "claude-haiku-4-5"
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
**๋ชจ๋ธ๋ช
์ `opus`ยท`sonnet`ยท`haiku`ยท`fable` ์ด ๋ค์ด ์์ง ์์ ์ฌ๋ด ๋ณ์นญ**(`prod-large`, `team-fast` ๋ฑ)๋ ์ด ํ๋ก ๋งคํํ์ญ์์ค. Bedrock(`anthropic.claude-opus-4-5-v1:0`)ยทVertex(`claude-opus-4-5@20251101`)ยท1M ์ ๋ฏธ์ฌ(`claude-sonnet-4-5[1m]`) ๊ฐ์ด ๊ณ์ด๋ช
์ด ๋จ์ ์๋ ํํ๋ ๊ทธ๋๋ก ์ธ์๋์ง๋ง, ๊ณ์ด๋ช
์ด ์ฌ๋ผ์ง ๋ณ์นญ์ ๊ฐ๊ฒฉํ๊ฐ ์์๋ณผ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ผ์ฐํ
์ ๊ฐ ๊ณ์ฐ์ **ํ๋ฆฐ ๊ธ์ก์ ๋ด๋๋ ๋์ ๊ทธ ์คํ์ ์ง๊ณ์์ ์ ์ธ**ํ๋ฉฐ(๋น๊ต ์์ชฝ ๋ชจ๋ ์ธ์ ๊ฐ๋ฅํ ์ด๋ฆ์ด์ด์ผ ํฉ๋๋ค), ์ ํ์ ํ ์ค ์ถ๊ฐํ๋ฉด ๋ค์ ์ง๊ณ์ ๋ค์ด์ต๋๋ค.
|
|
348
|
+
|
|
349
|
+
์ด ํ์ผ์๋ ์ฌ๋ด ์๋ณ์๊ฐ ํ๋ฌธ์ผ๋ก ๋จ์ผ๋ฏ๋ก ์ ์ฅ์์ ์ปค๋ฐํ์ง ๋ง์ญ์์ค. ๊ฒ์ดํธ์จ์ด๋ฅผ ์ฐ์ง ์๋ ํ๊ฒฝ์์๋ ํ์ผ์ด ์์ ๋ง๋ค์ด์ง์ง ์๊ณ ๊ธฐ์กด ๋์์ด ๊ทธ๋๋ก ์ ์ง๋ฉ๋๋ค.
|
|
350
|
+
|
|
351
|
+
## ๐ฑ seed: ์ค์น ์งํ๋ถํฐ ์์์ด ๊ฑธ๋ฆฌ๊ฒ ํ๋ ์์ ๋ฃฐ
|
|
352
|
+
|
|
353
|
+
๋ชจ๋ธ ํผํ
๋ซ์ณ(`ratchet-model.md`)์ **๋น ํ์ผ๋ก ์์ํฉ๋๋ค.** route-scan์ด ์ฌ์ฉ์์ ๋ก๊ทธ์์ ๊ฐ์ ์ ํ์ ์์
์ ์ฌ๋ฌ ๋ฒ ๊ด์ธกํ๊ณ , ์ฌ์ฉ์๊ฐ ๊ทธ ํ๋ณด๋ฅผ ์น์ธํด์ผ ๋ฃฐ์ด ์๊น๋๋ค. ์ฆ ๊ฐ ์ค์นํ ์ํ์์๋ ์์์ด ํ ๊ฑด๋ ๊ฑธ๋ฆฌ์ง ์๊ณ , ๊ทธ ์ํ๊ฐ ๋ฉฐ์น ์ด์ด์ง๋๋ค. ์ ์ ์ ๊ฐ ํจ๊ณผ๊ฐ ๊ฐ์ฅ ํด ์๊ธฐ์
๋๋ค.
|
|
354
|
+
|
|
355
|
+
`seed`๋ ํจํค์ง์ ๋๋ด๋ ํ๋ฆฌ์
์ผ๋ก ๊ทธ ๊ณต๋ฐฑ์ ๋ฉ์๋๋ค.
|
|
356
|
+
|
|
357
|
+
| ํ๋ฆฌ์
| ๋ด์ฉ | ํ์ผ |
|
|
358
|
+
|---|---|---|
|
|
359
|
+
| ๋ชจ๋ธ ํผํ
9๊ฑด | ๋ช
๋ น ์คํยทํ์ยท์ํ ํ์ธยท๋ถ์ฌ๋ฃ์ ๋ก๊ทธ ์ง๋ฌธยท์ฝ๊ธฐ ์์ฝ, ๊ฐ ์ ํ์ T2(haiku)์ T1(sonnet) ๋ฃฐ | `presets/model-rules.json` |
|
|
360
|
+
| ๋ซ์ณ 6๊ฑด | ์ค์ ๋ฐ๋ณต ์ฌ๊ณ ์์ ์น๊ฒฉ๋ ๋ฒ์ฉ ๋ฃฐ | `presets/ratchet-rules.json` |
|
|
361
|
+
|
|
362
|
+
**๋ฑ๋ก ์ ์ฐจ:** ์ค์น๋ ์
๊ทธ๋ ์ด๋ ํ ์ฒซ ์ธ์
์์ SessionStart ํ
์ด ๋๊ธฐ ์ค์ธ ํ๋ฆฌ์
์ ๋ชจ๋ธ์๊ฒ ์ ๋ฌํ๊ณ , ๋ชจ๋ธ์ด **ํ ๊ฑด์ฉ ์์๋๋ก** ๋ฑ๋ก ์ฌ๋ถ๋ฅผ ๋ฌป์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ตํ๋ฉด ๊ณง๋ฐ๋ก ์๋ ๋ช
๋ น์ ์คํํฉ๋๋ค.
|
|
363
|
+
|
|
364
|
+
```bash
|
|
365
|
+
claude-token-saver seed # ๋๊ธฐ ์ค์ธ ํ๋ฆฌ์
๊ณผ ์๋ต ๊ธฐ๋ก
|
|
366
|
+
claude-token-saver seed accept <id> --global|--project # ํ ๊ฑด ๋ฑ๋ก (์ ์ฉ ๋ฒ์ ํ์)
|
|
367
|
+
claude-token-saver seed accept all --global # ์ฌ์ฉ์๊ฐ "์ ๋ถ ๋ฑ๋ก"์ด๋ผ๊ณ ๋ตํ ๊ฒฝ์ฐ
|
|
368
|
+
claude-token-saver seed skip <id> # ๊ฑฐ์ โ ๋ค์ ๋ฌป์ง ์์ต๋๋ค
|
|
369
|
+
claude-token-saver seed reset # ์๋ต ๊ธฐ๋ก์ ์ง์ ์ ์ฒด๋ฅผ ๋ค์ ์ ์ ๋์์ผ๋ก
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
- **์น์ธ ์์ด๋ ์๋ฌด๊ฒ๋ ๊ธฐ๋ก๋์ง ์์ต๋๋ค.** ๊ฑฐ์ ํ ๋ฃฐ์ ์
๊ทธ๋ ์ด๋ ํ์๋ ๋ค์ ๋ฌป์ง ์๊ณ , ์ ๋ฆด๋ฆฌ์ค์์ ์ถ๊ฐ๋ ํ๋ฆฌ์
๋ง ๋ค์ ์ธ์
์ ์ ์๋ฉ๋๋ค.
|
|
373
|
+
- ์ฌ์ฉ์๊ฐ ์ด๋ฏธ ๊ฐ์ ์ ํ(๊ฐ์ ํฐ์ดยท์นดํ
๊ณ ๋ฆฌ)์ ๋ฃฐ์ ์ง์ ์น์ธํด ๋์๋ค๋ฉด ๊ทธ ํ๋ฆฌ์
์ ์ ์ํ์ง ์์ต๋๋ค.
|
|
374
|
+
- ํ๋ฆฌ์
์ผ๋ก ๋ฑ๋กํ ๋ฃฐ์ **๋จ์ ํต๊ณ๋ฅผ ๋ด ๊ฒ์ฒ๋ผ ํ์ํ์ง ์์ต๋๋ค.** ๋ฑ๋ก ์งํ์๋ `preset (curated)`๋ก ์ ํ๊ณ , ์ดํ ์ค์บ์์ ์ค์ ๋ฐํ์ ์์ ๊ฒฐ๊ณผ๊ฐ ์ธก์ ๋๋ฉด ๊ทธ ์์น๋ก ๋์ฒด๋ฉ๋๋ค. ์์ ์๋ฌ์จ์ด ๊ธฐ์ค์ ๋์ผ๋ฉด ๋ค๋ฅธ ๋ฃฐ๊ณผ ๋๊ฐ์ด ์ฌ๊ฒํ ํ๋๊ทธ๊ฐ ๋ถ์ต๋๋ค.
|
|
375
|
+
- ์ ์ฉ ๋ฒ์๋ `--global`๊ณผ `--project` ์ค ๋ฐ๋์ ๋ช
์ํด์ผ ํฉ๋๋ค. ํ
ํ๊ฒฝ์ non-TTY๋ผ CLI๊ฐ ์ง์ ๋ฌผ์ ์ ์์ผ๋ฏ๋ก, ๋ชจ๋ธ์ด ์ฌ์ฉ์์๊ฒ ํ์ธํ ๋ค ํ๋๊ทธ๋ฅผ ๋ถ์ฌ ์คํํฉ๋๋ค.
|
|
376
|
+
|
|
377
|
+
## ๐ฐ๐ท ํ๊ตญ์ด ๋ฌธ์ฒด ์ง์นจ
|
|
378
|
+
|
|
379
|
+
Claude๊ฐ ํ๊ตญ์ด๋ก ์ธ ๋ ๋ํ๋๋ ๋ฌธ์ฒด ๊ฒฐํจ(๋ฌธ์ฅ ์ฑ๋ถ ์๋ต, ๋ช
์ฌํ ์ข
๊ฒฐ, ๋ฒ์ญ์ฒด, ์ ๋์ ๋จ์ฉ)์ ๊ต์ ํ๋ ์ง์นจ์ **์ธ์
์์ ์ ํ ๋ฒ ์ฃผ์
ํฉ๋๋ค.**
|
|
380
|
+
|
|
381
|
+
```bash
|
|
382
|
+
claude-token-saver korean on # ์ผ๊ธฐ (๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ)
|
|
383
|
+
claude-token-saver korean status # ์ํยท๋น์ฉยท์ถ์ฒ ํ์ธ
|
|
384
|
+
claude-token-saver korean show # ์ง์นจ ์๋ฌธ ์ถ๋ ฅ
|
|
385
|
+
claude-token-saver korean off # ๋๊ธฐ
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
Claude Code์ output style๋ก๋ ๊ฐ์ ์ผ์ ํ ์ ์์ง๋ง, output style์ **์ ์ญ ์ฌ๋กฏ ํ๋**๋ผ์ ์ผ๋ ์๊ฐ ๋ค๋ฅธ ์คํ์ผ์ ๋ชป ์ฐ๊ฒ ๋๊ณ ๋จธ์ ๋ง๋ค ๋ฐ๋ก ์ค์ ํด์ผ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ง์นจ์ ํจํค์ง์ ๋ด๊ณ ์ด๋ฏธ ์ค์น๋ SessionStart ํ
์ผ๋ก ์ ๋ฌํ๋ฏ๋ก, **CLI๊ฐ ์ค์น๋ ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ๋๋ฉฐ output style ์ฌ๋กฏ์ ๋น์ ๋ก๋๋ค.** `/clear` ์ดํ์๋ ํ
์ด ๋ค์ ์คํ๋์ด ์ ์ง๋ฉ๋๋ค.
|
|
389
|
+
|
|
390
|
+
๋น์ฉ์ **์ธ์
๋น ์ฝ 1,500 ํ ํฐ์ด๋ฉฐ ๋งค ํด์ด ์๋๋ผ ์ธ์
์์์ ํ ๋ฒ๋ง** ์ฃผ์
๋ฉ๋๋ค. ๋ ๋ฒ์งธ ์์ฒญ๋ถํฐ๋ ํ๋กฌํํธ ์บ์์ ์ฌ๋ผ๊ฐ๋ฏ๋ก ์ถ๊ฐ ๋ถ๋ด์ด ๊ฑฐ์ ์์ต๋๋ค. ์ผ์ ธ ์์ผ๋ฉด statusline์ `โ๏ธ` ์นฉ์ด ํ์๋ฉ๋๋ค.
|
|
391
|
+
|
|
392
|
+
### ์ ์ฉ ์ ํ ๋น๊ต
|
|
393
|
+
|
|
394
|
+
์ฌ๋ ๋ด์ด `claude -p`๋ก ์ ์ฅ์๋ฅผ ์กฐ์ฌํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ค๋ ๋์ ๋ตํ๋ ์ค์ ํ์ดํ๋ผ์ธ(yaml-sns-agent)์์, ์ง์นจ๋ง ๊ป๋ค ์ผ๊ณ ๊ฐ์ ์ง๋ฌธ์ ๋์ง ๊ฒฐ๊ณผ์
๋๋ค. ์ง๋ฌธ์ "๋ ๋๊ฐ ์คํจํ์ ๋ ์์ธ์ ์ด๋ป๊ฒ ์ขํ๋์ง ํ๊ตญ์ด 3๋ฌธ์ฅ์ผ๋ก ์ค๋ช
ํด๋ผ"์์ต๋๋ค.
|
|
395
|
+
|
|
396
|
+
**์ด์ ** (์ง์นจ ๊บผ์ง)
|
|
397
|
+
|
|
398
|
+
> ๋ ๋ ์คํจ ์์ธ ์ขํ๊ธฐ 3๋จ๊ณ: ๋จผ์ `hn:still --check`๋ก ์คํธ์ด ๋ช
์ธ๋ณด๋ค ์ต์ ์ธ์ง(FRESH/STALE) ํ์ธํฉ๋๋ค. STALE์ด๋ฉด ์ฌ์์ฑ ์ ํด์ ์ ์์ฐ์ผ๋ก ๋ ๋ ์๋ํ ๊ฒ ์์ธ. ๋ค์ caption-blocks๊ฐ ์ต์ ๋๋ ์ด์
๊ณผ ๋จ์ด์ด ์ผ์นํ๋์ง ์ง์ ๋์กฐํฉ๋๋ค. TTS ์ฌ์์ฑ ํ blocks ์ฌ์์ฑ ๋น ์ง๋ฉด ์๋งยท์์ฑ ์ด๊ธ๋ ๋ ๋ ๊นจ์ง.
|
|
399
|
+
|
|
400
|
+
**์ดํ** (์ง์นจ ์ผ์ง)
|
|
401
|
+
|
|
402
|
+
> ๋จผ์ `hn:still --check` ๋๋ ค ์คํธ์ด ๋ช
์ธ๋ณด๋ค ์ต์ ์ธ์ง ํ์ธํ๋ค. STALE์ด๋ฉด ์ฌ์์ฑ ์ ํด์ ์๊ธด ๋ฌธ์ .
|
|
403
|
+
>
|
|
404
|
+
> ๋ค์ caption-blocks๊ฐ captions.json ๋จ์ด์ด๊ณผ ์ผ์นํ๋์ง ๋ณธ๋ค. ๋ด๋ ์ด์
์ฌTTS ํ blocks ์ฌ์์ฑ ๋น ์ง๋ฉด ์ ์๋ง์ด ์ ์์ฑ ์์ ๋ฌ๋ค.
|
|
405
|
+
|
|
406
|
+
๋ฐ๋ ์ง์ ์ ์ธ ๊ฐ์ง์
๋๋ค. ์ฒซ์งธ, ์ ๋์๋ก ์ด์ด ๋ถ์ด๋ ์ ์ด ๋ง์นจํ๋ก ๋์ด์ ธ ํ ๋ฌธ์ฅ์ด ํ ๊ฐ์ง ์ฌ์ค๋ง ์ ๋ฌํฉ๋๋ค. ๋์งธ, "ํ์ธ", "๋์กฐ", "๋ ๋ ๊นจ์ง" ๊ฐ์ ๋ช
์ฌํ ์ข
๊ฒฐ์ด "ํ์ธํ๋ค", "๋ณธ๋ค", "๋ฌ๋ค"์ฒ๋ผ ์์ ์ด๋ก ๋ฐ๋์ด ๋ฌด์์ ํ๋ผ๋ ๊ฒ์ธ์ง๊ฐ ๋ถ๋ช
ํด์ง๋๋ค. ์
์งธ, "์๋งยท์์ฑ ์ด๊ธ๋"์ฒ๋ผ ์กฐ์ฌ๊ฐ ๋น ์ก๋ ์ง์ ์ ์กฐ์ฌ๊ฐ ๋์์ ์ด๋ค ์ฑ๋ถ์ด ์ฃผ์ด์ด๊ณ ๋ชฉ์ ์ด์ธ์ง ์ฝ๋ ์ฆ์ ์กํ๋๋ค.
|
|
407
|
+
|
|
408
|
+
๊ธฐ์ ์ ๋ด์ฉ์ ์์ชฝ์ด ๋์ผํฉ๋๋ค. ์ง์นจ์ ํ๋จ์ด๋ ์ ํ๋๊ฐ ์๋๋ผ ๋ฌธ์ฅ์ ์์ฑ๋์๋ง ๊ด์ฌํ๋ฏ๋ก, ๋ต์ด ๋ฌ๋ผ์ง๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ๋ต์ ๋ค์ ์ฝ์ง ์์๋ ๋๋ ํํ๋ก ๋ง๋ค์ด ์ค๋๋ค. ์ฌ๋์ฒ๋ผ ์ฌ๋์ด ์คํฌ๋กคํ๋ฉฐ ์ฝ๋ ์ฑ๋์์๋ ์ด ์ฐจ์ด๊ฐ ๋๋ฌป๋ ํ์๋ฅผ ์ค์ด๊ณ , ๋๋ฌป์ง ์๋ ๋งํผ ํ ํฐ๋ ์๋๋๋ค.
|
|
409
|
+
|
|
410
|
+
### ๋ณด๊ฐ ์ง์นจ: ์์ง์ฑ๊ณผ ๋ณด์์ ๊ต์ ๊ท์น (v3.37.0)
|
|
411
|
+
|
|
412
|
+
๋ค์ฌ์จ fluent-korean ๋ณธ๋ฌธ์ ์ํ ๊ทธ๋๋ก ๋๊ณ , ๊ทธ ๋ค๋ก ์์งํ ์ง์นจ์ ๋ณ๋ ํ์ผ(`presets/korean-style/supplement.md`)์ ๋ด์ ๊ฐ์ ์ฃผ์
์ ์ด์ด ๋ถ์
๋๋ค. ์์ง ๊ธฐ์ค์ ๋ณด์์ ์
๋๋ค. ๊ฑฐ์ ํญ์ ๊ณ ์น๋ ํธ์ด ๋์ ์กฐํญ๋ง ์ค์๊ณ , ์ถ์ฒ๋ ๊ตญ๋ฆฝ๊ตญ์ด์ ๊ณต๊ณต์ธ์ด ์ง์นจ, ์ฟ ๋ฒ๋คํฐ์ค ๋ฌธ์ ํ๊ธํ ๊ฐ์ด๋, ๊ทธ๋ฆฌ๊ณ ํ๊ตญ์ด ํ
์คํธ ์์ง์ฑ์ ๋ค๋ฃฌ ํ์ ๋
ผ๋ฌธ ์ธ ํธ์
๋๋ค.
|
|
413
|
+
|
|
414
|
+
์ธ ์ธต์ด ๋ํด์ง๋๋ค.
|
|
415
|
+
|
|
416
|
+
- **๋ฒ์ญํฌ**: ์ด์ค ํผ๋, ์ผ๋ณธ์ด์์ ์จ ๊ตณ์ ํํ, `~์ ์์ด์`, ์์ด have๋ฅผ ์ง์ญํ '๊ฐ์ง๋ค' ๋จ์ฉ. ๊ธฐ๊ณ๊ฐ ํ์ ํ ์ ์๋ ๊ฒ์ ์ฐ๊ธฐ ์์ ๊ฒ์ฌ(์๋)์๋ ํจ๊ป ๋ค์ด๊ฐ๋๋ค.
|
|
417
|
+
- **์ํฌ ํจํด**: ์๋์ผ๋ก ๋ถ๋ ์์์ด("๋ค์ํ", "ํต์ฌ์ ์ธ"), ํ์งํ ๋ฌธ์ฅ, ์์ฌ์ ์ง๋ฌธ ๋ค ์ฆ๋ต, ๊ทผ๊ฑฐ ์๋ ๊ธ์ ๋ง๋ฌด๋ฆฌ.
|
|
418
|
+
- **์์ง์ฑ**: ๋ฌธ์ฅ์ด ์ด์ด์ง๋ ๋ฐฉ์์ด๋ผ ์ ๊ท์์ผ๋ก๋ ๊ฒ์ฌํ์ง ๋ชปํฉ๋๋ค. ์ด ์ ์ ๋ฐฉํฅ์ ์ ํ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค. ์ ์์ดยท์ง์์ด ๊ฐ์ ํ์ธต ์ฐ๊ฒฐ ์ฅ์น๋ ๊ธ์ ํ์ง๊ณผ ์๊ด์ด ์๊ฑฐ๋ ์คํ๋ ค ๋ถ์ ์๊ด์ด๊ณ , ์ ๋ฌธ์ฅ์ด ๋ด๋์ ์ ๋ณด๋ฅผ ๋ค์ ๋ฌธ์ฅ์ด ๋ฐ์ ํ์ด ์ฃผ๋ ์์ ํ ์ฐ๊ฒฐ๋ง ์ ์ ์๊ด์ ๋ณด์์ต๋๋ค. ๊ทธ๋์ ์ง์นจ์ ์ฐ๊ฒฐ์ด ์ด์ํ ๋ ์ ์์ด๋ฅผ ๋ํ์ง ๋ง๊ณ ์ ๋ณด์ ๋ฐฐ์ด(์๋ ๊ฒ ๋จผ์ , ์ ๊ฒ ๋์ค)์ ๊ณ ์น๋ผ๊ณ ๋งํฉ๋๋ค.
|
|
419
|
+
|
|
420
|
+
์์ง์ฑ ์ธต์ ์์น ๋๋ถ๋ถ์ ํ๊ตญ์ด์๋ง ํด๋นํ์ง ์์ต๋๋ค. ๊ตฌ์ ๋ณด ์ฐ์ ๋ฐฐ์ด, ๋๋ช
์ฌ์ ๋จ์ผ ์ง์, ๋ฌธ๋จ ์ ์ฃผ์ด ์ ์ง, ๋น์ฝ์ ์๋ ๋ค๋ฆฌ ๋ฌธ์ฅ, ์งง์ ๋ฐ๋ณต ๋ฌธ์ฅ ๋ณํฉ์ ์์ด ์ฐ๋ฌธ์๋ ๊ทธ๋๋ก ์ ์ฉ๋ฉ๋๋ค. ๋
ผ๋ฌธ์ด ํ๊ตญ์ด ํ์ต์๋ฅผ ๋ค๋ค์ ๋ฟ, ๊ฒ์ฆ๋ ์์น์ ํ
์คํธ์ธ์ดํ์ ํ์ค ์์ง์ฑ ๋ชจํ์
๋๋ค. ์์ด ์ฐ์ถ๋ฌผ์๋ `claude-token-saver cohesion on`์ด ๊ฐ์ ๋ค์ฏ ์์น์ ์์ด ๋ธ๋ก์ผ๋ก ์ฃผ์
ํฉ๋๋ค (korean ์ง์นจ์ด ์ผ์ ธ ์์ผ๋ฉด ์ค๋ณต์ด๋ผ ์๋ต๋ฉ๋๋ค).
|
|
421
|
+
|
|
422
|
+
๋ง์ง๋ง ์ ์ ๊ณ ์น๋ฉด ์ ๋๋ ๊ฒ์ ๋ช
์ํฉ๋๋ค. ์ ์ฐฉ๋ ์ ๋ฌธ ์ฉ์ด, ๋ฌธ์ด์ฒด, ์๋ฌธ ์ธ์ฉ์ด ๊ทธ๊ฒ์ด๊ณ , ๊ฒ์ฌ๊ฐ ๋ด๋ ์ง์ ์ ํ์ ์ด ์๋๋ผ ํ์ธ ์์ฒญ์
๋๋ค.
|
|
423
|
+
|
|
424
|
+
### ์ฐ๊ธฐ ์์ ๊ฒ์ฌ (v3.24.0)
|
|
425
|
+
|
|
426
|
+
์ง์นจ์ ์ธ์
์์์ ํ ๋ฒ ๋ฃ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํ์ต๋๋ค. ๋ชจ๋ธ์ ์ง์นจ์ ํ ๋ฒ ์ฝ๊ณ ๊ทธ ๋ค๋ก ํ์ผ ์์ญ ๊ฐ๋ฅผ ์ฐ๋๋ฐ, ๊ทธ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ค์ ์ฝ์ด ๋ณด๋ ๋จ๊ณ๊ฐ ์์์ต๋๋ค. ๊ทธ๋์ ์ง์นจ์ด ์ผ์ง ์ธ์
์ด ๊ท์ฝ์ ์ด๊ธ๋๋ ๋ฌธ์ฅ์ ๋ฌธ์์ ๊ทธ๋๋ก ์ค์ด ๋ณด๋๊ณ , ์ฌ๋์ด ์์ฑ๋ณธ์ ์ฝ์ ๋์์ผ ๋๋ฌ๋ฌ์ต๋๋ค. 2026๋
8์์ ์ ์ฉ ๋ฒ์ ๋ฌธ์ฅ์ ๊ณ ์ณ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ก์ผ๋ ค ํ์ง๋ง, ๋ฌธ์ฅ์ ๊ณ ์ณ๋ ๊ฒ์ฌ ๋จ๊ณ๊ฐ ์๋ค๋ ์กฐ๊ฑด์ ๊ทธ๋๋ก์๊ธฐ ๋๋ฌธ์ ์ฌ๋ฐํ์ต๋๋ค.
|
|
427
|
+
|
|
428
|
+
v3.24.0๋ถํฐ `korean on`์ด PostToolUse ํ
์ ํจ๊ป ์ค์นํฉ๋๋ค. ๋ชจ๋ธ์ด ๋ฐฉ๊ธ ์ด ํ์ผ์ ์ด์ด์ ๊ธฐ๊ณ๋ก ํ์ ํ ์ ์๋ ์กฐํญ์ ๊ฒ์ฌํ๊ณ , ์๋ฐ์ด ์์ผ๋ฉด ๋ชจ๋ธ์๊ฒ ๋๋๋ ค ๋ณด๋
๋๋ค. ํ์ผ์ ์ด๋ฏธ ์ ์ฅ๋ ๋ค์ด๋ฏ๋ก ์๋ ๊ฒ์ ์๊ณ , ๋ชจ๋ธ์ด ์ฆ์ ๊ณ ์นฉ๋๋ค.
|
|
429
|
+
|
|
430
|
+
```bash
|
|
431
|
+
claude-token-saver korean lint block # ๊ธฐ๋ณธ๊ฐ. ์๋ฐ์ ๋๋๋ ค ๋ณด๋ด ๊ณ ์น๊ฒ ํฉ๋๋ค
|
|
432
|
+
claude-token-saver korean lint warn # ์๋ฆฌ๊ธฐ๋ง ํ๊ณ ์งํ์ ๋ง์ง ์์ต๋๋ค
|
|
433
|
+
claude-token-saver korean lint off # ๊ฒ์ฌํ์ง ์์ต๋๋ค
|
|
434
|
+
|
|
435
|
+
claude-token-saver korean lint scope all # ๊ธฐ๋ณธ๊ฐ. ์ธ์
์ด ์ด ๋ชจ๋ ํ
์คํธ ํ์ผ
|
|
436
|
+
claude-token-saver korean lint scope prose # ๋งํฌ๋ค์ดยทํ
์คํธ ๋ฌธ์๋ง
|
|
437
|
+
|
|
438
|
+
claude-token-saver korean lint docs/*.md # ์ด๋ฏธ ์ ์ฅ๋ ํ์ผ์ ์ง์ ๊ฒ์ฌ
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
๊ฒ์ฌ ํญ๋ชฉ์ ์ฌ๋์ด ํ์ ํ ํ์๊ฐ ์๋ ๊ฒ๋ค์
๋๋ค. ๋น์ ์ดํ 15์ข
(`~๋ ์๋ฆฌ`, `~์ ํ๋ฆ`, `๋ฟ๋๋ค`, `๊ฑท์ด๋ด๋ค`, `๋ฐ๋ชฉ์ ์ก๋ค` ๋ฑ), ๋ฒ์ญ์ฒด ํ์ง(`~์ ๋ํ`, `~๋ฅผ ์ํ`, `~๋์ด์ง`), ๊ตฌ๋ถ์(`โ`ยท`ใ
ก`ยท`|`), ํ ๊ตฌ์ ์ธ ๋ฒ ์ด์ ์ด์ด์ง๋ ์กฐ์ฌ `์`, ๋ช
์ฌํ ์ข
๊ฒฐ ๋ค์ ๋ง์นจํ์
๋๋ค. ํ๋จ์ด ํ์ํ ์กฐํญ(์ฑ๋ถ ์๋ต, ํ์์ด ์ ํ)์ ๊ทธ๋๋ก ์ง์นจ์ด ๋ด๋นํฉ๋๋ค.
|
|
442
|
+
|
|
443
|
+
๊ธฐ๋ณธ ๋ฒ์ `all`์ ๋ฌธ์๋ฟ ์๋๋ผ **์ฝ๋ ์ฃผ์๊ณผ ํ๋ฉด์ ๋๊ฐ๋ ๋ฌธ์์ด, ์๋งยทํ
ํ๋ฆฟ, ์์ฑ ๊ฒฐ๊ณผ๋ฌผ๊น์ง** ๊ฒ์ฌํฉ๋๋ค. ๋ฒค๋๋งํ ์ง์นจ ์๋ฌธ์ ์ฝ๋ ์ฃผ์์ ์์ธ๋ก ๋์ง๋ง, ์ฃผ์๋ ์ฌ๋์ด ์ฝ๊ณ PDFยทHTML ๊ฐ์ ์ฐ์ถ๋ฌผ์ ๊ทธ ๋ฌธ์์ด๋ค๋ก ์กฐ๋ฆฝ๋๊ธฐ ๋๋ฌธ์ ์์ธ๋ก ๋๋ฉด ์ ํํ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒฝ๋ก๊ฐ ๋ค์ ์ด๋ฆฝ๋๋ค. ๊ฒ์ฌ์์ ๋น ์ง๋ ๊ฒ์ ์ค์น๋ ์์กด์ฑ(`node_modules`), VCS ๋ด๋ถ, ๋ฝ ํ์ผ, ๊ทธ๋ฆฌ๊ณ ์ด์งยท์ด๋ฏธ์ง ํ์ผ๋ฟ์
๋๋ค. `dist`๋ `build` ๊ฐ์ ์ฐ์ถ๋ฌผ ๋๋ ํฐ๋ฆฌ๋ ๊ฒ์ฌํฉ๋๋ค. ์๋ฌธ ๊ท์ฝ๋๋ก ๋ฌธ์๋ง ๋ณด๊ณ ์ถ์ผ๋ฉด `korean lint scope prose`๋ก ๋๋๋ฆฝ๋๋ค.
|
|
444
|
+
|
|
445
|
+
์ฃผ์
๋ฌธ์ ์ ์ฉ ๋ฒ์ ์๋ด๋ ์ด ์ค์ ์์ ์์ฑํฉ๋๋ค. ๋ชจ๋ธ์๊ฒ ์๋ฆฌ๋ ๋ฒ์์ ๊ฒ์ฌํ๋ ๋ฒ์๊ฐ ๊ฐ๋ผ์ง๋ฉด 8์๊ณผ ๊ฐ์ ์ํ๋ก ๋์๊ฐ๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
446
|
+
|
|
447
|
+
### ํจ๊ป ์ฃผ์
๋๋ ์ธ์ฝ๋ฉ ๊ท์น (v3.23.2)
|
|
448
|
+
|
|
449
|
+
๋ฌธ์ฒด ์ง์นจ๊ณผ ๋ณ๋๋ก, **๋๊ตฌ ํธ์ถ ์ธ์์ ๋ด๋ ๋นASCII ๋ฌธ์์ด์ ๋ฆฌํฐ๋ด UTF-8๋ก ์ฐ๊ณ `\uXXXX` ์ ๋์ฝ๋ ์ด์ค์ผ์ดํ๋ก๋ ์ฐ์ง ๋ง๋ผ**๋ ํ ์ค์ด ๊ฐ์ด ์ฃผ์
๋ฉ๋๋ค.
|
|
450
|
+
|
|
451
|
+
๋ชจ๋ธ์ด Write๋ Edit์ ์ธ์์ ํ๊ตญ์ด๋ฅผ ์ด์ค์ผ์ดํ๋ก ์ ์ผ๋ฉด, ๊ทธ ์ด์ค์ผ์ดํ๊ฐ ์ฝ๋ ํฌ์ธํธ๋ก ํด์๋์ง ์๊ณ `ํ` ๊ฐ์ ๋ฌธ์์ด ๊ทธ๋๋ก ํ์ผ์ ๊ธฐ๋ก๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ฌผ์๋ ๊นจ์ง ๊ธ์๊ฐ ๋จ๊ณ , ๋ชจ๋ธ์ ์๊ธฐ๊ฐ ์ด ๊ฐ๊ณผ ํ์ผ ๋ด์ฉ์ด ๋ค๋ฅด๋ค๋ ์ฌ์ค์ ์์์ฐจ๋ฆฌ์ง ๋ชปํ ์ฑ ๋ค์ ํธ์ง์ ์ด์ด ๊ฐ๋๋ค. ์ด์ค์ผ์ดํ๋ฅผ ์ฐ์ง ์์ผ๋ฉด ์ด ๊ฒฝ๋ก ์์ฒด๊ฐ ์๊ธฐ์ง ์์ผ๋ฏ๋ก, ์ฌํ์ ๋ณต๊ตฌํ๋ ๋์ ์
๋ ฅ ๋จ๊ณ์์ ๋ง์ต๋๋ค.
|
|
452
|
+
|
|
453
|
+
์ด ํ ์ค์ fluent-korean ์๋ฌธ์ด ์๋๋ผ claude-token-saver๊ฐ ์ง์ ์ฐ๋ ์๋ด ๋ฌธ๋จ์ ๋ค์ด๊ฐ๋๋ค. ๋ฌธ์ฒด๊ฐ ์๋๋ผ ํ๊ธฐ ๋ฐฉ์์ ์ ํ๋ ๊ท์น์ด๊ณ , ๋ฒค๋๋งํ ์๋ฌธ์ ์์ ํ์ง ์๋๋ค๋ ์์น์ ์ง์ผ์ผ ํ๊ธฐ ๋๋ฌธ์
๋๋ค. ๊ฐ์ ์ด์ ๋ก ์ฝ๋์ ์ปค๋ฐ ๋ฉ์์ง์ ์ ์ฉํ์ง ์๋ ๋ฌธ์ฒด ์์ธ์ ๋ฌ๋ฆฌ, ์ด ๊ท์น์๋ ์์ธ๋ฅผ ๋์ง ์์ต๋๋ค. ์ธ์
๋น ์ฝ 60 ํ ํฐ์ด ๋์ด๋ฉ๋๋ค.
|
|
454
|
+
|
|
455
|
+
> **๊ทผ๊ฑฐ**
|
|
456
|
+
> ๊ฐ์ ํ์์ด Claude Code ์ ์ฅ์์ ๋ณด๊ณ ๋์ด ์์ต๋๋ค: [#12417 ์ ๋์ฝ๋ ์ฒ๋ฆฌ ํ๊ท](https://github.com/anthropics/claude-code/issues/12417), [#26141 Edit ๋๊ตฌ๊ฐ ์ ๋์ฝ๋๋ฅผ ์กฐ์ฉํ ์์์ํค๋ ๋ฌธ์ ](https://github.com/anthropics/claude-code/issues/26141).
|
|
457
|
+
|
|
458
|
+
### ์ค์นํ ๋ ๋ฌผ์ด๋ด
๋๋ค
|
|
459
|
+
|
|
460
|
+
์ค์น ๊ณผ์ ์์ **์ง์นจ์ ๋ด์ฉ๊ณผ ์ธ์
๋น ๋น์ฉ, ์ถ์ฒ๋ฅผ ๋จผ์ ๋ณด์ฌ ์ค ๋ค์ ์ผค์ง ๋ฌผ์ด๋ด
๋๋ค.** ์์คํ
๋ก์บ์ด ํ๊ตญ์ด์ด๋ฉด(`ko_KR` ๋ฑ, macOS๋ ์์คํ
์ค์ ๊น์ง ํ์ธ) ์ง๋ฌธ์ ๊ธฐ๋ณธ๊ฐ์ด "์ผฌ"์ด ๋๊ณ , ํ๊ตญ์ด ํ๊ฒฝ์ด ์๋๋ฉด ๊ธฐ๋ณธ๊ฐ์ด "๋"์
๋๋ค. ๋ก์บ์ ๋ต์ด ์๋๋ผ ๊ธฐ๋ณธ๊ฐ์ผ ๋ฟ์ด๋ฏ๋ก ์์ด ๋ก์บ์์ ํ๊ตญ์ด๋ก ์์
ํ๋ ๊ฒฝ์ฐ์๋ ์ค์น ์ค์ ๋ฐ๋ก ์ผค ์ ์์ต๋๋ค.
|
|
461
|
+
|
|
462
|
+
npm์ `postinstall`์ด๋ CI์ฒ๋ผ ์ฌ๋์ด ๋ถ์ด ์์ง ์์ ์ค์น์์๋ ์ง๋ฌธ์ ๊ฑด๋๋ฐ๊ณ ๋ก์บ ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋๋ก ์ ์ฉํฉ๋๋ค. ํ๋กฌํํธ๊ฐ ๋ฉ์ถฐ ์๋ฉด ์ค์น ์์ฒด๊ฐ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ด๋ ๋ก์บ์ด ํ๊ตญ์ด๊ฐ ์๋๋ฉด **์ค์ ์ ์ ์ฅํ์ง ์๊ณ ๋ฏธ๊ฒฐ์ ์ผ๋ก ๋จ๊ฒจ ๋๋ฏ๋ก**, ๋์ค์ ํฐ๋ฏธ๋์์ ๋ค์ ์ค์นํ๋ฉด ๊ทธ๋ ๋ฌผ์ด๋ด
๋๋ค. ์ง๋ฌธ ์์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋๊ธฐ๋ ค๋ฉด `--yes`๋ `--no-input`์, ๊ธฐ๋ฅ ์์ฒด๋ฅผ ๊ฑด๋๋ฐ๋ ค๋ฉด `CTS_NO_KOREAN=1`์ ์ฐ์ญ์์ค. **ํ ๋ฒ์ด๋ผ๋ ์ง์ ์ผ๊ฑฐ๋ ๋ ๋ค์๋ ๊ทธ ์ ํ์ ์ ์งํ๋ฏ๋ก, ์
๋ฐ์ดํธ ์ค์น๊ฐ ์ฌ์ฉ์์ ๊ฒฐ์ ์ ๋๋๋ฆฌ์ง ์์ต๋๋ค.**
|
|
463
|
+
|
|
464
|
+
> **์ถ์ฒ์ ๋ผ์ด์ ์ค**
|
|
465
|
+
> ์ง์นจ ์๋ฌธ์ [fluent-korean](https://github.com/snflkd/fluent-korean)์์ ๊ฐ์ ธ์์ต๋๋ค. Copyright (c) 2026 snflkd, MIT License.
|
|
466
|
+
> ์๋ฌธ์ ์์ ํ์ง ์์๊ณ output style ํ๋ฐํธ๋งคํฐ๋ง ์ ๊ฑฐํ์ต๋๋ค. ๋ผ์ด์ ์ค ์ ๋ฌธ์ ํจํค์ง์ `presets/korean-style/LICENSE-fluent-korean`์ ํจ๊ป ๋ฐฐํฌํฉ๋๋ค.
|
|
467
|
+
|
|
468
|
+
## ๐ doc2md: ๋ฌธ์๋ฅผ ์ฝ๊ธฐ ์ ์ Markdown ์ผ๋ก ๋ฐ๊ฟ๋๋ค
|
|
469
|
+
|
|
470
|
+
๊ธฐํ์์ ๋ณด๊ณ ์๋ ๋๋ถ๋ถ pptxยทxlsxยทpdfยทdocxยทfig ๋ก ์ต๋๋ค. ์ด ํ์๋ค์ ๊ทธ๋๋ก ๋ค๋ฃจ๋ฉด ๋ ๊ฐ์ง ์ค ํ๋๊ฐ ์ผ์ด๋ฉ๋๋ค. Claude Code ๊ฐ ์ด์ง ํ์ผ์ด๋ผ๋ฉฐ ๊ฑฐ๋ถํด์ ์๋ฌด๊ฒ๋ ๋ชป ์ฝ๊ฑฐ๋, ์์ถ์ ํ์ด ๋ณธ๋ฌธ XML ์ ์ฝ๋๋ผ ํ ํฐ์ ํ์ฐ๊ฑฐ๋. 30MB ์ง๋ฆฌ ๋ฐํ์๋ฃ ํ๋๊ฐ XML ๋ก๋ **54๋ง ํ ํฐ**์ด๊ณ , 200k ์ปจํ
์คํธ์๋ ๋ค์ด๊ฐ์ง๋ ์์ต๋๋ค.
|
|
471
|
+
|
|
472
|
+
doc2md ๋ ๊ทธ ํ์ผ์ ํ ๋ฒ ๋ณํํด ๋๊ณ ์๋ณธ ๋์ ๋ณํ๋ณธ์ ์ฝ๊ฒ ํฉ๋๋ค. ๊ฐ์ ๋ฐํ์๋ฃ๊ฐ 22,610 ํ ํฐ์ด ๋ฉ๋๋ค.
|
|
473
|
+
|
|
474
|
+
**์ด ๊ธฐ๋ฅ์ ์ตํธ์ธ์
๋๋ค.** ์ค์น๋ง์ผ๋ก๋ ์ผ์ง์ง ์๊ณ , ์๋ ๋ ๋ช
๋ น์ ๋ชจ๋ ์คํํด์ผ ๋์ํฉ๋๋ค. ํ
๋ง ๋ฑ๋กํ๊ณ ๋ณํ๊ธฐ๊ฐ ์์ผ๋ฉด ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค.
|
|
475
|
+
|
|
476
|
+
์ธ ๊ฐ์ง ๊ฒฝ๋ก๋ฅผ ๋ฎ์ต๋๋ค. ๊ฐ๊ฐ ๊ฑธ๋ฆฌ๋ ์ง์ ์ด ๋ค๋ฆ
๋๋ค.
|
|
477
|
+
|
|
478
|
+
| ์ํฉ | ๊ฐ์
์ง์ |
|
|
479
|
+
|---|---|
|
|
480
|
+
| ํ๋กฌํํธ์ ๋ฌธ์ ๊ฒฝ๋ก๋ฅผ ์ ์ (`@๊ฒฝ๋ก`ยท๋ฐ์ดํยท์๋ ๊ฒฝ๋ก ๋ชจ๋) | `UserPromptSubmit`. ๋ณํํ ๋ค ๋ณํ๋ณธ ๊ฒฝ๋ก๋ฅผ ์ปจํ
์คํธ๋ก ๋ฃ์ต๋๋ค |
|
|
481
|
+
| ์์
๋์ค ๋ฌธ์๋ฅผ `Read` | pdf ๋ `PreToolUse(Read)` ๊ฐ ์ก์ต๋๋ค. pptxยทxlsxยทdocx ๋ Claude Code ๊ฐ ์ด์ง ํ์ผ์ด๋ผ๋ฉฐ ํ
๋ณด๋ค ๋จผ์ ๊ฑฐ๋ถํ๋ฏ๋ก, ์ธ์
์์ ์๋ด๋ฌธ์ด ๋ชจ๋ธ์๊ฒ `doc2md <๊ฒฝ๋ก>` ๋ฅผ ์คํํ๋๋ก ์ง์ํฉ๋๋ค |
|
|
482
|
+
| ๋ฌธ์๋ฅผ ๋ฉ์์ง์ ์ง์ ์ฒจ๋ถ | **ํ
์ผ๋ก ์ก์ ์ ์์ต๋๋ค.** ์ด๋ค ํ
์ด๋ฒคํธ๋ ์ฒจ๋ถ ๋ด์ฉ์ ๋ฐ์ง ๋ชปํฉ๋๋ค. ์ธ์
์์ ์๋ด๋ฌธ์ด ๋ค์๋ถํฐ ๊ฒฝ๋ก๋ก ๋ฌ๋ผ๊ณ ์ฌ์ฉ์์๊ฒ ์๋ดํ๋๋ก ๋ชจ๋ธ์๊ฒ ์ง์ํฉ๋๋ค |
|
|
483
|
+
|
|
484
|
+
๋ ๋ฒ์งธ ์ค์ ์ ์ฝ์ ์ค์ธก์ผ๋ก ํ์ธํ ๊ฒ์
๋๋ค. `.pdf` ๋ฅผ Read ํ๋ฉด ํ
์ด ์คํ๋๊ณ , ๊ฐ์ ์ธ์
์์ `.pptx` ๋ฅผ Read ํ๋ฉด ํ
๋ก๊ทธ์ ์๋ฌด ๊ธฐ๋ก๋ ๋จ์ง ์์ต๋๋ค.
|
|
485
|
+
|
|
486
|
+
```bash
|
|
487
|
+
claude-token-saver doc2md on # ํ
๋ฑ๋ก (๋ณํ๊ธฐ๋ ์ฒซ ๋ฌธ์์์ ์๋ ์ค์น)
|
|
488
|
+
claude-token-saver doc2md # ๋ณํ๊ธฐยทํ
๋ฑ๋ก ์ํ ํ์ธ
|
|
489
|
+
claude-token-saver doc2md ๋ณด๊ณ ์.pptx # ์ง์ ๋ณํํด ๊ฒฐ๊ณผ ํ์ธ
|
|
490
|
+
claude-token-saver doc2md install-converter # ์ค์น๋ฅผ ๋ฏธ๋ฆฌ ๋๋ด ๋๊ณ ์ถ์ ๋๋ง
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
**๋ณํ๊ธฐ๋ ์์์ ๊น๋ฆฝ๋๋ค.** ํ์ ๋ฐฐํฌํ ๋ ๊ฐ์ ์ค์น ๋ช
๋ น์ ์คํํ๊ฒ ๋ง๋ค๋ฉด ๊ทธ ๋จ๊ณ์์ ๋น ์ง๋ ์ฌ๋์ด ์๊น๋๋ค. ๊ทธ๋์ ๋ฌธ์๊ฐ ์ฒ์ ๋ฑ์ฅํ๋ ์์ ์ ๋ณํ๊ธฐ๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ค์น๋๊ณ , ์ค์น๊ฐ ๋๋๋ ๋๋ก ๊ณง๋ฐ๋ก ๋ณํํฉ๋๋ค. ์ค์ธก์ผ๋ก ์ฒซ ๋ฌธ์๋ ์ฝ 30์ด(์ค์น 15์ด + markitdown ์ต์ด ์ํฌํธ), ์ดํ๋ก๋ ์ ๋ฌธ์ 3.7์ด, ์บ์ ์ ์ค 0.1์ด์
๋๋ค. `.fig` ํ์๋ ์ฒซ Figma ํ์ผ์์ 0.5์ด ๋ง์ ๊น๋ฆฝ๋๋ค.
|
|
494
|
+
|
|
495
|
+
์ค์น๋ `install` ๋จ๊ณ๊ฐ ์๋๋ผ ์ฒซ ์ฌ์ฉ ์์ ์ ํฉ๋๋ค. venv ๊ฐ 47MB ๋ผ์, ๋ฌธ์๋ฅผ ๋ค๋ฃจ์ง ์๋ ์ฌ๋์ ๋ผ ์ด์ ๊ฐ ์๋ ๋น์ฉ์
๋๋ค. ์๋ ์ค์น๋ฅผ ๋๋ ค๋ฉด `CTS_DOC2MD_NO_AUTOINSTALL=1` ์ ์ค์ ํ์ญ์์ค.
|
|
496
|
+
|
|
497
|
+
**ํ์ด์ฌ 3.10 ์ด์์ด ํ์ํฉ๋๋ค.** markitdown ์ ์๊ตฌ ์ฌํญ์ด๊ณ , macOS ๊ธฐ๋ณธ `/usr/bin/python3` ๋ 3.9 ์
๋๋ค. ์ด ๋๊ตฌ๋ PATH ์์๋ฅผ ๋ฐ๋ฅด์ง ์๊ณ 3.10 ์ด์์ธ ์ธํฐํ๋ฆฌํฐ๋ฅผ ๊ณจ๋ผ venv ๋ฅผ ๋ง๋ญ๋๋ค. 3.9 ๋ก ๋ง๋ค๋ฉด pip ๊ฐ markitdown ์ 2019 ๋
์๋ฆฌํ์์ ๋ฆด๋ฆฌ์ค(0.0.1a1)๋ก ํด์ํด์, ์ค์น๋ ์ฑ๊ณตํ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ชจ๋ ๋ณํ์ด ์ํฌํธ ๋จ๊ณ์์ ์ฃฝ์ต๋๋ค. ์ค์ ๋ก ์ด ํจ์ ์ ๋ฐ๊ณ ์ก์์ต๋๋ค. 3.10 ์ด์์ด ์์ ์์ผ๋ฉด ์ค์น ๋ช
๋ น์ ์๋ดํ๋ ๋์ `brew install python` ์ ์๋ดํฉ๋๋ค.
|
|
498
|
+
|
|
499
|
+
๋ณํ๊ธฐ๋ ๋๊ตฌ ์ ์ฉ venv(`<์ํ ๋๋ ํฐ๋ฆฌ>/doc2md-venv`)์ ์ค์นํฉ๋๋ค. ์์คํ
ํ์ด์ฌ์ ๊ฑด๋๋ฆฌ์ง ์๊ณ , CLI๋ฅผ ์ง์ฐ๋ฉด ํจ๊ป ์ฌ๋ผ์ง๋๋ค. ์ด๋ฏธ `uv tool` ์ด๋ ๋ค๋ฅธ ๊ฒฝ๋ก์ markitdown ์ด ์์ผ๋ฉด ๊ทธ์ชฝ์ ๋จผ์ ์๋๋ค.
|
|
500
|
+
|
|
501
|
+
๋ณํ์ [markitdown](https://github.com/microsoft/markitdown)์ด ๋ด๋นํ๋ฉฐ, ์ฌ๋ผ์ด๋ ๋ฒํธ์ ์ ๋ชฉ ๊ณ์ธต, ํ, ๋ฐํ์ ๋
ธํธ, ์ํธ ๊ตฌ๋ถ์ด ๋ชจ๋ ๋จ์ต๋๋ค. ํ๊ธ๋ ๊นจ์ง์ง ์์ต๋๋ค.
|
|
502
|
+
|
|
503
|
+
๋ช ๊ฐ์ง๋ ์๋์ ์ผ๋ก ํ์ง ์์ต๋๋ค.
|
|
504
|
+
|
|
505
|
+
- **์ด๋ฏธ์ง๋ ๋ณํํ์ง ์์ต๋๋ค.** markitdown ์ด ๋น ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๊ณ , OCR ์ ์ค์ธก์์ ๋ฆฌ์์ค ์ด๋ฆ์ ํ๋ฆฌ๊ฒ ์ฝ์์ต๋๋ค(`c5.xlarge` ๋ฅผ `c.xlarge` ๋ก). ์ด๋ฆ ์์ฒด๊ฐ ๋ด์ฉ์ธ ๋ฌธ์์์๋ ํ
์คํธ๊ฐ ์๋๋๋ง ๋ชปํฉ๋๋ค. ๋ชจ๋ธ์ด ์ด๋ฏธ์ง๋ ์ง์ ์ฝ์ต๋๋ค.
|
|
506
|
+
- **๋ณํ๊ธฐ๊ฐ ์์ด๋ ์๋ฆฌ์ง ์๊ณ ์ง๋๊ฐ์ง ์์ต๋๋ค.** ์ค์น ๋ช
๋ น์ ํ ๋ฒ ์๋ดํ ๋ค ์๋ณธ `Read` ๋ฅผ ๊ทธ๋๋ก ํต๊ณผ์ํต๋๋ค. ๋งค๋ฒ ์๋ฆฌ๋ฉด ๊ทธ๊ฒ๋๋ก ๋ฐฉํด๊ฐ ๋๊ณ , ์๋ฌด ๋ง๋ ํ์ง ์์ผ๋ฉด ๊ณ ์ฅ์ ์จ๊ธฐ๊ฒ ๋ฉ๋๋ค. `doc2md` ๋ฅผ ์ธ์ ์์ด ์คํํ๋ฉด ๋ณํ๊ธฐ์ ํ
๋ฑ๋ก ์ํ๋ฅผ ํ ๋ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
|
|
507
|
+
- **๋ณํ๋ณธ์ ํ๋ก์ ํธ ์์ ๋จ๊ธฐ์ง ์์ต๋๋ค.** ๋๊ตฌ์ ์ํ ๋๋ ํฐ๋ฆฌ ์๋ ๊ถํ `0700` ์ผ๋ก ์ ์ฅํ๋ฏ๋ก `.gitignore` ์ ๋ฌด์์ ์ถ๊ฐํ ํ์๊ฐ ์์ต๋๋ค. ํ์ผ๋ช
์ด ๊ธ์ฌยท๊ณ์ฝยท๊ฐ์ธ์ ๋ณด ๊ฐ์ ํจํด์ ๊ฑธ๋ฆฌ๋ฉด ์์ ๋ณํํ์ง ์์ต๋๋ค.
|
|
508
|
+
- **์์ถ ํญํ์ ๋ง์ต๋๋ค.** pptxยทxlsxยทdocx ๋ zip ์ปจํ
์ด๋์
๋๋ค. ์ ์ธ๋ ํฌ๊ธฐ๋ฅผ ๋จผ์ ๊ฑธ๋ฌ ๋ด๊ณ , ์ ์ธ์ ์กฐ์๋ ์ ์์ผ๋ฏ๋ก ์ค์ ํด์ ๋ฐ์ดํธ๋ ์ํ๊ณผ ๋์กฐํฉ๋๋ค.
|
|
509
|
+
- **์์
์ ํ ์๋ก ์๋ฆ
๋๋ค.** ๋ณํ ์๊ฐ์ ํ์ผ ํฌ๊ธฐ๊ฐ ์๋๋ผ ํ ์๋ฅผ ๋ฐ๋ฆ
๋๋ค(์ค์ธก: PDF 6.3MB 0.9์ด, ์์
5.8MB 47.75์ด). 5๋ง ํ์ ๋์ผ๋ฉด ์๋ถ๋ถ๋ง ๋ณํํ๊ณ , **์๋๋ค๋ ์ฌ์ค๊ณผ ์ ์ฒด ํ ์๋ฅผ ์๋ด์ ํจ๊ป ์ ์ต๋๋ค.**
|
|
510
|
+
|
|
511
|
+
### ๋ ๊น์ ๋ด์ฉ์ ๋ณ๋ ๋ฌธ์์ ์์ต๋๋ค
|
|
512
|
+
|
|
513
|
+
์ ๊ฐ์ก์ ์ด๋ป๊ฒ ์ค์ธกํด ์ฐ์ ํ๋์ง(PDF ์ฒจ๋ถ ๋๋น, ์คํผ์ค XML ๋๋น, `.fig` ๊ณ ์ ๊ธฐ์ค์ ), ํผ๊ทธ๋ง `.fig` ๋ณํ, ๋ฌธ์๋ฅผ ์์ ํ ๋์ ๋ณต์ฌ๋ณธยท์คํฌ๋ฆฝํธ ์ ์ฐจ, DRMยท์ํธ ๋ฌธ์ ํ๋ณ, Windows ์ง์ ์ธ๋ถ๋ [docs/DOC2MD.md](./docs/DOC2MD.md)๋ก ์ฎ๊ฒผ์ต๋๋ค. ์์ง๋ ์ธ ๊ฐ์ง์
๋๋ค.
|
|
514
|
+
|
|
515
|
+
- ์ ๊ฐ ๊ธฐ์ค์ ์ ํญ์ ์ค์ธก์น๋ณด๋ค **๋ฎ๊ฒ** ์ก์ต๋๋ค. ๋๊ตฌ๋ฅผ ๋๋ณด์ด๊ฒ ํ๋ ์ซ์๋ณด๋ค ์ ๋ขฐํ ์ ์๋ ์ซ์๊ฐ ๊ฐ์น ์์ต๋๋ค.
|
|
516
|
+
- `.fig` ์ ๊ฐ์ด ๊ฐ์ฅ ํฝ๋๋ค. `Read` ๊ฐ ์ด์ง ํ์ผ์ ๊ฑฐ๋ถํ์ง ์๊ณ ๊ทธ๋๋ก ์ฝ์ด ํ๋น ์ฝ 44,000 ํ ํฐ์ ํ์ฐ๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
517
|
+
- ์ํธ ๋ฌธ์์ DRM ๋ฌธ์๋ ์ค๋ฅ๊ฐ ์๋๋ผ ์ํ๋ก ํ๋ณํด ์๋ดํฉ๋๋ค. ์๋ณธ `Read` ๋ฅผ ๋ง์ง ์์ผ๋ฏ๋ก ์์
์ด ์ค๋จ๋์ง ์์ต๋๋ค.
|
|
518
|
+
|
|
519
|
+
## ๐ BedrockยทVertex ๊ฒฝ์ ํ๊ฒฝ
|
|
520
|
+
|
|
521
|
+
๊ฒ์ดํธ์จ์ด๋ฅผ ๊ฑฐ์น๋ฉด ์๋ต์ด ์บ์ ์ฐ๊ธฐ ํฉ๊ณ๋ง ๋ด๋ ค๋ณด๋ด๊ณ 5๋ถยท1์๊ฐ ๋ฒํท๋ณ ๋ถํด ๊ฐ์ ์ฑ์ฐ์ง ์์ต๋๋ค. ๊ทธ๋์ ์ด ๋๊ตฌ๊ฐ "์บ์ ์ฐ๊ธฐ๊ฐ ์์ง ์๋ค"์ "์ด ์ ๊ณต์๋ ์๋ ค ์ฃผ์ง ์๋๋ค"๋ฅผ ๊ตฌ๋ณํ์ง ๋ชปํ๊ณ , ํ์ ๋ถ๊ฐ์ผ ๋ 1์๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ก์์ต๋๋ค. Bedrock ์ 5๋ถ ๋ฒํท๋ง ์ ๊ณตํ๋ฏ๋ก ๋จ์ ์๊ฐ์ด ์ต๋ 12๋ฐฐ๋ก ๋ถํ์ด ๋ณด์์ต๋๋ค.
|
|
522
|
+
|
|
523
|
+
v3.26.0๋ถํฐ ํธ๋์คํฌ๋ฆฝํธ์ ๋ชจ๋ธ ID๋ก ๊ฒ์ดํธ์จ์ด๋ฅผ ๊ฐ์งํด ๋ค์์ ๋ฐ๋ก์ก์ต๋๋ค.
|
|
524
|
+
|
|
525
|
+
- ํ์ ๋ถ๊ฐ์ผ ๋์ ์นด์ดํธ๋ค์ด ๊ธฐ๋ณธ๊ฐ์ด 5๋ถ์ด ๋๊ณ , ๋ฒํท ๋ผ๋ฒจ์ด `5m?` ๋ก ํ์๋ฉ๋๋ค. ์ค์ธก๊ฐ์ `5m`, ์ถ์ ์ `5m?`, ๊ทผ๊ฑฐ ์์์ `?` ๋ก ์ธ ๋จ๊ณ๋ฅผ ๊ตฌ๋ถํฉ๋๋ค.
|
|
526
|
+
- 5๋ถ ๋ฒํท์์๋ ์นด์ดํธ๋ค์ด ์์ด ๋น์จ์ด ์๋๋ผ ์ ๋ ์๊ฐ์ ๋ฐ๋ฆ
๋๋ค. 5๋ถ์ 30%๋ 90์ด์ฌ์, ์ด๋ก์ด ์ฃผ๋ ์ฌ์ ๊ฐ ์ค์ ์ ์ด๊ธ๋ฌ์ต๋๋ค.
|
|
527
|
+
- `โ 5m TTL` ๊ฒฝ๊ณ ๊ฐ ์ด ํ๊ฒฝ์๋ ๋๋ฌํฉ๋๋ค. ๋ค๋ง ์กฐ์ธ ๋ฌธ๊ตฌ๋ ๋ค๋ฆ
๋๋ค. ๊ตฌ๋
ํ๋์ ๋ฐ๊ฟ๋ ํด์๋์ง ์๋ ํ๊ฒฝ์ด๋ฏ๋ก ํ๋ ์ ํ์ ๊ถํ์ง ์์ต๋๋ค.
|
|
528
|
+
- `Extra cost if 5m-only` ๋ 1์๊ฐ ์ฐ๊ธฐ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ๋ฌป์ต๋๋ค. ์ด๋ฏธ 5๋ถ ์ ์ฉ์ธ ํ๊ฒฝ์์๋ ์ง๋ฌธ ์์ฒด๊ฐ ์ฑ๋ฆฝํ์ง ์์ `+$0` ์ด ์๋ชป ์ฝํ์ต๋๋ค.
|
|
529
|
+
- ์์ ๊ฑด์ด ๋ชจ๋ธ ID ํด์ ์คํจ๋ก ๋ฒ๋ ค์ก์ผ๋ฉด statusline ์ `๐ N unresolved` ๋ก ์๋ฆฝ๋๋ค. ์ด์ ์๋ "์์ํ ์ ์์"๊ณผ ํ๋ฉด์ ๊ตฌ๋ณ๋์ง ์์์ต๋๋ค.
|
|
530
|
+
- ํ๊ฒฝ๋ณ์๋ฅผ `foundation-model` ARN ์ผ๋ก ์ง์ ํ ๊ฒฝ์ฐ์๋ ๋ชจ๋ธ์ ํด์ํฉ๋๋ค. ์ด๋ฆ์ ๋ด๊ณ ์์ง ์์ `application-inference-profile` ID ๋ ๊ทธ๋๋ก ๊ฑฐ๋ถํฉ๋๋ค. ๊ฐ์ ์ถ์ธกํด ๋ฃ์ผ๋ฉด ์์ฅ์ ํ๋ฆฐ ๊ธ์ก์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
531
|
+
|
|
532
|
+
๊ฐ์ง๊ฐ ํ๋ฆฌ๋ฉด `claude-token-saver mode ttl=5m`(๋๋ `ttl=1h`)๋ก ์ง์ ์ง์ ํ ์ ์์ต๋๋ค. ์ง์ ๊ฐ์ด ์ค์ธก๊ฐ๋ณด๋ค ์ฐ์ ํฉ๋๋ค.
|
|
533
|
+
|
|
534
|
+
### LiteLLM: 5h/7d cap ๋์ ํค ์์ฐ์ ๋ณด์ฌ ์ค๋๋ค (v3.35.0)
|
|
535
|
+
|
|
536
|
+
LiteLLM ํ๋ก์๋ก Bedrock ๋ฑ์ ์ฐ๋ฉด Claude Code stdin ์ `rate_limits` ๊ฐ ์ค์ง ์์ `โฆ current`ยท`๐
weekly` ๊ฒ์ด์ง๊ฐ ์์ ์์ต๋๋ค. ๋์ LiteLLM ์ ํค๋ณ `max_budget` ๊ณผ `spend` ๋ฅผ ๊ด๋ฆฌํ๋ฏ๋ก, ๊ทธ ๊ฐ์ ๊ฐ์ ธ์ ๊ฐ์ ์ง์ ์ ์์ฐ ๊ฒ์ด์ง๋ฅผ ๊ทธ๋ฆฝ๋๋ค.
|
|
537
|
+
|
|
538
|
+
- ๊ฐ์ง ์กฐ๊ฑด: `ANTHROPIC_BASE_URL` ์ด ๊ณต์ ์๋ํฌ์ธํธ๊ฐ ์๋๊ณ , `ANTHROPIC_AUTH_TOKEN`(๋๋ `ANTHROPIC_API_KEY`)์ด ์ค์ ๋ ํ๊ฒฝ.
|
|
539
|
+
- ์กฐํ๋ LiteLLM ์ `GET /key/info` ์ `GET /user/info` ๋ก ํ๊ณ , ํธ์ถ ํค ์์ ์ ์ ๋ณด๋ง ๋ฐ์ต๋๋ค. ์์ฐ ์ถ์ฒ๋ ์ค๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋ **ํ ๋ฉค๋ฒ์ญ ์์ฐ**(team_memberships ์ spendยทmax_budget)์ ๋จผ์ ๋ณด๊ณ , ์์ผ๋ฉด ํค ์์ฒด์ max_budget, ๊ทธ๋ค์ internal user ์์ฐ ์์ผ๋ก ๊ณ ๋ฆ
๋๋ค. ๋ ๋๋ ์บ์ ํ์ผ๋ง ์ฝ์ผ๋ฉฐ, ๊ฐฑ์ ์ 5๋ถ์ ํ ๋ฒ ๋ถ๋ฆฌ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ํํฉ๋๋ค (update-check ์ ๊ฐ์ ๊ตฌ์กฐ๋ผ statusline ์ด ๋คํธ์ํฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์์ต๋๋ค).
|
|
540
|
+
- `max_budget` ์ด ์๋ ๋ฌด์ ํ ํค๋ ๊ฒ์ด์ง๋ฅผ ๋ง๋ค์ง ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ์๋ `๐ต` ์ ์ง์ถ ์ธ๊ทธ๋จผํธ๋ ์ธ์
๋ก๊ทธ ๊ธฐ๋ฐ์ด๋ผ ๊ทธ๋๋ก ํ์๋ฉ๋๋ค.
|
|
541
|
+
- ์ํ ํ์ธ: `claude-token-saver litellm-budget` (์บ์ ์ถ๋ ฅ) ยท `litellm-budget --refresh` (์ฆ์ ์กฐํ).
|
|
542
|
+
|
|
543
|
+
์ธ์
๊ธฐ๋ณธ ๋ชจ๋ธ์ด sonnet ์ด๋ฉด sonnet ์์ ๊ท์น(T1)์ ๊ตฌ์กฐ์ ์ผ๋ก ์ ๊ฐ์ด 0์
๋๋ค. ๊ฐ์ ๊ธ์ผ๋ก ๋ด๋ ค๋ณด๋ด ๋ด์ผ ์ฐจ์ก์ด ์๊ธฐ ๋๋ฌธ์ด๋ฉฐ ์ด๋ ์ ์ ๋์์
๋๋ค. ๋ค๋ง `route-scan rules` ๊ฐ ์ด ๊ฒฝ์ฐ๋ฅผ "์์ง ์์ ์์"๊ณผ ๊ฐ์ ๋ฌธ๊ตฌ๋ก ํ์ํด ๊ณ ์ฅ์ฒ๋ผ ๋ณด์์ผ๋ฏ๋ก, ์ด์ ํ์ฌ ๊ธฐ๋ณธ ๋ชจ๋ธ ๊ธฐ์ค์ผ๋ก ์ ์ฉ๋์ง ์๋๋ค๋ ์ฌ์ค์ ๋ฐ๋ก ์ ์ต๋๋ค.
|
|
544
|
+
|
|
545
|
+
## ํ ํฐ ๊ธ์ฆ ์์ธ ์ฝ๋
|
|
546
|
+
|
|
547
|
+
| ์ฝ๋ | ์๋ฏธ |
|
|
548
|
+
|---|---|
|
|
549
|
+
| `LARGE_INPUT_PER_REQUEST` | ๋จ์ผ ์์ฒญ์ ์
๋ ฅ์ด 200k๋ฅผ ์ด๊ณผํ์ต๋๋ค. ํด๋ง๋ค ๋ค์ ๊ณผ๊ธ๋๊ณ ํ๋ ์๋ชจ๊ฐ ๊ธ๊ฒฉํ ๋์ด๋ฉ๋๋ค |
|
|
550
|
+
| `LOW_HIT_RATE` | ์บ์ ํํธ์จ 50% ๋ฏธ๋ง |
|
|
551
|
+
| `BUCKET_5M_DOMINANT` | ์บ์ ์ฐ๊ธฐ์ 70%+๊ฐ 5๋ถ ๋ฒํท (Pro ํ๋/Max ๋ค์ด๊ทธ๋ ์ด๋) |
|
|
552
|
+
| `HIGH_OUTPUT_RATIO` | ์ถ๋ ฅ/์
๋ ฅ ๋น์จ 0.15 ์ด๊ณผ (์ถ๋ ฅ ๋จ๊ฐ๋ ์
๋ ฅ์ 5๋ฐฐ) |
|
|
553
|
+
| `HIGH_REQUEST_COUNT` | ์์ฒญ ์๊ฐ ์ค์๊ฐ์ 3๋ฐฐ+ (๋๊ตฌ ํธ์ถ ๋ฃจํ ์์ฌ) |
|
|
554
|
+
| `FREQUENT_CACHE_REBUILD` | ์บ์ ์ฌ์์ฑ์ด ์ฝ๊ธฐ๋ณด๋ค ๋ง์ |
|
|
555
|
+
|
|
556
|
+
๊ฐ ์ฝ๋๋ง๋ค OS๋ณ ํด๊ฒฐ ๋ช
๋ น์ด ํจ๊ป ์ถ๋ ฅ๋ฉ๋๋ค.
|
|
557
|
+
|
|
558
|
+
## ์ค์ ํจ๊ณผ: ๋์
์ ํ ๋ฆฌํฌํธ
|
|
559
|
+
|
|
560
|
+

|
|
561
|
+
|
|
562
|
+
harness 5/5 + ratchet์ ์ค์ ์ ์ฉํ ์ ํ ๋น๊ต์
๋๋ค (์ ์ Claude Code ๋ก๊ทธ, **์ฌ์ฉ์ ๋ฉ์์ง 1๊ฑด๋น** ์ ๊ทํ, 2026-05-02 ๊ธฐ์ค, Opus 4.7 ๊ฐ๊ฒฉ):
|
|
563
|
+
|
|
564
|
+
| ๋ฉํธ๋ฆญ | ๋์
์ (7์ผ/739msg) | ๋์
ํ (2์ผ/157msg) | ๋ณํ |
|
|
565
|
+
|---|---:|---:|---:|
|
|
566
|
+
| ๋ฉ์์ง๋น ๋น์ฉ | $2.345 | $1.910 | **โ18.6%** |
|
|
567
|
+
| ๋ฉ์์ง๋น ์ถ๋ ฅ ํ ํฐ | 7,391 | 6,052 | โ18.1% |
|
|
568
|
+
| ๋ฉ์์ง๋น assistant ์๋ณต | 9.73 | 8.83 | โ9.2% |
|
|
569
|
+
| ๋ฉ์์ง๋น ๋๊ตฌ ํธ์ถ | 5.72 | 5.25 | โ8.2% |
|
|
570
|
+
|
|
571
|
+
๊ฐ์ ์์ฒญ์ ๋ ์ ์ ์๋ณต์ผ๋ก ๋๋ธ๋ค = ์ฒซ ์๋ ์ ์ค๋ฅ โ. PEVยทStructured Task๊ฐ ํ ๋ฒ์ ๊ฐ๊ฒ ๋ง๋ ํจ๊ณผ๋ก ๋ณด์
๋๋ค.
|
|
572
|
+
|
|
573
|
+
<details>
|
|
574
|
+
<summary>์ธก์ ๋ฐฐ๊ฒฝ: ์บ์ ํํธ์จ์ ์ ์ธํ ์ด์ ์ ํ๋ณธ์ ๊ดํ ์ฃผ์ ์ฌํญ</summary>
|
|
575
|
+
|
|
576
|
+
- ์ ์๋ Max ํ๋(์บ์ TTL 1์๊ฐ)์ด๋ผ ํํธ์จ์ด ์ด๋ฏธ ~98%์ ์๋ ดํด ๊ฐ์ ์ฌ์ง๊ฐ ์์์ต๋๋ค. **Pro ํ๋(5๋ถ TTL) ์ฌ์ฉ์๋** ๋ง๋ฃ ์ง์ handoff ์ํฌํ๋ก ์กฐํฉ์ผ๋ก ํํธ์จ ์์ฒด๊ฐ ์ค๋ฅผ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
|
|
577
|
+
- ๋ง๋ฃ ์ง์ handoff ์ํฌํ๋ก: statusline TTL ์นด์ดํธ๋ค์ด์ ๋ณด๋ค๊ฐ ๋ง๋ฃ ์ง์ `claude-token-saver handoff`๋ก ์์
์ํ๋ฅผ ๋ฐฑ์
ํ๊ณ ์ ์บ์ ์ฌ์ดํด์ ์์. 1M ๊ฒฝ๊ณ ยทcap ์นฉ๋ ๊ฐ์ ํ๋ฆ์ผ๋ก ์ฒ๋ฆฌ.
|
|
578
|
+
- โ ๏ธ ๋์
ํ ๋ฐ์ดํฐ๋ 2์ผ์น(157msg)๋ก ํต๊ณ์ ์๋ฏธ๊ฐ ์ฝํ๊ณ , ์ฃผ๋ณ ์์
ํ ํฝ ์ฐจ์ด๊ฐ ์์ฌ ์์ด ๋๊ตฌ ํจ๊ณผ๋ง ๊นจ๋์ด ๋ถ๋ฆฌ๋์ง ์์ต๋๋ค.
|
|
579
|
+
</details>
|
|
580
|
+
|
|
581
|
+
## ๋์ ์๋ฆฌ ยท ํ๊ฒฝ
|
|
582
|
+
|
|
583
|
+
Claude Code๋ ๋ชจ๋ API ์๋ต์ `~/.claude/projects/<dir>/<session>.jsonl`์ ๊ธฐ๋กํฉ๋๋ค. ์ด ๋๊ตฌ๋ `cache_read_input_tokens`, `cache_creation.ephemeral_5m/1h_input_tokens` ๋ฑ์ `requestId` ๊ธฐ์ค์ผ๋ก ์ค๋ณต ์ ๊ฑฐ ํ ์ง๊ณํฉ๋๋ค.
|
|
584
|
+
|
|
585
|
+
Node.js โฅ 18 ยท macOS / Linux / Windows / WSL ยท **์์กด์ฑ 0**.
|
|
586
|
+
|
|
587
|
+
<details>
|
|
588
|
+
<summary>์๋ ค์ง ํ๊ฒฝ ์ด์ ยท ๋ง์ด๊ทธ๋ ์ด์
</summary>
|
|
589
|
+
|
|
590
|
+
**IntelliJ Claude Code plugin:** statusline ์์ ฏ์ด ํ๋ ์์ ์๋ชป ํฉ์ฑํด `59:548` ๊ฐ์ ์์ฌ๊ฐ ๋ณด์ด๋ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค(์ด๋ชจ์ง ์ถ๋ ฅ์์๋ง). v2.8.5+๋ `TERMINAL_EMULATOR=JetBrains-JediTerm` ๊ฐ์ง ์ ์๋์ผ๋ก text ๋ชจ๋ ํด๋ฐฑํฉ๋๋ค.
|
|
591
|
+
|
|
592
|
+
**TTL ์นด์ดํธ๋ค์ด์ด ๋ฉ์ถฐ ๋ณด์ผ ๋:** ์นด์ดํธ๋ค์ด์ด ์
๋ ฅ ์์ด๋ ์ด ๋จ์๋ก ์ค์ด๋ค๋ ค๋ฉด Claude Code ๊ฐ statusline ๋ช
๋ น์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ค์ ์คํํด์ผ ํ๊ณ , ๊ทธ ์ฃผ๊ธฐ๋ `~/.claude/settings.json` ์ `statusLine.refreshInterval`(์ด ๋จ์, v2.1.97 ์ด์)์ด ์ ํฉ๋๋ค. ์ด ๊ฐ์ด ์์ผ๋ฉด ๋ํ๊ฐ ๊ฐฑ์ ๋ ๋๋ง ๋ค์ ๊ทธ๋ ค์ ธ์ ๋ฉ์ถ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค. ํฐ๋ฏธ๋๋ง๋ค ๋์์ด ๋ค๋ฅด๋ฉด ์ธ ๊ฐ์ง๋ฅผ ํ์ธํ์ญ์์ค. โ ๊ทธ ๋จธ์ ์ Claude Code ๋ฒ์ ์ด 2.1.97 ์ด์์ธ์ง, โก ํ๋ก์ ํธ `.claude/settings.json` ์ด๋ `settings.local.json` ์ด `statusLine` ์ refreshInterval ์์ด ๋ฎ์ด์ฐ๊ณ ์์ง ์์์ง, โข statusline ๋ํผ๊ฐ PATH ์์ `claude-token-saver` ๋ฅผ ์ฐพ์ง ๋ชปํด ๋งค ๋ ๋๋ง๋ค `npx` ํด๋ฐฑ์ผ๋ก ์ ์ด์ฉ ๊ฑธ๋ฆฌ๊ณ ์์ง ์์์ง (๋น๋ก๊ทธ์ธ ์
ธ์์ nvm ์ด ๋ก๋๋์ง ์๋ ํฐ๋ฏธ๋์ด ์ฌ๊ธฐ์ ํด๋นํฉ๋๋ค). `claude-token-saver install` ์ ๋ค์ ์คํํ๋ฉด refreshInterval ์ 5์ด๋ก ๋ณต๊ตฌํฉ๋๋ค.
|
|
593
|
+
|
|
594
|
+
**claude-cache-monitor์์ ๋ง์ด๊ทธ๋ ์ด์
:**
|
|
595
|
+
```bash
|
|
596
|
+
npm uninstall -g claude-cache-monitor && npm i -g claude-token-saver
|
|
597
|
+
```
|
|
598
|
+
`~/.claude/settings.json`์ `statusLine.command`๋ `claude-token-saver โฆ`๋ก ๊ต์ฒดํ์ธ์.
|
|
599
|
+
</details>
|
|
600
|
+
|
|
601
|
+
## ๋ฆด๋ฆฌ์ค ๋
ธํธ
|
|
602
|
+
|
|
603
|
+
์ ์ฒด ๋ด์ญ์ [CHANGELOG.md](./CHANGELOG.md)๋ก ์ฎ๊ฒผ์ต๋๋ค. ์ต๊ทผ ๋ณ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
|
|
604
|
+
|
|
605
|
+
- **v3.39.0**: `feedback` ์๋ธ์ปค๋งจ๋๊ฐ ํฐ๋ฏธ๋์ด๋ Claude ์ธ์
์์ ๋ฒ๊ทธ ์ ๋ณดยท๊ธฐ๋ฅ ์ ์์ ๋ฐ๋ก ์ ์ถํฉ๋๋ค. gh CLI๊ฐ ์์ผ๋ฉด ์ด์ ์ง์ ๋ฑ๋ก, ์์ผ๋ฉด ๋ก๊ทธ์ธ ์๋ ์ต๋ช
์ ์ถ(๋ฆด๋ ์ด๊ฐ ์ด์๋ก ์๋ ๋ฑ๋ก), ์คํ๋ผ์ธ์ด๋ฉด ๋ก์ปฌ ์ ์ฅ. `install`์ ๊ธฐ์กด statusline์ด ์์ผ๋ฉด ์กฐ์ฉํ ๊ฑด๋๋ฐ์ง ์๊ณ ๊ต์ฒด ์ฌ๋ถ๋ฅผ ๋ฌป์ต๋๋ค.
|
|
606
|
+
- **v3.38.0**: `cohesion on`์ด ์์ง์ฑ ๋ค์ฏ ์์น์ ์์ด ๋ธ๋ก์ผ๋ก ์ฃผ์
ํฉ๋๋ค. ์ตํธ์ธ์ด๊ณ , korean ์ง์นจ์ด ์ผ์ ธ ์์ผ๋ฉด ์ค๋ณต ์ฃผ์
์ ๋ง์ต๋๋ค.
|
|
607
|
+
- **v3.37.0**: ํ๊ตญ์ด ์ง์นจ์ ๋ณด๊ฐ ์ง์นจ(supplement)์ด ๋ถ์ต๋๋ค. ๋ฒ์ญํฌยท์ํฌ ํจํดยท์์ง์ฑ(๋ฌธ์ฅ ์ด์ด์ง) ์กฐํญ์ด๋ฉฐ, ์ฐ๊ธฐ ์์ ๊ฒ์ฌ์๋ ๋ฒ์ญํฌ 5์ข
์ด ์ถ๊ฐ๋์ต๋๋ค. ์คํ์ผ 255๊ฐ ์ค์ธก์์ ์คํ 1๊ฑด์ผ๋ก ๊ฒ์ฆํ์ต๋๋ค.
|
|
608
|
+
- **v3.35.0**: ์ด๋ฒ ๋ฌ 1์ผ 00์ ์ดํ ์ง์ถ ์ถ์ ์น๋ฅผ `๐ต Sep $42` ์ธ๊ทธ๋จผํธ๋ก ์์ ํ์ํฉ๋๋ค. LiteLLM ๊ฒ์ดํธ์จ์ด ์ฌ์ฉ์๋ ํค์ max_budget/spend ๋ฅผ `๐ budget` ๊ฒ์ด์ง๋ก ๋ด
๋๋ค (5h/7d cap ์ด ์๋ BedrockยทLiteLLM ํ๊ฒฝ ๋์).
|
|
609
|
+
- **v3.34.0**: seed ํ๋ฆฌ์
์ ์, ์ค์น ์ ์ถ๋ ฅ ์ธ์ด ์ ํ, ์ปจํ
์คํธ ๊ฒฝ๊ณ 500k ์ํฅ. ์์ธ๋ CHANGELOG ์ฐธ๊ณ .
|
|
610
|
+
|
|
611
|
+
## ํผ๋๋ฐฑ
|
|
612
|
+
|
|
613
|
+
๋ฒ๊ทธ ์ ๋ณด์ ๊ธฐ๋ฅ ์ ์์ GitHub ์ด์๋ก ๋ฐ์ต๋๋ค: https://github.com/rootstudioyaml/sprag/issues
|
|
614
|
+
|
|
615
|
+
๋ธ๋ผ์ฐ์ ๋ GitHub ๋ก๊ทธ์ธ์ด ์ด๋ ค์ด ํ๊ฒฝ(์ฌ๋ด๋ง, ์ธ์
๋์ค)์ด๋ผ๋ฉด ํฐ๋ฏธ๋์์ ๋ฐ๋ก ์ ์ถํ ์ ์๊ณ , Claude์๊ฒ ๋์ ์ ์ถํด ๋ฌ๋ผ๊ณ ์์ฒญํด๋ ๋ฉ๋๋ค.
|
|
616
|
+
|
|
617
|
+
```bash
|
|
618
|
+
claude-token-saver feedback "Bedrock์์ 5m TTL ์นฉ์ด ์ฌ๋ผ์ง์ง ์์์"
|
|
619
|
+
```
|
|
620
|
+
|
|
621
|
+
`gh` CLI๊ฐ ์ธ์ฆ๋์ด ์์ผ๋ฉด GitHub ์ด์๋ก ๋ฐ๋ก ๋ฑ๋กํ๊ณ , ์์ผ๋ฉด ๋ก๊ทธ์ธ์ด ํ์ ์๋ ์ต๋ช
๊ฒฝ๋ก๋ก ์ ์ถํฉ๋๋ค(github.com์ด ๋งํ ์ฌ๋ด๋ง์์๋ ๋์ํฉ๋๋ค). `gh` ๊ฒฝ๋ก๋ฅผ ๊ฑด๋๋ฐ๋ ค๋ฉด `--anonymous`๋ฅผ ๋ถ์
๋๋ค. ๋๊ตฌ ๋ฒ์ ๊ณผ OS ์ ๋ณด๋ ์๋์ผ๋ก ์ฒจ๋ถ๋ฉ๋๋ค.
|
|
622
|
+
|
|
623
|
+
๋ฒ๊ทธ๋ฅผ ์ ๋ณดํ์ค ๋๋ ๋๊ตฌ ๋ฒ์ (`claude-token-saver --version`)๊ณผ OS๋ฅผ ํจ๊ป ์ ์ด ์ฃผ์๊ณ , statusline์ด๋ ๊ฒฝ๊ณ ๊ด๋ จ ๋ฌธ์ ๋ผ๋ฉด statusline ์ถ๋ ฅ์ด๋ `claude-token-saver last` ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ถ์ฌ ์ฃผ์๋ฉด ์์ธ์ ๋นจ๋ฆฌ ์ฐพ์ ์ ์์ต๋๋ค.
|
|
624
|
+
|
|
625
|
+
## ๋ผ์ด์ ์ค
|
|
626
|
+
|
|
627
|
+
MIT
|
|
628
|
+
|
|
629
|
+
---
|
|
630
|
+
|
|
631
|
+
## ๋ง๋ ๊ณณ
|
|
632
|
+
|
|
633
|
+
[](https://www.youtube.com/@DeepPulseKR)
|
|
634
|
+
[](https://www.youtube.com/@DeepPulseEN)
|
|
635
|
+
[](https://rootstudioyaml.github.io/)
|
|
636
|
+
|
|
637
|
+
AI ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ๋ค๋ฃจ๋ ์ฑ๋ **DeepPulse**์์ ๋ง๋ค๊ณ ์๋๋ค. ์ด ๋๊ตฌ์ ๋ฐฐ๊ฒฝ๊ณผ ์ฌ์ฉ๋ฒ์ [์ถ์ ์์(60์ด)](https://www.youtube.com/shorts/RaD8qMsPTnA)์์ ๋ณผ ์ ์์ต๋๋ค.
|