# Buffer Memory

Buffer Memory 노드는 세션 동안 사용자와 에이전트 간의 대화 기록을 순차적으로 저장하며, 이전 대화를 그대로 유지하는 간단한 메모리 구조를 제공합니다. 복잡한 세션 관리 없이도 일시적인 대화 흐름을 유지하는 데 적합합니다.

***

### 주요 기능

* 가장 기본적인 형태의 메모리 구조로, 대화 내용을 순차적으로 기록
* 지정된 `Memory Key`를 통해 LLM과의 연결에서 일관된 히스토리 제공
* Session ID 기반으로 메모리 세션을 분리하여 다중 사용자 구분 가능
* 빠르고 가벼운 구현이 가능하며 테스트에 적합

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-2ecd61fbaa7601b1e4f80cb75dff7cfb96c19504%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-15%20135823.png?alt=media" alt=""><figcaption><p>WindyFlo Buffer Memory</p></figcaption></figure>

<figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-fa3e850e0be366087d528276c5a9b0bb4719d5db%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202025-05-15%20135832.png?alt=media" alt=""><figcaption><p>WindyFlo Buffer Memory Parameters</p></figcaption></figure>

### 입력값 (Inputs)

| 항목         | 설명                                      | 필수 여부 |
| ---------- | --------------------------------------- | ----- |
| Session Id | 사용자 또는 세션 식별자 (빈 값일 경우 고정 세션으로 동작)      | 선택    |
| Memory Key | LLM 연결 시 사용할 히스토리 키 (예: `chat_history`) | 필수    |

***

### 출력값 (Outputs)

| 출력 항목        | 설명                     |
| ------------ | ---------------------- |
| BufferMemory | 대화 히스토리를 포함한 메모리 객체 반환 |

***

### 활용 예시

* 짧은 질문-응답 형태의 챗봇 테스트용 메모리 저장
* Session ID 기반의 멀티 유저 간 대화 구분 처리
* Agent와 Tool 간 연동 시 간단한 컨텍스트 공유 구현
* Streamlit, Gradio 등 프론트엔드 UI 기반 챗봇과의 빠른 연동

***

### 사용 팁

* 동일한 세션 내 대화 흐름을 유지하고 싶다면 고정된 `Session Id`를 설정하십시오.
* `Memory Key`는 LLM 노드에서도 동일하게 지정해주어야 일관된 결과를 얻을 수 있습니다.
* 대화 길이가 길어질 경우, LLM의 컨텍스트 한도를 초과하지 않도록 주의하십시오.

***

### 주의사항

* 메모리는 세션이 종료되면 초기화되며, 장기 저장 기능이 없습니다.
* 외부 DB나 파일로 저장되지 않기 때문에 데이터 영속성이 필요할 경우 다른 Memory 노드를 사용해야 합니다.
* Token 수 초과로 인해 LLM 응답이 누락되는 경우가 발생할 수 있습니다.
