ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toAI/ML
์๋ฌธ ์ฝ๊ธฐ
LLM Statelessness ํด๊ฒฐ์ ์ํ LangChain ๊ธฐ๋ฐ Memory ์ ๋ต ์ค๊ณ
Day 6: Give Your AI a Memory โ Building Chatbots that Actually Remember ๐ง
AI ์์ฝ
Context
LLM์ ๊ธฐ๋ณธ ํน์ฑ์ธ Statelessness๋ก ์ธํ ์ด์ ๋ํ ๋งฅ๋ฝ ๋ง๊ฐ ๋ฌธ์ ๋ฐ์. ๋ชจ๋ ์์ฒญ ์ ์ ์ฒด ์ปจํ ์คํธ๋ฅผ ๋ค์ ์ ๋ฌํด์ผ ํ๋ ๊ตฌ์กฐ์ ํ๊ณ๋ก ์ธํด Context Window ์ด๊ณผ ๋ฐ ํ ํฐ ๋น์ฉ ์ฆ๊ฐ ์ํ ์กด์ฌ.
Technical Solution
- ConversationBufferMemory๋ฅผ ํตํ ์ ์ฒด ๋ํ ์ด๋ ฅ ์ ์ฅ์ผ๋ก ๋จ๊ธฐ ๋ํ์ ์ ํํ ๋ฌธ๋งฅ ์ ์ง
- ConversationSummaryMemory ๋์ ์ผ๋ก LLM์ด ๋ํ ๋ด์ฉ์ ์ค์๊ฐ ์์ฝํ์ฌ Context Window ์ ์ ์จ ์ต์ ํ
- ConversationBufferWindowMemory์ k-๊ฐ ์ค์ ์ ํตํ ์ต์ N๊ฐ ์ํธ์์ฉ ์ ์ง ๋ฐ ์์ธก ๊ฐ๋ฅํ ํ ํฐ ๋น์ฉ ์ ์ด
- ๋ํ ๊ท๋ชจ์ ๋ชฉ์ ์ ๋ฐ๋ฅธ Memory ํ์ ์ ํ์ ํตํด ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ๊ณผ ์๋ต ์ ํ๋ ๊ฐ์ Trade-off ์กฐ์
- LangChain ํ๋ ์์ํฌ ๊ธฐ๋ฐ์ Memory ์ถ์ํ ๊ณ์ธต์ ํตํ ์ํ ๊ด๋ฆฌ ๋ก์ง ๋ถ๋ฆฌ
์ค์ฒ ํฌ์ธํธ
- ๋จ๊ธฐ/์๊ท๋ชจ ๋ํ ์: ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ํด ConversationBufferMemory ๊ฒํ - ์ฅ๊ธฐ/๋๊ท๋ชจ ๋ํ ์: ๋น์ฉ ์ ๊ฐ์ ์ํด ConversationSummaryMemory ์ ์ฉ ๊ณ ๋ ค - ์ต์ ๋งฅ๋ฝ ์ค์ฌ ์๋น์ค ์: Token Cost ์์ธก ๊ฐ๋ฅ์ฑ์ ์ํด ConversationBufferWindowMemory ์ค์ - ์๋น์ค ํน์ฑ์ ๋ง๋ Context Window ๊ด๋ฆฌ ์ ๋ต ์๋ฆฝ ์ฌ๋ถ ํ์ธ