본문으둜 κ±΄λ„ˆλ›°κΈ°
-
skycave's Blog
skycave's Blog
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
  • Home
  • Investment
  • IT
    • Data engineering
    • AI
    • Programing
  • Leisure
    • Camping
    • Fishing
  • Travel
    • Domestic
    • Overseas
  • Book
  • Product
  • Hot keyword in google
λ‹«κΈ°

검색

AI

[AI Paper] πŸ“„ Cognitive Architectures for Language Agents (CoALA)

By skycave
2026λ…„ 01μ›” 25일 10 Min Read
0

πŸ“„ Cognitive Architectures for Language Agents (CoALA)

πŸ“‹ 메타 정보

ν•­λͺ© λ‚΄μš©
제λͺ© Cognitive Architectures for Language Agents
μ €μž Theodore R. Sumers*, Shunyu Yao*, Karthik Narasimhan, Thomas L. Griffiths (*동등 κΈ°μ—¬)
μ†Œμ† Princeton University
λ°œν‘œμ²˜ Transactions on Machine Learning Research (TMLR)
λ°œν‘œ 연도 2024λ…„ 2μ›” 22일
arXiv 2309.02427
GitHub awesome-language-agents

🎯 ν•œμ€„ μš”μ•½

인지 κ³Όν•™κ³Ό 기호적 AI의 역사λ₯Ό λ°”νƒ•μœΌλ‘œ, LLM 기반 μ–Έμ–΄ μ—μ΄μ „νŠΈλ₯Ό λ©”λͺ¨λ¦¬, μ•‘μ…˜ 곡간, μ˜μ‚¬κ²°μ • ν”„λ‘œμ„ΈμŠ€μ˜ μ„Έ μΆ•μœΌλ‘œ μ²΄κ³„ν™”ν•œ 톡합 ν”„λ ˆμž„μ›Œν¬λ₯Ό μ œμ•ˆν•˜μ—¬, κΈ°μ‘΄ μ—μ΄μ „νŠΈλ“€μ„ λΆ„λ₯˜ν•˜κ³  μ–Έμ–΄ 기반 λ²”μš© μ§€λŠ₯(Language-based General Intelligence)을 ν–₯ν•œ 미래 λ°œμ „ λ°©ν–₯을 μ œμ‹œν•œλ‹€.


πŸ” 연ꡬ λ°°κ²½ 및 동기

기쑴 문제점

  1. 체계적 ν”„λ ˆμž„μ›Œν¬ λΆ€μž¬: LLM에 μ™ΈλΆ€ λ¦¬μ†ŒμŠ€(인터넷, API λ“±)λ‚˜ λ‚΄λΆ€ μ œμ–΄ 흐름(ν”„λ‘¬ν”„νŠΈ 체이닝)을 κ²°ν•©ν•œ “μ–Έμ–΄ μ—μ΄μ „νŠΈ”듀이 λ“±μž₯ν–ˆμ§€λ§Œ, 이듀을 μ²΄κ³„μ μœΌλ‘œ μ΄ν•΄ν•˜κ³  비ꡐ할 ν”„λ ˆμž„μ›Œν¬κ°€ μ—†μ—ˆμŒ
  2. μš©μ–΄ 및 κ°œλ… 뢈일치: λ‹€μ–‘ν•œ 연ꡬ듀이 μ„œλ‘œ λ‹€λ₯Έ μš©μ–΄μ™€ 접근법을 μ‚¬μš©ν•˜μ—¬ μ—°κ΅¬μž κ°„ μ†Œν†΅μ΄ 어렀움
  3. 섀계 원칙 λΆ€μž¬: μƒˆλ‘œμš΄ μ—μ΄μ „νŠΈλ₯Ό κ°œλ°œν•  λ•Œ μ°Έκ³ ν•  수 μžˆλŠ” 체계적인 섀계 κ°€μ΄λ“œλΌμΈμ΄ μ—†μ—ˆμŒ

인지 μ•„ν‚€ν…μ²˜μ˜ ν•„μš”μ„±

  • 인지 κ³Όν•™ μ—°κ²°: Soar, ACT-R 같은 고전적 인지 μ•„ν‚€ν…μ²˜μ˜ μˆ˜μ‹­ λ…„ 연ꡬ μ„±κ³Όλ₯Ό ν˜„λŒ€ LLM μ—μ΄μ „νŠΈμ— 적용
  • 톡합적 관점: κ°œλ³„ μ—μ΄μ „νŠΈλ“€μ˜ 곡톡점과 차이점을 λͺ…ν™•νžˆ νŒŒμ•…ν•  수 μžˆλŠ” 렌즈 제곡
  • Production System μž¬ν•΄μ„: LLM을 “ν™•λ₯ μ  생성 μ‹œμŠ€ν…œ(Probabilistic Production System)”으둜 μœ„μΉ˜μ‹œμΌœ κ³ μ „ AI와 μ—°κ²°
  • 미래 λ°©ν–₯ μ œμ‹œ: μ–Έμ–΄ 기반 λ²”μš© μ§€λŠ₯(Language-based General Intelligence)을 ν–₯ν•œ λ‘œλ“œλ§΅ 수립

πŸ’‘ 핡심 아이디어

LLM을 “ν™•λ₯ μ  생성 μ‹œμŠ€ν…œ(Probabilistic Production System)”으둜 바라보기

CoALAλŠ” LLM을 고전적 생성 μ‹œμŠ€ν…œ(Production System)의 ν˜„λŒ€μ  ν™•μž₯으둜 ν•΄μ„ν•œλ‹€:

고전적 생성 μ‹œμŠ€ν…œ: IF condition THEN action (κ·œμΉ™ 기반 λ¬Έμžμ—΄ μ‘°μž‘)
                     ↓
LLM 기반 μ‹œμŠ€ν…œ: λ¬Έμžμ—΄ 완성에 λŒ€ν•œ ν™•λ₯  뢄포 μ •μ˜ (ν•™μŠ΅λœ νŒ¨ν„΄ 기반)

Cognitive Architecture ν”„λ ˆμž„μ›Œν¬: μ„Έ κ°€μ§€ 핡심 차원

CoALAλŠ” μ–Έμ–΄ μ—μ΄μ „νŠΈλ₯Ό μ„Έ κ°€μ§€ μ°¨μ›μœΌλ‘œ μ‘°μ§ν™”ν•œλ‹€:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    CoALA Framework                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚     Memory      β”‚   Action Space  β”‚    Decision Making      β”‚
β”‚  (정보 μ €μž₯)    β”‚   (행동 곡간)    β”‚      (μ˜μ‚¬κ²°μ •)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ β€’ Working       β”‚ β€’ Internal      β”‚ β€’ Planning Stage        β”‚
β”‚ β€’ Episodic      β”‚   - Reasoning   β”‚   (μΆ”λ‘ /κ²€μƒ‰μœΌλ‘œ 평가)  β”‚
β”‚ β€’ Semantic      β”‚   - Retrieval   β”‚ β€’ Execution Stage       β”‚
β”‚ β€’ Procedural    β”‚   - Learning    β”‚   (μ„ νƒλœ 행동 μ‹€ν–‰)    β”‚
β”‚                 β”‚ β€’ External      β”‚                         β”‚
β”‚                 β”‚   - Grounding   β”‚                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

핡심 섀계 원칙

  1. λͺ¨λ“ˆν™”: 각 ꡬ성 μš”μ†Œκ°€ λ…λ¦½μ μœΌλ‘œ 섀계/κ°œμ„  κ°€λŠ₯
  2. μœ μ—°μ„±: LLM이 κΈ°μ‘΄ hand-coded rule을 λŒ€μ²΄ν•˜μ—¬ μœ μ—°ν•œ μΆ”λ‘  제곡
  3. ν…μŠ€νŠΈ 쀑심: ν…μŠ€νŠΈλ₯Ό μ‚¬μ‹€μƒμ˜ λ‚΄λΆ€ ν‘œν˜„(de facto representation)으둜 μ‚¬μš©
  4. μˆœν™˜ ꡬ쑰: 지속적인 인지-행동 루프λ₯Ό ν†΅ν•œ 적응적 λ™μž‘

πŸ—οΈ ν”„λ ˆμž„μ›Œν¬ ꡬ쑰

1. λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ (Memory System)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Memory System                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚              Working Memory (μž‘μ—… λ©”λͺ¨λ¦¬)              β”‚   β”‚
β”‚  β”‚  - ν˜„μž¬ μ˜μ‚¬κ²°μ • μ£ΌκΈ°λ₯Ό μœ„ν•œ ν™œμ„± 정보                    β”‚   β”‚
β”‚  β”‚  - 지각 μž…λ ₯, ν™œμ„± 지식, ν˜„μž¬ λͺ©ν‘œ                       β”‚   β”‚
β”‚  β”‚  - LLM, μž₯κΈ° λ©”λͺ¨λ¦¬, ν™˜κ²½ κ°„ 쀑앙 ν—ˆλΈŒ μ—­ν•                β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚                                                              β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚            Long-term Memory (μž₯κΈ° λ©”λͺ¨λ¦¬)              β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚  Episodic Memory (일화 κΈ°μ–΅)                          β”‚   β”‚
β”‚  β”‚  - κ³Όκ±° κ²½ν—˜/이벀트 기둝                               β”‚   β”‚
β”‚  β”‚  - 예: "μ§€λ‚œλ²ˆ ν•΄κ²°μ±… Xλ₯Ό μ‹œλ„ν–ˆμ„ λ•Œ 무슨 일이?"         β”‚   β”‚
β”‚  β”‚  - 검색: recency + importance + relevance 점수 μ‘°ν•©   β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚  Semantic Memory (의미 κΈ°μ–΅)                          β”‚   β”‚
β”‚  β”‚  - 세계에 λŒ€ν•œ 사싀적/μΌλ°˜ν™”λœ 지식                     β”‚   β”‚
β”‚  β”‚  - κ΅¬ν˜„: 지식 베이슀, 상징적 AI, 벑터 μž„λ² λ”©            β”‚   β”‚
β”‚  β”‚  - 예: "μƒˆλŠ” λ‚  수 μžˆμ§€λ§Œ νƒ€μ‘°λŠ” μ˜ˆμ™Έ"                   β”‚   β”‚
β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚
β”‚  β”‚  Procedural Memory (절차 κΈ°μ–΅)                        β”‚   β”‚
β”‚  β”‚  - μž‘μ—… μˆ˜ν–‰ 방법 (μ½”λ“œ, LLM νŒŒλΌλ―Έν„°, ν”„λ‘¬ν”„νŠΈμ— λ‚΄μž₯)  β”‚   β”‚
β”‚  β”‚  - μ—μ΄μ „νŠΈμ˜ μ‹€μ œ λ™μž‘ 방식을 κ·œμ •                     β”‚   β”‚
β”‚  β”‚  - 예: Voyager의 μ½”λ“œ 기반 μŠ€ν‚¬ 라이브러리              β”‚   β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

