← 노드 한 장 전체#42 · Simple Memory

Simple Memory

아까 말한 프로젝트 별칭 기억할까?

이 글은 이런 분께챗봇이 같은 대화의 앞말을 기억하게 하고 세션별로 구분하고 싶은 분
Simple Memory 영상 표지

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요

JSON 받기

아까 말한 프로젝트 별칭, 기억할까요?

노드 한 장 #42 · Simple Memory

먼저 결과부터

Simple Memory는 AI Agent에 이전 대화를 전달하는 n8n 인메모리 메모리예요. 직접 작성한 가상 별칭 ‘달빛배’를 TEST_SESSION_A에 알려 준 뒤 같은 A에서 물으니 ‘달빛배’, 새 TEST_SESSION_B에서는 ‘기억된 별칭이 없습니다.’라고 답했어요. 실제 실행 #74815·#74816·#74817의 runData에서 회상 전 이전 메시지는 각각 0·2·0개였어요. 샘플 대화·AI 출력이며 영구 DB 기억이나 큐 모드 운영 안전성을 검증한 결과는 아니에요.
우리가 실제로 돌린 기록 · 실행 #74817 · 2026-10-30
Simple Memory 실제 n8n 화면 1
우리가 실제로 돌린 n8n 화면 (실행 #74817, 2026-10-30)

따라 하기

아래 설정값은 이 영상에 나온 워크플로우 JSON에서 그대로 가져왔어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 실제로 넣은 값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.

Step 1. Manual Trigger 노드 추가이름: Run manually

설정 없이 그대로 추가해요.

Step 2. Code 노드 추가이름: Prepare sample

JavaScript
// 직접 작성한 샘플 대화: 1회 실행 후 아래 chatInput을 질문으로 바꿔 같은 세션에서 실행하세요.
return [{json:{sample:true,sessionId:'TEST_SESSION_A',sessionLabel:'TEST_SESSION_A',turn:1,chatInput:"가상 프로젝트 별칭은 '달빛배'야. 기억해 줘."}}];

Step 3. AI Agent 노드 추가이름: AI Agent

Source for Prompt (User Message)Define below
Prompt (User Message){{ $json.chatInput }}
Options › System Message
당신은 가상 프로젝트 별칭을 기억하는 실습 도우미입니다. 기억해 달라는 요청에는 '기억했습니다.'라고만 답하세요. 별칭을 질문받으면 이전 대화에 명시된 별칭만 그대로 답하세요. 이전 대화나 현재 입력에 별칭이 없다면 추측하지 말고 '기억된 별칭이 없습니다.'라고만 답하세요. 한국어로 간결하게 답하세요.
Options › Max Iterations2

Step 4. OpenAI Chat Model 노드 추가이름: OpenAI Chat Model

Modelgpt-4.1-mini
Use Responses API꺼짐
Options › Sampling Temperature0
Options › Maximum Number of Tokens150

Step 5. Simple Memory 노드 추가이름: Simple Memory

Session IDDefine below
Key{{ $json.sessionId }}
Context Window Length5

Step 6. Edit Fields (Set) 노드 추가이름: Show safe result

필드 1session · string · {{ $('Prepare sample').first().json.sessionLabel }}
필드 2turn · number · {{ $('Prepare sample').first().json.turn }}
필드 3sample_message · string · {{ $('Prepare sample').first().json.chatInput }}
필드 4ai_output · string · {{ $json.output }}
필드 5sample · boolean · 켜짐

가져와서 쓸 때 확인할 것

노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.