본문 바로가기

전체 글180

6. 장기 메모리(3)(Long-term Memory) - Memory Layer 만들기 DB를 다루는 Memory Layer 자체를 먼저 완성하고 테스트한 다음 Agent에 붙이는 것이 가장 좋습니다.1. 두 단계를 나누는 이유지금 제시하신 두 단계는 사실 서로 다른 문제입니다.1단계: Memory Layer 만들기사용자 대화 ↓extract_memory() ↓"이 내용 중 장기기억할 것이 무엇인가?" ↓save_memory() ↓PostgreSQL ↓search_memory() ↓관련 기억 검색 ↓build_memory_context() ↓Agent가 사용할 문자열 여기서는 "기억 시스템 자체가 제대로 작동하는가?"를 배우는 것입니다.2단계: Agent에 Memory Layer 연결사용자 ↓Agent ↓Memory 검색 ↓OpenAI ↓답.. 2026. 9. 5.
5. 장기 메모리(2)(Long-term Memory) - Python으로 PostgreSQL을 장기 기억 저장소처럼 사용하기 이제부터는 "DB를 사용할 수 있는 Agent의 기본기"를 제대로 만드는 단계입니다.이번 단계의 목표는 OpenAI나 Agent를 아직 붙이지 않는 것입니다. 먼저 Python이 PostgreSQL을 장기 기억 저장소처럼 사용할 수 있는지를 확실하게 테스트합니다. [전체 요약]# 1. Docker PostgreSQL에 접속 docker exec -it agent-postgres psql -U agent_user -d agent_db ===> agent_db=# # 2. 사용자 테이블 CREATE TABLE IF NOT EXISTS user_profiles ( user_id SERIAL PRIMARY KEY, user_name VARCHAR(50) NOT NULL, location V.. 2026. 9. 3.
4. 장기 메모리(1)(Long-term Memory) - Docker & PostgreSQL 실행하기 지금 하려는 것은 우리가 지금까지 만든 짧은 대화 기억(History + Summary)에서 한 단계 발전해서,Agent가 대화가 끝나도 중요한 정보를 PostgreSQL DB에 저장하고, 나중에 다시 꺼내 사용하는 장기 메모리(Long-term Memory)를 만드는 것입니다.그리고 지금까지 해오신 Python → OpenAI API → Agent → History → Summary 학습 흐름에서 아주 자연스러운 다음 단계입니다. [전체 요약]# 1. Docker Desktop 설치 # 2. PowerShell 또는 CMD: docker --version ===> Docker version 29.7.2, build a7dcaa6 docker ps .. 2026. 9. 1.
3. [History+Summary] 자동 대화 요약 메모리를 탑재한 대화형 챗봇 봇(CLI) 단발성 테스트 스크립트를 넘어, 실제 터미널(CLI) 환경에서 사용자와 주고받는 실시간 대화 루프(while True)와 슬라이딩 윈도우 기반 요약 메모리를 결합한 완성형 챗봇 애플리케이션입니다. #Chat_Loop (대화 루프): 사용자가 /quit을 입력하기 전까지 연속적으로 메시지를 입력받고 응답하는 무한 루프 구조입니다.#CLI_Command (특수 명령어): 챗봇 대화 중 /history, /summary, /reset과 같은 명령어로 대화 이력을 조회하거나 상태를 관리하는 기능입니다.#System_Prompt (시스템 프롬프트): AI에게 역할(Assistant), 답변 규칙, 요약 정보 참조 방식 등을 미리 지시하는 핵심 명령문입니다.#Summary_Memory (요약 메모리): 누적된 오래.. 2026. 8. 31.
2. [Summary Memory] 대화 이력 슬라이딩 윈도우 및 자동 요약 압축 시스템 이전 코드에서 한 단계 더 발전하여 대화 개수 기준(슬라이딩 윈도우)을 적용해 대화 이력(History)을 자동으로 잘라내고 요약 및 압축하는 완성형 파이썬 스크립트입니다. #History_Management (대화 이력 관리): 대화형 AI가 이전 맥락을 기억하도록 대화 목록을 저장하고 전달하는 메커니즘입니다.#Sliding_Window (슬라이딩 윈도우): 전체 대화 중 최근 $N$개의 메시지만 최신 상태로 유지하고, 나머지 오래된 메시지는 분리해내는 기법입니다.#Context_Compression (컨텍스트 압축): 오래된 대화들을 LLM에 전달해 3줄 요약문으로 만든 뒤 system 메시지로 변환하여 전체 토큰 수를 대폭 줄이는 기술입니다.#List_Slicing (리스트 슬라이싱): 파이썬의 m.. 2026. 8. 31.
1. [Short-term Memory] 대화 이력 자동 압축 및 요약 시스템 대화가 길어질 때 발생하는 토큰 사용량 증가와 비용 문제를 해결하기 위해, 이전 대화 내용(History)을 OpenAI 모델을 통해 핵심만 3줄로 자동 요약해주는 파이썬 스크립트입니다. #Context_Window (문맥 창) 및 토큰 관리: 대화가 길어질수록 전달되는 텍스트(토큰)량이 늘어나 비용이 급증합니다. 이를 해결하기 위해 오래된 대화를 요약하여 압축(Summarization)하는 기법이 필수적입니다. 1. 환경 설정 및 라이브러리 로드import osfrom dotenv import load_dotenvfrom openai import OpenAIload_dotenv()API_KEY = os.getenv("OPENAI_API_KEY")MODEL_NAME = os.environ.get("MOD.. 2026. 8. 31.