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 가 할 수 있는 행동들을 저장하는 연산 (어떻게 행동하면 되는지, 어떤 순서로 행동하면 되는지, 언제 이런 행동을 하면 되는지 등을 저장해야함)
        • 외부 연산의 경우 어느 정도의 크기가 되어야할까?
      • 이후 수정 및 삭제하는 기능도 제공해야함.
  • 행동(Action):
    • 외부/내부연산을 구별하는 연산
    • 외부 연산:
      • OpenAI Function calling 과 같이 이용하면 될 듯.
      • API 를 호출하거나, 웹 검색을 하거나, 다른 Agent 와 대화를 하거나 등
    • 내부 연산:
      • Reasoning:
        • 작업 기억 내의 정보를 바탕으로 새로운 정보를 조합해서 생성 또는 추론을 통한 생성 그리고 그 이후 메모리에 저장까지.
          • Reasoning 결과가 가치 있으면, 이를 에피소드 기억이나 서술 기억 등에 기록놓는 연산
        • 단기 메모리에 있는 정보를 기반으로 추론을 수행한 뒤, 그 결과를 다시 단기 메모리에 반영하는 연산
        • 최근 정보로 계획을 다시 수정하고 재계획을 만드는 연산
      • Retrieval:
        • 메모리에서 적응적이고 맥락 맞춤형’ retrieval
        • “단순 검색”만 하는 게 아니라 추론 과정과 번갈아가며(interleaving) 참조
          • 무엇을 검색해야 할지 결정하는 추론
          • 검색된 정보를 해석·결합하는 추론
          • 검색 쿼리 생성 → 검색 → 검색 결과로 추론 업데이트
          • 추론 결과를 바탕으로 검색 반복
        • 최근 관찰 데이터나, 방금 Retrieval로 불러온 정보를 요약·재구성
      • Learning:
        • 에피소드 기억에 저장된 “고득점 플레이 기록”을 모아서 작은 LLM을 주기적으로 파인튜닝. 하지만 비용이 크다는 특징이 있음. 그래서 학습 스케줄(“언제, 어떻게 파인튜닝할지”)을 사전에 정해두거나, 에이전트가 “필요하다고 판단할 때”만 제한적으로 수행
  • 의사결정:
    • 최종 목표를 저장하고, 최종 목표를 이루기 위한 하위 목표로 분해해서 계획하고, 각 목표를 이루기 위해 단계별로 실행하는 기능 (크게는 계획과 실행)
    • 각 단계별 실행을 위해 Propose -> Evaluate -> Select 과정을 통해 실행.
      • Propose 단계에서는 ToT 활용 가능 (Tree-of-Thought)
    • 어떤 순서로 Reasoning, Retrieval, Learning 등을 수행하며, 언제 Grounding(실제 사용자에게 검색 결과를 제시 등) 액션을 할지.

+ Recent posts