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์ ๋ณ๋ชฉ
๋์ ๋ฐฉ์(๊ธฐ๋ณธ)
- ๋ชจ๋ธ์ด tool name + params(JSON) ์์ฑ
- ๋ฐํ์์ด ํจ์/API ์คํ
- ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ธ๋ก ์ฌ์ฃผ์
- ์ต์ข ๋ต๋ณ ์์ฑ
๋ณ๋ชฉ ํฌ์ธํธ
- ๋น๊ฒฐ์ ์ฑ: ๋จ๊ณ๋ง๋ค ํ๋ผ๋ฏธํฐ ์ฌ์์ฑ, ์ถ๋ ฅ ํ๋ค๋ฆผ
- ํ ํฐ ๋ญ๋น: ๋ค์ ๋จ๊ณ์ ๋ถํ์ํ ๋ฉํ๋ฐ์ดํฐ/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_search1๊ฐ - ํ์ ์์ ์๋ง ๊ด๋ จ ํด ์คํค๋ง ๋์ ๋ก๋ฉ
- MCP ์๋ฒ ๋จ์/์ก์ ๋จ์๋ก deferred loading ์ ์ด
์ค๋ฌด ๊ธฐ์ค
- ํด 10๊ฐ ์ด์์ด๋ฉด ์ฐ์ ์ ์ฉ ๊ฒํ
- ํญ์ ํ์ํ ํด๋ง always-visible
- ๋๋จธ์ง๋ ๊ฒ์ ๊ธฐ๋ฐ ์ง์ฐ ๋ก๋ฉ
5) Tool Use Example (์ ๋ ฅ ์์)
๋ณต์ก ์คํค๋ง์์๋ โ์ ํจ JSONโ์ด โ์ ๋ต ์ ๋ ฅโ์ด ์๋๋ค. ๋ ์ง ํฌ๋งท, SLA ๊ท์น, ํ๋ ์๊ด๊ด๊ณ๊ฐ ํ๋ฆฌ๊ธฐ ์ฝ๋ค.
์ ์ฉ ๋ฐฉ์
- ๋๊ตฌ ์ ์์
input_examples๋ฐฐ์ด ์ถ๊ฐ - ์์๋ฅผ ํตํด ํ๋ ์กฐํฉ/ํฌ๋งท/์ฐ์ ์์๋ฅผ ํ์ต์ํค๊ธฐ
์ธ์ ํ์์ธ๊ฐ
- ์ค์ฒฉ JSON์ด ๊น์ ๋๊ตฌ
- optional ํ๋ผ๋ฏธํฐ๊ฐ ๋ง์ ๋๊ตฌ
- ๋๋ฉ์ธ ๊ท์น(ํ์/์ ์ฑ )์ด ์๊ฒฉํ ๋๊ตฌ
6) ClaudeCode ๋ฐ์ ์์ (์คํ์)
- ๊ธฐ์กด ํด์ฝ๋ง ํธ๋ ์ด์ค ์์ง (ํ ํฐ/๋ผ์ด๋ํธ๋ฆฝ/์คํจ์จ)
- code execution ์๋๋ฐ์ค ์ฐ๊ฒฐ
- web fetch dynamic filtering ์ ์ฉ
- tool_search + deferred loading ์ ์ฉ
- ๋ณต์ก ํด์ input_examples ์ฃผ์
- A/B ๋น๊ต ์ธก์ (๊ธฐ์กด vs ์ ๊ท)
7) ๊ฒ์ฆ ์งํ (๋ฐ๋์ ์ซ์๋ก)
- ์์ฒญ๋น ์ด ํ ํฐ
- ํ๊ท ๋ผ์ด๋ํธ๋ฆฝ ํ์
- ๋ณต์ก ํ๋ผ๋ฏธํฐ ์ ํฉ์ฑ ์ฑ๊ณต๋ฅ
- ์ฅ๊ธฐ ํ์คํฌ ์์ฃผ์จ
- ํ๊ท ์๋ต ์๊ฐ
8) ์์ ๊ธฐ์ค ํต์ฌ ํฌ์ธํธ ์์ฝ
- Tool Calling 2.0์ ๋ณธ์ง์ ์คํ ์ ์ด๊ถ์ ๊ฐํํ๋ ๊ฒ
- ์ปจํ ์คํธ ์ต์ ํ๋ ๋น์ฉ ๋ฌธ์ ๊ฐ ์๋๋ผ ์ ํ๋/์์ฃผ์จ ๋ฌธ์
- ๋ณต์ก ์์ด์ ํธ์ผ์๋ก ๋ค ๊ฐ์ง๋ฅผ ๋ฌถ์ด ์ ์ฉํด์ผ ํจ๊ณผ๊ฐ ํผ
- Programmatic Tool Calling
- Dynamic Filtering
- Tool Search (Deferred)
- Tool Use Example
์ฐธ๊ณ
- ์์์: Anthropic killed Tool calling
โป ์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์์ฑ๋์์ต๋๋ค.
