Anthropic์˜ ์ตœ์‹  ํˆด์ฝœ๋ง ์—…๋ฐ์ดํŠธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ, ๊ธฐ์กด ์—์ด์ „ํŠธ ์„ค๊ณ„๋ฅผ ์–ด๋””์„œ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ”์•ผ ํ•˜๋Š”์ง€ ์‹ค๋ฌด ๊ด€์ ์—์„œ ์ •๋ฆฌํ–ˆ๋‹ค. ํ•ต์‹ฌ์€ JSON ํ˜ธ์ถœ ๋ฐ˜๋ณต์—์„œ ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์œผ๋กœ ๋ฌด๊ฒŒ์ค‘์‹ฌ์ด ์ด๋™ํ–ˆ๋‹ค๋Š” ์ ์ด๋‹ค.

ํ•œ ์žฅ์œผ๋กœ ๋ณด๋Š” ๊ตฌ์กฐ ๋ณ€ํ™”

flowchart LR
A[๊ธฐ์กด: Tool Call ๋ฐ˜๋ณต] --> B[LLM์ด ๋งค ๋‹จ๊ณ„ JSON ์ƒ์„ฑ]
B --> C[์„œ๋ฒ„๊ฐ€ ํ•จ์ˆ˜ ์‹คํ–‰]
C --> D[๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ LLM์— ์ž…๋ ฅ]
D --> E[๋ผ์šด๋“œํŠธ๋ฆฝ ์ฆ๊ฐ€ + ํ† ํฐ ๋‚ญ๋น„]

F[์‹ ๊ทœ: Programmatic Tool Calling] --> G[LLM์ด ์ฝ”๋“œ ์ž‘์„ฑ]
G --> H[์ฝ”๋“œ ์‹คํ–‰ ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ํˆด ์—ฐ๊ณ„]
H --> I[๋ฃจํ”„/์กฐ๊ฑด/๋ฐฐ์น˜ ์ฒ˜๋ฆฌ]
I --> J[๋ผ์šด๋“œํŠธ๋ฆฝ ๊ฐ์†Œ + ์ปจํ…์ŠคํŠธ ์ ˆ์•ฝ]

๐Ÿง  ์น ํŒ ์น˜ํŠธ์‹œํŠธ

  • ํ•ต์‹ฌ ์ „ํ™˜: JSON ์ค‘์‹ฌ ํ˜ธ์ถœ โ†’ ์ฝ”๋“œ ์ค‘์‹ฌ ์‹คํ–‰ ์ œ์–ด
  • ๊ธฐ๋Œ€ํšจ๊ณผ: ํ† ํฐ ์ ˆ๊ฐ, ์™„์ฃผ์œจ ๊ฐœ์„ , ํŒŒ์ดํ”„๋ผ์ธ ์•ˆ์ •ํ™”
  • ์„ค๊ณ„์›์น™: ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ์ปจํ…์ŠคํŠธ์— ๋‚จ๊ธด๋‹ค

1) ๊ธฐ์กด Tool Calling์˜ ๋ณ‘๋ชฉ

๋™์ž‘ ๋ฐฉ์‹(๊ธฐ๋ณธ)

  1. ๋ชจ๋ธ์ด tool name + params(JSON) ์ƒ์„ฑ
  2. ๋Ÿฐํƒ€์ž„์ด ํ•จ์ˆ˜/API ์‹คํ–‰
  3. ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ธ๋กœ ์žฌ์ฃผ์ž…
  4. ์ตœ์ข… ๋‹ต๋ณ€ ์ƒ์„ฑ

๋ณ‘๋ชฉ ํฌ์ธํŠธ

  • ๋น„๊ฒฐ์ •์„ฑ: ๋‹จ๊ณ„๋งˆ๋‹ค ํŒŒ๋ผ๋ฏธํ„ฐ ์žฌ์ƒ์„ฑ, ์ถœ๋ ฅ ํ”๋“ค๋ฆผ
  • ํ† ํฐ ๋‚ญ๋น„: ๋‹ค์Œ ๋‹จ๊ณ„์— ๋ถˆํ•„์š”ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ/HTML ๋ˆ„์ 
  • ํ™•์žฅ์„ฑ ํ•œ๊ณ„: ํˆด ์ˆ˜ยท๋‹จ๊ณ„ ์ˆ˜๊ฐ€ ๋Š˜์ˆ˜๋ก ๋ผ์šด๋“œํŠธ๋ฆฝ ํญ์ฆ

