1 minute read

Meta info.

TL; DR

LLM-based long-term memory๋ฅผ ์œ„ํ•œ ๊ธฐ์–ต ์‹œ์Šคํ…œ A-MEM ์ œ์•ˆ

image.png

image.png

image.png

image.png

image.png

image.png

image.png

A-MEM: Agentic Memory for LLM Agents

  • TL; DR: LLM-based long-term memory๋ฅผ ์œ„ํ•œ ๊ธฐ์–ต ์‹œ์Šคํ…œ A-MEM ์ œ์•ˆ

Problem States

๊ธฐ์กด ์‹œ์Šคํ…œ์ด ๊ธฐ์–ต ์ €์žฅ > ๊ฒ€์ƒ‰์˜ ์ •ํ˜•๋œ ๊ตฌ์กฐ์™€ ๋‹จ์ˆœํ•œ ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณต

  • ์œ ์—ฐ์„ฑ์ด ๋ถ€์กฑํ•ด์„œ ์ƒˆ๋กœ์šด ์ง€์‹์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์—†๊ณ  (workflow๊ฐ€ ๊ณ ์ •๋˜์—ˆ๋‹ค๊ณ  ํ‘œํ˜„ํ•˜๋Š”๋ฐ) ํ™œ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ์žฅ๊ธฐ ์ถ”๋ก  ๋Šฅ๋ ฅ์ด ์—†์–ด์„œ ๊ธฐ์–ต์ด ๋ฐœ์ „๋˜์ง€ ๋ชปํ•จ
  • Research Question: ๊ธฐ์–ต์ด ๋™์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฉด์„œ ๊ตฌ์กฐ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๊ฐ€์ ธ๊ฐˆ ์ˆ˜ ์žˆ์„๊นŒ?

Suggestions

Zettelkasten ๋ฐฉ์‹์˜ ๊ธฐ์–ต ๋™์  ๊ตฌ์„ฑ ๋ฐ ์—ฐ๊ฒฐ > ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ A-MEM ์ œ์•ˆ

  1. ๋…ธํŠธ ์ƒ์„ฑ: ์ƒˆ๋กœ์šด ๊ฒฝํ—˜์„ ๊ตฌ์กฐํ™”๋œ ๋…ธํŠธ๋กœ ์ €์žฅํ•˜๊ณ  ํ‚ค์›Œ๋“œ, ํƒœ๊ทธ, ๋ฌธ๋งฅ ์„ค๋ช…๋“ฑ์„ ์ถ”๊ฐ€
    1. c_iย : ๊ธฐ๋ณธ context. ๋Œ€ํ™” history
    2. t_iย : timestamp. ๊ธฐ์–ต์ด ์ƒ๊ธด ์‹œ์ 
    3. K_iย : keyword. llm์ด ์•Œ์•„์„œ ์ƒ์„ฑ
    4. G_iย : tag. ์ผ์ข…์˜ ๊ธฐ์–ต ๋ถ„๋ฅ˜ ์นดํ…Œ๊ณ ๋ฆฌ (๋งˆ์ฐฌ๊ฐ€์ง€๋กœ llm gen)
    5. X_iย : (์ „๋ฐ˜์ ์ธ) ์ด ๊ธฐ์–ต์˜ ํ•ต์‹ฌ ์š”์•ฝ (๋งˆ์ฐฌ๊ฐ€์ง€๋กœ llm gen)
    6. L_iย : ์—ฐ๊ฒฐ๋œ ๊ธฐ์กด ๊ธฐ์–ต๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” link
  2. ์—ฐ๊ฒฐ(L_i) ์ƒ์„ฑ: ๊ธฐ์กด ๊ธฐ์–ต๊ณผ ์ž๋™์œผ๋กœ ์œ ์˜ํ•œ ์—ฐ๊ฒฐ ์ƒ์„ฑ
    1. user๊ฐ€ ์ƒˆ๋กœ์šด ๊ธฐ์–ต ์ถ”๊ฐ€
    2. A-MEM์€ ๊ธฐ์กด ๊ธฐ์–ต์—์„œ ์ƒˆ ๊ธฐ์–ต๊ณผ ๊ด€๋ จ์žˆ๋Š” ๊ณผ๊ฑฐ ๊ธฐ๋ก์„ ๊ฒ€์ƒ‰
    3. ์œ ์‚ฌํ•œ ๊ธฐ์–ต์„ ์ฐพ์•„ ์ƒˆ๋กœ์šด ๊ธฐ์–ต๊ณผ ์—ฐ๊ฒฐ (L_i, cosine sim., select top-k memory)
    4. (embedding์€ c_i, K_i, G_i, X_i ๋ฅผ concatํ•ด์„œ sbert ํƒœ์›Œ์„œ ์“ด๋‹ค๊ณ )
    5. ์ƒˆ๋กœ์šด ๊ธฐ์–ต์ด ๊ธฐ์กด ๊ธฐ์–ต์—๋„ ์ž๋™์œผ๋กœ ์—ฐ๊ฒฐ
  3. ๊ธฐ์–ต ์ง„ํ™”: ์ƒˆ ๊ธฐ์–ต ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค ๊ธฐ์กด ๊ธฐ์–ต ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ
    1. ์ƒˆ ๊ธฐ์–ต์ด ์ถ”๊ฐ€๋˜๋”๋ผ๋„ย ๊ณผ๊ฑฐ ๊ธฐ์–ต์€ ๋ณ€ํ•˜์ง€ ์•Š์Œ
    2. ๋‹ค๋งŒ ์ƒˆ ๊ธฐ์–ต์ด ์ถ”๊ฐ€๋  ๋•Œ ๊ธฐ์กด ๊ธฐ์–ต์˜ย X_i,ย K_i,ย G_iย ๋งŒ ์—…๋ฐ์ดํŠธ
    3. (b๋ฅผ ์ง„ํ™”๋ผ๊ณ  ํ‘œํ˜„ํ•จ)
  4. ๊ธฐ์–ต ๊ฒ€์ƒ‰: query๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ๊ฐ€์žฅ ๊ด€๋ จ์ด ๋†’์€ ๊ธฐ์–ต ๊ฒ€์ƒ‰

