UStackUStack
ReasoningBank icon

ReasoningBank

ReasoningBank는 성공과 실패 경험에서 재사용 가능한 추론 전략을 추출하는 agent memory framework입니다. 웹 탐색과 software engineering에 활용됩니다.

ReasoningBank

ReasoningBank란?

ReasoningBank는 성공과 실패 경험 모두에서 배포된 agent가 학습하도록 돕는 새로운 agent memory framework입니다. 각 작업을 독립적인 시도로 보기보다, 시간이 지나며 개선이 필요한 장기 실행 agent를 위해 설계되었습니다.

이 프레임워크는 전체 행동 추적을 그대로 저장하는 대신, 일반화 가능한 추론 전략을 담은 구조화된 메모리를 저장합니다. 이러한 메모리는 행동 전에 검색되고, agent가 작업을 끝낸 뒤 업데이트되며, agentic workflow에서 test-time 자기 진화를 지원하는 데 사용됩니다.

주요 기능

  • 구조화된 메모리 항목: 각 메모리에는 제목, 짧은 설명, 압축된 내용이 포함되어 있어, 원시 trajectory보다 저장된 경험을 재사용하기 쉽습니다.
  • 행동 전 검색: agent는 행동하기 전에 ReasoningBank를 조회해 관련 과거 전략이 다음 시도에 반영되도록 합니다.
  • 성공과 실패 모두에서 추출: 이 프레임워크는 성공한 실행을 재사용 가능한 전술로, 실패한 실행을 경고 교훈과 반사실적 신호로 전환합니다.
  • 검색, 추출, 통합의 폐쇄 루프: ReasoningBank는 각 상호작용 후 업데이트되는 지속적 메모리 workflow로 구축되었습니다.
  • LLM-as-a-judge를 통한 자기 판단: 이 시스템은 판단이 완벽하지 않더라도 trajectory를 평가하고 통찰을 추출할 수 있습니다.
  • 메모리 인식 test-time scaling: ReasoningBank는 여러 탐색 trajectory를 사용해 inference-time search와 self-contrast에서 더 강한 메모리를 압축할 수 있습니다.

ReasoningBank 사용 방법

일반적인 workflow는 ReasoningBank를 웹 탐색이나 software engineering 같은 작업을 수행하는 agent에 연결하는 것으로 시작합니다. 각 행동 전에 agent는 bank에서 관련 메모리를 검색하고 이를 context로 사용합니다.

작업 후에는 agent가 trajectory를 평가하고, 유용한 전략이나 실패에 대한 성찰을 추출해 새로운 구조화된 메모리로 추가합니다. 시간이 지나면 이는 이후 작업에서 agent가 재사용할 수 있는 일반 교훈 저장소가 됩니다.

활용 사례

  • 웹 탐색 agent: 과거 탐색 경험을 활용해 반복되는 탐색 실수를 피하고, 효과적인 검색이나 페이지 상호작용 전략을 재사용합니다.
  • software engineering agent: 코드베이스 탐색, 디버깅, 작업 완료에서 얻은 교훈을 저장해 반복되는 과제 전반에서 더 효과적으로 일할 수 있게 합니다.
  • 지속적 작업 자동화: 계속 실행되며 새로운 workflow와 엣지 케이스를 만나면서 개선이 필요한 agent를 지원합니다.
  • 추론 시점 탐색: test-time scaling 방법을 사용할 때 여러 후보 trajectory를 메모리로 압축합니다.
  • agent 실패 분석: 실패한 시도를, 루프를 유발했거나 단계를 놓치게 만든 함정을 피하는 등의 가드레일로 전환합니다.

FAQ

ReasoningBank는 어떤 종류의 메모리를 저장하나요?
전체 행동 로그만 보관하는 대신, 추론 전략, 의사결정 근거, 운영 인사이트를 요약한 구조화된 메모리를 저장합니다.

성공한 실행에서만 학습하나요?
아니요. ReasoningBank의 핵심은 실패 경험도 분석해 예방 교훈으로 바꾼다는 점입니다.

완벽한 자기 평가가 필요한가요?
아니요. 소스에 따르면 LLM 기반 판단이 완벽하지 않아도 이 프레임워크는 견고합니다.

어떤 작업에서 평가되었나요?
소스는 웹 탐색과 software engineering 벤치마크에서 평가되었다고 말합니다.

ReasoningBank는 독립형 모델인가요?
아니요. test time에 agent와 함께 작동하는 agent memory framework로 설명됩니다.

대안

  • trajectory 메모리 시스템: 상세한 행동 이력을 저장해 더 많은 원시 context를 보존할 수 있지만, 상위 수준의 전략을 직접적으로 압축하지는 못할 수 있습니다.
  • 성공한 실행에 초점을 둔 workflow 메모리 시스템: 성공한 workflow만 요약하므로 더 단순할 수 있지만, 실패에서 얻는 학습 신호를 놓칠 수 있습니다.
  • 일반적인 agent 메모리 계층: agent를 위한 더 넓은 메모리 시스템은 과거 상호작용 검색을 강조할 수 있지만, 성공과 실패 모두에서 구조화된 추론 추출까지는 반드시 다루지 않습니다.
  • 메모리 없는 agent 설정: 지속 메모리가 없는 agent는 구현이 더 단순하지만, 작업 간 재사용 가능한 교훈을 축적하지는 못합니다.
ReasoningBank | UStack