COALA - 필요한 모듈과 연산에 대해 정리해보자:
- Memory:
- 단기 메모리 또는 Working Memeory:
- 어떠한 Action 을 할 때마다 그 결과가 나올때마다 Working Memory 에 갱신하는 연산
- 장기 메모리에 있는 정보를 검색해서 가져오는 연산
- 가져올 떄 요약 및 재구성하는 연산
- 장기 메모리(Long-term Memory):
- Episodic Memory(에피소드 기억):
- "목표" 에 해당하는 작업은 시작할 때, 끝이날 때 기록하는 연산 (목표를 이루기 위한 일반 행동까지 모두 기록하는 건 의미가 없지 않을까?)
- "목표" 로 하는 작업이 끝날 때 회고하는 연산, 이를 통해 얻어진 통찰과 배움은 다른 메모리에 저장이 될 것.
- 의사결정을 할 때, 다음 Action 을 내릴 때 비슷한 실패, 성공 과거 기억에서 조회하고 비교한 후 결정을 내리도록 하는 연산
- Semantic memory(서술 기억):
- 인간이 수동으로 세상에 대한 지식이나 메뉴얼을 넣을 수 있도록 하는 연산
- 의사결정을 할 때 저장된 지식을 기반으로 판단을 내리도록 하는 연산
- LLM 또는 Agent 가 추론 과정에서 얻었던 새로운 통찰을 저장하도록 하는 연산
- Procedural memory (절차 기억):
- 결정된 Action 을 수행할 수 있도록 하는 연산 (예: Reasoning, Retrieval, Grounding, Learning)
- Agent 가 할 수 있는 행동들을 저장하는 연산 (어떻게 행동하면 되는지, 어떤 순서로 행동하면 되는지, 언제 이런 행동을 하면 되는지 등을 저장해야함)
- 외부 연산의 경우 어느 정도의 크기가 되어야할까?
- 이후 수정 및 삭제하는 기능도 제공해야함.
- Episodic Memory(에피소드 기억):
- 단기 메모리 또는 Working Memeory:
- 행동(Action):
- 외부/내부연산을 구별하는 연산
- 외부 연산:
- OpenAI Function calling 과 같이 이용하면 될 듯.
- API 를 호출하거나, 웹 검색을 하거나, 다른 Agent 와 대화를 하거나 등
- 내부 연산:
- Reasoning:
- 작업 기억 내의 정보를 바탕으로 새로운 정보를 조합해서 생성 또는 추론을 통한 생성 그리고 그 이후 메모리에 저장까지.
- Reasoning 결과가 가치 있으면, 이를 에피소드 기억이나 서술 기억 등에 기록놓는 연산
- 단기 메모리에 있는 정보를 기반으로 추론을 수행한 뒤, 그 결과를 다시 단기 메모리에 반영하는 연산
- 최근 정보로 계획을 다시 수정하고 재계획을 만드는 연산
- 작업 기억 내의 정보를 바탕으로 새로운 정보를 조합해서 생성 또는 추론을 통한 생성 그리고 그 이후 메모리에 저장까지.
- Retrieval:
- 메모리에서 적응적이고 맥락 맞춤형’ retrieval
- “단순 검색”만 하는 게 아니라 추론 과정과 번갈아가며(interleaving) 참조
- 무엇을 검색해야 할지 결정하는 추론
- 검색된 정보를 해석·결합하는 추론
- 검색 쿼리 생성 → 검색 → 검색 결과로 추론 업데이트
- 추론 결과를 바탕으로 검색 반복
- 최근 관찰 데이터나, 방금 Retrieval로 불러온 정보를 요약·재구성
- Learning:
- 에피소드 기억에 저장된 “고득점 플레이 기록”을 모아서 작은 LLM을 주기적으로 파인튜닝. 하지만 비용이 크다는 특징이 있음. 그래서 학습 스케줄(“언제, 어떻게 파인튜닝할지”)을 사전에 정해두거나, 에이전트가 “필요하다고 판단할 때”만 제한적으로 수행
- Reasoning:
- 의사결정:
- 최종 목표를 저장하고, 최종 목표를 이루기 위한 하위 목표로 분해해서 계획하고, 각 목표를 이루기 위해 단계별로 실행하는 기능 (크게는 계획과 실행)
- 각 단계별 실행을 위해 Propose -> Evaluate -> Select 과정을 통해 실행.
- Propose 단계에서는 ToT 활용 가능 (Tree-of-Thought)
- 어떤 순서로 Reasoning, Retrieval, Learning 등을 수행하며, 언제 Grounding(실제 사용자에게 검색 결과를 제시 등) 액션을 할지.
'Generative AI > Agent' 카테고리의 다른 글
WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents (0) | 2024.12.27 |
---|---|
Generative Agents: Interactive Simulacra of Human Behavior (0) | 2024.12.27 |
Cognitive Architectures for Language Agents (0) | 2024.12.23 |
LLM Agent Course - (2) LLM agents (0) | 2024.12.22 |
Premise Order Matters in Reasoning with Large Language Models (0) | 2024.12.21 |