2) Programmatic Tool Calling

๊ฐœ๋…

๋ชจ๋ธ์ด ๋‹จ์ผ JSON์„ ์—ฐ์† ์ƒ์„ฑํ•˜๋Š” ๋Œ€์‹ , ์—ฌ๋Ÿฌ ํˆด์„ ์—ฐ๊ฒฐํ•˜๋Š” ์‹คํ–‰ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค. ์ฝ”๋“œ ๋‚ด๋ถ€์—์„œ ๋ฃจํ”„/์กฐ๊ฑด/๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง์ ‘ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์™œ ์ค‘์š”ํ•œ๊ฐ€

  • ์ค‘๊ฐ„ ๋…ธ์ด์ฆˆ๋ฅผ ์ฝ”๋“œ ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  • LLM ์™•๋ณต ํ˜ธ์ถœ ํšŸ์ˆ˜ ๊ฐ์†Œ
  • ํ˜ธ์ถœ ํ๋ฆ„์ด ๋” ๊ฒฐ์ •์ ์ด๊ณ  ์ถ”์  ๊ฐ€๋Šฅ

์ ์šฉ ์ฒดํฌ

  • code execution ์ƒŒ๋“œ๋ฐ•์Šค ๋„์ž…
  • ํˆด๋ณ„ ํ˜ธ์ถœ ๊ถŒํ•œ(allowed_caller) ์„ค์ •
  • ๋Ÿฐํƒ€์ž„์—์„œ code/tool use ์ด๋ฒคํŠธ ํŒŒ์‹ฑ ๊ฒฝ๋กœ ์ถ”๊ฐ€

3) Dynamic Filtering (web fetch)

๋ฌธ์ œ

์›น fetch๊ฐ€ ๊ธด HTML์„ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด ์ปจํ…์ŠคํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ์†Œ๋ชจํ•œ๋‹ค.

ํ•ด๊ฒฐ

์ค‘๊ฐ„ ํ•„ํ„ฐ ๊ณ„์ธต์—์„œ ์ž‘์—… ๋ชฉํ‘œ์™€ ๊ด€๋ จ๋œ ๋ณธ๋ฌธ๋งŒ ์ถ”์ถœํ•ด ์ „๋‹ฌํ•œ๋‹ค.

์‹ค๋ฌด ํšจ๊ณผ

  • ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ์ ˆ๊ฐ
  • ๋…ธ์ด์ฆˆ ๊ฐ์†Œ๋กœ ๋‹ต๋ณ€ ์ •ํ™•๋„ ๊ฐœ์„ 
  • ๋Œ€๊ทœ๋ชจ ๋ฆฌ์„œ์น˜ ํŒŒ์ดํ”„๋ผ์ธ ์•ˆ์ •ํ™”

4) Tool Search + Deferred Loading

๋ฌธ์ œ

์‹œ์ž‘๋ถ€ํ„ฐ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ ํˆด ์Šคํ‚ค๋งˆ๋ฅผ ์ „๋ถ€ ๋„ฃ์œผ๋ฉด ์ปจํ…์ŠคํŠธ๊ฐ€ ๋น„ํšจ์œจ์ ์œผ๋กœ ์†Œ๋ชจ๋œ๋‹ค.

ํ•ด๊ฒฐ

  • ๊ธฐ๋ณธ ๋…ธ์ถœ: tool_search 1๊ฐœ
  • ํ•„์š” ์‹œ์ ์—๋งŒ ๊ด€๋ จ ํˆด ์Šคํ‚ค๋งˆ ๋™์  ๋กœ๋”ฉ
  • MCP ์„œ๋ฒ„ ๋‹จ์œ„/์•ก์…˜ ๋‹จ์œ„๋กœ deferred loading ์ œ์–ด

์‹ค๋ฌด ๊ธฐ์ค€

  • ํˆด 10๊ฐœ ์ด์ƒ์ด๋ฉด ์šฐ์„  ์ ์šฉ ๊ฒ€ํ† 
  • ํ•ญ์ƒ ํ•„์š”ํ•œ ํˆด๋งŒ always-visible
  • ๋‚˜๋จธ์ง€๋Š” ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ์ง€์—ฐ ๋กœ๋”ฉ