λ©”λͺ¨λ¦¬ μœ ν˜•λ³„ 상세

λ©”λͺ¨λ¦¬ μœ ν˜• μ—­ν•  κ΅¬ν˜„ 방법 μ˜ˆμ‹œ
Working ν˜„μž¬ μ»¨ν…μŠ€νŠΈ μœ μ§€ LLM μ»¨ν…μŠ€νŠΈ μœˆλ„μš° 졜근 λŒ€ν™”, λΆ€λΆ„ μ†”λ£¨μ…˜
Episodic κ³Όκ±° κ²½ν—˜ μ €μž₯ 벑터 DB + μ‹œκ°„ 정보 Generative Agents의 이벀트 κΈ°μ–΅
Semantic 사싀 지식 μ €μž₯ 지식 κ·Έλž˜ν”„, 벑터 μž„λ² λ”© 도메인 지식, κ·œμΉ™
Procedural μ‹€ν–‰ 방법 μ €μž₯ μ½”λ“œ, ν”„λ‘¬ν”„νŠΈ, λͺ¨λΈ κ°€μ€‘μΉ˜ Voyager의 μŠ€ν‚¬ 라이브러리

2. 행동 곡간 (Action Space)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      Action Space                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚   Internal Actions     β”‚      External Actions               β”‚
β”‚   (λ‚΄λΆ€ 행동)           β”‚      (μ™ΈλΆ€ 행동 - Grounding)         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                        β”‚                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚   Reasoning      β”‚  β”‚  β”‚  Physical Environment      β”‚    β”‚
β”‚  β”‚   (μΆ”λ‘ )          β”‚  β”‚  β”‚  - λ‘œλ΄‡ μ œμ–΄, 물리적 μƒν˜Έμž‘μš©  β”‚    β”‚
β”‚  β”‚   - LLM으둜 μž‘μ—…  β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”‚     λ©”λͺ¨λ¦¬ κ°±μ‹    β”‚  β”‚                                     β”‚
β”‚  β”‚   - μƒˆ 지식/휴리  β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚     μŠ€ν‹± 생성     β”‚  β”‚  β”‚  Digital Environment       β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚  β”‚  - API 호좜, μ›Ή λΈŒλΌμš°μ§•     β”‚    β”‚
β”‚                        β”‚  β”‚  - μ½”λ“œ μ‹€ν–‰, 파일 μ‘°μž‘      β”‚    β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β”‚   Retrieval      β”‚  β”‚                                     β”‚
β”‚  β”‚   (검색)          β”‚  β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚   - μž₯κΈ° λ©”λͺ¨λ¦¬   β”‚  β”‚  β”‚  Communicative             β”‚    β”‚
β”‚  β”‚     μ—μ„œ 읽기     β”‚  β”‚  β”‚  - μ‚¬μš©μž/λ‹€λ₯Έ μ—μ΄μ „νŠΈμ™€    β”‚    β”‚
β”‚  β”‚   - Rule/Sparse/ β”‚  β”‚  β”‚    λŒ€ν™”                     β”‚    β”‚
β”‚  β”‚     Dense 검색   β”‚  β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚                                     β”‚
β”‚                        β”‚                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚                                     β”‚
β”‚  β”‚   Learning       β”‚  β”‚                                     β”‚
β”‚  β”‚   (ν•™μŠ΅)          β”‚  β”‚                                     β”‚
β”‚  β”‚   - μž₯κΈ° λ©”λͺ¨λ¦¬   β”‚  β”‚                                     β”‚
β”‚  β”‚     에 μ“°κΈ°       β”‚  β”‚                                     β”‚
β”‚  β”‚   - κ²½ν—˜/지식/    β”‚  β”‚                                     β”‚
β”‚  β”‚     μŠ€ν‚¬ μ €μž₯     β”‚  β”‚                                     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚                                     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

λ‚΄λΆ€ 행동 (Internal Actions) 상세

행동 μœ ν˜• μ„€λͺ… λ©”λͺ¨λ¦¬ μ ‘κ·Ό κ΅¬ν˜„ μ˜ˆμ‹œ
Reasoning LLM으둜 μž‘μ—… λ©”λͺ¨λ¦¬ μ—…λ°μ΄νŠΈ, μƒˆ 지식/νœ΄λ¦¬μŠ€ν‹± 생성 Write to Working Chain-of-Thought, 상황 뢄석
Retrieval μž₯κΈ° λ©”λͺ¨λ¦¬μ—μ„œ μž‘μ—… λ©”λͺ¨λ¦¬λ‘œ 정보 읽기 Read from Long-term Dense/Sparse/Rule 기반 검색
Learning κ²½ν—˜/지식/μŠ€ν‚¬μ„ μž₯κΈ° λ©”λͺ¨λ¦¬μ— 기둝 Write to Long-term μ—ν”Όμ†Œλ“œ μ €μž₯, μŠ€ν‚¬ 라이브러리 μ—…λ°μ΄νŠΈ

