1 of 12

Daeun Kim

M.S. Student

dekim@seoultech.ac.kr

지식과 메모리

AI Agent Study

2 of 12

2/11

Contents

  1. 지식과 메모리
  2. Context window
  3. 전체 텍스트 검색
  4. 시맨틱 메모리 & 벡터 스토어
  5. RAG
  6. 그래프 RAG
  7. 실습

3 of 12

3/11

지식과 메모리

    • 지식 (Knowledge)
      • 도메인 특화 콘텐츠를 가져와 에이전트가 즉각적인 대화를 넘어 검증 가능한 정보를 알도록 만듦
      • 가중치와 편향에 저장된 정보를 보완함

    • 메모리 (Memory)
      • 지식이 저장되는 장소
      • ‘과거 상호작용을 ‘기억’하고 이를 활용해 앞으로의 의사결정을 내릴 수 있음

4 of 12

4/11

Context window

    • Context window
      • 가장 단순한 메모리 접근법
      • 한 번의 호출에서 파운데이션 모델에 입력으로 전달되는 정보

    • Rolling Context window
      • context window가 가득 차면 가장 오래된 context가 제거되고 가장 최근의 context로 대체되는 선입선출 (First-In, First-Out) 방식
      • 장점: 구현이 쉽고 복잡도가 낮음
      • 단점: 상호작용이 길어져 context에서 밀려나면, 정보가 사라짐

5 of 12

5/11

전체 텍스트 검색

    • 전체 텍스트 검색 (full-text search)
      • 대규모 검색 및 검색 증강 시스템의 기반을 이루며 파운데이션 모델을 사용하는 에이전트에 과거 context를 주입하는 접근법
      • 작동 방식

  • 토크나이징, 정규화, 불용어 제거
  • 각 용어를 메시지 chunk에 매핑함

역색인 구축

  • 용어 빈도, 역문서 빈도, 문서 길이 정규화에 따라 가중화
  • 상위 K개 후보 구절 목록을 점수 순으로 정렬해 제공

BM25 scoring

  • 상위 결과를 잘라 내거나 요약한 뒤 파운데이션 모델 prompt에 주입

prompt 주입

모델이 context 길이를 소진하지 않고도 가장 관련성 높은 과거 context를 확인 가능

but, 키워드 중심의 접근 방식이어서 의미 기반 유사도는 놓침 → 시맨틱 메모리 필요

6 of 12

6/11

시맨틱 메모리 & 벡터 스토어

    • 시맨틱 메모리
      • 지식, 개념, 과거 경험을 저장하고 검색하는 장기 메모리의 한 유형
      • 의미적으로 비슷한 단어들을 벡터 공간상에서 가깝게 배치하는 임베딩 기법을 사용하여 단어와 구의 ‘의미’에 초점을 맞춤
      • 구현 방법: 벡터 스토어 사용

  • 대규모 텍스트 코퍼스에서의 사용 맥락을 바탕으로 단어의 의미를 포착한 벡터 표현

임베딩

  • VecorDB, FAISS, Annoy 등이 있음
  • 쿼리 임베딩과 시맨틱하게 비슷한 임베딩을 빠르게 찾아낼 수 있음

벡터 스토어

  • 벡터 스토어에서 가장 관련성이 높음 임베딩들을 찾아서 가져옴

유사도 검색

에이전트는 저장된 시맨틱 메모리에 접근해 정보에 기반한 context에 맞는 응답 제공

7 of 12

7/11

RAG (Retrieval-Augmented Generation)

    • RAG
      • 검색 기반 기법을 파운데이션 모델과 통합
      • 인덱싱: 문서 → 작은 chunk로 분할 → 인코더 모델로 임베딩함 → 벡터 데이터베이스에 저장
      • 검색 단계: 벡터 데이터베이스를 조회해 가장 관련성이 높은 정보를 검색함
      • 생성 단계: 검색된 정보는 원래 사용자 질문과 결합되어 생성 모델에 전달되어 최종 응답을 생성함