Effects

  • Experiments Setup
    • Datasets:ย LoCoMo (์ตœ๋Œ€ 35-sess ๋Œ€ํ™”, 7.5K๊ทœ๋ชจ)
    • Baselines: LoCoMo, ReadAgent, MemoryBank, MemGPT
  • Results:ย Tab 1,2
    • A-MEM์ด ๋ชจ๋“  ๊ฒฝ์šฐ์—์„œ SOTA
      • ํŠนํžˆ Multi-hop reasoning๊ณผ ์žฅ๊ธฐ๊ธฐ์–ต ์œ ์ง€๋ฅผ ์ž˜ํ•œ๋‹ค๊ณ  (๊ธฐ์กด๋Œ€๋น„ ๋‘๋ฐฐ์ด์ƒ๊นŒ์ง€๋„)
    • ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰ ํšจ์œจ๋„ ์šฐ์ˆ˜
      • LoCoMo/MemGPT: 16,900+ vs. A-MEM: 1,200~2,500 ์ •๋„
    • ablation
      • (๋‹น์—ฐํžˆ) ๊ฒ€์ƒ‰ํ•  ๊ธฐ์–ต์ด ๋Š˜์–ด๋‚˜๋ฉด ์„ฑ๋Šฅ ํ–ฅ์ƒ๋˜๋‹ค๊ฐ€ ์ž„๊ณ„์น˜์— ๋‹ค๋‹ค๋ฅด๊ณ ย Fig 3
      • A-MEM ์“ฐ๋ฉด embedding๋„ ๋” ์ž˜ ๋‚˜์™€์„œ (์ž˜ ๋ชจ์—ฌ์„œ) ๊ฒ€์ƒ‰์—๋„ ์œ ๋ฆฌํ•จย Fig 4,5
      • ํ”„๋กœ์„ธ์Šค์ค‘ ์—ฐ๊ฒฐ๊ณผ ์ง„ํ™”๋ฅผ ์ œ๊ฑฐํ• ๋•Œ ์„ฑ๋Šฅ์„ ๋ด๋„ ์ œ์•ˆ ๋ชจ๋ธ์ด ์œ ์ตํ•˜๋‹ค๋Š” ๊ฒฐ๋ก ย Tab 2

Personal note. nrf ์ œ์•ˆํ–ˆ๋˜ ๋‚ด์šฉ์— ๋”ฑ ๋ถ€ํ•ฉํ•˜๋Š” (์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ์…‹๋„ ์กฐ์‚ฌํ–ˆ๋˜ ๊ฒƒ๊ณผ ๊ฐ™์€) ์—ฐ๊ตฌ์ž…๋‹ˆ๋‹ค. ํ˜•์‹ ์ž์ฒด๋Š” ์—ฌ์ „ํžˆ text๋ฅผ ๋„์ง€๋งŒ ๊ธฐ์–ต์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ๋ณ€ํ•˜๋Š” ๋ถ€๋ถ„๊ณผ ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์„ ๋”ฐ๋กœ ๊ตฌ๋ถ„ํ•ด๋‘” ๊ฒŒ ๊ธฐ์กด ์—ฐ๊ตฌ์™€ ์ฐจ์ด์ ์ด๊ณ , ์‚ญ์ œ ๊ฐœ๋…์ด ๋”ฐ๋กœ ์–ธ๊ธ‰๋˜์ง€๋Š” ์•Š์€ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š”๋ฐ, ์•„๋งˆ hard delete๋Š” link๋•Œ๋ฌธ์— ์•ˆํ•  ๊ฒƒ ๊ฐ™๊ณ , ๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„์ฃผ ๊นŠ์ด ์Œ“์ด๋ฉด ํšจ์œจ ์ธก๋ฉด์—์„œ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.