Sehyeog Kim
← Back to Agentic_AI_Theory

๋ชฉ์ฐจ
- Frontend framework: ์‚ฌ์šฉ์ž๊ฐ€ ๋Œ€ํ™”/์ž‘์—…์„ ์š”์ฒญํ•˜๋Š” UI (part1)
- Agent development framework: ์—์ด์ „ํŠธ ๋กœ์ง(๋ฃจํ”„, ์ƒํƒœ, ๋„๊ตฌ ์—ฐ๊ฒฐ)์„ ๋งŒ๋“œ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ (part1)
- Agent memory: ๋Œ€ํ™”/์„ธ์…˜ ์ƒํƒœ์™€ ์žฅ๊ธฐ ๊ธฐ์–ต ์ €์žฅ (part1)
- Agent tools: ๊ฒ€์ƒ‰, DB, ์‚ฌ๋‚ด API ๋“ฑ โ€œํ–‰๋™โ€์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„๊ตฌ ๋ฌถ์Œ (part1)
- Agent design patterns: ์‹ฑ๊ธ€ ์—์ด์ „ํŠธ vs ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ๋“ฑ ๊ตฌ์กฐ ํŒจํ„ด (part3)
- Agent runtim: ์—์ด์ „ํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹ค์ œ๋กœ ๋Œ์•„๊ฐ€๋Š” ์‹คํ–‰ ํ™˜๊ฒฝ (part3)
- AI models: ์ถ”๋ก /์˜์‚ฌ๊ฒฐ์ • ์—”์ง„(part 3)
- Model runtime: ๋ชจ๋ธ์„ ์„œ๋น™ํ•˜๋Š” ์ธํ”„๋ผ(๊ด€๋ฆฌํ˜• API/์ปจํ…Œ์ด๋„ˆ/GKE ๋“ฑ) (part 3)

๐ŸŽ Agentic AI - tools

Agentic AI๋ฅผ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด,ย ์‚ฌ์šฉ์ž ์˜๋„๋ฅผ ์ดํ•ดํ•˜๊ณ  โ†’ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  โ†’ ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•ด ์‹คํ–‰๊นŒ์ง€ ๋๋‚ด๋Š”ย ์ž์œจ ์‹œ์Šคํ…œ์ด๋‹ค. ๋‹จ์ˆœํžˆ โ€œ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋ธโ€์ด ์•„๋‹ˆ๋ผ,ย ๊ณ„ํš(Planning)ย ๊ณผย ๋„๊ตฌ(Tools)ย ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ์—…๋ฌด๋ฅผ ์™„๋ฃŒํ•˜๋„๋ก ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ฒ˜์ธ ๊ฒƒ์ด๋‹ค.

์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋„๊ตฌ๋ฅผ
1. ์–ด๋–ป๊ฒŒ agent๊ฐ€ tool์„ ์‚ฌ์šฉํ•˜๋Š”์ง€.
2. ์‚ฌ์šฉ์ž๋Š” ์–ด๋–ป๊ฒŒ ๋„๊ตฌ๋ฅผ ์„ธํŒ…ํ•ด์•ผํ•˜๋Š”์ง€.
์ด ๋‘๊ฐ€์ง€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์‚ดํŽด๋ณด์ž.

Claude doc์„ ์ค‘์‹ฌ์œผ๋กœ agentic Ai๋Š” ๋„๊ตฌ๋ฅผ 3๊ฐ€์ง€ ๋ฐฉ์‹์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
1. Built in client tools
2. Built in server tools
3. MCP - server tools.

์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ๋“ค์ด ์กด์žฌํ•˜๋Š” ์ €์žฅ๊ณต๊ฐ„์ด ๋‹ค๋ฅธ ๊ฒƒ์ด์ง€ ์‚ฌ์‹ค ์ „์ฒด์ ์ธ processs๋Š” ๊ณตํ†ต์ ์ด๋‹ค.
1. ๋จผ์ € LLM์ด available tools + prompt(์ฃผ์–ด์ง„ ๋ฌธ์ œ)๋ฅผ ๊ณ ๋ คํ•ด์„œ ์ง€๊ธˆ ์ƒํ™ฉ์— ํ•„์š”ํ•œ tool์„ (ํ‰๊ฐ€)ํ•˜์—ฌ pickํ•œ๋‹ค.
2. ์ดํ›„์— ๊ทธ tool์„ ๊ฐ€์ง€๊ณ  perform์„ ํ•œ ํ›„, ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜์—ฌ response ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
๐ŸŽ Agentic AI - tools

