
MCP ์์ ํ๋ณ๊ธฐ ์ ํ๋ ๊ธฐ ๊ฐ๋ ์ ๋ํด ์ค๋ช ํด์ค.
MCP์์์ **ํ๋ณ๊ธฐ(Discriminator)**์ ํ๋ ๊ธฐ(Decoder/Reader) ๊ฐ๋ ์ค๋ช
MCP๋ผ๋ ์ฉ์ด๋ ๋ถ์ผ์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ์กฐ๊ธ์ฉ ๋ฌ๋ผ์ง ์ ์์ง๋ง,
๋ณดํต ์ ํธ ์ฒ๋ฆฌ·AI·๋จธ์ ๋ฌ๋·ํจํด ์ธ์ ๊ณ์ด์์ ์ด์ผ๊ธฐํ์ค ๋๋
์ ๋ณด๋ฅผ ๊ตฌ๋ถํ๋ ์ญํ ๊ณผ ์๋ฏธ๋ฅผ ํด์ํ๋ ์ญํ ์ ๋๋ ์ค๋ช
ํ๋ ๋งฅ๋ฝ์ด ๋ง์ต๋๋ค.
์ด ๊ธฐ์ค์์ ํ๋ณ๊ธฐ์ ํ๋
๊ธฐ๋ฅผ ์ ๋ฆฌํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
1๏ธโฃ ํ๋ณ๊ธฐ(Discriminator)๋?
๐น ํ ์ค ์์ฝ
์ ๋ ฅ๋ ์ ๋ณด๊ฐ ‘๋ฌด์์ธ์ง’๋ฅผ ๊ตฌ๋ถ·ํ๋จํ๋ ์ญํ
๐น ํต์ฌ ๊ฐ๋
ํ๋ณ๊ธฐ๋ ๋ค์ด์จ ์ ํธ๋ ๋ฐ์ดํฐ๊ฐ
- A์ธ์ง B์ธ์ง
- ์ ์์ธ์ง ์ด์์ธ์ง
- ์ง์ง์ธ์ง ๊ฐ์ง์ธ์ง
์ฒ๋ผ ๋ถ๋ฅ·๊ตฌ๋ถ·ํ๋จํ๋ ๋ฐ ์ด์ ์ด ์์ต๋๋ค.
๐น ํน์ง
- ๊ฒฐ๊ณผ๋ ๋ณดํต ์ด์ฐ์ (Yes/No, ํด๋์ค ๋ฒํธ)
- ํ๋จ ๊ธฐ์ค์ ํ๋ฅ , ์๊ณ๊ฐ, ๋ถ๋ฅ ๋ชจ๋ธ
- “์ด๊ฒ ๋ญ๊ฐ?”๋ฅผ ํ๋จํจ
๐น ์ฌ์ด ๋น์ (ํ๊ตญ์ ์์)
๐ ์ํํธ ๊ฒฝ๋น ์์ ์จ
- ๋ฐฉ๋ฌธ์ฆ ์๋?
- ์ฃผ๋ฏผ์ธ๊ฐ ์ธ๋ถ์ธ์ธ๊ฐ?
- ์ถ์ ๊ฐ๋ฅ / ๋ถ๊ฐ๋ฅ
โก๏ธ ์ธ๋ถ ๋ชฉ์ ์ ๋ชฐ๋ผ๋, ํต๊ณผ ์ฌ๋ถ๋ง ํ๋จ
๐น AI/ML์์์ ์
- GAN(์์ฑ์ ์ ๋ ์ ๊ฒฝ๋ง)์ Discriminator
→ “์ด ๋ฐ์ดํฐ๋ ์ง์ง์ธ๊ฐ, ๊ฐ์ง์ธ๊ฐ?” - ์์ฑ ์ธ์์์
→ “์ด ์๋ฆฌ๊ฐ ๋ง์ธ๊ฐ, ์ก์์ธ๊ฐ?”
2๏ธโฃ ํ๋ ๊ธฐ(Decoder / Reader)๋?
๐น ํ ์ค ์์ฝ
ํ๋ณ๋ ์ ๋ณด๋ฅผ ‘์๋ฏธ ์๋ ํํ’๋ก ํด์ํ๊ฑฐ๋ ๋ณต์ํ๋ ์ญํ
๐น ํต์ฌ ๊ฐ๋
ํ๋ ๊ธฐ๋
- ํ๋ณ ๊ฒฐ๊ณผ ๋๋ ์ธ์ฝ๋ฉ๋ ์ ๋ณด๋ฅผ ๋ฐ์์
- ์ฌ๋์ด ์ดํดํ ์ ์๋ ํํ๋ก ํด์·๋ณต์·์ถ๋ ฅ
ํ๋ ๋ฐ ๋ชฉ์ ์ด ์์ต๋๋ค.
๐น ํน์ง
- ๊ฒฐ๊ณผ๋ ์ฐ์์ ·์๋ฏธ์ ๋ฐ์ดํฐ
- ํด์, ๋ณํ, ๋ณต์ ๊ธฐ๋ฅ
- “์ด๊ฒ ๋ฌด์จ ๋ป์ธ๊ฐ?”์ ๋ตํจ
๐น ์ฌ์ด ๋น์
๐ ํต์ญ์ฌ
- ์ด๋ฏธ ๋ง์ธ์ง(ํ๋ณ ์๋ฃ)
- ๊ทธ ๋ง์ ํ๊ตญ์ด๋ก ๋ฒ์ญ
โก๏ธ ํ๋จ์ด ์๋๋ผ ์๋ฏธ ์ ๋ฌ์ด ๋ชฉ์
๐น AI/ML์์์ ์
- ์คํ ์ธ์ฝ๋(Autoencoder)์ Decoder
→ ์์ถ๋ ์ ๋ณด๋ฅผ ๋ค์ ์๋ ๋ฐ์ดํฐ๋ก ๋ณต์ - OCR
→ ๋ฌธ์๋ก ํ๋ณ๋ ์ด๋ฏธ์ง๋ฅผ ์ค์ ํ ์คํธ๋ก ๋ณํ
3๏ธโฃ ํ๋ณ๊ธฐ vs ํ๋ ๊ธฐ ํ๋์ ๋น๊ต
| ์ญํ | ๊ตฌ๋ถ, ํ๋จ | ํด์, ๋ณต์ |
| ์ง๋ฌธ | ์ด๊ฒ ๋ญ๊ฐ? | ๋ฌด์จ ์๋ฏธ์ธ๊ฐ? |
| ์ถ๋ ฅ | ํด๋์ค, ํ๋ฅ , Yes/No | ํ ์คํธ, ์ด๋ฏธ์ง, ์ ํธ |
| ์ด์ | ์ ํํ ๊ตฌ๋ถ | ์๋ฏธ ์ ๋ฌ |
| ๋น์ | ๊ฒฝ๋น์ | ํต์ญ์ฌ |
4๏ธโฃ MCP ๋งฅ๋ฝ์์ ํจ๊ป ์ฐ์ด๋ ์ด์
MCP ๊ตฌ์กฐ์์๋ ๋ณดํต ํ๋ฆ์ด ์ด๋ ๊ฒ ๋ฉ๋๋ค.
์ ๋ ฅ → ํ๋ณ๊ธฐ → ํ๋ ๊ธฐ → ์ต์ข ์ถ๋ ฅ
- ํ๋ณ๊ธฐ: ์ ๋ ฅ ์ ํธ๊ฐ ์ด๋ค ๋ฒ์ฃผ์ธ์ง ๊ฒฐ์
- ํ๋ ๊ธฐ: ๊ทธ ๋ฒ์ฃผ์ ๋ง๊ฒ ๋ด์ฉ์ ํด์·์ถ๋ ฅ
์ฆ,
- ํ๋ณ๊ธฐ๋ ์์ฌ๊ฒฐ์
- ํ๋ ๊ธฐ๋ ์๋ฏธ ์์ฑ
์ด๋ผ๊ณ ์ดํดํ์๋ฉด ๊ฐ์ฅ ์ ํํฉ๋๋ค.
5๏ธโฃ ํ ๋ฌธ์ฅ์ผ๋ก ์ ๋ฆฌํ๋ฉด
ํ๋ณ๊ธฐ๋ ‘๊ตฌ๋ถํ๋ ๋’, ํ๋ ๊ธฐ๋ ‘์ค๋ช ํ๋ ์ ’์ด๋ค
๐ ์์ฝ ํ ์ค (๋จผ์ ๊ฒฐ๋ก )
MCP์์
- **ํ๋ ๊ธฐ(Interpreter/Decoder)**๋ ๐ ๊ท์น๊ธฐ๋ฐ(Rule-based)์ ๊ฐ๊น๊ณ
- **ํ๋ณ๊ธฐ(Discriminator)**๋ ๐ ์ ์ฑ ๊ธฐ๋ฐ(Policy-based)์ ๊ฐ๊น์ต๋๋ค
์ด ๋์ ๋์ฒด ๊ด๊ณ๊ฐ ์๋๋ผ ๊ณ์ธต·์ญํ ๋ถ๋ด ๊ด๊ณ์ด๋ฉฐ,
์ค์ ์์๋ ๋ฐ๋์ ํผํฉํ(hybrid) ์ผ๋ก ์ด์ฉ๋ฉ๋๋ค.
1๏ธโฃ ๊ท์น๊ธฐ๋ฐ vs ์ ์ฑ ๊ธฐ๋ฐ — ๊ฐ๋ ์ ์ ํํ ๋๋์
1.1 ๊ท์น๊ธฐ๋ฐ (Rule-based)
ํต์ฌ ์ ์
๋ช ์์ ์ผ๋ก ์ ์๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ๋ ๋ฐฉ์
ํน์ง ์ ๋ฆฌ
- ์กฐ๊ฑด์ด ์ฝ๋·์คํค๋ง·ํจํด์ผ๋ก ๊ณ ์
- ์ ๋ ฅ → ์ถ๋ ฅ์ด ํญ์ ๋์ผ (๋น๊ฒฐ์ ์ฑ โ)
- ์ค๋ช ๊ฐ๋ฅ์ฑ, ์์ ์ฑ์ด ๋งค์ฐ ๋์
- ์คํจ ์ ์์ธ์ด ๋ช ํ (ํ์ฑ ์คํจ, ์คํค๋ง ์๋ฐ ๋ฑ)
๊ฐ์
- ํด์, ๋ณํ, ๊ตฌ์กฐํ
- ํฌ๋งท ๋ณด์ฅ
- ์์คํ ์์ ์ฑ
๐ “์๋ฏธ๋ฅผ ์ ํด์ง ํ๋ก ์ฎ๊ธฐ๋ ์์ ”์ ์ต์
1.2 ์ ์ฑ ๊ธฐ๋ฐ (Policy-based)
ํต์ฌ ์ ์
๋ชฉํ๋ฅผ ์ต๋ํํ๊ธฐ ์ํด ์ ํ์ ์ต์ ํํ๋ ๋ฐฉ์
ํน์ง ์ ๋ฆฌ
- ๋ณด์ ํจ์ / ์ค์ฝ์ด๋ง ์กด์ฌ
- ๋์ผ ์ ๋ ฅ์๋ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง ์ ์์
- ํ์ต·ํ๋ ๋์
- trade-off ํ๋จ ๊ฐ๋ฅ
๊ฐ์
- ์์ฌ๊ฒฐ์
- ์ ๋ต ์ ํ
- ํ์ง ์ต์ ํ
๐ “์ง๊ธ ๋ฌด์์ ์ ํํ๋ ๊ฒ ์ต์ ์ธ๊ฐ?”์ ์ต์
2๏ธโฃ ํ๋ ๊ธฐ = ๊ท์น๊ธฐ๋ฐ์ด๋ผ๋ ์ค๋ช ์ด ์ ์ ํํ๊ฐ
โ ๋งค์ฐ ์ ํํฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์ ๋ง์ต๋๋ค.
ํ๋ ๊ธฐ์ ๋ณธ์ง์ ์ง๋ฌธ
“์ด ์ ๋ ฅ์ ์ ํด์ง ์๋ฏธ ๊ตฌ์กฐ๋ก ๋ณํํ๋ผ”
์ฆ,
- ์ดํด์ ์์ โ
- ํ์์ ์ผ๊ด์ฑ โญ
MCP์์์ ํ๋ ๊ธฐ ํ๋ฆ ์์
ํ๋ ๊ธฐ์ ์ฐ์ด๋ ๋ํ์ ์๋จ๋ค
- JSON Schema
- Regex
- AST
- Pydantic Model
- Fixed Prompt Template
๐ ๋ชจ๋ ๊ท์น๊ธฐ๋ฐ ๋๊ตฌ์ ๋๋ค.
๐ ๊ทธ๋์ ํ๋ ๊ธฐ๋:
- ๋๋ํ ํ์ โ
- ์์ ์ ์ด์ด์ผ ํจ โญ
3๏ธโฃ ํ๋ณ๊ธฐ = ์ ์ฑ ๊ธฐ๋ฐ์ด๋ผ๋ ์ค๋ช ์ด ์ ๋ณธ์ง์ ์ธ๊ฐ
โ ์ด์ชฝ์ด ๋ ํต์ฌ์ ๋๋ค.
ํ๋ณ๊ธฐ์ ์ง๋ฌธ์ ํญ์ ํ๋์ ๋๋ค
“์ง๊ธ ์ด ์ํฉ์์ ์ด๋ค ์ ํ์ด ์ต์ ์ธ๊ฐ?”
์ด๊ฑด ๊ท์น์ผ๋ก ๋ค ์ปค๋ฒํ ์ ์์ต๋๋ค.
MCP์์์ ํ๋ณ๊ธฐ ์์
- ์ง๊ธ ๊ฒ์ํ ๊น? ์ถ๋ก ํ ๊น?
- Tool์ ์ธ๊น? LLM๋ก ๋ตํ ๊น?
- ์ด ๋ต๋ณ์ ๋ค์ ์์ฑํ ๊น?
- ์์ ์ ์ vs ์ ํ๋, ์ด๋๊น์ง ํ์ฉํ ๊น?
์ด ํ๋จ์๋ ํญ์:
- ์ค์ฝ์ด๋ง
- ํ์คํ ๋ฆฌ
- ๋ณด์ ํจ์
- trade-off
๐ ์ ํ์ ์ธ ์ ์ฑ ๋ฌธ์ ์ ๋๋ค.
4๏ธโฃ ํต์ฌ ๋งคํ ํ (์์ฃผ ์ค์)
| ํ๋ ๊ธฐ | ์ฃผ๋ ฅ | ๋ณด์กฐ |
| ํ๋ณ๊ธฐ | ๋ณด์กฐ | ์ฃผ๋ ฅ |
| ๋ชฉ์ | ์์ ์ฑ, ์์ธก ๊ฐ๋ฅ์ฑ | ํ์ง, ์ ์์ฑ |
| ์คํจ ์ ํ | ํ์ฑ ์ค๋ฅ | ์คํ, ์ ๋ต ์คํจ |
5๏ธโฃ ์ค์ MCP๋ ๋ฐ๋์ “ํผํฉํ”์ด๋ค
์ด ๋ถ๋ถ์ด ํ์ ์์ ๊ฐ์ฅ ์ค์ํฉ๋๋ค.
5.1 ํ๋ณ๊ธฐ = ์ ์ฑ + ๊ท์น ์์ ๋ง
์์
- ์์ค, ๋ณด์ ์๋ฐ → ์ฆ์ ์ฐจ๋จ (๊ท์น)
- ๊ทธ ์ธ → ์ ์ฑ ๋ชจ๋ธ์ด ํ๋จ
๐ ์ ์ฑ ์ ์์ ๋กญ์ง๋ง, ๊ท์น์ด ๊ฐ๋๋ ์ผ์ ์นฉ๋๋ค.
5.2 ํ๋ ๊ธฐ = ๊ท์น + ์ ์ฑ ๋ณด์
์์
- JSON Schema๋ ํต๊ณผ
- ๊ทธ๋ฐ๋ฐ ์๋ฏธ๊ฐ ์ด์ํจ
→ ์ ์ฑ ํ๋ณ๊ธฐ๋ก ์ฌ์์ฑ ๊ฒฐ์
๐ ํ์์ ๊ท์น, ์๋ฏธ ํ์ง์ ์ ์ฑ ์ด ๋ด ๋๋ค.
6๏ธโฃ LangGraph / MCP ๊ตฌ์กฐ๋ก ๋ณด๋ฉด ์ด๋ ๊ฒ ๋ฉ๋๋ค
๊ตฌ์กฐ์ ์ ๋ฆฌ
- ์๋จ ํ๋ → ๊ท์น
- ์ค์ ํ๋ณ → ์ ์ฑ
- ํ๋จ ๊ฒ์ฆ → ์ ์ฑ
๐ ์ด ๊ตฌ์กฐ๊ฐ ๊ฐ์ฅ ํผํผํฉ๋๋ค.
7๏ธโฃ ์ต์ข ํ ๋ฌธ์ฅ ์ ๋ฆฌ
๊ท์น๊ธฐ๋ฐ์ ‘์ดํด๋ฅผ ์์ ํ’ํ๊ณ ,
์ ์ฑ ๊ธฐ๋ฐ์ ‘์ ํ์ ์ต์ ํ’ํ๋ค.MCP์์ ํ๋ ๊ธฐ๋ ๊ท์น์ ๊ฐ๊น๊ณ , ํ๋ณ๊ธฐ๋ ์ ์ฑ ์ ๊ฐ๊น๋ค.
์ง๊ธ ์ ๋ฆฌํ์ ๊ด์ ์
๐ MCP๋ฅผ ‘์ค๊ณ์ ์์ ’์์ ์ดํดํ ์ ๋ต์ ๊ฐ๊น์ด ํด์์
๋๋ค.
๊ท์น๊ณผ ์ ์ฑ ์ ์ฐจ์ด์ ์ ๋ฆฌ๋ฒ๋ด๋ก ํด์ํ ๊ธ์ ๋๋ค. ์์ด์ ํธ๊ฐ ์ ์ฑ ๊ธฐ๋ฐ์ผ๋ก ์๋ํ๋ ์ ์ ์ดํดํ๊ธฐ ์ํด ํฌ์คํ ํฉ๋๋ค. ๊ท์น๊ณผ ์ ์ฑ ์ ์ฃผ์ ์ฐจ์ด์ ์๋์ ์ ์๋ ์ฌํญ๋ค์ ๊ท์น๊ณผ ์ ์ฑ ์ ์ฐจ์ด์ ์ ๋ช ํํ๊ฒ ๋ณด์ฌ์ค๋๋ค. ๊ท์น์ ๊ธฐ๋ณธ์ ์ผ๋ก ํด์ผ ํ ์ผ๊ณผ ํ์ง ๋ง์์ผ ํ ์ผ์ ๋์ดํ ๋ชฉ๋ก์ผ๋ก, ์ง์๋ค์ ์ฒ์ฐ์ ํ๋์ ์์ด ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ฐ๋ฉด ์ ์ฑ ์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ๊ฒฝ์ ๋ฌธ์ ์ ๋ํ ์คํ ์ง์นจ์ ์ผ๊ด๋๊ฒ ์ ์ํ๋ ํ์ ์๋ฏธํฉ๋๋ค.
๊ท์น์ ์ค์ํด์ผ ํ๋ ๋ช ๋ น, ์ง์ ๋๋ ๊ท๋ฒ์ ํํ๋ฅผ ๋จ ์ ์์ต๋๋ค. ๋ฐ๋ฉด ์ ์ฑ ์ ํ์ ์ ๊ฒฐ์ ์ด ๋ด๋ ค์ง ์ ์๋ ํ์ ๊ท์ ํฉ๋๋ค. ๊ท์น์ ์ง์์ด ํด์ผ ํ ์ผ๊ณผ ํ์ง ๋ง์์ผ ํ ์ผ์ ๊ท์ ํ๋ ๋ฐ๋ฉด, ์ ์ฑ ์ ๋ค์ํ ์ํฉ์์ ํด์ผ ํ ์ผ์ ๊ท์ ํฉ๋๋ค. ์ ์ฑ ์ ๊ธฐ์ ์ ๋ชฉํ์์ ํ์๋ฉ๋๋ค. ์ฆ, ์ ์ฑ ์ ์กฐ์ง์ ๋ชฉํ๋ฅผ ์ผ๋์ ๋๊ณ ๋ง๋ค์ด์ง๋๋ค.
๋ฐ๋ฉด์ ๊ท์น์ ์ ์ฑ ๊ณผ ์ ์ฐจ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ๊ฒฝ์ง์ฑ ์ธก๋ฉด์์ ๋ณด๋ฉด, ๊ท์น์ ์ ์ฑ ์ ๋นํด ๋ ๊ฒฝ์ง์ ์ ๋๋ค. ๊ท์น์ ๊ฒฝ์ฐ์๋ ์ฌ๊ณ ์ ์์ฌ๊ฒฐ์ ์ ์ฌ์ง๊ฐ ์์ง๋ง, ์ ์ฑ ์ ๊ฒฝ์ฐ์๋ ์ด๋ ์ ๋ ์ฌ๊ณ ์ ์์ฌ๊ฒฐ์ ์ ์ฌ์ง๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ท์น์ ๊ตฌ์ฒด์ ์ธ ์ง์ , ์ฆ ์ง์์ ํ๋์ด๋ ๋ถ์์๋ฅผ ๋ช ์ํ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ฉด์ ์ ์ฑ ์ ์ผ๋ฐ์ ์ธ ์ง์ ๋ก์, ์ผ์์ ์ผ๋ก ๋ฐ์ํ๋ ๋ฌธ์ ์ ๊ทธ์ ๋ํ ๊ธฐ์ฑ ํด๊ฒฐ์ฑ ์ ์ ์ํจ์ผ๋ก์จ ๊ด๋ฆฌ์์ ์ ๋ฐ์ ์ธ ์์ฌ๊ฒฐ์ ์ ์๋ดํฉ๋๋ค. ๊ท์น์ ํ๋์ ๊ท์ ํ๊ณ ์ค์๋ฅผ ๋ณด์ฅํ๋ฉฐ ์กฐ์ง ๋ด ๊ธฐ๊ฐ์ ์ ์งํ๊ธฐ ์ํด ๋ง๋ค์ด์ง๋๋ค. ๋ฐ๋ฉด ์ ์ฑ ์ ๊ฒฝ์์ง์ด ์์ฌ๊ฒฐ์ ์ ์๋ดํ๊ณ ํต์ผ์ฑ๊ณผ ์ผ๊ด์ฑ์ ํ๋ณดํ๊ธฐ ์ํด ์๋ฆฝํฉ๋๋ค.
Difference Between Rules and Policies (with Examples and Comparison Chart) - Key Differences
Difference Between Rules and Policies (with Examples and Comparison Chart) - Key Differences
This post will help you understand the basic differences between rules and policies. Rules can be in the form of orders, instructions or norms which that needs compliance. As against, policies determine the framework, within which the executive decisions c
keydifferences.com
PEFT ๊ธฐ๋ฒ๋ค
์ด๊ธฐ์ PEFT์ ์ํด ์ ์๋์๋ ๋ฐฉ๋ฒ์ ์ด๋ํฐ(adapters)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
์ฌ๊ธฐ์ ๋งํ๋ adapater๋ ๊ธฐ์กด์ ์ด๋ฏธ ํ์ต์ด ์๋ฃ๋ ๋ชจ๋ธ(pre-trained model)์ ์ฌ์ด์ฌ์ด์ ํ์ต ๊ฐ๋ฅํ ์์ feed-forward networks๋ฅผ ์ฝ์
ํ๋ ๊ตฌ์กฐ๋ฅผ ๋งํฉ๋๋ค.
์ด๋ pre-trained model์ weights๋ ๊ณ ์ ํด๋๊ณ ํ์ต ๊ฐ๋ฅํ ์์ feed-forward networks๋ง ์ํคํ
์ณ ์ค๊ฐ ์ค๊ฐ๋ง๋ค ์ถ๊ฐํจ์ผ๋ก์จ ์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ชจ๋ธ์ ํ๋ํ๋ ๊ธฐ๋ฒ์
๋๋ค.
์ด๋ฌํ ์ด๋ํฐ๊ธฐ๋ฐ์ ๋ฐฉ๋ฒ๋ก ์ธ์๋ LoRA, prompt tuning, prefix tuning๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ๋ก ์ด ์ ์๋์์ต๋๋ค.
์ฌ๋ฌ ๋ฐฉ๋ฒ๋ก ์ด ์์ง๋ง Stable diffusion์ด๋ LLaMA, Alpaca์์๋ ๋ง์ด ์ ์ฉ๋๋ Microsoft์์ ๊ณต๊ฐํ LoRA๋ผ๋ ๋ฐฉ๋ฒ๋ก ์ด ํ์ฌ๋ก์๋ ์ ์ผ ์ ๋ช
ํ ๊ฒ ๊ฐ์ต๋๋ค.
LoRA
LoRA(Low-Rank Adaptation)์ ๊ฐ๋
์ ๊ฐ๋จํ๊ฒ ์ค๋ช
ํ์๋ฉด, ๊ณ ์ ๋ weights๋ฅผ ๊ฐ๋ pretrained model์ ํ์ต์ด ๊ฐ๋ฅํ rank decomposition ํ๋ ฌ์ ์ฝ์
ํ๊ฒ์ผ๋ก
์ค๊ฐ์ค๊ฐ ํ์ต์ด ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฝ์
ํ๋ค๋ ์ ์์๋ ์ด๋ํฐ์ ๋น์ทํ์ง๋ง ๊ตฌ์กฐ์ ์ผ๋ก ์กฐ๊ธ ๋ค๋ฅด๋ค๊ณ ํ ์ ์์ต๋๋ค.
์ ์ ์์ ํ๋ผ๋ฏธํฐ๋ก ๋ชจ๋ธ์ ํ๋ํ๋ ๋ฐฉ๋ฒ๋ก ์ด๊ธฐ ๋๋ฌธ์ ์ ์์์ GPU๋ก ๋น ๋ฅด๊ฒ ํ๋ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค.
LoRA์์ ๋์จ rank decomposition์ด๋ผ๋ ๋ง์ด ์ฒ์์๋ ์ด๋ ต๊ฒ ๋๊ปด์ก์๋๋ฐ์.
๊ธ์ ๋ ์ฝ์ผ์๋ ค๋ฉด , ๋ค์ ๋งํฌ๋ฅผ ํด๋ฆญํ์ธ์.
LLM ๋ชจ๋ธ ํ๋, ํ๋์ GPU๋ก ๊ฐ๋ฅํ ๊น? Parameter Efficient Fine-Tuning(PEFT)์ ์๊ฐํฉ๋๋ค! | ๊ฐ๋ฐ์ Story |
์๋ ํ์ธ์๐ ์ค๋์ Parameter Efficient Fine-Tuning(PEFT)์ด๋ผ๊ณ ๋ถ๋ฆฌ์ฐ๋ ๋ชจ๋ธ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. PEFT์ ๋ํด์ ์งง๊ฒ ์ค๋ช ๋๋ฆฌ๋ฉด ๋ชจ๋ธ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ํ๋ ๊ฒ์ด ์
www.sktenterprise.com
์ํ ๊ด๋ฆฌ๋ ๋ฌด์์ธ๊ฐ?
LangGraph์์ ์ํ ๊ด๋ฆฌ๋ AI ์์คํ
์ ํต์ฌ์
๋๋ค. ์ํ(State)๋ ์์คํ
์ด ์ฒ๋ฆฌํ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๋ ๊ทธ๋ฆ์ด๋ฉฐ, ๋
ธ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ณ ์ถ์ ํ๋ ์ญํ ์ ํฉ๋๋ค.
๐ ๊ฐ๋
์ค๋ช
: ์ํ์ ๋ณธ์ง
์ํ(State)๊ฐ ์ ํ์ํ๊ฐ์?
LangGraph๋ Google์ Pregel ์์คํ
์์ ์๊ฐ์ ๋ฐ์ ๋ฉ์์ง ์ ๋ฌ(Message Passing) ์ํคํ
์ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค:
๋
ธ๋๋ ๋
๋ฆฝ์ ์ธ ์ฒ๋ฆฌ ๋จ์: ๊ฐ ๋
ธ๋๋ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ, ์๋ก ์ง์ ํต์ ํ์ง ์์ต๋๋ค
์ํ๋ฅผ ํตํ ๊ฐ์ ํต์ : ๋
ธ๋๋ค์ ๊ณต์ ์ํ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค
Super-step ์คํ ๋ชจ๋ธ: ๋ณ๋ ฌ ์คํ ๊ฐ๋ฅํ ๋
ธ๋๋ค์ ๊ฐ์ super-step์์ ๋์์ ์คํ๋ฉ๋๋ค
์ด๋ฌํ ๊ตฌ์กฐ๋ ๋ณต์กํ ์ํฌํ๋ก์ฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ๊ฐ ๋จ๊ณ์ ์คํ์ ์ถ์ ํ ์ ์๊ฒ ํฉ๋๋ค.
1-3-2-1. ์ํ ๊ด๋ฆฌ ๊ธฐ์ด - LangGraph ๊ฐ์ด๋๋ถ - ์์ด์ ํธ RAG with ๋ญ๊ทธ๋ํ
1-3-2-1. ์ํ ๊ด๋ฆฌ ๊ธฐ์ด
## 1.1 ์ํ ๊ด๋ฆฌ๋ ๋ฌด์์ธ๊ฐ? LangGraph์์ ์ํ ๊ด๋ฆฌ๋ AI ์์คํ ์ ํต์ฌ์ ๋๋ค. ์ํ(State)๋ ์์คํ ์ด ์ฒ๋ฆฌํ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ด๋ ๊ทธ๋ฆ์ด๋ฉฐ, ๋ ธ๋ ๊ฐ์ ๋ฐ…
wikidocs.net
spring ์์ dto ๋ vo ์ฒ๋ผ ๋ฐ์ดํฐ ํ์ ์ ์ ๊ณตํ๋ ํด๋์ค๋ฅผ , ๋ญ๊ทธ๋ํ์์๋ ๋ญ๋ผ๊ณ ์ด๋ฆ์ ์ฃผ๋ฉด ์ข์๊น ?
์์ฃผ ์ข์ ์ง๋ฌธ์
๋๋ค.
์ด๊ฑด **Spring์ ์ฌ๊ณ (DTO/VO)**์์ **LangGraph·MCP์ ์ฌ๊ณ (State/Message)**๋ก ๋์ด์ค๋ ๊ฒฐ์ ์ ์ ํ ์ง์ ์
๋๋ค.
์ง๋ฌธ ์ฃผ์ ๋งฅ๋ฝ์ ๊ธฐ์ค์ผ๋ก, ์ ์ด๋ฆ์ ๋ฐ๊ฟ์ผ ํ๊ณ / ๋ฌด์์ด ์ ๋ต์ ๊ฐ๊น์ด์ง๋ฅผ ๊ตฌ์กฐ์ ์ผ๋ก ์ ๋ฆฌํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๐ ๋จผ์ ๊ฒฐ๋ก ๋ถํฐ
LangGraph์์๋ DTO / VO๋ผ๋ ์ด๋ฆ์ ์ฐ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋์ “๊ทธ๋ํ์์ ๋งก์ ์ญํ (Role)” ์ค์ฌ์ผ๋ก ์ด๋ฆ์ ๋ถ์ด๋ ๊ฒ ์ ์์ ๋๋ค.
์ฆ,
- Spring → ๊ณ์ธต ๊ฐ ์ ๋ฌ
- LangGraph → ์ํ ๋ณํ์ ํ๋จ ํ๋ฆ
์ด ๊ด์ ์ฐจ์ด๊ฐ ์ด๋ฆ์ ๋ฐ๊พธ๊ฒ ๋ง๋ญ๋๋ค.
1๏ธโฃ ์ DTO / VO๋ฅผ ๊ทธ๋๋ก ์ฐ๋ฉด ์ ๋๋๊ฐ
Spring์ DTO / VO ์ ์
- ์์ฒญ/์๋ต ์ค์ฌ
- ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ์ ๋ฌ
- ๋จ์ ๊ตฌ์กฐ์ฒด
- “์ด๋์ ์๋๊ฐ”๊ฐ ์ค์
LangGraph์ ์ ์
- ์ํ ๋จธ์ (State Machine)
- ๋ ธ๋ ๊ฐ ๋ฉ์์ง ํ๋ฆ
- ๋์ผ ๋ฐ์ดํฐ๋ผ๋ ๋ ธ๋ ์์น์ ๋ฐ๋ผ ์๋ฏธ๊ฐ ๋ฐ๋
- “๊ทธ๋ํ์์ ๋ฌด์จ ์ญํ ์ ํ๋๊ฐ”๊ฐ ์ค์
๐ ๊ทธ๋์ LangGraph์์๋
๋ฐ์ดํฐ = ๊ตฌ์กฐ + ์๋ฏธ + ๊ทธ๋ํ ๋ด ์ญํ
์ด ํจ๊ป ๋๋ฌ๋์ผ ํฉ๋๋ค.
DTO/VO๋ผ๋ ์ด๋ฆ์ ์ด๊ฑธ ์ ํ ์ค๋ช ํด์ฃผ์ง ๋ชปํฉ๋๋ค.
2๏ธโฃ LangGraph์์์ ํต์ฌ ๊ฐ๋ 3๊ฐ์ง
Spring DTO/VO์ ๋์๋๋ ๊ฐ๋ ์ ๋ณดํต ์๋ ์ ์ค ํ๋์ ๋๋ค.
- State
- Message
- Artifact / Payload / Record (๋ณด์กฐ ๊ฐ๋ )
์ด๊ฒ ์ฌ์ค์ LangGraph์ “๋ฐ์ดํฐ ํ์ ์ผ๋์ฅ”์ ๋๋ค.
3๏ธโฃ 1์์: State (๊ฐ์ฅ ์ ์์ ์ธ ์ ํ)
์ธ์ ์ฐ๋๊ฐ
- ๊ทธ๋ํ ์ ์ฒด์์ ๋์ ·๋ณํ๋๋ ๋ฐ์ดํฐ
- ์ฌ๋ฌ ๋ ธ๋๊ฐ ์ฝ๊ณ /์์ ํ๋ ๊ณต์ฉ ์ํ
์์
์๋ฏธ
- Spring์ DTO โ
- ๊ทธ๋ํ์ ํ์ฌ ์ธ๊ณ ์ํ(World State) โญ
LangGraph ๊ณต์ ๋ฌธ์์์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ผ๋ก ๊ถ์ฅ๋๋ ํจํด์ ๋๋ค.
์ถ์ฒ ์ ๋ฏธ์ฌ
- State
- GraphState
- AgentState
๐ Spring DTO์ 70% ์ด์์ LangGraph์์ State๋ก ๋ฐ๋๋๋ค.
4๏ธโฃ 2์์: Message (LLM·์์ด์ ํธ ์์คํ ์ ํต์ฌ)
์ธ์ ์ฐ๋๊ฐ
- ๋ ธ๋ ๊ฐ “์์ฌ ํํ”์ด ํ์ํ ๋
- ํ๋จ, ์๊ฒฌ, ๊ทผ๊ฑฐ, ์ค๋ช ์ ์ ๋ฌํ ๋
- LLM ์ ·์ถ๋ ฅ ๋จ์
์์
๋๋ LangChain ์คํ์ผ:
- HumanMessage
- AIMessage
- SystemMessage
์๋ฏธ
- ๋จ์ ๋ฐ์ดํฐ โ
- ๋ฐํ(Speech) + ํ๋จ(Opinion) โญ
๐ ํ๋ ๊ธฐ / ํ๋ณ๊ธฐ ๊ตฌ์กฐ์์๋ Message ๊ฐ๋ ์ด ๋งค์ฐ ์ค์ํฉ๋๋ค.
5๏ธโฃ 3์์: Artifact / Payload / Record (๋ณด์กฐ ๊ฐ๋ )
์ธ์ ์ฐ๋๊ฐ
- State ์์ ํฌํจ๋๋ ํ์ ๋ฐ์ดํฐ
- ๋ถ๋ณ ๋ฐ์ดํฐ
- ๋ก๊ทธ·๊ทผ๊ฑฐ·๊ฒฐ๊ณผ๋ฌผ
์์
์ถ์ฒ ์ ๋ฏธ์ฌ ์ ๋ฆฌ
- Payload → ์ธ๋ถ I/O ๋ฐ์ดํฐ
- Artifact → ๊ฒฐ๊ณผ๋ฌผ, ํ์ต ์ฐ์ถ๋ฌผ
- Record → ๋ก๊ทธ, ์ด๋ ฅ
6๏ธโฃ Spring → LangGraph ๋งคํ ํ (์ค์ ๊ธฐ์ค)
| Request DTO | InputState / InitialState | ๊ทธ๋ํ ์ง์ ์ |
| Response DTO | OutputState / ResultState | ๊ทธ๋ํ ์ข ๋ฃ |
| VO | Message / Artifact | ์๋ฏธ ์ค์ฌ ๋ฐ์ดํฐ |
| ๊ณต์ฉ DTO | GraphState | ์ํ ๋์ |
| Enum | Policy / DecisionType | ๊ท์น ์๋ฏธ ๊ฐ์กฐ |
7๏ธโฃ ์คํธ ํํฐ ํ๋ก์ ํธ ๊ธฐ์ค “์ ๋ต ์กฐํฉ”
ํ์ฌ ๊ตฌ์กฐ:
- KoELECTRA = ํ๋ณ๊ธฐ
- EXAONE = ํ๋ ๊ธฐ
- Reader → Decider → Policy → Notify
๐ ์ด ๊ฒฝ์ฐ ์ถ์ฒ ์ด๋ฆ์ ๊ฑฐ์ ์ ํด์ ธ ์์ต๋๋ค.
์ต์์ ์ํ
๋ ธ๋ ๊ฐ ํ๋จ
์ ์ฑ ๊ฒฐ๊ณผ
์ฌ์ฉ์ ์ ๋ฌ
๐ DTO / VO๋ผ๋ ๋จ์ด๋ ์์ ์ฐ์ง ์๋ ๊ฑธ ์ถ์ฒ๋๋ฆฝ๋๋ค.
๋์ค์ ํ์์ด๋ ํ์์๊ฒ ์ค๋ช
ํ ๋๋ ํจ์ฌ ์ง๊ด์ ์
๋๋ค.
8๏ธโฃ ํ ์ค ์์ฝ
LangGraph์์๋ “๋ฐ์ดํฐ ํ์ ”์ด ์๋๋ผ
“๊ทธ๋ํ์์ ๋งก์ ์ญํ ”๋ก ์ด๋ฆ์ ์ง๋๋ค.
- ๊ธฐ๋ณธ์ State
- ํ๋จ·๋ฐํ๋ Message
- ๊ฒฐ๊ณผ๋ฌผ์ Artifact / Payload
์ํ์๋ฉด
๐ ์ง๊ธ ์ฐ๊ณ ๊ณ์ Spring DTO ์ด๋ฆ๋ค์ LangGraph์์ผ๋ก ์ ๋ถ ๋ฆฌ๋ค์ด๋ฐํด ๋๋ฆด ์๋ ์์ต๋๋ค.
https://rudaks.tistory.com/entry/langgraph-How-to-call-tools-using-ToolNode
[langgraph] ToolNode๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ตฌ(tool)๋ฅผ ํธ์ถํ๋ ๋ฐฉ๋ฒ
LangGraph ๊ณต์๋ฌธ์๋ฅผ ๋ฒ์ญํ ๋ด์ฉ์ ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ๋ถ์ฐ ์ค๋ช ์ ์ถ๊ฐํ์๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์์ ๋ฅผ ์ผ๋ถ ๋ณ๊ฒฝํ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ๋๋ฉด ์ญ์ ํ๊ฒ ์ต๋๋ค.https://langchain-ai.github.io/langgraph/how-tos/tool-
rudaks.tistory.com
๋ญ๊ทธ๋ํ , ํด๋ ธ๋๋ฅผ ์ฌ์ฉํ์ฌ ํด์ ํธ์ถํ๋ ๋ฐฉ๋ฒ
๋ค์ด๋ฒ·SKT·์ ์คํ ์ด์ง๊ฐ ๋ฒ ๊ผ๋ค๊ณ ? 'ํ๋กฌ ์คํฌ๋์น' ๋ ผ๋ ์๋ฒฝ ์ ๋ฆฌ
๋ค์ด๋ฒ·SKT·์ ์คํ ์ด์ง๊ฐ ๋ฒ ๊ผ๋ค๊ณ ? 'ํ๋กฌ ์คํฌ๋์น' ๋ ผ๋ ์๋ฒฝ ์ ๋ฆฌ | ์์ฆIT
๋ค์ด๋ฒ·SKT·์ ์คํ ์ด์ง๊ฐ ๋ฒ ๊ผ๋ค๊ณ ? 'ํ๋กฌ ์คํฌ๋์น' ๋ ผ๋ ์๋ฒฝ ์ ๋ฆฌ | ์์ฆIT
์ต๊ทผ IT ์ ๊ณ๊ฐ ๋จ๊ฒ๊ฒ ๋ฌ์์ฌ๋์ต๋๋ค. ๋ฐ๋ก AI ๊ตญ๊ฐ๋ํ ์ ๋ฐ์ ๋๋ฌธ์ ๋๋ค. ์ ๋ถ๋ ๊ธ๋ก๋ฒ ๋น ํ ํฌ์ ๋ง์ค ๊ธฐ์ ์ฃผ๊ถ์ ํ๋ณดํ๊ธฐ ์ํด ์์ฒ์ต ์์ ์์ฐ์ ํฌ์ , ‘๋ ์ AI ํ์ด๋ฐ์ด์ ๋ชจ๋ธ’
yozm.wishket.com
'Project ESG+AI > Tech Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 61์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2026.01.09 |
|---|---|
| 60์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (1) | 2026.01.08 |
| 59์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2026.01.07 |
| 58์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2026.01.06 |
| 51์ผ์ฐจ. ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.12.24 |