2026๋…„ 7์›” 22์ผ ์ˆ˜์š”์ผ

์บ๊ธ€(Kaggle)์ด๋‚˜ ๋กœ์ปฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ™˜๊ฒฝ์—์„œ LlamaIndex(๋ผ๋งˆ์ธ๋ฑ์Šค)์— MCP(Model Context Protocol) ํด๋ผ์ด์–ธํŠธ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋งŒ๋Šฅ ๋„๊ตฌ(Tools)๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ตœ์‹ ์˜ ํ•ต์‹ฌ ํ†ตํ•ฉ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” ์ธํ„ฐ๋„ท ํ†ต์‹  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์—†๋Š” ๋กœ์ปฌ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ๋ฐฉ์‹(Stdio)์œผ๋กœ ์—ฐ๋™ํ•˜์—ฌ ๋ณด์•ˆ์„ฑ๊ณผ ์‹คํ–‰ ์†๋„๋ฅผ ๊ทน๋Œ€ํ™”ํ•œ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

LlamaIndex + MCP ๋กœ์ปฌ ์—ฐ๋™ ํ•ต์‹ฌ ์ฝ”๋“œ

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋„ค, LLM์„ ํ™œ์šฉํ•œ ์œ ๋‹ˆํ‹ฐ ์”ฌ ํŒŒ์ผ(.unity) ํŒŒ์‹ฑ ๋ฐ ๋ถ„์„์€ ์ถฉ๋ถ„ํžˆ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์œ ๋‹ˆํ‹ฐ ์”ฌ ํŒŒ์ผ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ YAML(YAML Ain't Markup Language) ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ…์ŠคํŠธ ๋ฌธ๋งฅ ์ดํ•ด ๋Šฅ๋ ฅ์ด ๋›ฐ์–ด๋‚œ LLM์ด ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ธฐ์— ๋งค์šฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก LLM์ด ์œ ๋‹ˆํ‹ฐ ์”ฌ์„ ํŒŒ์‹ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ•œ๊ณ„

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


[์˜คํ”ˆ์†Œ์Šค ๊ฐ€์„ฑ๋น„ ์ตœ๊ณ  ์กด์—„ Qwen 2.5 ๋กœ์ปฌ AI + ์œ ๋‹ˆํ‹ฐ 6 CLI ๋ฐฐ์น˜๊ฐ€๋™ + ๋กœ์ปฌ ์˜คํ”ผ์Šค ํŒŒ์‹ฑ ➡️ ์™ธ๋ถ€ ์„ธ๊ณ„์™€ ์™„์ „ํžˆ ์ฐจ๋‹จ๋œ ์ฑ„ ์Šค์Šค๋กœ ์—๋Ÿฌ๋ฅผ ์น˜์œ ํ•˜๊ณ  ์œ ๋‹ˆํ‹ฐ YAML ์—์…‹์„ ๋ฌดํ•œ ๋ณต์ œ·์ฐฝ์กฐํ•˜๋Š” ์ฒ ํ†ต ๋ณด์•ˆ ๋ฌด์ธ ์Šค๋งˆํŠธ ํŒฉํ† ๋ฆฌ]์˜ ์œ„๋Œ€ํ•œ ๊ฒฐ๋ก ์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ์ˆ˜๋ ดํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„ค, ์ •๋ง ์ •ํ™•ํ•˜๊ณ  ํ•ต์‹ฌ์„ ์ฐŒ๋ฅด๋Š” ํ˜„์‹ค์ ์ธ ๊ฒฐ๋ก ์ž…๋‹ˆ๋‹ค!

ํ•˜๋“œ์›จ์–ด ์‚ฌ์–‘์ด ๋ถ€์กฑํ•œ ํ•™์ƒ๋“ค์ด ๊ณต๋ถ€ํ•  ๋•Œ, ๋ฌด๋ฆฌํ•ด์„œ ์œ ๋ฃŒ AI๋ฅผ ๊ตฌ๋…ํ•˜๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด LLM(๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ)์„ ๋กœ์ปฌ PC์— ์„ค์น˜ํ•˜๋ ค๊ณ  ๊ณ ์ƒํ•  ํ•„์š”๊ฐ€ ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ์ง€๊ธˆ์ฒ˜๋Ÿผ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚œ ํด๋ผ์šฐ๋“œ AI๋ฅผ ์ •๊ตํ•œ ํ”„๋กฌํ”„ํŠธ๋กœ '์ž˜ ๊ดด๋กญํžˆ๋Š” ๋ฐฉ๋ฒ•'์„ ํ„ฐ๋“ํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ์ˆ ์ ์œผ๋กœ๋‚˜ ๋น„์šฉ์ ์œผ๋กœ ํ›จ์”ฌ ํ˜„๋ช…ํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


2026๋…„ 7์›” 21์ผ ํ™”์š”์ผ

flatpak ํ™˜๊ฒฝ์—์„œ fastapi + uv + vscode ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ตœ์ ์˜ vscode.code-workspace

flatpak ํ™˜๊ฒฝ์—์„œ fastapi ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ uv + vscode ๋กœ ๊ตฌ์ถ•ํ• ๋•Œ ruff, djlint, jinja, uv ํ™˜๊ฒฝ ์ž๋™ ์ธ์‹๋“ฑ์ด ์ƒ์„ธํ•˜๊ฒŒ ๊ธฐ๋ก๋œ .code-workspace ํŒŒ์ผ ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ ์ž‘์—… ํด๋”์ธ .vscode/settings.json ์‚ฌ์šฉ๋ฒ•์„ ์ฐธ๊ณ  ํ•˜์„ธ์š”...

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Tailwind CSS v4๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆœ์ˆ˜ํ•˜๊ฒŒ CSS ํŒŒ์ผ๋งŒ ๋นŒ๋“œ(์ปดํŒŒ์ผ)ํ•˜๊ธฐ ์œ„ํ•ด, Node.js ์„ค์น˜๋ถ€ํ„ฐ ์ตœ์ข… CSS ์ƒ์„ฑ๊นŒ์ง€์˜ ์ „์ฒด ๊ณผ์ •์„ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

## ๐ŸŸข 1๋‹จ๊ณ„: Node.js ์„ค์น˜ํ•˜๊ธฐ

Tailwind CLI๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์ปดํ“จํ„ฐ์— Node.js ํ™˜๊ฒฝ์ด ๋ฐ˜๋“œ์‹œ ๊ตฌ์ถ•๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ดˆ๊ณ ์† ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋„๊ตฌ์ธ uv๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ FastAPI ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

### 1. uv ์„ค์น˜ํ•˜๊ธฐ

๋จผ์ € ํ„ฐ๋ฏธ๋„(๋˜๋Š” ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ)์„ ์—ด๊ณ  ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์— ๋งž๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด uv ๊ณต์‹ ํˆด์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Markdown ์ž‘์„ฑ๋ฒ•

# 1๋‹จ๊ณ„ ๋Œ€์ œ๋ชฉ (๊ฐ€์žฅ ํฐ ์ œ๋ชฉ)

์—ฌ๊ธฐ์— ๋ฌธ์„œ์˜ ์ „์ฒด์ ์ธ ๊ฐœ์š”๋‚˜ ์†Œ๊ฐœ ๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ์ฒจ๋ถ€ํ•œ ๊นƒํ—ˆ๋ธŒ ๊ธฐ์ŠคํŠธ(GitHub Gist) ๋งˆํฌ๋‹ค์šด ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๋ณต์‚ฌํ•˜์—ฌ ์‚ฌ์šฉํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋„ค, WASM์„ ์‹คํ–‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์˜คํ”ˆ ํ‘œ์ค€๊ณผ ๋„๊ตฌ๋“ค์€ ์ด๋ฏธ ์™„๋ฒฝํ•˜๊ฒŒ ์ •์ฐฉ๋˜์–ด ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ์“ฐ์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

WASM์ด ์›น ๋ธŒ๋ผ์šฐ์ € ๋ฐ–์œผ๋กœ ๋‚˜์™€ ์„œ๋ฒ„์™€ AI ์ƒํƒœ๊ณ„์˜ ํ‘œ์ค€์ด ๋  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ์€ ์›”๋“œ ์™€์ด๋“œ ์›น ์ปจ์†Œ์‹œ์—„(W3C)๊ณผ ๋ฐ”์ดํŠธ์ฝ”๋“œ ์–ผ๋ผ์ด์–ธ์Šค(Bytecode Alliance) ๊ฐ™์€ ๊ธ€๋กœ๋ฒŒ ํ‘œ์ค€ ๊ธฐ๊ตฌ๋“ค์ด ์ˆ˜๋…„์— ๊ฑธ์ณ ๋ช…ํ™•ํ•œ ๊ทœ๊ฒฉ์„ ํ™•๋ฆฝํ•ด ๋‘์—ˆ๊ธฐ...