์ถœ์ฒ˜: Tool use with Claude

1. Built-in client tools.


์ด ๋„๊ตฌ๋Š” ๊ฒฐ๊ตญ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“์€ tool์ด๋‹ค. ์ฆ‰, ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋†“์€ ์ฝ”๋“œ์ด๊ฑฐ๋‚˜, ํ˜น์€ AI๊ฐ€ ๋ฏธ๋ฆฌ ์ง  ์ฝ”๋“œ. ๋“ฑ๋“ฑ ๊ทธ์ € agent๊ฐ€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋„๊ตฌ์ด๋‹ค.

Agent๊ฐ€ ์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜

  • Claude(LLM)์ด tool_use ํ˜•ํƒœ๋กœ **โ€œ์ด ํ•จ์ˆ˜ ์ด๋ฆ„ + ์ธ์ž(JSON)โ€**๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
  • ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ทธ ํ˜ธ์ถœ์„ ๋ฐ›์•„ ์‹ค์ œ ์ฝ”๋“œ ์‹คํ–‰ ํ›„, ๊ฒฐ๊ณผ๋ฅผ tool_result๋กœ ๋‹ค์‹œ Claude์—๊ฒŒ ๋„ฃ์–ด์ค€๋‹ค. (์ฆ‰, ์‹คํ–‰ ์ฑ…์ž„์€ ๋‚˜์—๊ฒŒ ์žˆ์Œ)

์‚ฌ์šฉ์ž๋Š” ์–ด๋–ป๊ฒŒ ์„ธํŒ…ํ•˜๋‚˜

  • tools์— **ํˆด ์Šคํ‚ค๋งˆ(์ด๋ฆ„/์„ค๋ช…/์ž…๋ ฅ JSON schema)**๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.
  • โ€œํˆด ์„ค๋ช…์€ ์ตœ์†Œ 3โ€“4๋ฌธ์žฅ ์ด์ƒโ€์œผ๋กœ: ์–ธ์ œ ์“ฐ๋Š”์ง€, ๋ฐ˜ํ™˜ ํ˜•์‹, ์ œ์•ฝ/์ฃผ์˜์‚ฌํ•ญ๊นŒ์ง€ ์ ์–ด์•ผ ํˆด ์„ ํƒ ์ •ํ™•๋„๊ฐ€ ์˜ค๋ฅธ๋‹ค. (์ฝ”๋“œ ๊ฒฝ๋กœ๋ฅผ ์•Œ๋ ค์ฃผ๋ฉด ๋จ).

2. Built-in server tools


Server tools follow a different workflow where Anthropic's servers handle tool execution in a loop:

Agent๊ฐ€ ์–ด๋–ป๊ฒŒ ์“ฐ๋‚˜

  • ํˆด ์‹คํ–‰ ๋ฃจํ”„๋ฅผ Anthropic/openai ์„œ๋ฒ„๊ฐ€ ๊ด€๋ฆฌํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” โ€œ์›น ๊ฒ€์ƒ‰/์›น fetch ๋“ฑโ€์„ ์“ฐ๊ณ  ์‹ถ๋‹ค๊ณ ๋งŒ ์ฃผ๋ฉด, ๋ชจ๋ธ์ด ํ˜ธ์ถœํ•˜๊ณ  ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค์‹œ ๋ชจ๋ธ๋กœ ๋“ค์–ด์˜จ๋‹ค.

์‚ฌ์šฉ์ž๋Š” ์–ด๋–ป๊ฒŒ ์„ธํŒ…ํ•˜๋‚˜

  • API์—์„œ ํ•ด๋‹น server tool์„ โ€œ์‚ฌ์šฉ ๊ฐ€๋Šฅโ€ํ•˜๊ฒŒ ํฌํ•จ์‹œํ‚ค๊ณ (๋ฌธ์„œ์˜ ์š”๊ตฌ ํŒŒ๋ผ๋ฏธํ„ฐ/ํ—ค๋” ํฌํ•จ), ํ”„๋กฌํ”„ํŠธ์— โ€œ๊ฒ€์ƒ‰ํ•ด์ค˜/์ด URL ๋ถ„์„ํ•ด์ค˜โ€ ๊ฐ™์€ ์š”์ฒญ์„ ๋„ฃ๋Š”๋‹ค