3. μ˜μ‚¬κ²°μ • ν”„λ‘œμ„ΈμŠ€ (Decision Making)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    Decision Cycle                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                         β”‚
β”‚    β”‚  Perception  β”‚ <- ν™˜κ²½μœΌλ‘œλΆ€ν„° μž…λ ₯                       β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜                                         β”‚
β”‚           ↓                                                  β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚    β”‚           PLANNING STAGE                      β”‚         β”‚
β”‚    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚         β”‚
β”‚    β”‚  β”‚  1. Reasoning (μΆ”λ‘ )                     β”‚ β”‚         β”‚
β”‚    β”‚  β”‚     - 상황 뢄석                          β”‚ β”‚         β”‚
β”‚    β”‚  β”‚     - 행동 후보 생성 (Propose)           β”‚ β”‚         β”‚
β”‚    β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚         β”‚
β”‚    β”‚  β”‚  2. Retrieval (검색)                    β”‚ β”‚         β”‚
β”‚    β”‚  β”‚     - κ΄€λ ¨ κ²½ν—˜/지식/절차 검색           β”‚ β”‚         β”‚
β”‚    β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚         β”‚
β”‚    β”‚  β”‚  3. Evaluation & Selection (평가/선택)  β”‚ β”‚         β”‚
β”‚    β”‚  β”‚     - 행동 후보 평가 (Evaluate)          β”‚ β”‚         β”‚
β”‚    β”‚  β”‚     - 졜적 행동 선택 (Select)            β”‚ β”‚         β”‚
β”‚    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚         β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                       ↓                                      β”‚
β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”‚
β”‚    β”‚           EXECUTION STAGE                     β”‚         β”‚
β”‚    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚         β”‚
β”‚    β”‚  β”‚  Learning Action  β”‚  Grounding Action   β”‚ β”‚         β”‚
β”‚    β”‚  β”‚  (μž₯κΈ° λ©”λͺ¨λ¦¬ κ°±μ‹ ) β”‚  (μ™ΈλΆ€ ν™˜κ²½ μƒν˜Έμž‘μš©) β”‚ β”‚         β”‚
β”‚    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚         β”‚
β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β”‚                       ↓                                      β”‚
β”‚              [λ‹€μŒ 주기둜 반볡]                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

μ˜μ‚¬κ²°μ • μ£ΌκΈ° μ˜μ‚¬μ½”λ“œ

class CoALAAgent:
    def __init__(self):
        self.working_memory = WorkingMemory()
        self.episodic_memory = EpisodicMemory()
        self.semantic_memory = SemanticMemory()
        self.procedural_memory = ProceduralMemory()
        self.llm = LanguageModel()

    def decision_cycle(self):
        """메인 μ˜μ‚¬κ²°μ • 루프 - μ§€μ†μ μœΌλ‘œ μ‹€ν–‰"""
        while True:
            # 1. 지각 μž…λ ₯ μˆ˜μ‹ 
            perception = self.receive_perception()
            self.working_memory.update(perception)

            # 2. Planning Stage (κ³„νš 단계)
            action = self.planning_stage()

            # 3. Execution Stage (μ‹€ν–‰ 단계)
            self.execution_stage(action)

    def planning_stage(self):
        """κ³„νš 단계: μΆ”λ‘ κ³Ό 검색을 λ°˜λ³΅ν•˜λ©° 행동 선택"""
        while not action_selected:
            # Reasoning: LLM으둜 상황 뢄석 및 후보 생성
            analysis = self.reasoning_action(self.working_memory)

            # Retrieval: κ΄€λ ¨ 정보 μž₯κΈ° λ©”λͺ¨λ¦¬μ—μ„œ 검색
            relevant_info = self.retrieval_action(analysis)
            self.working_memory.update(relevant_info)

            # 행동 후보 μ œμ•ˆ 및 평가/선택
            candidates = self.propose_actions(self.working_memory)
            action = self.evaluate_and_select(candidates)

        return action  # Learning λ˜λŠ” Grounding 행동

    def execution_stage(self, action):
        """μ‹€ν–‰ 단계: μ„ νƒλœ 행동 μ‹€ν–‰"""
        if action.type == "learning":
            self.update_long_term_memory(action)
        elif action.type == "grounding":
            result = self.execute_external_action(action)
            self.working_memory.update(result)

πŸ“Š μ—μ΄μ „νŠΈ λΆ„λ₯˜

CoALA ν”„λ ˆμž„μ›Œν¬λ‘œ λΆ„μ„ν•œ κΈ°μ‘΄ μ—μ΄μ „νŠΈλ“€

CoALAλŠ” μ‹€ν—˜ 논문이 μ•„λ‹Œ ν”„λ ˆμž„μ›Œν¬/μ„œλ² μ΄ λ…Όλ¬ΈμœΌλ‘œ, κΈ°μ‘΄ μ—μ΄μ „νŠΈλ“€μ„ μ²΄κ³„μ μœΌλ‘œ λΆ„λ₯˜ν•˜κ³  λΆ„μ„ν•œλ‹€:

μ—μ΄μ „νŠΈ Working Memory Long-term Memory μ£Όμš” Action νŠΉμ§•
ReAct LLM μ»¨ν…μŠ€νŠΈ μ œν•œμ  Reasoning + Grounding Thought-Action 인터리빙
Toolformer LLM μ»¨ν…μŠ€νŠΈ – Grounding (API 호좜) μ™ΈλΆ€ 도ꡬ μ‚¬μš© λŠ₯λ ₯ ν™•μž₯
AutoGPT/BabyAGI 벑터 μŠ€ν† μ–΄ Task List + Results λ³΅μž‘ν•œ νƒœμŠ€ν¬ 루프 자율 μ—μ΄μ „νŠΈ κ°œλ… 증λͺ…
Voyager LLM μ»¨ν…μŠ€νŠΈ Procedural (μŠ€ν‚¬ 라이브러리) + Procedural Learning μ½”λ“œ 기반 μŠ€ν‚¬ ν•™μŠ΅
Generative Agents LLM μ»¨ν…μŠ€νŠΈ Episodic + Semantic 4κ°€μ§€ λͺ¨λ‘ κ°€μž₯ μ™„μ „ν•œ λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ
Tree of Thoughts LLM μ»¨ν…μŠ€νŠΈ – 반볡적 μΆ”λ‘  트리 ꡬ쑰 μ˜μ‚¬κ²°μ •
Reflexion LLM μ»¨ν…μŠ€νŠΈ Episodic + Semantic + Learning 자기 μ„±μ°° 및 적응