https://learnmycourse.medium.com/retrieval-augmented-generation-rag-process-using-an-llm-339430ff0a05

8 of 12

8/11

그래프 RAG

    • RAG의 문제점
      • 답이 여러 문서에 흩어져 있는 정보를 연결해야 할 때
      • 쿼리가 데이터셋 전체에 걸친 상위 수준의 의미론적 주제를 요약하기를 요구할 때
      • 데이터셋이 크고 정리가 덜 되었거나 개별적인 사실이 아니라 서사형 구조로 구성되어 있을 때

    • 그래프 RAG
      • 데이터셋으로부터 엔티티와 관계로 구성된 지식 그래프를 구축하여 멀티홉 추론, 관계 체이닝, 구조화된 요약이 가능
      • 구성 요소
        • 지식 그래프: 데이터를 그래프 형식으로 저장하여 엔티티(노드)와 이들의 관계(엣지)가 정의됨
        • 검색 시스템: 입력 쿼리나 context와 가장 관련성이 높은 서브 그래프나 노드 클러스터를 추출함
        • 생성 모델: 그래프 형태로 검색된 데이터를 기반으로 정보를 종합해 응답을 생성 함

9 of 12

9/11

그래프 RAG

    • 지식 그래프 구축
      1. 데이터 수집: 데이터베이스, 텍스트 문서, 웹사이트 등 다양한 소스에서 수집 가능
      2. 데이터 전처리: 관련성 없거나 중복된 정보를 제거, 오류 수정, 데이터 형식을 표준화하는 작업
      3. 엔티티 인식 및 추출: 노드 역할을 하게 될 핵심 요소(엔티티)를 식별하는 단계
      4. 관계 추출: 데이터를 파싱해 엔티티를 연결하는 관계어를 추출하고 이를 그래프의 엣지로 구성
      5. 온톨로지 설계: 엔티티 유형과 이들 사이에 가능한 관계 유형을 포괄하는 스키마를 정의
      6. 그래프 채우기: 온톨로지 구조에 따라 그래프 데이터베이스에 노드와 엣지를 생성
      7. 통합 및 검증: 그래프가 실제 지식 도메인을 정확하게 반영하는지 확인하고 사용자 테스트를 통해 검증
      8. 유지보수와 업데이트: 최신 상태를 유지하기 위해 정기적인 업데이트와 유지보수가 필요

10 of 12

10/11

실습: 간단한 RAG 구현 및 테스트

    • 문서 기반 질문과 답변에서 RAG의 retrieval과 grounded generation이 연결되는지 확인
      • 주어진 질문에 맞는 정답 문서를 검색하는지
      • 생성된 답변retrieved context 안에 존재하는지
      • Retriever: lexical overlap 기반 scoring, title match에 가중치 부여, top-3 contexts 선택

Question

Dataset

SQuAD v1.1 기반 문서/질문 15 쌍

Prompt

제공된 context만 사용, 가장 짧은 답변 반환, 불가능할 경우 답변 할 수 없음 반환

Retriever

Top-3 contexts

Answer

Document

Corpus

11 of 12

11/11

실습: 간단한 RAG 구현 및 테스트

Hit@1

Hit@3

Exact Match

Grounded span rate

1.000 (15/15)

1.000 (15/15)

0.933 (14/15)

1.000 (15/15)

    • 코드
      • 외부 지식 검색�→ 검색 결과를 근거로 묶음�→ 근거와 함께 모델이 답을 생성

    • 결과
      • RAG가 질문에서 정답 문서를 검색하고, 답변이 retrieved context 안에 존재함을 확인함
      • RAG 연결 방법을 공부하고, 후에 HAI LAB 챗봇에 적용할 계획임

12 of 12

감사합니다

Daeun Kim

M.S. Student

dekim@seoultech.ac.kr