์ž ์—ฌ๊ธฐ๊นŒ์ง€ tools์ด ๋‚ด local server์— ์กด์žฌํ•˜๊ณ , ์‹คํ–‰๋„ ๋‚ด local์—์„œ ๋˜๋Š”์ง€, ํ˜น์€ model ์ œ๊ณตํ•˜๋Š” antropic/openai/google server์—์„œ ์‹คํ–‰๋˜๋Š”์ง€์— ๋”ฐ๋ผ์„œ, ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์—ˆ๋‹ค.
์ด๋ฒˆ์—๋Š” ์ „ํ˜€ ๋‹ค๋ฅธ server์—์„œ tool์„ ๊ฐ€์ ธ์™€ ์“ฐ๋Š” MCP server์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

๐ŸŽ Agentic AI - tools

3. MCP server tools.


MCP๋ฅผ ์•ˆ์“ฐ๋Š” agent AI๋Š” ์—†์„ ์ •๋„๋กœ ๊ต‰์žฅํžˆ ์ค‘์š”ํ•˜๋ฏ€๋กœ, ์กฐ๊ธˆ ๊นŠ๊ฒŒ ๋“ค์–ด๊ฐ€ ๋ณด์ž. ์ง€๊ธˆ ์šฐ๋ฆฌ๋Š” ๋„๊ตฌ ์กฐ์ž‘์„ agent๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด๊ณ  ์žˆ๊ณ , ์ง€๊ธˆ๊นŒ์ง€ ์ธ๊ฐ„์ด ์—ญ์‚ฌ์ ์œผ๋กœ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“ค์–ด ๋†“์€ ๋„๊ตฌ๋“ค google cloud, notion, excel, powerpoint and so on. ๋“ฑ์„ ์กฐ์ž‘์„ ํ•˜๋ ค๋ฉด API ํ•จ์ˆ˜๋ฅผ ์ฝ๊ณ , ๊ทธ๊ฑฐ์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ (before MCP์‚ฌ์ง„) ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค.
Architecture overview - Model Context Protocol
๐ŸŽ Agentic AI - tools

ํ•˜์ง€๋งŒ, ์ด์ œ๋Š” MCP๋ผ๋Š” ์•ฝ์†๋œ ํ”„๋กคํ† ์ฝœ์„ ์‚ฌ์šฉํ•จ์œผ๋กœ ์จ, ํŽธ๋ฆฌํ•ด์กŒ๋‹ค.
๋ฟ๋งŒ์•ˆ๋ผ Agent๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” framework๊ฐ€ CLI, IDE โ€ฆ ๋‹ค์–‘ํ•œ๋ฐ, ๊ทธ๊ฑฐ์™€ ์ƒ๊ด€์—†์ด ๋ชจ๋“  framework์—์„œ ๊ณตํ†ต๋œ MCP๋กœ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐ŸŽ Agentic AI - tools

๊ทธ๋ ‡๋‹ค๋ฉด, ์ด์ œ MCP์˜ ์ •ํ™•ํžˆ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๊ณ  ์ž‘๋™ํ•˜๋Š” ์ง€๋ฅผ ์‚ดํŽด๋ณด์ž.

MCP - architecture


๋จผ์ € 3๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ธฐ์–ตํ•˜์ž.
1. MCP hosts - Agent AI ๊ฐ€ ์ž‘๋™ํ•˜๊ณ , ์—ฌ๋Ÿฌ MCP client๋ฅผ manageํ•˜๋Š” ์ฃผ์ฒด.
2. MCP client - ์™ธ๋ถ€ MCP server์™€ MCP host๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ, MCP hosts ๋‚ด๋ถ€์— ์„œ๋ฒ„ํ•˜๋‚˜๋‹น ๋งคํ•‘๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋กœ MCP client์ด๋‹ค.
3. MCP server - MCP client์™€ ์†Œํ†ตํ•˜๋Š” ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์™ธ๋ถ€ program.

๐ŸŽ Agentic AI - tools

์—ฌ๊ธฐ์„œ ํ•ต์‹ฌ์€ MCP client โ†” MCP server์™€์˜ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”์ง€ ์ด๋‹ค.
๊ทธ ์‚ฌ์ด์—๋Š” data, transport layer์ด๋ ‡๊ฒŒ ๋‘๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. (MCP host๋Š” ์‚ฌ์šฉํ•˜๋Š” framework์— ๋”ฐ๋ผ์„œ openai - codex, visual studio code ID, cursor IDE, claude codeโ€ฆ ๋“ฑ ๋‹ค์–‘ํ•˜๋‹ค)

