2026/08 20

3. [History+Summary] 자동 대화 요약 메모리를 탑재한 대화형 챗봇 봇(CLI)

단발성 테스트 스크립트를 넘어, 실제 터미널(CLI) 환경에서 사용자와 주고받는 실시간 대화 루프(while True)와 슬라이딩 윈도우 기반 요약 메모리를 결합한 완성형 챗봇 애플리케이션입니다. #Chat_Loop (대화 루프): 사용자가 /quit을 입력하기 전까지 연속적으로 메시지를 입력받고 응답하는 무한 루프 구조입니다.#CLI_Command (특수 명령어): 챗봇 대화 중 /history, /summary, /reset과 같은 명령어로 대화 이력을 조회하거나 상태를 관리하는 기능입니다.#System_Prompt (시스템 프롬프트): AI에게 역할(Assistant), 답변 규칙, 요약 정보 참조 방식 등을 미리 지시하는 핵심 명령문입니다.#Summary_Memory (요약 메모리): 누적된 오래..

카테고리 없음 2026.08.31

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

XIV. 작은 AI Agent 프로그램(가짜 LLM Model-script 사용)

# 1. 설계 주석 # 설계 # 목표: 사용자로부터 입력받은 문장 # 도구: 계산기, 파일 읽기, 조회 # 반복: 최대 6단계 # 메모리: 메시지 목록 (완료 시 디스크에 저장) # 종료: 모델이 '완료' 도구를 반환하거나 단계 제한에 도달함 # (아래는 영문으로 위와 동일한 내용) # The design # goal a sentence from the user # tools calculator, read_file, lookup # loop at most 6 steps # memory a list of messages, saved to dis..

Agentic AI/AI_AGENT 2026.08.26

XIII. Python 함수 자체를 분석하여, AI가 사용할 수 있는 Tool 설명서(schema)를 자동으로 만드는 방법

# 1. Type Hint 그리고 __annotations__ def search(query:str, limit:int=3, safe:bool=True)->str: mode = "safe" if safe else "open" return f"'{query}'에 대해 {limit}개의 결과물({mode})" print(search("환불 정책")) print(search("개점 시간", limit=1, safe=False)) print(search.__annotations__) #-------- 2. History 분석 def summarise(messages:list[dict], limit:int|None=None)->dict[str,i..

Agentic AI/AI_AGENT 2026.08.25

XII. Python 프로그램이 인터넷 너머의 API 서버와 대화하는 방법 → 오류, 재시도 ...→ 결국 실제 LLM 호출 함수 call_model()로 발전시키는 과정

# 1. HTTP 상태 코드 # 200 OK, it worked # 400 bad request, your JSON or parameters are wrong # 401 unauthorised, the API key is missing or invalid # 403 forbidden, the key is valid but not allowed to do this # 404 not found, check the URL # 429 too many requests, slow down and retry later # 500 server error on their side # 503 service unavailable, retry later #-------- ..

Agentic AI/AI_AGENT 2026.08.25

XI. Agent의 핵심 부품을 여러 파일로 나누어 실제 프로젝트 구조 만들기

# 1. tools.py 파일와 main.py 파일: main.py에서 tools 사용하기 # 파일1: tools.py def calculator(expr): return eval(expr) def word_count(text): return len(text.split()) REGISTRY = {"calculator":calculator, "word_count":word_count} # 파일2: main.py import tools from tools import REGISTRY, word_count print(tools.calculator("8*5")) print(word_count("에이전트는 루프입니다")) p..

Agentic AI/AI_AGENT 2026.08.24