๐ฏ ์ปจํ ์คํธ ์์ง๋์ด๋ง
WriteยทSelectยทCompressยทIsolate, 6-Layer, Strands ์ ์ฉ
์ปจํ ์คํธ ์์ง๋์ด๋ง
Write ยท Select ยท Compress ยท Isolate ยท 6-Layer ยท Prompt Caching
๋ฌด์์ ๋ฃ๋๋๊ฐ ์ฑ๋ฅ์ ๊ฒฐ์ ํ๋ค
ํ๋กฌํํธ ๊ธฐ๋ฒ์ ๋์ด โ ๋ชจ๋ธ์ ๋ณด์ฌ์ค ์ปจํ ์คํธ๋ฅผ ์ค๊ณํ๋ ์์ง๋์ด๋ง
ํ๋กฌํํธ์์ ์ปจํ ์คํธ๋ก
~2024 โ 2025 โ ๋ฒ์์ ํ์ฅ
ํ๋กฌํํธ์์ ์ปจํ ์คํธ๋ก
์ปจํ ์คํธ์ ์ ์์์ ์์ง๋์ด๋ง์ ๋ฑ์ฅ๊น์ง
"์ด๋ป๊ฒ ์ธ๊น"์์ "๋ฌด์์ ๋ฃ์๊น"๋ก
๋ชจ๋ธ์ด ๋ณด๋ ์ ๋ ฅ ์ ์ฒด๊ฐ ์ปจํ ์คํธ์ ๋๋ค โ ์์ด์ ํธ ์๋์ ํญ์ฆํ๋ฉฐ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ก๊ณ , ๊ทธ๋์ ์์ง๋์ด๋ง์ด ํ์ํด์ก์ต๋๋ค.
- ์ปจํ ์คํธ๋ โ ๋ชจ๋ธ์ด ๋ณด๋ ์ ๋ ฅ ์ ์ฒด
- ์ ์ด๋ ค์ด๊ฐ โ ์์ด์ ํธ์ ๋ฐ๋ณต ์กฐ๋ฆฝยทํญ์ฆ
- ๊ทธ๋์ โ ์ปจํ ์คํธ ์์ง๋์ด๋ง์ ๋ฑ์ฅ (2025)
- ํจ๊ณผ โ ํ์ง๊ณผ ๋น์ฉ์ ์ข์ฐ
ํ๋กฌํํธ ๊ธฐ๋ฒ๋ง์ผ๋ก๋ ํ๊ณ์ ๋๋ค โ ๋ชจ๋ธ์ ๋ฌด์์ ๋ณด์ฌ์ค ๊ฒ์ธ๊ฐ๊ฐ ์๋ก์ด ์ค๊ณ ๋์์ด ๋ฉ๋๋ค.
์ปจํ ์คํธ๋ ๋ฌด์์ธ๊ฐ
์ฌ์ฉ์๊ฐ ๋ณด๋ด๋ ๊ฑด ์ง๋ฌธ ํ ์ค โ ๋ชจ๋ธ์ด ์ค์ ๋ก ๋ณด๋ ํจ์ฌ ํฐ ์ ๋ ฅ ์ ์ฒด
์ปจํ ์คํธ(Context) = ๋ชจ๋ธ์ด ์๋ต์ ๋ง๋ค๊ธฐ ์ง์ ์ ๋ณด๋ ์ ๋ ฅ ์ ์ฒด. ์์คํ ํ๋กฌํํธ, ๋๊ตฌ ์ ์, ๊ฒ์ ๋ฌธ์, ๋ํ ๊ธฐ๋ก, ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ชจ๋ ํฌํจ๋ฉ๋๋ค.
์ฌ์ฉ์๊ฐ ๋ณด๋ ๊ฒ
๋ชจ๋ธ์ด ๋ณด๋ ๊ฒ โ ์ปจํ ์คํธ
์ง๋ฌธ์ ์ ์ฒด ์ ๋ ฅ์ 0.1%๋ ๋์ง ์์ต๋๋ค โ ์๋ต ํ์ง์ ๋๋จธ์ง 99.9%, ์ฆ ์ปจํ ์คํธ์ ํ์ง์ด ๊ฒฐ์ ํฉ๋๋ค.
์ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์์ก๋๊ฐ
๋จ์ผ ๋ํ์์๋ ๋ฌธ์ ์๋ ์ปจํ ์คํธ โ ์์ด์ ํธ ์๋์ ํญ์ฆ๊ณผ ๋งค ํธ์ถ ๋ฌ๋ผ์ง๋ ์ ๋ ฅ
์ฌ๋์ด ์ง์ ์ ๋ ฅํ๋ ๋จ์ผ ๋ํ
๊ธฐ๋ฒ: Few-shot, CoT, Role Prompting โ ์ปจํ ์คํธ ์์ง๋์ด๋ง (2025~)
๋งค ํธ์ถ๋ง๋ค ๋์ ์ผ๋ก ์ปจํ ์คํธ ์กฐ๋ฆฝ
์์ด์ ํธ๊ฐ ์๋ฐฑ ๋ฒ ๋ชจ๋ธ ํธ์ถ โ ๋งค๋ฒ ๋ค๋ฅธ ์ ๋ ฅ
์ปจํ ์คํธ = System Prompt + User Message
์๋ ์ต์ ํ๋ก ์ถฉ๋ถ โ ์์ด์ ํธ: ๋๊ตฌ ๊ฒฐ๊ณผยท๋ฉ๋ชจ๋ฆฌยท๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋งค๋ฒ ํฉ๋ฅ
์ปจํ ์คํธ = 6๊ฐ ๋ ์ด์ด์ ๋์ ์กฐํฉ
์๋ํ๋ ์ ๋ต์ด ํ์
๊ทธ๋์ โ ์ปจํ ์คํธ ์์ง๋์ด๋ง
ํญ์ฆํ๊ณ ๋งค๋ฒ ๋ฌ๋ผ์ง๋ ์ ๋ ฅ โ ์ฌ๋์ด ์๋๋ผ ์์คํ ์ด ๋ด๋นํ๋ ์ค๊ณ
์ปจํ ์คํธ ์์ง๋์ด๋ง(Context Engineering) = ๋ชจ๋ธ์ด ๋ณด๋ ์ ์ฒด ์ ๋ ฅ โ ์์คํ ํ๋กฌํํธ, ๋๊ตฌ ์ ์, ์ฐธ์กฐ ๋ฌธ์, ๋ํ ๊ธฐ๋ก, ๋ฉ๋ชจ๋ฆฌ โ ์ ์์คํ ์ผ๋ก ์ค๊ณํ๋ ๋ถ์ผ์ ๋๋ค. (2025๋ KarpathyยทTobi Lรผtke๊ฐ ๊ณต์ํ)
์ ์ฒด ์๋์ฐ๊ฐ ๋์
ํ๋กฌํํธ ์์ง๋์ด๋ง์ด ์ฌ์ฉ์ ๋ฉ์์ง ํ ์ค์ ์ง์คํ๋ค๋ฉด, ์ปจํ ์คํธ ์์ง๋์ด๋ง์ ์๋์ฐ ์ ์ฒด๋ฅผ ์ค๊ณ.
์์ด์ ํธ ์๋์ ํ์
๋๊ตฌ ๊ฒฐ๊ณผยท๋ฉ๋ชจ๋ฆฌยท๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋งค ํธ์ถ ํฉ๋ฅ โ ์ฌ๋์ด ์๋ ์์คํ ์ด ์ปจํ ์คํธ๋ฅผ ์กฐ๋ฆฝ.
5๋ ์ ๋ต์ผ๋ก ๊ตฌ์ฑ
LangChain 4๋ ์ ๋ต(Write ยท Select ยท Compress ยท Isolate) + ๋ฐฐ์นยทํ์(Optimize Format) โ ๊ฒ์ฆ๋ ์ ๋ต์ ์กฐํฉ์ผ๋ก ์ค๊ณ.
์ปจํ ์คํธ๊ฐ ๊ฒฐ์ ํ๋ ๊ฒ
๊ฐ์ ๋ชจ๋ธ, ๊ฐ์ ํ๋กฌํํธ ๊ธฐ๋ฒ์ด๋ผ๋ โ ์ปจํ ์คํธ ํ์ง์ด ์ต์ข ์ฑ๋ฅ์ ๊ฒฐ์
์ปจํ ์คํธ ์๋์ฐ ๊ตฌ์กฐ
6-Layer Architecture โ ๊ฐ ๋ ์ด์ด๊ฐ ๋ ๋ฆฝ ์ค๊ณ ๋์
์๋์ฐ ๊ตฌ์กฐ
๋ชจ๋ธ์ ๋ค์ด๊ฐ๋ ์ ๋ ฅ์ ํด๋ถ๋ โ ๋ ์ด์ด๋ณ ์ฑ๊ฒฉ๊ณผ ํ ํฐ ์์ฐ
์ ๋ ฅ = 6๊ฐ ๋ ์ด์ด์ ํฉ์ฐ
๋ ์ด์ด๋ง๋ค ์ฑ๊ฒฉ๊ณผ ์ต์ ํ ์ ๋ต์ด ๋ค๋ฆ ๋๋ค โ ๊ฐ๊ฐ์ ๋ ๋ฆฝ ์ค๊ณ ๋์์ผ๋ก ๋ค๋ฃน๋๋ค.
- 6-Layer โ System Prompt๋ถํฐ Optimize Format๊น์ง
- ํ ํฐ ์๋น โ ๋ํ ๊ธฐ๋ก์ด ์ต๋ ์๋น์
- ํ ํฐ ์์ฐ โ ํ์ ๋ ์์์ ๋ฐฐ๋ถ
- ์์น โ ํ์ํ ๊ฒ๋ง, ์ฌ๋ฐ๋ฅธ ์์๋ก
1M ์ปจํ ์คํธ๋ผ๋ ๋ฌดํ์ด ์๋๋๋ค โ ๋ฌด์์ ๋ฃ๊ณ ๋ฌด์์ ๋บ์ง๊ฐ ํต์ฌ ์ค๊ณ ๊ฒฐ์ ์ ๋๋ค.
6-Layer Architecture
๋ชจ๋ธ์ ๋ค์ด๊ฐ๋ ์ ๋ ฅ = 6๊ฐ ๋ ์ด์ด์ ํฉ์ฐ โ ๊ฐ๊ฐ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ต์ ํ
System Prompt
๋ถ๋ณ ์ง์์ด โ ์ญํ , ๊ท์น, ํ์. ๋ชจ๋ ํธ์ถ์ ๊ณ ์ . Prompt Caching ๋์.
RAG Results
๋ฒกํฐ ๊ฒ์ยทํค์๋ ๊ฒ์ ๊ฒฐ๊ณผ. ์ง๋ฌธ๊ณผ ๊ด๋ จ๋ ์ธ๋ถ ์ง์. Select ์ ๋ต์ผ๋ก ํํฐ๋ง.
Tool Results
์์ด์ ํธ๊ฐ ๋๊ตฌ๋ฅผ ํธ์ถํ ๊ฒฐ๊ณผ. API ์๋ต, DB ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ. Compress๋ก ํต์ฌ๋ง ์ถ์ถ.
Memory
์ด์ ๋ํ ์์ฝ, ์ฌ์ฉ์ ์ ํธ๋, ์ํผ์๋ ๊ธฐ์ต. ์ฅ๊ธฐ/๋จ๊ธฐ ๊ตฌ๋ถํ์ฌ Select.
Conversation
ํ์ฌ ์ธ์ ์ ๋ํ ๊ธฐ๋ก. Sliding Window ๋๋ Summarizing์ผ๋ก Compress.
Optimize Format
์ฝํ ์ธ ๋ ์ด์ด๊ฐ ์๋ ๋ฐฐ์น ์์น โ ์ค์ ์ ๋ณด๋ ์๋ค์(Lost in the Middle ๋์).
์์ฒญ ํ ๊ฑด์ ํ ํฐ ์๋น
ํ๋ก๋์ ์์ด์ ํธ์ ์์ฒญ 1๊ฑด์ ๊ตฌ์ฑํ๋ ์๋น์ โ ๋ํ ๊ธฐ๋ก์ด ์ต๋ ์๋น์
| ์๋น์ (๋์ ๋ ์ด์ด) | ํ ํฐ ๊ท๋ชจ (์์) | ํน์ฑ |
|---|---|---|
| System Prompt | ~2K | ๊ณ ์ โ ๋ชจ๋ ํธ์ถ์ ๋์ผ |
| Tool Definitions (System ์์) | ~15K | ๋๊ตฌ 20๊ฐ ๊ธฐ์ค โ ๋ฐฐํฌ ์์๋ง ๋ณ๊ฒฝ |
| RAG Results | ~25K | ๋ฌธ์ 5๊ฐ ๊ธฐ์ค โ ์ง๋ฌธ๋ง๋ค ๊ต์ฒด |
| Tool Results | ~10K | ๋ฃจํ๊ฐ ๋์๋ก ๋์ โ Compress ๋์ |
| Memory | ~10K | ๊ด๋ จ ๊ธฐ์ต๋ง ์ ๋ณํ์ฌ ์ฃผ์ |
| Conversation (๋ํ ๊ธฐ๋ก) | ~50K+ | ํด๋ง๋ค ์ฆ๊ฐ โ ์ต๋ ์๋น์ |
| ์ฌ์ฉ์ ์ ๋ ฅ | ~0.1K | ๋งค๋ฒ ๋ค๋ฆ โ ๊ฐ์ฅ ์์ง๋ง ๊ฐ์ฅ ๋์ |
์ ์์๋ง ๋ํด๋ ์์ฒญ 1๊ฑด์ 110K+ ํ ํฐ โ ๋ฉํฐํด์ด ์์ด๋ฉด ๋ ์ปค์ง๋๋ค. ์์ถ๊ณผ ์ ๋ณ ์์ด๋ ๋น์ฉ์ด ๋ํ ๊ธธ์ด์ ๋น๋กํด ๋์ด๋ฉ๋๋ค.
ํ ํฐ ์์ฐ ๊ด๋ฆฌ
์ปจํ ์คํธ ์๋์ฐ = ํ์ ๋ ์์ โ ๋ฌด์์ ๋ฃ๊ณ ๋ฌด์์ ๋บ์ง๊ฐ ํต์ฌ ์ค๊ณ ๊ฒฐ์
1M ์ปจํ ์คํธ๋ผ๋
๋ฌดํ์ด ์๋
- ํ ํฐ์ด ๋ง์์๋ก ๋น์ฉ ์ ํ ์ฆ๊ฐ
- ์ค๊ฐ์ ๋ฌปํ ์ ๋ณด๋ ํ์ฉ๋ ํ๋ฝ (PART 4์์ ์์ธ)
- ์ถ๋ก ์๊ฐ ์ฆ๊ฐ (KV Cache ๋ฉ๋ชจ๋ฆฌ)
- ๋ถํ์ํ ์ ๋ณด = ๋ ธ์ด์ฆ = ์ ํ๋ ํ๋ฝ
1M ํ ํฐ์ ๋ค ์ฑ์ฐ๋ ๊ฒ์ด ๋ชฉํ๊ฐ ์๋๋๋ค. ๊ด๋ จ ์๋ ์ ๋ณด๋ฅผ ๋ฃ์ผ๋ฉด ์คํ๋ ค ์ฑ๋ฅ์ด ๋จ์ด์ง๋๋ค.
ํ์ํ ๊ฒ๋ง, ์ฌ๋ฐ๋ฅธ ์์๋ก
์ค๊ณ ์์น
- ๊ด๋ จ์ฑ ๋์ ์ ๋ณด๋ง Select
- ํฐ ๊ฒฐ๊ณผ๋ฌผ์ Compressํ์ฌ ํต์ฌ๋ง
- ์ค์ํ ์ ๋ณด๋ ์/๋ค์ ๋ฐฐ์น (Optimize Format)
- ๋ ๋ฆฝ ์คํ ๊ฐ๋ฅํ ์๋ธํ์คํฌ๋ Isolate
์ ์ ํ ํฐ์ผ๋ก ๋์ ์ ํ๋๋ฅผ ๋ฌ์ฑํ๋ ๊ฒ์ด ์ปจํ ์คํธ ์์ง๋์ด๋ง์ ๋ชฉํ์ ๋๋ค.
๋ชฉํ๋ ์๋์ฐ๋ฅผ ์ฑ์ฐ๋ ๊ฒ์ด ์๋๋ผ ์ ์ ํ ํฐ์ผ๋ก ๋์ ์ ํ๋๋ฅผ ๋ด๋ ๊ฒ์ ๋๋ค โ ๊ด๋ จ ์๋ ์ ๋ณด๋ ๋ ธ์ด์ฆ์ ๋๋ค.
5๋ ์ ๋ต
Write ยท Select ยท Compress ยท Isolate ยท Optimize Format
5๋ ์ ๋ต
์ปจํ ์คํธ ์๋์ฐ๋ฅผ ๋ค์ค๋ฆฌ๋ ๋ค์ฏ ๊ฐ์ง ์ ๊ทผ
Write ยท Select ยท Compress ยท Isolate ยท Optimize Format
์๋์ฐ์ ์๋ก ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๊ฒจ๋ฅํ๋ ์ ๋ต๋ค โ ๋จ์ผ ์ ์ฉ์ด ์๋๋ผ ์กฐํฉ์ด ํ๋ก๋์ ํ์ค์ ๋๋ค.
- Write โ ๋ช ์ ์์ฑยท์ธ๋ถ ์ ์ฅ
- Select โ ๊ด๋ จ ์ ๋ณด๋ง ์ ๋ณ
- Compress โ ์์ฝยท์คํ๋ก๋ฉ ์์ถ
- Isolate โ ์๋ธํ์คํฌ ๊ฒฉ๋ฆฌ
- Optimize Format โ ๋ฐฐ์นยทํ์ ์ต์ ํ
์ ๋ต๋ง๋ค ๊ฒจ๋ฅํ๋ ๋ฌธ์ ๊ฐ ๋ค๋ฆ ๋๋ค โ ๊ฐ์ฅ ํฐ ํ ํฐ ์๋น์์ด ์ด๋์ธ๊ฐ๊ฐ ์ ๋ต์ ๋น์ค์ ๊ฒฐ์ ํฉ๋๋ค.
5๋ ์ ๋ต ๋ฒ์ฃผ
์ปจํ ์คํธ ์๋์ฐ์ ์๋ก ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๊ฒจ๋ฅํ๋ ์ ๋ต๋ค
Write
- ๋ชจ๋ธ์ ๋ช ์์ ์ผ๋ก ์ ๋ณด๋ฅผ ์์ฑํ์ฌ ์ฃผ์
- System Prompt, ๊ฐ์ด๋๋ผ์ธ, ๊ท์น ์ ์
- "๋ชจ๋ธ์ด ๋ชจ๋ฅผ ์ ์๋ ๊ฒ"์ ์ง์ ์จ์ค๋ค
Select
- ๊ด๋ จ ์ ๋ณด๋ง ๊ณจ๋ผ์ ์ปจํ ์คํธ์ ํฌํจ
- RAG ๊ฒฐ๊ณผ ํํฐ๋ง, ๊ด๋ จ ๊ธฐ์ต๋ง ์ถ์ถ
- ๋ฌด๊ดํ ์ ๋ณด = ๋ ธ์ด์ฆ โ ์ ํ๋ ํ๋ฝ
Compress
- ๊ธด ์ ๋ณด๋ฅผ ์งง๊ฒ ์์ถํ์ฌ ํ ํฐ ์ ์ฝ
- ์์ฝ ยท ํต์ฌ ์ถ์ถ ยท ๋ํ ๊ธฐ๋ก ์์ถ
- Strands: Summarizing + ContextOffloader
Isolate
- ๋ ๋ฆฝ ์๋ธํ์คํฌ๋ฅผ ๋ถ๋ฆฌํด ์์
- ๋ฉ์ธ ์ปจํ ์คํธ ์ค์ผ ๋ฐฉ์ง
- ์๋ธํ์คํฌ๋ง๋ค ๊นจ๋ํ ์ปจํ ์คํธ
Optimize Format
- ๋ฐฐ์น ์์์ ํ์์ ์ต์ ํ
- ์ค์ ์ ๋ณด๋ ์/๋ค์ โ ๊ทผ๊ฑฐ๋ PART 4
- ๋งํฌ๋ค์ด ๊ตฌ์กฐํ, Checkpoint Injection
๋ค์ฏ ์ ๋ต์ ์กฐํฉํด์ ์๋๋ค โ ๊ฐ ์ ๋ต์ด ๋ค๋ฅธ ๋ ์ด์ด์ ์ ์ฉ๋์ด ํจ๊ณผ๊ฐ ๋์ ๋ฉ๋๋ค.
์๋๋ฆฌ์ค๋ณ 1์ฐจ ์ ๋ต
์ํฌ๋ก๋์ ์ต๋ ํ ํฐ ์๋น์์ด ์ด๋๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์ฐ์ ์ ๋ต
| ์๋๋ฆฌ์ค | 1์ฐจ ์ ๋ต | ์ด์ |
|---|---|---|
| ๊ณ ๊ฐ ์ง์ ์ฑ๋ด (๋ค์ค ์ธ์ ) | Write | ์ธ์ ๊ฐ ์ํ ์ง์์ด ํ์ |
| ๋ฌธ์ Q&A | Select | ๋๋ ๋ฌธ์์์ ๊ด๋ จ ๋ถ๋ถ๋ง |
| ์ฅ๊ธฐ ์คํ ์ฝ๋ฉ ์์ด์ ํธ | Compress | ๋ํ ๋์ ์ผ๋ก ์๋์ฐ ์์ง |
| ๋ฉํฐ ๋๋ฉ์ธ ์ ๋ฌด ์๋ํ | Isolate | ๋๋ฉ์ธ๋ณ ์ ๋ฌธ๊ฐ ๋ถ๋ฆฌ |
| ๋ฐ๋ณต ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ | Optimize Format | ๋์ผ ๊ตฌ์กฐ ๋ฐ๋ณต ์ต์ ํ |
1์ฐจ ์ ๋ต์ ์ ํ ๋ค ๋๋จธ์ง๋ฅผ ์น์ต๋๋ค โ ๋ํ๊ฐ ๊ธธ๋ฉด Compress, ๋ฌธ์๊ฐ ๋ง์ผ๋ฉด Select, ๋๋ฉ์ธ์ด ๋์ผ๋ฉด Isolate ๋น์ค์ ์ฌ๋ฆฝ๋๋ค.
Strands SDK ๊ตฌํ
5๋ ์ ๋ต์ Strands Agents SDK ๊ตฌํ ๋์
Write โ System Prompt
Agent(system_prompt="...")
Skills ํ๋ฌ๊ทธ์ธ์ผ๋ก JIT ์ฃผ์
Select โ Memory
AgentCoreMemorySessionManager
retrieval_config๋ก ํํฐ๋ง
Compress โ Context Manager
context_manager="auto"
Summarizing + ContextOffloader
Isolate โ Subagent
Swarm, Graph
์๋ธ์์ด์ ํธ ์์
Optimize Format โ ๋ฐฐ์น
์ ์ ์ฐ์ ํ๋กฌํํธ ๊ตฌ์กฐ
cachePoint ๋ฐฐ์น (PART 5)
Write๋ system_prompt, Select๋ Memory ๊ฒ์, Compress๋ context_manager, Isolate๋ ์๋ธ์์ด์ ํธ, Optimize Format์ ๋ฐฐ์น ๊ตฌ์กฐ โ ๋ค์ฏ ์ ๋ต ๋ชจ๋ ๋์ ๊ตฌํ์ด ์์ต๋๋ค.
์คํจ ๋ชจ๋์ ์ธก์
Poisoning ยท Distraction ยท Confusion ยท Clash
์คํจ ๋ชจ๋์ ์ธก์
์๋ชป๋ ์ปจํ ์คํธ๊ฐ ๋ง๋๋ 4๊ฐ์ง ์คํจ์ ๊ทธ ์ ๋ ์ธก์ ๋ฒ
Poisoning ยท Distraction ยท Confusion ยท Clash
์ปจํ ์คํธ๊ฐ ์๋ชป๋๋ฉด ๋ชจ๋ธ์ด ์๋ฌด๋ฆฌ ์ข์๋ ์คํจํฉ๋๋ค โ ์ฌ๋ฐ๋ฅธ ์ง๋จ์ด ๋์์ ์ ํ ์กฐ๊ฑด์ ๋๋ค.
- Poisoning โ ์๋ชป๋ ์ ๋ณด์ ์ค์ผ
- Distraction โ ๋ฌด๊ดํ ์ ๋ณด์ ์ฐ๋ง
- Confusion โ ๋ชจ์ ์ ๋ณด์ ํผ๋
- Clash โ ๊ท์น๊ณผ ์ปจํ ์คํธ์ ์ถฉ๋
- ์ธก์ โ ๋น์ฉ๊ณผ ํ์ง์ ๋์ ์ถ์
์คํจ ๋ชจ๋๋ง๋ค ๋์ ์ ๋ต์ด ๋ค๋ฆ ๋๋ค โ ์ฆ์์ ๋ณด๊ณ ์์ธ์ ์ง๋จํด์ผ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์ด๋ฅผ ๊ณ ๋ฅผ ์ ์์ต๋๋ค.
4๋ ์คํจ ๋ชจ๋
์ปจํ ์คํธ๊ฐ ์๋ชป๋๋ฉด ๋ชจ๋ธ์ด ์๋ฌด๋ฆฌ ์ข์๋ ์คํจํ๋ค โ ๋ฐฉ์ดํด์ผ ํ 4๊ฐ์ง
Poisoning (์ค์ผ)
์๋ชป๋ ์ ๋ณด๊ฐ ์ปจํ
์คํธ์ ํฌํจ
๋ชจ๋ธ์ด ํ๋ฆฐ ์ ๋ณด๋ฅผ ์ฌ์ค๋ก ๋ต๋ณ
Distraction (์ฐ๋ง)
๋ฌด๊ดํ ์ ๋ณด๊ฐ attention์ ๋ถ์ฐ
ํต์ฌ์ ๋์น๊ณ ์๋ฑํ ๋ต๋ณ
Confusion (ํผ๋)
๋น์ทํ์ง๋ง ๋ค๋ฅธ ์ ๋ณด๊ฐ ์ถฉ๋
๋ชจ๋ธ์ด ์ด๋ค ๊ฒ์ ๋ฐ๋ฅผ์ง ํผ๋
Clash (์ถฉ๋)
์์คํ
ํ๋กฌํํธ์ ์ปจํ
์คํธ๊ฐ ๋ชจ์
๊ท์น ์๋ฐ ๋๋ ๋ฌด์
๋ท ๋ค ๋ชจ๋ธ์ด ์๋๋ผ ์ปจํ ์คํธ์ ๋ฌธ์ ์ ๋๋ค โ ๋ฌธ์ ํ์ง, ๊ด๋ จ์ฑ ํํฐ, ๋จ์ผ ์์ค, ์ฐ์ ์์ ์ง์ ์ผ๋ก ๊ฐ๊ฐ ๋ฐฉ์ดํฉ๋๋ค.
Lost in the Middle โ ์ค๊ฐ ์ ๋ณด์ ์ค์ข
4๋ ์คํจ ๋ชจ๋์ ๋ณ๊ฐ์ ๊ตฌ์กฐ์ ํ์ โ ๊ธด ์ปจํ ์คํธ ์ค๊ฐ ์ ๋ณด์ attention ์ฝํ (Stanford NLP)
ํ์
๊ตฌ์กฐ์ ํ๊ณ
- ๊ธด ์ปจํ ์คํธ์ ์ค๊ฐ ์ ๋ณด์ attention ์ฝํ
- ์๊ณผ ๋ค์ ์ ๋ณด๋ ์๋์ ์ผ๋ก ์ ํ์ฉ
- ์ปจํ ์คํธ๊ฐ ๊ธธ์๋ก ์ฌํด์ง
- ๋ชจ๋ธ ๊ต์ฒด๋ก ํด๊ฒฐ๋์ง ์๋ ๊ตฌ์กฐ์ ๋ฌธ์
Stanford NLP ์ฐ๊ตฌ์์ ํ์ธ๋ LLM์ ๊ตฌ์กฐ์ ํ๊ณ์ ๋๋ค. ํ๋กฌํํธ๋ฅผ ์ ์จ๋ ๋ฐฐ์น๊ฐ ์๋ชป๋๋ฉด ์ ๋ณด๊ฐ ์ค์ข ๋ฉ๋๋ค.
๋์
Optimize Format
- ์ค์ ์ ๋ณด๋ฅผ ์(System Prompt ์งํ)์ ๋ฐฐ์น
- ๋๋ ๋ค(์ฌ์ฉ์ ์ง๋ฌธ ์ง์ )์ ๋ฐฐ์น
- Checkpoint Injection โ 5 ์ก์ ๋ง๋ค ๋ชฉํ ์ฌํ์ธ ์ฃผ์
- ๊ทผ๋ณธ ๋์์ ์ปจํ ์คํธ๋ฅผ ์งง๊ฒ โ Compress + Select
๋ฐฐ์น ์์๊ฐ ๊ณง ์ ๋ต์ ๋๋ค. ์์ด์ ํธ๊ฐ ๊ธธ๊ฒ ์คํ๋ ์๋ก ๋ชฉํ ์ฌํ์ธ ์ฃผ์ ์ด ๋ฐฉํฅ ์ดํ์ ๋ง์ต๋๋ค.
์ค๊ฐ์ ๋ฃ์ ์ ๋ณด๋ ์๋ ๊ฒ๊ณผ ๊ฐ์์ง ์ ์์ต๋๋ค โ ์ค์ํ ๊ฒ์ ์๋ค๋ก ๋ฐฐ์นํ๊ณ , ๋๋จธ์ง๋ ์ค์ ๋๋ค.
์ธก์ ์งํ
์ปจํ ์คํธ ์์ง๋์ด๋ง์ ํจ๊ณผ๋ฅผ ์ ๋์ ์ผ๋ก ์ธก์ ํ๋ ๋ฐฉ๋ฒ
| ์งํ | ์ธก์ ๋์ | ๊ฐ์ ๋ฐฉํฅ |
|---|---|---|
| Task Completion Rate | ์์ด์ ํธ๊ฐ ํ์คํฌ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ ๋น์จ | ์ปจํ ์คํธ ํ์ง โ โ ์๋ฃ์จ โ |
| Correction Rounds | ์ฌ์ฉ์๊ฐ "์๋, ๊ทธ๊ฒ ์๋๋ผ"๋ฅผ ๋ฐ๋ณตํ๋ ํ์ | ๊ด๋ จ ์ ๋ณด Select โ โ ๊ต์ โ |
| Token Cost per Task | ํ์คํฌ 1๊ฑด ์๋ฃ์ ์๋น๋๋ ํ๊ท ํ ํฐ | Compress โ โ ๋น์ฉ โ |
| Context Hit Rate | ์ฃผ์ ๋ ์ปจํ ์คํธ๊ฐ ์ค์ ๋ต๋ณ์ ์ฌ์ฉ๋ ๋น์จ | Select ์ ๋ฐ๋ โ โ ํํธ์จ โ |
ํ ํฐ์ ์ค์๋๋ฐ ์๋ฃ์จ์ด ๋จ์ด์ง๋ฉด ์๋ฏธ ์๋ ์ต์ ํ์ ๋๋ค โ ๋น์ฉ๊ณผ ํ์ง์ ์์ผ๋ก ์ถ์ ํฉ๋๋ค.
Prompt Caching
๋ฐ๋ณต ์ปจํ ์คํธ ๋น์ฉ 90% ์ ๊ฐ โ ์ปจํ ์คํธ ์ต์ ํ์ ๋ง์ง๋ง ๋จ๊ณ
Prompt Caching
๋ฐ๋ณต ์ปจํ ์คํธ์ ์ฌ๊ณ์ฐ์ ์๋ตํ๋ ๋น์ฉ ์ต์ ํ
๋ฐ๋ณต ์ปจํ ์คํธ๋ ํ ๋ฒ๋ง ๊ณ์ฐ
๊ณ ์ ํ๋ฆฌํฝ์ค๋ฅผ ์บ์์ ์ ์ฅํด ์ฌ๊ณ์ฐ์ ์๋ตํฉ๋๋ค โ ์ปจํ ์คํธ ์ต์ ํ์ ๋ง์ง๋ง ๋จ๊ณ์ ๋๋ค.
- ์๋ฆฌ โ ์ฒซ ํธ์ถ ๊ธฐ๋ก, ์ดํ ์ฐธ์กฐ
- ์์จ โ ์ฝ๊ธฐ 0.1ร ยท ๊ธฐ๋ก 1.25ร
- ๊ตฌ์กฐ โ ์ ์ ์ฐ์ ํ๋กฌํํธ ๋ฐฐ์น
- ์ ์ฉ โ Converse API cachePoint
์์ด์ ํธ๋ ๊ฐ์ ์์คํ ํ๋กฌํํธ๋ฅผ ์๋ฐฑ ๋ฒ ์ฌ์ ์กํฉ๋๋ค โ ์บ์ฑ๋ง์ผ๋ก ๋ฐ๋ณต ๊ตฌ๊ฐ ์ ๋ ฅ ๋น์ฉ์ด 90% ์ค์ด๋ญ๋๋ค.
์บ์ ์์ vs ์์
๋ฐ๋ณต๋๋ ์์คํ ํ๋กฌํํธ์ ๊ณ ์ ๋ฌธ์๋ฅผ ์บ์ โ ๋น์ฉ์ ๊ทน์ ์ผ๋ก ์ ๊ฐ
์บ์ ์์
๋งค๋ฒ ์ ์ฒด ์ ์ก
- ๋ชจ๋ ํธ์ถ์ System Prompt ์ ์ฒด ์ ์ก
- ๊ณ ์ ๋ฌธ์(RAG ๊ฒฐ๊ณผ)๋ ๋งค๋ฒ ํ ํฐ ์๋น
- ์์ด์ ํธ: 100ํ ํธ์ถ ร ์ ์ฒด ๋น์ฉ
- ์ฅ๋ฌธ ์์คํ ํ๋กฌํํธ์ผ์๋ก ๋น์ฉ ํญ์ฆ
์์ด์ ํธ๊ฐ 100๋ฒ ๋ชจ๋ธ์ ํธ์ถํ๋ฉด, System Prompt 4,000 ํ ํฐ ร 100ํ = 40๋ง ํ ํฐ์ ๋์ผ ๋ด์ฉ์ ์๋นํฉ๋๋ค.
์บ์ ์์
์ฒซ ํ๋ง ์ ์ก, ์ดํ 90% ํ ์ธ
- ์ฒซ ํธ์ถ์ ์บ์ ์์ฑ (cache_write ๋น์ฉ)
- ์ดํ ํธ์ถ์ ์บ์ ์ฐธ์กฐ (cache_read = 90% ํ ์ธ)
- ์์ด์ ํธ: 1ํ ์ ์ฒด + 99ํ ์บ์
- TTL ๊ธฐ๋ณธ 5๋ถ (1์๊ฐ์ ์ผ๋ถ ๋ชจ๋ธ ํ์ ) ๋ด ์ฌ์ฌ์ฉ
Claude Prompt Caching: cache_read๋ input ๋๋น 90% ์ ๋ ด. ๋ชจ๋ธ๋ณ ์ต์ ํ ํฐ(Sonnet 4.6=1,024, Sonnet 4.5ยทHaiku 4.5ยทOpus 4.5+=4,096 โ Bedrock ๊ธฐ์ค) ์ด์์ด๋ฉด ์ ์ฉ๋ฉ๋๋ค.
2ํ ์ด์ ํธ์ถํ๋ฉด ์ด๋์ ๋๋ค โ ํธ์ถ ๋น๋๊ฐ ๋์์๋ก ์ ๊ฐ ํญ์ด ์ปค์ง๋๋ค.
์บ์ ์์จ๊ณผ ์ ์ฝ
์บ์๋ ๊ณต์ง๊ฐ ์๋ โ ๊ธฐ๋ก ๋น์ฉยทTTLยท๊ฒฉ๋ฆฌ ๋ฒ์๊น์ง ์์์ผ ์ค๊ณ ๊ฐ๋ฅ
| ํญ๋ชฉ | ๊ฐ | ๋น๊ณ |
|---|---|---|
| ์บ์ ์ฝ๊ธฐ (read) | ์ ๋ ฅ ์์จ์ 0.1ร | ๋ฐ๋ณต ๊ตฌ๊ฐ 90% ์ ๊ฐ |
| ์บ์ ๊ธฐ๋ก (write) | ์ ๋ ฅ ์์จ์ 1.25ร | 5๋ถ TTL ๊ธฐ์ค โ 1์๊ฐ TTL ๊ธฐ๋ก์ 2ร |
| TTL | ๊ธฐ๋ณธ 5๋ถ | ์บ์ ์ ์ค ์ ๋ฌด๋ฃ ๊ฐฑ์ โ 1์๊ฐ TTL์ 4.5 ์ธ๋ + Sonnet 4.6 ยท Opus 4.6 ยท Opus 4.8 ยท Sonnet 5 ยท Opus 5 ์ง์ (๊ธฐ๋ก 2ร) |
| ์ฒดํฌํฌ์ธํธ | ์ต๋ 4๊ฐ | system ยท toolConfig ยท messages ์ด๋๋ ๋ฐฐ์น |
| ์ต์ ํ ํฐ | ๋ชจ๋ธ๋ณ 1,024~4,096 | Sonnet 4.6=1,024 ยท Sonnet 4.5/Haiku 4.5/Opus 4.5+=4,096 (Bedrock ๊ธฐ์ค) |
| ์บ์ ๊ฒฉ๋ฆฌ | Bedrock: AWS ๊ณ์ ๋จ์ | Anthropic API: workspace ๋จ์ โ ์กฐ์ง ๊ฐ ๊ณต์ ์์ |
๊ธฐ๋ก์ 1.25๋ฐฐ ๋น์ธ์ง๋ง ์ฝ๊ธฐ๊ฐ 0.1๋ฐฐ์ ๋๋ค โ ๋ ๋ฒ์งธ ํธ์ถ๋ถํฐ ์ด๋์ด๊ณ , ์ ์ค์ด ์ด์ด์ง๋ ํ TTL์ ๋ฌด๋ฃ๋ก ๊ฐฑ์ ๋ฉ๋๋ค.
์ ์ ์ฐ์ ํ๋กฌํํธ ๊ตฌ์กฐ
๊ณ ์ ๋ ์ด์ด๋ฅผ ์๋จ์ ์์ ์บ์ํ๊ณ , ๊ฐ๋ณ ๋ ์ด์ด๋ง ํ๋จ์์ ๊ต์ฒดํ๋ ๊ตฌ์กฐ
System Prompt (๊ณ ์ )
์ญํ ยท๊ท์นยทํ์ โ ๋ชจ๋ ํธ์ถ์ ๋์ผ โ ํญ์ ์บ์ ๋์
Tool Definitions (๊ณ ์ )
๋๊ตฌ ์คํค๋ง ๋ชฉ๋ก โ ์์ด์ ํธ ์๋ช ๋์ ๋ณํ์ง ์์
Reference Documents (์ค๊ณ ์ )
RAG ๊ฒฐ๊ณผ, ๊ฐ์ด๋ ๋ฌธ์ โ ์ธ์ ๋ด ๊ณ ์ . cachePoint ์ง์
Conversation History (๊ฐ๋ณ)
์ด์ ๋ํ โ ํด๋ง๋ค ์ฆ๊ฐ. ์บ์ ์ด๋ ค์ โ Compress ์ ๋ต ์ ์ฉ
User Message (๊ฐ๋ณ)
ํ์ฌ ์ง๋ฌธ โ ๋งค๋ฒ ๋ค๋ฆ. ์บ์ ๋ถ๊ฐ
Prompt Caching ์ ์ฉ
Bedrock Converse API์์ ์บ์๋ฅผ ํ์ฑํํ๋ ๋ฐฉ๋ฒ
import boto3
bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')
response = bedrock.converse(
modelId='us.anthropic.claude-sonnet-4-6',
system=[
{'text': '๋น์ ์ AWS Solutions Architect์
๋๋ค. ...(๊ธด ์์คํ
ํ๋กฌํํธ)...'},
# โ ์บ์ ์ฒดํฌํฌ์ธํธ โ text์ ๊ฐ์ dict๊ฐ ์๋๋ผ ๋ณ๋ ๋ธ๋ก (๋จ์ผ ๋ฉค๋ฒ ์ ๋์จ)
{'cachePoint': {'type': 'default'}},
],
messages=[
{'role': 'user', 'content': [{'text': '์ง๋ฌธ'}]}
],
)
# โก ์๋ต์ usage์์ ์บ์ ํํธ ํ์ธ
usage = response['usage']
# cacheReadInputTokens > 0์ด๋ฉด ์บ์ ์ ์ค
- cachePoint โ ์ฌ๊ธฐ๊น์ง์ ํ๋ฆฌํฝ์ค๋ฅผ ์บ์ํ๋ผ๋ ํ์. system ยท toolConfig ยท messages.content์ ๋ฐฐ์น, ์ต๋ 4๊ฐ
- ๊ณ ์ ๋ ์ด์ด ๋ฐ๋ก ๋ค์ ์ฝ์ โ ๊ธด ์์คํ ํ๋กฌํํธ ๋์ด ์บ์ ๊ฒฝ๊ณ๊ฐ ๋จ
- usage๋ก ๊ฒ์ฆ โ cacheWriteInputTokens๋ ์ฒซ ํธ์ถ์ ๊ธฐ๋ก๋, cacheReadInputTokens > 0์ด๋ฉด ์ ์ค(90% ํ ์ธ ๊ตฌ๊ฐ)
๋ค์ ๋จ๊ณ: ํ๋ค์ค ์์ง๋์ด๋ง
์ปจํ ์คํธ๋ ๊ฒฐ๊ตญ ํ๋ค์ค์ ์ผ๋ถ โ ๋ชจ๋ธ์ ๊ฐ์ธ๋ ์ ์ฒด ์คํ ํ๊ฒฝ์ ์ค๊ณ
์ปจํ ์คํธ๋ ํ๋ค์ค์ ํ ๋ ์ด์ด
ํ๋กฌํํธ โ ์ปจํ ์คํธ๋ฅผ ๋ง์คํฐํ๋ค๋ฉด, ์ด์ ์ค์ผ์คํธ๋ ์ด์ ยท๋๊ตฌยท๋ฉ๋ชจ๋ฆฌยท๊ฐ๋๋ ์ผยทํ๊ฐ๊น์ง ํฌํจํ๋ ํ๋ค์ค ์์ง๋์ด๋ง์ ๋๋ค.
- ์ค์ผ์คํธ๋ ์ด์
- ๋๊ตฌ
- ๋ฉ๋ชจ๋ฆฌ
- ๊ฐ๋๋ ์ผ
- ํ๊ฐ
- AgentCore
"๋ฌด์์ ๋ณด์ฌ์ค๊น"์ ๋ค์ ์ง๋ฌธ์ "์ด๋ค ํ๊ฒฝ์์ ์คํํ ๊น"์ ๋๋ค โ ๋ชจ๋ธ์ ๊ฐ์ธ๋ ์คํ ํ๊ฒฝ ์ ์ฒด์ ์ค๊ณ๋ก ์ด์ด์ง๋๋ค.
๋ค์์ ๋ชจ๋ธ์ ๊ฐ์ธ๋ ์คํ ํ๊ฒฝ ์ ์ฒด๋ฅผ ์ค๊ณํ๋ ํ๋ค์ค ์์ง๋์ด๋ง.