์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•œ, ๊ตฌ์กฐ ๋‘๊ฐ€์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:
- transport layer
- data layer

Transport layer


๐ŸŽ Agentic AI - tools
- stdio : Local ๋‚ด๋ถ€ ํ†ต์‹ ์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋”ฐ๋กœ ํ•„์š”์—†๊ณ , ๊ฐ€์žฅ ๋น ๋ฅด๋ฉฐ ์ธ์ฆ์ด ๋ถˆํ•„์š”ํ•˜๋‹ค.
- HTTP : ์›๊ฒฉ ์„œ๋ฒ„์™€ ํ†ต์‹ ์„ ํ• ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋„คํฌ์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ API key, OAuth๋ฅผ ์ง€์›ํ•˜๋Š” ํŠน์ง•.

DAta layer


๐ŸŽ Agentic AI - tools
์„œ๋กœ client, server ์ธก์—์„œ ์–‘์ธก์— ์ œ๊ณตํ•ด์•ผํ•˜๋Š” ๊ฒƒ๋“ค์ด ๋ฌด์—‡์ผ๊นŒ?
- server๋Š” tool, resource, prompt(LLM์—๊ฒŒ ์ œ๊ณตํ• ) ์„ ๋ณด๋‚ด์•ผํ•˜๊ณ ,
- client๋Š” Notification, sampling์€ (LLM completeion์—ฌ๋ถ€, LLM ์ž์ฒด์˜ reponse)๋ฅผ ๋ณด๋‚ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ data๋“ค์„ primitive๋ผ๊ณ  ์ •์˜ํ•˜๊ณ , ๊ฐ๊ฐ primitivie๋งˆ๋‹ค JSON-RPC ํ˜•์‹์„ ๋”ฐ๋ฅธ๋‹ค.

RPC : ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์— ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋งˆ์น˜ ๋‚ด ์ฝ”๋“œ์•ˆ์— ์žˆ๋Š” ํ•จ์ˆ˜์ฒ˜๋Ÿผ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹. 
JSON-RPC : RPC์ค‘์—์„œ ์ฃผ๊ณ  ๋ฐ›๋Š” ํŒŒ์ผ์ด jsonํ˜•์‹ ํŒŒ์ผ.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ procedure์ด ์ด๋ฃจ์–ด์ง„๋‹ค.

1. Initialization

๋‹จ์ˆœํ•˜๊ฒŒ ์„œ๋กœ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์•„์„œ, ํ†ต์‹ ์ด ์›ํ™œํ•œ์ง€ ํ™•์ธ์„ ํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๊ณผ์ •์ด๋‹ค.
๐ŸŽ Agentic AI - tools

2. Tool Discovery (at the MCP-server)

์‚ฌ์‹ค built in tools์™€ ๋™์ผํ•˜๋‹ค. ํ˜„์žฌ MCP server๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” tools์ด ๋ญ๊ฐ€ ์žˆ๋Š”์ง€ checkํ•˜๋Š” ๊ณผ์ •.
๐ŸŽ Agentic AI - tools

3. Tool exectution

์ด์ œ LLM์—์„œ prompt์™€ available tools๋ฅผ ๊ฐ€์ง€๊ณ , ํ˜„์žฌ ์ƒํ™ฉ์—์„œ ์–ด๋–ค tool์„ ์จ์•ผํ• ์ง€๋ฅผ ์ •ํ–ˆ์„ ๊ฒƒ์ด๊ณ , ๊ทธ๊ฑฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค.
๐ŸŽ Agentic AI - tools

e.g.) Request: ๋‚ ์”จ๊ฐ€ ์–ด๋–ค์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด client โ†’ server ์š”์ฒญ (JSON-RPC 2.0 ํ˜•์‹)

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "tools/call",
  "params": {
    "name": "weather_current",
    "arguments": {
      "location": "San Francisco",
      "units": "imperial"
    }
  }
}

Response: ๋‚ ์”จ๋ฅผ MCP-server tool๋กœ ํ™•์ธํ•˜๊ณ  ๋‹ต๋ณ€ server โ†’ client (JSON-RPC 2.0 ํ˜•์‹)