μ—μ΄μ „νŠΈλ³„ CoALA 관점 심측 뢄석

ReAct

  • Memory: Working memory만 μ‚¬μš© (LLM μ»¨ν…μŠ€νŠΈ μœˆλ„μš°)
  • Actions: μ™ΈλΆ€ 도ꡬ(μ›Ή 검색, lookup) + LLM 기반 μΆ”λ‘ 
  • Decision: Thought-Action μΈν„°λ¦¬λΉ™μœΌλ‘œ μΆ”λ‘ κ³Ό ν–‰λ™μ˜ μ‹œλ„ˆμ§€
  • ν•œκ³„: μž₯κΈ° κΈ°μ–΅ λΆ€μž¬λ‘œ κ²½ν—˜ 좕적 λΆˆκ°€

Voyager

  • Memory: Procedural memory (μ½”λ“œ 기반 μŠ€ν‚¬ 라이브러리) μΆ”κ°€
  • Actions: Dense retrieval둜 μŠ€ν‚¬ 검색 + Minecraft ν™˜κ²½ μƒν˜Έμž‘μš©
  • Learning: μƒˆλ‘œμš΄ μŠ€ν‚¬μ„ procedural memory에 μ €μž₯
  • νŠΉμ§•: CoALAμ—μ„œ κ°•μ‘°ν•˜λŠ” 절차적 ν•™μŠ΅μ˜ κ³ κΈ‰ 사둀

Generative Agents

  • Memory: Episodic + Semantic memory λͺ¨λ‘ ν™œμš©
  • Retrieval: Recency(κ·œμΉ™ 기반) + Importance(μΆ”λ‘  기반) + Relevance(μž„λ² λ”© 기반) 점수 μ‘°ν•©
  • Learning: Episodic 좔둠을 톡해 Semantic 지식 생성 (κ²½ν—˜ -> μΌλ°˜ν™”)
  • νŠΉμ§•: κ°€μž₯ μ™„μ „ν•œ ν˜•νƒœμ˜ CoALA λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ κ΅¬ν˜„

Action Space vs Decision Complexity νŠΈλ ˆμ΄λ“œμ˜€ν”„

Action Space λ³΅μž‘λ„ ↑  ───►  Decision Procedure λ³΅μž‘λ„ ↑
        β”‚                           β”‚
        β”‚                           β”‚
   Voyager,                    더 λ§Žμ€ hand-craft
   Generative Agents           μ»€μŠ€ν„°λ§ˆμ΄μ§• ν•„μš”

핡심 톡찰: 더 λŠ₯λ ₯μžˆλŠ” μ—μ΄μ „νŠΈ(Voyager, Generative Agents)λŠ” 더 큰 행동 곡간을 λ³΄μœ ν•˜μ§€λ§Œ, μ΄λŠ” 더 λ³΅μž‘ν•œ μ˜μ‚¬κ²°μ • 문제λ₯Ό μ•ΌκΈ°ν•˜μ—¬ 더 λ§žμΆ€ν™”λœ μ˜μ‚¬κ²°μ • μ ˆμ°¨κ°€ ν•„μš”ν•˜λ‹€.


πŸ’ͺ 강점 및 κΈ°μ—¬

1. 이둠적 κΈ°μ—¬

  • 톡합 ν”„λ ˆμž„μ›Œν¬: μ‚°λ°œμ μ΄λ˜ μ–Έμ–΄ μ—μ΄μ „νŠΈ 연ꡬλ₯Ό 체계화
  • ν‘œμ€€ μš©μ–΄ 정립: μ—°κ΅¬μž κ°„ μ†Œν†΅μ„ μœ„ν•œ 곡톡 μ–΄νœ˜ 제곡
  • 역사적 μ—°κ²°: 고전적 인지 μ•„ν‚€ν…μ²˜(Soar, ACT-R)와 ν˜„λŒ€ LLM의 가ꡐ μ—­ν• 
  • 이둠적 기반: LLM을 “ν™•λ₯ μ  생성 μ‹œμŠ€ν…œ”으둜 μœ„μΉ˜μ‹œμΌœ 학문적 λ§₯락 제곡

2. μ‹€μš©μ  κΈ°μ—¬

  • 뢄석 도ꡬ: κΈ°μ‘΄ μ—μ΄μ „νŠΈλ“€μ˜ μž₯단점을 μ²΄κ³„μ μœΌλ‘œ 비ꡐ κ°€λŠ₯
  • 섀계 κ°€μ΄λ“œ: μƒˆλ‘œμš΄ μ—μ΄μ „νŠΈ 개발 μ‹œ κ³ λ €ν•΄μ•Ό ν•  차원듀 λͺ…μ‹œν™”
  • κ°­ 뢄석: κΈ°μ‘΄ μ—°κ΅¬μ—μ„œ νƒμƒ‰λ˜μ§€ μ•Šμ€ μ˜μ—­ 식별
  • 청사진 제곡: μ–΄λ–€ μ»΄ν¬λ„ŒνŠΈκ°€ ν•„μš”ν•˜κ³  μ–΄λ–»κ²Œ μƒν˜Έμž‘μš©ν•΄μ•Ό ν•˜λŠ”μ§€ μ œμ‹œ

