ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toInfrastructure
์๋ฌธ ์ฝ๊ธฐ
3์ข Runtime ์ง์ ๋ฐ Guardrail ์ ์ฉ AI ์ปจํ ์ด๋ ๊ด๋ฆฌ ๋๊ตฌ ๊ฐ๋ฐ
๐ณ I Built a Container Dashboard for Your AI Coding Agent โ And It's Awesome
AI ์์ฝ
Context
AI ์ฝ๋ฉ ์์ด์ ํธ ํ์ฉ ์ ์ปจํ ์ด๋ ์ํ ํ์ธ์ ์ํ ๋น๋ฒํ Context Switching ๋ฐ์. LLM์ raw CLI ๊ถํ์ ๋ถ์ฌํ ๊ฒฝ์ฐ ๋ฐ์ ๊ฐ๋ฅํ ์๊ธฐ์น ๋ชปํ ์ธํ๋ผ ํ๊ดด ์ํ ๋ฐ ๊ฐ๋ ์ฑ ๋ฎ์ JSON ์ถ๋ ฅ๋ฌผ ์ฒ๋ฆฌ์ ํ๊ณ ์กด์ฌ.
Technical Solution
- Docker, Podman, Nerdctl์ ๊ณตํต CLI ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ Runtime Abstraction Layer ์ค๊ณ
pi.exec๊ธฐ๋ฐ์ ์์ ๋ฐํ์ ๋ก์ง ๊ตฌํ์ ํตํ ์ธ๋ถ ์์กด์ฑ ์ ๊ฑฐ ๋ฐ ๊ฐ๋ฒผ์ด ํจํค์ง ๊ตฌ์กฐ ์ ์งdangerousPatterns์ ๊ท์์ ์ด์ฉํ Destructive Command ์ธํฐ์ ํธ ๋ฐ ์ฌ์ฉ์ ํ์ธ ์ ์ฐจ(Guardrails) ๋์- TypeBox ์คํค๋ง๋ฅผ ์ ์ฉํ 13์ข ์ LLM Tool ์ ์๋ก ๋งค๊ฐ๋ณ์ ๋ฐํ์ ์ ํจ์ฑ ๊ฒ์ฆ ๊ฐํ
- JSON ํฌ๋งท ๋ฐ์ดํฐ๋ฅผ ํ์ฑํ์ฌ ๊ฐ๋ ์ฑ ๋์ TUI Table ๋ฐ Summary ํํ๋ก ๋ณํํ๋ ์ถ๋ ฅ ์ต์ ํ
- ์ฐ์ ์์ ๊ธฐ๋ฐ(
dockerโpodmanโnerdctl)์ ์๋ Runtime Detection ๋ฉ์ปค๋์ฆ ๊ตฌํ
์ค์ฒ ํฌ์ธํธ
1. AI ์์ด์ ํธ์๊ฒ CLI ๊ถํ ๋ถ์ฌ ์ ์ํ ๋ช ๋ น์ด(rm, prune ๋ฑ)์ ๋ํ ์ธํฐ์ ํฐ ๊ณ์ธต ์ค๊ณ ์ฌ๋ถ ๊ฒํ
2. LLM ๋๊ตฌ ์ ์ ์ TypeBox ๋ฑ ๋ฐํ์ ํ์ ๊ฒ์ฆ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฅ๊ฐ ์์ ์ฑ ํ๋ณด
3. ๋ค์ํ ๋ฐํ์ ํ๊ฒฝ ๋์์ ์ํด CLI ์ธํฐํ์ด์ค ์ถ์ํ ๊ณ์ธต(Abstraction Layer) ๊ตฌ์ถ