{
  "jsonrpc": "2.0",
  "id": 3,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Current weather in San Francisco: 68ยฐF, partly cloudy with light winds from the west at 8 mph. Humidity: 65%"
      }
    ]
  }
}

4. Real - time Updates (Notificiation)

๋‹จ์ˆœํ•˜๊ฒŒ ์„œ๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ, (์˜ˆ๋ฅผ๋“ค์–ด์„œ tool์ด ๋” ์ƒ๊ฒผ๊ฑฐ๋‚˜, ์ œ๊ฑฐ๋ฌ๋‹ค๋˜์ง€, resousrces๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค๋˜์ง€) ์ด๋Ÿฐ ๊ฒƒ๋“ค์„ ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋‹จ๊ณ„์ด๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ MCP tool์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ณ , tools execution์—์„œ ์ƒ๋žต๋œ APIํ˜ธ์ถœ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž.
(๊ฐ€์žฅ ์ค‘์š”ํ•จ)

[API request]

๋งˆ๋ฒ•์ฒ˜๋Ÿผ ์˜ค๋Š˜ ๋‚ ์”จ๋ฅผ MCP server โ†’ client๋กœ ์•Œ๋ ค์ฃผ์—ˆ์ง€๋งŒ, ์‚ฌ์‹ค ์„ธ๋ถ€์ ์œผ๋กœ๋Š” APIํ˜ธ์ถœ์˜ ๊ณผ์ •์ด ์ƒ๋žต ๋˜์—ˆ๋‹ค.

#API ๋ž€ application Programming Intefrace
โ†’ ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ๊ทธ๋žจ์ด ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ณต์‹์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค.
๐ŸŽ Agentic AI - tools

์—ฌ๊ธฐ์„œ, ์ด์ œ MCP server๊ฐ€ API์ธ์ฆํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์•„๋ž˜์˜ ํ˜ธ์ถœ์„ ํ•˜๊ฒŒ ๋˜๋ฉด, MCP server๊ฐ€ ์–ป๋Š” ๋‹ต๋ณ€์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
๐ŸŽ Agentic AI - tools

์—ฌ๊ธฐ์„œ ํ˜ธ์ถœ ๋ฐฉ์‹ (๋ฌธ๋ฒ•์€) ๊ฐ application API๋ฌธ์„œ์— ๊ฒŒ์‹œ ๋˜์–ด ์žˆ๊ณ  (์•„๋ž˜๋Š” ๊ธฐ์ƒ์ฒญ API)
๐ŸŽ Agentic AI - tools

API ๋ฌธ์„œ๋Š” ๊ฐ Application๋งˆ๋‹ค ์ „๋ถ€ ๋‹ค์–‘ํ•˜๋‹ค.
๐ŸŽ Agentic AI - tools

์—ฌ๊ธฐ์„œ, ์ค‘์š”ํ•œ ์ ์€ MCP server๊ฐ€ ์ด API๋ฌธ์„œ๋ฅผ ์ฝ์ง€ ์•Š๋Š” ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
(๋งˆ๋ฒ•์ฒ˜๋Ÿผ MCP server๊ฐ€ ์ด๊ฑฐ๋ฅผ ์ฝ๊ณ , ์–ด๋–ค ํ•จ์ˆ˜๋กœ ํ˜ธ์ถœ์„ ํ•˜๊ณ , ์–ป๋Š” ๋‹ต๋ณ€์€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์Šค์Šค๋กœ ํŒ๋‹จํ•˜์ง€ ์•Š๋Š”๋‹ค.)

๋”ฐ๋ผ์„œ, Application์‚ฌ์šฉ์„ ๋„๊ตฌ์ฒ˜๋Ÿผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ API ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ํ•จ์ˆ˜์˜ ํ˜•ํƒœ๋กœ MCP server์— ์ €์žฅํ•ด๋†“์•„์•ผ APIํ˜ธ์ถœ์„ ์ ์ ˆํžˆ ํ•˜์—ฌ, ์›ํ•˜๋Š” ๋‹ต์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

def weather_current(location):
    response = requests.get(
        "https://weather.go.kr/api/current",
        params={"city": location},
        headers={"Authorization": "Bearer SECRET"}
    )
    data = response.json()
    return format_to_mcp(data)