3. μ„±λŠ₯ ν–₯상 μž…μ¦

  • GPT-3.5 + Cognitive Architecture: μ½”λ”© λ²€μΉ˜λ§ˆν¬μ—μ„œ 48% -> 95% μ„±λŠ₯ ν–₯상
  • 도ꡬ μ‚¬μš© + Agentic Reflection κ²°ν•©μ˜ 효과 μž…μ¦

4. 학문적 영ν–₯

  • λ‹€μˆ˜μ˜ 후속 연ꡬ에 영ν–₯
  • awesome-language-agents μ €μž₯μ†Œ: μ§€μ†μ μœΌλ‘œ μ—…λ°μ΄νŠΈλ˜λŠ” κ΄€λ ¨ 연ꡬ λͺ©λ‘ μœ μ§€

⚠️ ν•œκ³„μ  및 ν–₯ν›„ 연ꡬ

ν”„λ ˆμž„μ›Œν¬μ˜ ν•œκ³„

  1. κ°œλ…μ  ν”„λ ˆμž„μ›Œν¬μ˜ ν•œκ³„
    • 직접적인 μ„±λŠ₯ λ²€μΉ˜λ§ˆν¬λ‚˜ μ‹€ν—˜ κ²°κ³Ό μ œκ³΅ν•˜μ§€ μ•ŠμŒ
    • ꡬ체적인 κ΅¬ν˜„ κ°€μ΄λ“œλΌμΈλ³΄λ‹€λŠ” κ°œλ…μ  쑰직화에 초점
    • λ‹¨μˆœν•¨μ΄ κ°•μ μ΄μž ν•œκ³„ – μ„ΈλΆ€ κ΅¬ν˜„ κ°€μ΄λ“œ λΆ€μ‘±
  2. λ©”λͺ¨λ¦¬ κ΅¬ν˜„μ˜ 도전
    • 효율적인 μž₯κΈ° λ©”λͺ¨λ¦¬ 검색/μ“°κΈ° λ©”μ»€λ‹ˆμ¦˜ λ―Έν•΄κ²°
    • λŒ€κ·œλͺ¨ λ©”λͺ¨λ¦¬ 관리 문제

미래 연ꡬ λ°©ν–₯

1. Working Memory & Reasoning 고도화

  • λ‹¨μˆœν•œ ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§μ„ λ„˜μ–΄μ„œλŠ” “μ§„μ •ν•œ 사고” λ©”μ»€λ‹ˆμ¦˜ 탐ꡬ
  • μ €μˆ˜μ€€ λ¬Έμžμ—΄ μ‘°μž‘μ΄ μ•„λ‹Œ κ³ μˆ˜μ€€ 인지 섀계

2. μ—μ΄μ „νŠΈ μ•ˆμ „μ„± (Agent Safety)

  • 내뢀적 μœ„ν—˜: Learning 행동(특히 절차 μ‚­μ œ/μˆ˜μ •)이 μ•ΌκΈ°ν•  수 μžˆλŠ” 문제
  • 외뢀적 μœ„ν—˜: Grounding 행동(bash의 rm, μœ ν•΄ λ°œμ–Έ, 물리적 μœ„ν—˜)의 μœ„ν—˜μ„±
  • 행동 곡간 κ΄€μ μ—μ„œμ˜ μ•ˆμ „μ„± 뢄석 ν•„μš”

3. Reinforcement Learning 톡합

  • κ²½ν—˜ 기반 μ˜μ‚¬κ²°μ • μ •μ±… μ΅œμ ν™”
  • End-to-end λ˜λŠ” co-adapted ν•™μŠ΅

4. 톡합 ν•™μŠ΅ (Unified Learning)

  • Memory, Action Selection, Skill Acquisition의 톡합 ν•™μŠ΅
  • 사전 ν›ˆλ ¨λœ LLM λŠ₯λ ₯μ—λ§Œ μ˜μ‘΄ν•˜μ§€ μ•ŠλŠ” μ•„ν‚€ν…μ²˜

5. Symbolic-LLM κ²°ν•©

  • 상징적 μΆ”λ‘  μ»΄ν¬λ„ŒνŠΈμ™€ LLM의 졜적 μ‘°ν•© 탐ꡬ
  • μ–‘ νŒ¨λŸ¬λ‹€μž„μ˜ μž₯점 ν™œμš©

6. Meta-learning & Value Alignment

  • μ—μ΄μ „νŠΈ μ½”λ“œ 자체의 메타 ν•™μŠ΅
  • 인간 κ°€μΉ˜μ™€μ˜ μ •λ ¬ (Alignment)
# 미래 λ°©ν–₯: 자기 μ½”λ“œλ₯Ό μˆ˜μ •ν•˜λŠ” μ—μ΄μ „νŠΈ
def meta_learning(self):
    # κ²½ν—˜ 뢄석
    performance = self.analyze_performance()
    # μ½”λ“œ κ°œμ„ μ•ˆ 생성
    code_improvement = self.llm.generate_code_improvement(performance)
    # 자기 μ½”λ“œ μˆ˜μ •
    self.update_agent_code(code_improvement)

πŸ”— κ΄€λ ¨ λ…Όλ¬Έ

μ„ ν–‰ 연ꡬ (Foundational Works)

