Agentic AI 56

10. 장기기억(7)- PostgreSQL의 memories 테이블과 ChromaDB연결 단계(1)

지금은 단순히 코드를 조금 고치는 단계가 아니라, PostgreSQL과 ChromaDB를 처음으로 실제 연결하는 단계이므로 한 번에 Agent까지 바꾸지 않는 것이 좋습니다. [요약]# PostgreSQL의 memories 테이블과 ChromaDB연결 단계(1) ===> memory.py, vector_store.py 수정/보완하고 테스트하기 # step1. memory.py 수정 # step1.1. 7. Memory tuple → dictionary 과 8. Memory tuple 목록 → dictionary 목록 추가. # step1.2. 기존의 7. Memory Context 생성 => 9.Memory Context 생성로 변경하고 코드 수정 # step2. vector_store.py를 ..

Agentic AI/Memory 2026.09.12

9. 장기기억(6) - 벡터스토어 만들고 테스트하기

이제 vector_store.py를 만들고, PostgreSQL의 memories 테이블과 ChromaDB를 연결하는 단계입니다. [요약]# 1. vector_store.py 만들기 # 2. 테스트 파일 만들기: test_vector_store.py # 3. 테스트1. # 4. 추가 수정 # 4.1. 검색 결과를 보기 좋게 출력하는 함수 추가: ===> def print_search_results(results): # 4.2. database.py의 get_memories() 반환값 확인후 수정: ===> user_id 추가 # 4.3. PostgreSQL tuple을 ChromaDB용 dictionary로 변환하는 과정 추가: ===> def memory_tuple_to_di..

Agentic AI/Memory 2026.09.06

8. 장기기억(5) - ChromaDB 추가로 의미 기반 검색

기존 PostgreSQL을 버리고 ChromaDB로 바꾸는 것이 아니라, PostgreSQL은 사용자·기억의 원본 저장소로 유지하고, ChromaDB는 의미 기반 검색을 담당하도록 추가하는 것입니다.이렇게 해야 지금까지 배운 내용도 버리지 않고, 실제 AI Agent 구조에 가까워집니다. [요약]# 1. pip install chromadb 설치 ===> pip show chromadb로 확인# 2. test_chroma.py ===> python .\test_chroma.py 확인1. 왜 지금 ChromaDB를 배우는 것이 좋은가?현재 Agent는 대략 다음 구조입니다.사용자 질문 ↓PostgreSQL에서 사용자의 기억 조회 ↓최근 기억 또는 중요도 높은 기억 반환 ↓LLM..

Agentic AI/Memory 2026.09.06

7. 장기기억(4)-Memory Layer를 Agent Loop에 연결하기

지금까지는 “장기기억을 저장하고 꺼내는 Memory Layer”를 독립적으로 만드는 단계였습니다.이제 다음 단계는 자연스럽게 다음과 같습니다. [요약]# 1. agent_with_memory.py 생성, 그리고 수정(장기기억용(3)) # 2. database.py 수정(장기기억용(1)(2)) # 3. 테스트 실시 다음 단계: Memory Layer를 Agent Loop에 연결하기지금까지의 구조는 다음과 같습니다.사용자 대화 ↓extract_memory() ↓중요한 기억 추출 ↓PostgreSQL 저장 ↓search_memory() ↓기억 조회 ↓build_memory_context() 이제 이것을 실제 Agent에 연결합니다.사용자 질문 ↓Agent ↓① 관련..

Agentic AI/Memory 2026.09.06

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 ↓답..

Agentic AI/Memory 2026.09.05

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..

Agentic AI/Memory 2026.09.03

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 ..

Agentic AI/Memory 2026.09.01

2. [Summary Memory] 대화 이력 슬라이딩 윈도우 및 자동 요약 압축 시스템

이전 코드에서 한 단계 더 발전하여 대화 개수 기준(슬라이딩 윈도우)을 적용해 대화 이력(History)을 자동으로 잘라내고 요약 및 압축하는 완성형 파이썬 스크립트입니다. #History_Management (대화 이력 관리): 대화형 AI가 이전 맥락을 기억하도록 대화 목록을 저장하고 전달하는 메커니즘입니다.#Sliding_Window (슬라이딩 윈도우): 전체 대화 중 최근 $N$개의 메시지만 최신 상태로 유지하고, 나머지 오래된 메시지는 분리해내는 기법입니다.#Context_Compression (컨텍스트 압축): 오래된 대화들을 LLM에 전달해 3줄 요약문으로 만든 뒤 system 메시지로 변환하여 전체 토큰 수를 대폭 줄이는 기술입니다.#List_Slicing (리스트 슬라이싱): 파이썬의 m..

Agentic AI/Memory 2026.08.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..

Agentic AI/Memory 2026.08.31

XVII. AI Agent Engine 기본 완성: Python · Agent Loop · Tool Dispatcher · Function Call · Context Block · History Trim

# 1. import import os import json import time import logging import inspect from pathlib import Path from datetime import datetime from dataclasses import dataclass, field from typing import Any from dotenv import load_dotenv from openai import OpenAI # ============================================================ # 2. Environment settings # ===========..

Agentic AI/AI_AGENT 2026.08.30