5) Tool Use Example (์ž…๋ ฅ ์˜ˆ์‹œ)

๋ณต์žก ์Šคํ‚ค๋งˆ์—์„œ๋Š” โ€œ์œ ํšจ JSONโ€์ด โ€œ์ •๋‹ต ์ž…๋ ฅโ€์ด ์•„๋‹ˆ๋‹ค. ๋‚ ์งœ ํฌ๋งท, SLA ๊ทœ์น™, ํ•„๋“œ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ํ‹€๋ฆฌ๊ธฐ ์‰ฝ๋‹ค.

์ ์šฉ ๋ฐฉ์‹

  • ๋„๊ตฌ ์ •์˜์— input_examples ๋ฐฐ์—ด ์ถ”๊ฐ€
  • ์˜ˆ์‹œ๋ฅผ ํ†ตํ•ด ํ•„๋“œ ์กฐํ•ฉ/ํฌ๋งท/์šฐ์„ ์ˆœ์œ„๋ฅผ ํ•™์Šต์‹œํ‚ค๊ธฐ

์–ธ์ œ ํ•„์ˆ˜์ธ๊ฐ€

  • ์ค‘์ฒฉ JSON์ด ๊นŠ์€ ๋„๊ตฌ
  • optional ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋งŽ์€ ๋„๊ตฌ
  • ๋„๋ฉ”์ธ ๊ทœ์น™(ํ˜•์‹/์ •์ฑ…)์ด ์—„๊ฒฉํ•œ ๋„๊ตฌ

6) ClaudeCode ๋ฐ˜์˜ ์ˆœ์„œ (์‹คํ–‰์•ˆ)

  1. ๊ธฐ์กด ํˆด์ฝœ๋ง ํŠธ๋ ˆ์ด์Šค ์ˆ˜์ง‘ (ํ† ํฐ/๋ผ์šด๋“œํŠธ๋ฆฝ/์‹คํŒจ์œจ)
  2. code execution ์ƒŒ๋“œ๋ฐ•์Šค ์—ฐ๊ฒฐ
  3. web fetch dynamic filtering ์ ์šฉ
  4. tool_search + deferred loading ์ ์šฉ
  5. ๋ณต์žก ํˆด์— input_examples ์ฃผ์ž…
  6. A/B ๋น„๊ต ์ธก์ • (๊ธฐ์กด vs ์‹ ๊ทœ)

7) ๊ฒ€์ฆ ์ง€ํ‘œ (๋ฐ˜๋“œ์‹œ ์ˆซ์ž๋กœ)

  • ์š”์ฒญ๋‹น ์ด ํ† ํฐ
  • ํ‰๊ท  ๋ผ์šด๋“œํŠธ๋ฆฝ ํšŸ์ˆ˜
  • ๋ณต์žก ํŒŒ๋ผ๋ฏธํ„ฐ ์ •ํ•ฉ์„ฑ ์„ฑ๊ณต๋ฅ 
  • ์žฅ๊ธฐ ํƒœ์Šคํฌ ์™„์ฃผ์œจ
  • ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„

8) ์˜์ƒ ๊ธฐ์ค€ ํ•ต์‹ฌ ํฌ์ธํŠธ ์š”์•ฝ

  • Tool Calling 2.0์˜ ๋ณธ์งˆ์€ ์‹คํ–‰ ์ œ์–ด๊ถŒ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ฒƒ
  • ์ปจํ…์ŠคํŠธ ์ตœ์ ํ™”๋Š” ๋น„์šฉ ๋ฌธ์ œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ •ํ™•๋„/์™„์ฃผ์œจ ๋ฌธ์ œ
  • ๋ณต์žก ์—์ด์ „ํŠธ์ผ์ˆ˜๋ก ๋„ค ๊ฐ€์ง€๋ฅผ ๋ฌถ์–ด ์ ์šฉํ•ด์•ผ ํšจ๊ณผ๊ฐ€ ํผ
    • Programmatic Tool Calling
    • Dynamic Filtering
    • Tool Search (Deferred)
    • Tool Use Example

์ฐธ๊ณ 

โ€ป ์ด ๋ฌธ์„œ๋Š” ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.