λ…Όλ¬Έ 연도 κ΄€λ ¨μ„±
Soar: An Architecture for General Intelligence 1987 CoALA의 μ£Όμš” 영감 μ›μ²œ, λ©”λͺ¨λ¦¬ ꡬ쑰
ACT-R: A Theory of Higher Level Cognition 1998 인지 μ•„ν‚€ν…μ²˜ 기반
ReAct: Synergizing Reasoning and Acting in Language Models 2022 뢄석 λŒ€μƒ μ—μ΄μ „νŠΈ
Toolformer: Language Models Can Teach Themselves to Use Tools 2023 도ꡬ μ‚¬μš© λŠ₯λ ₯ ν™•μž₯
Reflexion: Language Agents with Verbal Reinforcement Learning 2023 자기 μ„±μ°° λ©”μ»€λ‹ˆμ¦˜
Voyager: An Open-Ended Embodied Agent 2023 Procedural Memory 사둀
Generative Agents: Interactive Simulacra of Human Behavior 2023 μ™„μ „ν•œ λ©”λͺ¨λ¦¬ μ‹œμŠ€ν…œ
Tree of Thoughts: Deliberate Problem Solving with Large Language Models 2023 μ˜μ‚¬κ²°μ • ꡬ쑰

후속 연ꡬ (2024-2025)

λ…Όλ¬Έ 연도 λ‚΄μš©
Self-Contrast: Better Reflection Through Inconsistent Solving Perspectives 2024-01 λ°˜μ„± λ©”μ»€λ‹ˆμ¦˜ κ°œμ„ 
Agent-Pro: Learning to Evolve via Policy-Level Reflection 2024-02 μ •μ±… μˆ˜μ€€ ν•™μŠ΅
AppWorld: Benchmarking Interactive Coding Agents 2024-07 μ—μ΄μ „νŠΈ 벀치마크
Uncertainty-Aware Language Agent (UALA) 2024 (ACL) λΆˆν™•μ‹€μ„± 기반 μ—μ΄μ „νŠΈ
A Survey on Large Language Model based Autonomous Agents 2023-2024 μ’…ν•© μ„œλ² μ΄

πŸ’» 싀무 적용 포인트

1. μ—μ΄μ „νŠΈ 섀계 체크리슀트

## CoALA 기반 μ—μ΄μ „νŠΈ 섀계 체크리슀트

### λ©”λͺ¨λ¦¬ 섀계
- [ ] Working Memory: ν˜„μž¬ μ»¨ν…μŠ€νŠΈ 관리 방법 μ •μ˜
- [ ] Episodic Memory: κ³Όκ±° κ²½ν—˜ μ €μž₯ ν•„μš” μ—¬λΆ€
- [ ] Semantic Memory: μ™ΈλΆ€ 지식 베이슀 연동 ν•„μš” μ—¬λΆ€
- [ ] Procedural Memory: μŠ€ν‚¬/μ½”λ“œ 라이브러리 ν•„μš” μ—¬λΆ€

### μ•‘μ…˜ 곡간 섀계
- [ ] λ‚΄λΆ€ 행동: μΆ”λ‘ /검색/ν•™μŠ΅ 쀑 ν•„μš”ν•œ 것
- [ ] μ™ΈλΆ€ 행동: μ–΄λ–€ ν™˜κ²½κ³Ό μƒν˜Έμž‘μš©ν•˜λŠ”μ§€ (물리/λ””μ§€ν„Έ/λŒ€ν™”)
- [ ] 행동 곡간 크기 vs μ˜μ‚¬κ²°μ • λ³΅μž‘λ„ νŠΈλ ˆμ΄λ“œμ˜€ν”„ κ³ λ €

### μ˜μ‚¬κ²°μ • 섀계
- [ ] κ³„νš λ‹¨κ³„μ˜ λ³΅μž‘λ„ κ²°μ • (λ‹¨μˆœ vs 반볡적 평가)
- [ ] 행동 선택 μ „λž΅ μ •μ˜

### μ•ˆμ „μ„± 섀계
- [ ] Learning ν–‰λ™μ˜ λ‚΄λΆ€ μœ„ν—˜ 뢄석
- [ ] Grounding ν–‰λ™μ˜ μ™ΈλΆ€ μœ„ν—˜ 뢄석

2. LangChain 기반 κ΅¬ν˜„ μ˜ˆμ‹œ

from langchain.agents import AgentExecutor
from langchain.memory import ConversationBufferMemory, VectorStoreRetrieverMemory
from langchain_openai import ChatOpenAI

class CoALAInspiredAgent:
    """CoALA 원칙을 λ°˜μ˜ν•œ μ—μ΄μ „νŠΈ ꡬ쑰"""

    def __init__(self):
        self.llm = ChatOpenAI(model="gpt-4")

        # Working Memory: λŒ€ν™” 버퍼
        self.working_memory = ConversationBufferMemory(
            memory_key="chat_history",
            return_messages=True
        )

        # Semantic Memory: 벑터 μŠ€ν† μ–΄ 기반
        self.semantic_memory = VectorStoreRetrieverMemory(
            retriever=self.setup_retriever()
        )

        # Episodic Memory: κ²½ν—˜ μ €μž₯μ†Œ
        self.episodic_memory = []

        # Procedural Memory: μŠ€ν‚¬ 라이브러리
        self.procedural_memory = self.load_skills()

    def planning_stage(self, user_input):
        """κ³„νš 단계: μΆ”λ‘ κ³Ό 검색"""
        # 1. Retrieval - κ΄€λ ¨ 정보 검색
        relevant_knowledge = self.semantic_memory.load_memory_variables(
            {"query": user_input}
        )
        relevant_experiences = self.retrieve_episodes(user_input)

        # 2. Reasoning - 상황 뢄석 및 행동 κ³„νš
        context = self.build_context(
            user_input,
            relevant_knowledge,
            relevant_experiences
        )
        action_plan = self.llm.invoke(context)

        return action_plan

    def execution_stage(self, action_plan):
        """μ‹€ν–‰ 단계: ν•™μŠ΅ λ˜λŠ” κ·ΈλΌμš΄λ”©"""
        if action_plan.requires_external_action:
            # Grounding: μ™ΈλΆ€ 도ꡬ μ‹€ν–‰
            result = self.execute_tool(action_plan.tool, action_plan.args)
        else:
            # Learning: λ©”λͺ¨λ¦¬ μ—…λ°μ΄νŠΈ
            self.update_memories(action_plan)
            result = action_plan.response

        # κ²½ν—˜ 기둝 (Episodic Learning)
        self.episodic_memory.append({
            "input": action_plan.input,
            "action": action_plan.action,
            "result": result
        })

        return result

