๐ [Project] AI ๋ด ์ง์ ๋ง๋ค๊ธฐ: ์ค์ ํฌ์ ๊ณผ ๋ฉํฐ๋ชจ๋ฌ ํตํฉ (Last Vol.)
๐ ๏ธ ์ค์ ์ ๋ฌด๋ฅผ ์ํ '์ฐ์ฅ' ์ฑ๊ธฐ๊ธฐ (Function Calling & MCP)
์ธํ๋ผ๊ฐ ๊ฐ์ถฐ์ก์ผ๋ ์ด์ '๋ด ์ง์'์ด ์ค์ ๋ก ํ๋๋ฅผ ์ฐ์ฅ์ ์ฅ์ฌ์ค ์ฐจ๋ก์ ๋๋ค. ์ด๋ฒ ์์ ์ ํตํด TradeNPU_AI๋ ๋จ์ํ ๋ํ ์๋๋ฅผ ๋์ด ์ค๋ฌด ์งํ์๋ก ๊ฑฐ๋ญ๋ฌ์ต๋๋ค.
1. ์ถ๊ฐ๋ ์ฃผ์ ๋๊ตฌ๋ค
-
Knowledge Basket ์กฐํ: ํน์ ๊ธฐ๊ฐ(Days) ๋๋ ๊ฒ์์ด๋ฅผ ๋ฐํ์ผ๋ก Knowledge Basket ์ปจํ ์ธ ๋ฅผ ์ผ๊ด ์กฐํํฉ๋๋ค.
-
EmailHandler (Gmail API): ์์ ์, ์ ๋ชฉ, ๋ด์ฉ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ์ค์ ์ด๋ฉ์ผ์ ๋ฐ์กํฉ๋๋ค. ์ง์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ธ '๋ณด๊ณ ์ ์ํต'์ ์๋ํํ์ต๋๋ค.
2. ๋ค๋จ๊ณ ์ฐ์ ๋์ (Sequential Function Calling)์ ์์ฑ
๊ฐ์ฅ ๋ฟ๋ฏํ ์ฑ๊ณผ๋ ์ฐ์ Function Calling์ ์ฑ๊ณต์ ๋๋ค. ์๋ฅผ ๋ค์ด "์ด์ ๋ฐํ๋ Knowledge Basket ์ปจํ ์ธ ๋ฅผ ์์ฝํด์ ๋ฉ์ผ๋ก ๋ณด๋ด์ค"๋ผ๊ณ ์ํค๋ฉด AI๋ ๋ค์๊ณผ ๊ฐ์ด ์์ง์ ๋๋ค.
-
Knowledge Basket ์กฐํ ๋๊ตฌ ์ ํ ๋ฐ ๋ฐ์ดํฐ ํ๋ณด
-
ํ๋ณด๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฉ์ผ ๋ฐ์ก ๋๊ตฌ์ ํ๋ผ๋ฏธํฐ ๊ตฌ์ฑ
-
์ต์ข ๋ฐ์ก ๋ฐ ๊ฒฐ๊ณผ ๋ณด๊ณ
์ด๋ฅผ ์ํด ๊ธฐ์กด์ ๋จ๋ฐ์ฑ ํธ์ถ ๋ก์ง์ While๋ฌธ์ผ๋ก ๊ฐ์ธ AI๊ฐ "๋ ์ด์ ํ์ํ ๋๊ตฌ๊ฐ ์๋ค"๊ณ ํ๋จํ ๋๊น์ง ๋ฃจํ๋ฅผ ๋๋๋ก ์ค๊ณํ์ฌ ์์ ์ฑ์ ํ๋ณดํ์ต๋๋ค.
๐คฏ ๊ฐ๋ฐ์๋ฅผ ๊ดด๋กญํ 4๊ฐ์ง ๊ธฐ์ ์ ํ๋ค
๊ตฌํ ๊ณผ์ ์ ๊ฒฐ์ฝ ์ํ์น ์์์ต๋๋ค. ํนํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ ์ถฉ๋๊ณผ ์ธ์ ๊ด๋ฆฌ์์ ํญ๋์ ์ฝ์ง(?)์ด ํ์ํ์ต๋๋ค.
-
๋๊ตฌ์ ๋ณํฉ (Local + MCP): ์ฌ์ฉ์๊ฐ ๋๊ตฌ์ ์ถ์ฒ๋ฅผ ์ ๊ฒฝ ์ฐ์ง ์๊ฒ ํ๋ ค๊ณ ๋ก์ปฌ ๋๊ตฌ์ MCP ๋๊ตฌ๋ฅผ ํ๋์ ๋ฆฌ์คํธ๋ก ํตํฉํ์ต๋๋ค. Python SDK์
Tool()ํด๋์ค๋ฅผ ํ์ฉํด ์์ธก์ JSON ์คํค๋ง๋ฅผ ์ผ์น์ํค๋ ์ ๊ตํ ์์ ์ด ํ์ํ์ต๋๋ค. -
๋ํ ๊ธฐ์ต์ ์ฆ๋ฐ:
Chat()๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ฉฐ ์ฐ์ ํธ์ถ์ ์ํํ ๋ ์ธ์ ์ด ๋๊ธฐ๊ฑฐ๋ ๊ธฐ์ต์ด ์์ค๋๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ชจ๋ธ ์ค์์นญ ์์๋ ๋ํ ๋ด์ฉ์ด ๋ณด์กด๋๋๋ก Session ๊ธฐ๋ฐ์ ๊ธฐ์ต ์ ์ฅ์๋ฅผ ๊ตฌ์ถํ์ต๋๋ค. -
MCP ํด๋ผ์ด์ธํธ ํค๋ ์ค๋ฅ: JSON-RPC ํต์ ์
X-Session-ID,X-User-ID๋๋ฝ์ผ๋ก ์ธํ ์๋ฌ๋ ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ ๊ณตํต๋ ๊ณ ํต์ด๋๊ตฐ์. ํค๋์ ํด๋น ๊ฐ๋ค๊ณผ ํจ๊ปAccept: application/json, text/event-stream์ ๋ช ์์ ์ผ๋ก ์ถ๊ฐํ์ฌ ํด๊ฒฐํ์ต๋๋ค. -
Google Search์ ๋ ์ ์ฑ: Gemini API์์
Google Search(Grounding)๋ ๋ค๋ฅธ Function Calling ๋๊ตฌ์ ๋ณ์ฉ์ด ๋ถ๊ฐ๋ฅํ์ต๋๋ค. ๊ตฌ๊ธ AI ์คํ๋์ค๊ฐ ๊ฒ์ ๋ชจ๋ ์ ์๋ก์ด ์ฑํ ์ฐฝ์ ์ฌ๋ ์ด์ ๋ฅผ ๊ธฐ์ ์ ์ผ๋ก ์ฒด๊ฐํ๊ฒ ๋ ๊ณ๊ธฐ์์ต๋๋ค.
๐ญ Gemini ๋ชจ๋ ๋ฒค์น๋งํน: TradeNPU_AI์ ๋ณ์
๊ตฌ๊ธ Gemini์ UI๋ฅผ ๋ฒค์น๋งํนํ์ฌ TradeNPU_AI์๋ ๋ชจ๋ ์ ํ ์ธํฐํ์ด์ค๋ฅผ ์ด์ํ์ต๋๋ค.
-
์ผ๋ฐ ๋ํ: ๋ก์ปฌ/MCP ๋๊ตฌ๋ฅผ ์์ ์์ฌ๋ก ์ฐ๋ ๋ชจ๋.
-
๊ตฌ๊ธ ๊ฒ์: ์ค์๊ฐ ์น ์ ๋ณด๋ฅผ ํ์ํ๋ Low-level RAG ๋ชจ๋.
-
ํ์ผ/์ด๋ฏธ์ง ์ธ์: Gemini 2.5์ ๊ฐ๋ ฅํ ๋น์ ๊ธฐ๋ฅ์ ํ์ฉํ ๋ถ์ ๋ชจ๋.
๋น์ฆ๋์ค ์ฑ๊ฒฉ์ ๋์์ ์์ฑ(Veo)์ด๋ ์ด๋ฏธ์ง ์์ฑ(Imagen)์ ๋น์ฅ ๋์ ํ์ง ์์์ง๋ง, ํฅํ ๋ชจ๋ธ ์ค์์นญ ๋ก์ง์ ํตํด ์ธ์ ๋ ํ์ฅ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ์ ๋ผ๋๋ฅผ ์ก์๋์์ต๋๋ค.
๐ ์ค์์นญ์ ๋ฏธํ: Model vs Tool, ๊ทธ๋ฆฌ๊ณ AGI์ ๊ฟ
ํ์ฌ ๊ธฐ์ ๋ ฅ์ผ๋ก ํ๋์ ๋ชจ๋ธ์ด ๋ชจ๋ ๊ฒ์ ์๋ฒฝํ ์ฒ๋ฆฌํ๋ AGI(์ธ๊ณต์ผ๋ฐ์ง๋ฅ)๋ ์์ง ๋จผ ์ด์ผ๊ธฐ์ ๋๋ค. ๋์์์ ๋ง๋ค ๋๋ Veo๊ฐ, ๊ณ ๋์ ์ถ๋ก ์๋ Pro ๋ชจ๋ธ์ด ํ์ํ์ฃ .
-
Agent Orchestration: ๋จ์ผ ๋ชจ๋ธ์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์งํ์๊ฒฉ์ธ Agent๊ฐ ์ํฉ์ ๋ง๋ ๋ชจ๋ธ๊ณผ ๋๊ตฌ๋ฅผ ์ ํํ๋ '์ค์ผ์คํธ๋ ์ด์ '์ด ํ์์ ์ ๋๋ค.
-
์๋์ง์ ๋น์ฉ: ํ์ง๋ง ๋ชจ๋ธ๊ณผ ๋๊ตฌ๋ฅผ ์ค์์นญํ ๋๋ง๋ค ๋ฐ์ํ๋ ์ง์ฐ ์๊ฐ๊ณผ ๋ง๋ํ ์ ๋ ฅ ์๋ชจ๋ ์์ผ๋ก ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํด์ผ ํ ํฐ ์์ ์ ๋๋ค. ์น3์ ๋ธ๋ก์ฒด์ธ, ๊ทธ๋ฆฌ๊ณ ํต์ตํฉ ๋ฐ์ ๊น์ง ์ธ๊ธ๋๋ ์ด์ ๋ฅผ ์ด์ ์ผ ์กฐ๊ธ ์ ๊ฒ ๊ฐ์ต๋๋ค.
โญ ๋ง์น๋ฉฐ: '๋ด ์ง์'์ ์ฒซ ์ถ๊ทผ์ ์ถํํ๋ฉฐ
์ง์ ์ฝ๋๋ฅผ ์ง๋ฉฐ ์ป์ ๊ฐ์ฅ ํฐ ์์ฐ์ AI์ ๋๋ฑํ ์์ค์์ ๋ํํ ์ ์๋ '๊ธฐ์ ์ ์์'์ ๋๋ค. ์ด ํ๋ก์ ํธ๋ฅผ ํตํด ๋ค๋จ๊ณ ์ํฌํ๋ก์ฐ๋ฅผ ์ค์ค๋ก ์ฒ๋ฆฌํ๋ ๋ ๋ ํ AI ์ง์์ ์ป์๊ณ , ์์ผ๋ก ์ด ์ง์์ TradeNPU์ ํต์ฌ ์ธ์ฌ๋ก ๊ฑฐ๋ญ๋ ๊ฒ์ ๋๋ค.
์ฐ๋ง์๋ AI์ ๊ถํฉ์ด ์ข๋ค๋ dApp(ํ์ค์ํ ์ฑ) ๊ฐ๋ฐ์ ๋์ ํด ๋ณด๋ ค ํฉ๋๋ค. '๊พธ์ญ๊พธ์ญ' ๋ง๋๋ ๊ณผ์ ์์ ์์ด๋ ์ง์์ฌ์ฐ์ ํ์ ๋ฏฟ์ผ๋๊น์.
๐ก ์๋ด: ์ด ํฌ์คํ ์ 'AI ๋ด ์ง์ ๋ง๋ค๊ธฐ' ์๋ฆฌ์ฆ์ ๋ง์ง๋ง ํตํฉ๋ณธ์ ๋๋ค. ์ค์ง์ ์ธ ์ ๋ฌด ์ํ์ ์ํ ๋๊ตฌ ์ถ๊ฐ, Gemini ๋ชจ๋ ๋ฒค์น๋งํน, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ธ ์ค์์นญ ์๊ณ ๋ฆฌ์ฆ์ ํตํ ๊ธฐ๋ฅ ๊ณ ๋ํ ๊ณผ์ ์ ์์ธํ ๊ธฐ๋กํ์ต๋๋ค.