(๊ทธ๋ ‡๋‹ค๋ฉด, ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ API๋ฅผ ์ฝ๊ณ , client โ†” server ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•œ json-rpcํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ๋†“์•˜๊ณ , ๊ทธ๊ฒƒ๋“ค์ด ์—ฌ๋Ÿฌ github or market์— ์กด์žฌํ•˜๋Š” ๊ฒƒ)
์ตœ๊ณ ์˜ MCP ์„œ๋ฒ„ ์ฐพ๊ธฐ | MCP ๋งˆ์ผ“

์ตœ์ข…์ ์œผ๋กœ, weather API โ†” server โ†” client ํ˜ธ์ถœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ง„ํ–‰๋œ๋‹ค.
๐ŸŽ Agentic AI - tools

  1. tool discovery ๋‹จ๊ณ„์—์„œ LLM์€ ํ˜„์žฌ ์ƒํ™ฉ์—์„œ tool์„ ์„ ํƒํ–ˆ๊ณ , ์–ด๋–ป๊ฒŒ outputํ•ด์•ผํ• ์ง€๋ฅผ ์ธ์ง€ํ•˜๊ณ , MCP host์—๊ฒŒ ์ „๋‹ฌ.
  2. MPC host๋Š” ํ•ด๋‹น ๋„๊ตฌ๊ฐ€ ์—ฐ๊ฒฐ๋œ MCP client๋ฅผ pickํ•œ๋‹ค์Œ์—, json - rpc 2.0ํ˜•์‹์— ๋งž๊ฒŒ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•œ๋‹ค.
  3. ์ •๋ณด๋ฅผ ๋ฐ›์€ MCP server๋Š” tool + ์ „๋‹ฌ๋ฐ›์€ ์ •๋ณด โ†’ API ํ˜ธ์ถœ ํ•จ์ˆ˜๋ฅผ command
  4. ์ตœ์ข…์ ์œผ๋กœ ์–ป๊ณ ์žํ•˜๋Š” ์ •๋ณด๋ฅผ API๋กœ๋ถ€ํ„ฐ ๋ฐ›๋Š”๋‹ค. (e.g.) temp : 26
  5. ์ด์ œ ์–ป์€ ์ •๋ณด๋ฅผ ๋‹ค์‹œ MCP client์—๊ฒŒ ์ „๋‹ฌ.(json rpc 2.0ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜)

Concolusion


์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” AGenti๊ฐ€ ๋„๊ตฌ๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด์•˜๊ณ , ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋™์ผํ•œ process๋กœ ์ง„ํ–‰๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.
1. ๋„๊ตฌ ํƒ์ƒ‰ํ›„ ์„ ํƒ
2. ๋„๊ตฌ ์‹คํ–‰
3. ๊ฒฐ๊ณผ ๊ด€์ฐฐ ๋ฐ ์œ ์ € output

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€
1. Built-in client tools
2. Built-in server tools
3. MCP server tools

๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค.

๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์œผ๋กœ๋Š” ํ•ต์‹ฌ์€ ๋‘๊ฐ€์ง€๋‹ค. ์ธ๊ฐ„์ด ๋งŒ๋“ค์–ด ๋†“์€ ๋„๊ตฌ๋“ค์„ agent๊ฐ€ ์“ธ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  protocol์ธ MCP๊ฐ€ ๊ณ„์†ํ•ด์„œ ํ™•์žฅ๋˜์–ด ๋‹ค์–‘ํ•œ tool๋“ค์— agent๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅ ํ•  ๊ฒƒ.
๐ŸŽ Agentic AI - tools
(์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ applications)
๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ๋งŽ์€ tool๋“ค ์ค‘์—์„œ ๋ฌด์—‡์„ ์–ด๋А ํƒ€์ด๋ฐ์— ์“ธ์ง€๋ฅผ agent๊ฐ€ ํŒ๋‹จ์„ ํ•  ์ˆ˜ ๋Š” ์žˆ์ง€๋งŒ, tool์ด ๋งŽ์•„ ์งˆ์ˆ˜๋ก LLM context window์ฆ๊ฐ€๋กœ ๋” ์–ด๋ ค์›Œ์งˆ ์ˆ˜ ๋„ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด์šฉ์ž๊ฐ€ ๊ทธ๊ฒƒ์„ ๋Œ€์‹  ์ž˜ ํŒ๋‹จํ•œ๋‹ค๋ฉด, ๋” productiveํ•œ ์‚ฌ์šฉ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.