3. μ£Όμš” 섀계 고렀사항

고렀사항 ꢌμž₯ 사항
λ©”λͺ¨λ¦¬ 선택 μž‘μ—… νŠΉμ„±μ— 따라 ν•„μš”ν•œ λ©”λͺ¨λ¦¬ μœ ν˜•λ§Œ κ΅¬ν˜„ (λ³΅μž‘λ„ 관리)
행동 곡간 크기 행동 곡간이 클수둝 μ˜μ‚¬κ²°μ •μ΄ λ³΅μž‘ν•΄μ§ – νŠΈλ ˆμ΄λ“œμ˜€ν”„ κ³ λ €
μ˜μ‚¬κ²°μ • 루프 메인 λ‘œμ§μ€ ν•œ 곳에 집쀑, λͺ¨λ“ˆν™” μœ μ§€
ν•™μŠ΅ μ „λž΅ λ‹¨μˆœ: In-context -> 쀑간: RAG -> κ³ κΈ‰: νŒŒμΈνŠœλ‹/μ½”λ“œ μˆ˜μ •
검색 방식 Rule-based vs Sparse vs Dense – 상황에 맞게 μ‘°ν•©

4. μ•ˆμ „μ„± 체크포인트

def safety_check(action):
    """CoALA μ•ˆμ „μ„± κ΄€μ μ˜ 행동 검사"""

    # λ‚΄λΆ€ μœ„ν—˜: Learning 행동 검사
    if action.type == "learning":
        if action.target == "procedural_memory":
            if action.operation in ["delete", "modify"]:
                return require_confirmation(
                    "절차 λ©”λͺ¨λ¦¬ μˆ˜μ •μ€ μ—μ΄μ „νŠΈ 행동에 영ν–₯을 쀄 수 μžˆμŠ΅λ‹ˆλ‹€."
                )

    # μ™ΈλΆ€ μœ„ν—˜: Grounding 행동 검사
    if action.type == "grounding":
        dangerous_commands = ["rm", "delete", "format", "sudo"]
        if any(cmd in action.command for cmd in dangerous_commands):
            return require_confirmation(
                f"μœ„ν—˜ν•œ λͺ…λ Ήμ–΄ 감지: {action.command}"
            )

    return True

🏷️ Tags

#AIAgent #CognitiveArchitecture #LLM #LanguageAgent #CoALA #Memory #ReAct #Voyager #GenerativeAgents #Reflexion #DecisionMaking #Princeton #TMLR #2024 #Framework #Survey #Soar #ACTR #ProductionSystem #ProceduralMemory #EpisodicMemory #SemanticMemory #WorkingMemory #AgentSafety #MetaLearning #Toolformer #TreeOfThoughts #Grounding #Reasoning #Retrieval #Learning


πŸ“š μ°Έκ³  자료

  • λ…Όλ¬Έ 원문: arXiv:2309.02427
  • GitHub μ €μž₯μ†Œ: awesome-language-agents
  • OpenReview: TMLR 리뷰
  • Princeton 연ꡬ νŽ˜μ΄μ§€: Princeton Research
μž‘μ„±μž

skycave

Follow Me
λ‹€λ₯Έ 기사
Previous

[AI Paper] πŸ“„ Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

Next

[AI Paper] Do We Always Need Query-Level Workflows? Rethinking Agentic Workflow Generation for Multi-Agent Systems

λŒ“κΈ€ μ—†μŒ! 첫 λŒ“κΈ€μ„ λ‚¨κ²¨λ³΄μ„Έμš”.

λ‹΅κΈ€ 남기기 응닡 μ·¨μ†Œ

이메일 μ£Όμ†ŒλŠ” κ³΅κ°œλ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. ν•„μˆ˜ ν•„λ“œλŠ” *둜 ν‘œμ‹œλ©λ‹ˆλ‹€

μ΅œμ‹ κΈ€

  • πŸ“Š 일일 λ‰΄μŠ€ 감성 리포트 – 2026-01-28
  • AI μ‹œμŠ€ν…œμ˜ λ¬Έλ§₯ 기반 검색(Contextual Retrieval) | Anthropic
  • “Think” 툴: Claudeκ°€ λ©ˆμΆ°μ„œ 생각할 수 μžˆλ„λ‘ ν•˜κΈ° | Anthropic
  • Claude Code λͺ¨λ²” 사둀 \ Anthropic
  • μš°λ¦¬κ°€ λ©€ν‹° μ—μ΄μ „νŠΈ 연ꡬ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•œ 방법
Copyright 2026 — skycave's Blog. All rights reserved. Blogsy WordPress Theme