본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 10. 08:26

Cognito-LangGraph-RAG-Chatbot 프로젝트

요약

LangGraph를 활용하여 환각 현상을 최소화하고 답변 정확도를 높인 고급 RAG 워크플로우 기반 챗봇 프로젝트입니다. 문서 검색, 관련성 평가, 웹 검색 폴백 및 자기 성찰 메커니즘을 포함하는 상태 유지형 다단계 프로세스를 구축했습니다.

핵심 포인트

  • LangGraph 기반의 상태 유지형 다단계 RAG 워크플로우 설계
  • 자기 성찰(Self-reflection) 메커니즘을 통한 LLM 환각 현상 감소
  • ChromaDB와 Tavily Search를 활용한 효율적인 정보 검색 및 검증
  • 에이전틱 AI 설계를 통한 동적 의사결정 및 적응력 강화
  • LangGraph를 활용하여 질문 답변 정확도를 높이는 고급 RAG (Retrieval-Augmented Generation) 워크플로우를 개발하였으며, 이를 통해 대규모 언어 모델 (LLM)의 환각 (Hallucination) 현상을 크게 감소시켰습니다.

  • LangGraph를 사용하여 문서 검색 (Document Retrieval), 관련성 등급 매기기 (Relevance Grading), 웹 검색 폴백 (Web Search Fallback)을 포함하는 상태 유지형 (Stateful) 다단계 프로세스를 설계하였으며, 이는 정보 검색 능력과 사용자 만족도 향상으로 이어졌습니다.

  • 대규모 언어 모델 (LLMs)을 그래프 데이터베이스 및 새로운 자기 성찰 (Self-reflection) 워크플로우와 통합하여 정보를 효율적으로 저장, 검색 및 검증함으로써, 복잡한 사용자 질의에 대해 정확하고 관련성 있는 답변을 제공하는 챗봇의 능력을 강화했습니다.

  • 챗봇 내에 자기 성찰 (Self-reflection) 메커니즘을 구현하여 응답을 반복적으로 개선함으로써, 생성된 답변이 제공된 문서에 근거하도록 보장하고, 이를 통해 환각을 최소화하고 사용자 신뢰를 높였습니다.

  • 효율적인 벡터 저장 및 검색을 위해 ChromaDB를 활용한 풀스택 솔루션을 구현하였으며, LangChain과의 원활한 통합과 dotenv를 통한 환경 설정의 안전한 처리를 보장하여 정보 검색 중 지연 시간 (Latency)을 30% 감소시켰습니다.

  • LangChain, LangGraph 및 외부 웹 검색 API (Tavily Search)를 포함하는 포괄적인 LLM 기술 스택을 설계하고 미세 조정(Fine-tuning)하였으며, 전략적 강화학습 (Reinforcement Learning) 및 검색 증강을 통해 LLM 환각 문제를 완화할 수 있는 탄력적인 AI 시스템을 구축했습니다.

  • 질문 답변 정확도를 높이고 LLM 환각을 완화하기 위해 검색 증강 생성 (RAG) 워크플로우를 활용한 고급 챗봇 개발을 주도했습니다.

  • LangGraph를 활용하여 문서 검색, 관련성 등급 매기기 및 웹 검색 폴백을 아우르는 상태 유지형 다단계 프로세스를 구축하여 더욱 견고하고 정확한 챗봇을 구현했습니다.

  • 에이전틱 AI (Agentic AI): 챗봇 내에서 동적인 의사결정이 가능한 자율 에이전트를 설계하여 다양한 사용자 질의에 대한 적응력을 높였습니다.

    1. 프로젝트 목적 (Purpose of Project)
    1. 입력 및 출력 (Input and Output)
    1. LLM 기술 스택 (LLM Technology Stack)
    1. 도전 과제 및 어려움 (Challenges and Difficulties)
    1. 향후 비즈니스 영향 및 추가 개선 사항 (Future Business Impact and Further Improvements)
    1. 대상 독자 및 이점 (Target Audience and Benefits)
    1. 장점, 단점 및 트레이드오프 (Advantages, Disadvantages and Tradeoffs)
    1. 설정 (Setup)
    1. 코드 설명 (Code Explanation)
    1. 작동 방식 (How it Works)
    1. 핵심 기능 (Crucial Functions)
    1. 향후 개선 사항 (Future Improvements)
    1. 요약 (Summary)
  • 감사 인사 (Acknowledgements)

이 프로젝트는 질문 답변의 정확도를 높이고 LLM의 환각 (Hallucination) 현상을 줄이기 위해 고도화된 검색 증강 생성 (Retrieval Augmented Generation, RAG) 워크플로우 챗봇을 구현합니다. 이 프로젝트는 LangGraph를 활용하여 문서 검색, 관련성 평가 (Relevance Grading), 웹 검색 폴백 (Web Search Fallback)을 포함하는 상태 유지형 (Stateful) 다단계 프로세스를 생성합니다. 본 프로젝트의 목표는 제공된 문서를 기반으로 사용자의 질문에 답할 수 있는 문서화 봇 (Documentation Bot)을 만드는 것입니다. 대규모 언어 모델 (Large Language Models, LLMs), 그래프 데이터베이스, 그리고 새로운 자기 성찰 (Self-reflection) 워크플로우를 활용하여 정보를 효율적으로 저장, 검색 및 검증합니다.

초록 (Abstract): 이 프로젝트의 주요 목표는 문서를 확인하고 이해하는 과정을 간소화하는 것입니다. LLM, 그래프 데이터베이스 및 자기 성찰 워크플로우를 활용함으로써, 봇은 사용자의 질의가 복잡하거나 원본 문서와 다르게 표현되더라도 정확하고 관련성 있는 답변을 제공할 수 있습니다. 또한 봇은 환각 (Hallucination)을 최소화하고 생성된 답변이 제공된 문서에 근거하도록 보장하는 것을 목표로 합니다.

입력 (Input): 사용자의 자연어 질문.

  • URL 목록
urls = [
"https://lilianweng.github.io/posts/2024-11-28-reward-hacking/",
"https://lilianweng.github.io/posts/2024-07-07-hallucination/",
...
  • 질문 1:

what is agent memory? (에이전트 메모리란 무엇인가요?)

출력 (Output): 검색된 문서 및/또는 웹 검색 결과로 보강되어 LLM에 의해 생성된 일관성 있고 문맥적으로 관련 있는 응답.

Hello Advanced RAG!
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
...

LangSmith 트레이스 (trace): https://smith.langchain.com/public/436a9f0e-f390-468a-bb0b-eaa9df0e08ce/r

출력(Output):

웹 검색(Web Search):

true

생성(Generation):

에이전트 메모리(Agent memory)는 인공지능(AI)에서 매우 중요한 구성 요소로, AI 모델이 모든 쿼리를 새로운 대화로 취급하는 대신 상호작용 전반에 걸쳐 정보를 유지할 수 있게 해줍니다. 이는 에이전트가 더 나은 계획을 세울 수 있도록 돕고, 정보를 저장하고 회상하는 데 사용됩니다. 에이전트는 상태 유지(stateful) 특성을 가지며, 이 메모리를 사용하여 이전 상호작용을 저장하고 이후의 호출(calls)에서 이를 사용합니다.

문서(Documents):

일반적으로 에이전트를 위한 메모리는 LLM에 전달되는 프롬프트(prompt) 내의 컨텍스트(context)를 통해 제공되는 것이며, 이는 에이전트가 더 나은 계획을 세울 수 있도록 돕습니다. AI에서의 에이전트 메모리 이해: 유형, 사용 사례 및 구현 | 작성자: Siladitya Ghosh | 2025년 2월 | Medium | AI에서의 에이전트 메모리 이해: 유형, 사용 사례 및 구현. 비밀은 에이전트 메모리에 있습니다. 이는 AI가 상호작용 전반에 걸쳐 정보를 저장하고 회상할 수 있게 해주는 핵심 구성 요소입니다. 에이전트 메모리란 무엇이며 왜 필수적인가, AI 에이전트에 사용되는 다양한 메모리 유형, AI 시스템에서 메모리의 실제 사용 사례. 이 글을 마칠 때쯤이면, 여러분은 AI 에이전트가 메모리를 어떻게 사용하는지, 그리고 자신의 프로젝트에 어떻게 구현하는지에 대해 확고한 이해를 갖게 될 것입니다. 에이전트 메모리란 무엇인가? 에이전트 메모리는 AI 모델이 모든 쿼리를 새로운 대화로 취급하는 대신 상호작용 전반에 걸쳐 정보를 유지할 수 있게 합니다. 에이전트 메모리의 유형. AGI를 향하여: [파트 1] 메모리를 가진 에이전트 - SuperAGI | AGI를 향하여: [파트 1] 메모리를 가진 에이전트. 에이전트는 대규모 언어 모델(LLMs)을 사용하여 세상과 상호작용하는 신흥 인공지능(AI) 시스템 클래스입니다. 그러나 에이전트는 이전 상호작용을 변수(variables)에 저장하고 이를 이후의 LLM 호출에서 사용합니다. 따라서 에이전트는 상태 유지(stateful)이며 메모리를 가집니다. 다양한 유형의 에이전트 메모리 심층 분석. 장기 메모리(LTM) 유형 2: 의미론적 메모리(Semantic memory, 일명 Reflections): 에이전트의 세상과 자신에 대한 지식을 저장합니다. 장기 메모리(LTM) 유형 3: 절차적 메모리(Procedural memory): 이 메모리는 사고, 행동, 의사 결정 등을 위한 에이전트의 절차를 나타냅니다.

완전 자동화된 영업, 마케팅, 지원 및 앱 개발을 위한 AI 에이전트 시스템(AI Agent Systems). 지금 등록하세요: https://bit.ly/3YwWJeR. LLM을 운영체제(Operating Systems)로 사용하여 애플리케이션에 에이전트 메모리(Agentic memory)를 구축하세요: Agent Memory, 단기 과정. 에이전트를 위한 메모리. 에이전트를 위한 메모리. 지난 3월 Sequoia의 AI Ascent 컨퍼런스에서 저는 에이전트의 세 가지 한계점인 계획(Planning), UX, 그리고 메모리(Memory)에 대해 이야기했습니다. 그런데 메모리란 정확히 무엇일까요? 에이전트가 가진 메모리의 정확한 형태는 애플리케이션마다 다를 수 있지만, 우리는 서로 다른 고수준의 메모리 유형을 확인하고 있습니다. 아래는 각 유형에 대한 저의 대략적인 ELI5(다섯 살 아이에게 설명하듯 쉬운) 설명과 오늘날의 에이전트들이 이 메모리 유형을 사용하고 업데이트할 수 있는 실질적인 방법입니다. 에이전트에서 어떤 유형의 메모리를 업데이트할지 생각하는 것 외에도, 개발자들은 에이전트 메모리를 어떻게 업데이트할지에 대해서도 고민하고 있습니다. 에이전트 메모리를 업데이트하는 한 가지 방법은 "핫 패스(in the hot path)" 내에서 수행하는 것입니다. 왜 우리는 에이전트를 위한 메모리에 관심을 가져야 할까요?

질문 2:

DeepSeek 아키텍처에서 GRPO와 MoE는 무엇인가요?

출력:

Hello Advanced RAG!
%%{init: {'flowchart': {'curve': 'linear'}}}%%
graph TD;
...

LangSmith 트레이스(trace): https://smith.langchain.com/public/46a28e4e-c7ed-494b-8cfd-14ea7b6d3fe6/r

출력:

  • 생성:
    Group Relative Policy Optimization (GRPO)는 대규모 언어 모델(LLM)의 추론 능력을 향상시키기 위해 DeepSeek가 개발한 강화학습 (Reinforcement Learning) 기술입니다. 이는 학습된 정책(Policy)과 참조 정책(Reference policy) 사이의 KL 발산(KL divergence)을 목적 함수(Objective function)에 직접 추가함으로써 정규화(Regularize)를 수행합니다. MoE (Mixture of Experts)는 DeepSeek-R1 아키텍처에서 창발적 추론(Emergent reasoning)을 담당하지 않습니다. 이는 DeepSeek-R1-Distill-Qwen-32B 모델이 MoE를 사용하지 않는 완전 밀집(Fully dense) 모델임에도 불구하고 DeepSeek-R1의 모든 추론 능력을 유지하고 있다는 사실을 통해 입증됩니다.

  • 문서:
    “우리는 RL (강화학습) 과정 동안 모델의 자연스러운 발전을 정확하게 관찰할 수 있도록, 성찰적 추론 (Reflective reasoning)을 강제하거나 특정 문제 해결 전략을 장려하는 것과 같은 콘텐츠 특화된 편향을 피하기 위해 의도적으로 이러한 구조적 형식으로 제약 사항을 제한합니다.” — DeepSeek-R1-Zero/R1 기술 보고서. GRPO (Group Relative Policy Optimization)는 대규모 언어 모델 (LLMs)의 추론 능력을 향상시키기 위해 DeepSeek가 개발한 강화학습 (RL) 기술입니다. “보상에 KL 페널티 (KL penalty)를 추가하는 대신, GRPO는 학습된 정책 (Policy)과 참조 정책 (Reference policy) 사이의 KL 발산 (KL divergence)을 목적 함수 (Objective function)에 직접 추가함으로써 정규화하며, 이를 통해 $A_i$의 계산을 복잡하게 만드는 것을 방지합니다.” — DeepSeekMath. “GRPO가 어드밴티지 (Advantages)를 계산하기 위해 활용하는 그룹 상대적 (Group relative) 방식은 보상 모델 (Reward models)의 비교적 특성과 잘 부합하는데, 이는 보상 모델이 일반적으로 동일한 질문에 대한 출력값들 간의 비교 데이터셋을 통해 학습되기 때문입니다.” — DeepSeekMath. GRPO 알고리즘은 최신 DeepSeek R1 아키텍처의 핵심입니다. 이 튜토리얼에서는 수식의 세부 사항에 대해 논의할 것입니다. DeepSeek-R1-Distill-Qwen-32B는 MoE (Mixture of Experts) 모델이 아님에도 불구하고 DeepSeek-R1의 모든 추론 특성을 유지하고 있습니다. 만약 MoE가 DeepSeek-R1의 창발적 추론 (Emergent reasoning)에 필수적이었다면, 모델을 완전 밀집 (Fully dense) 아키텍처로 증류 (Distilling)했을 때 깊고 구조화된 추론을 수행하는 능력은 사라졌어야 합니다. DeepSeek-R1-Distill-Qwen-32B는 MoE가 없음에도 추론 능력을 유지하고 있으므로, 이는 MoE가 창발적 추론의 원인이 아니라는 직접적인 실증적 증거입니다. DeepSeek-R1의 추론 능력에 MoE가 필요하다는 주장에 대한 가장 강력한 실증적 반박은, 완전 밀집 모델임에도 불구하고 DeepSeek-R1의 모든 추론 능력을 유지하고 있는 DeepSeek-R1-Distill-Qwen-32B의 본질 그 자체에 있습니다.

이는 DeepSeek-R1의 창발적 추론 (emergent reasoning) 행동이 모델 구조에 구애받지 않으며, 아키텍처의 희소성 (architectural sparsity)이나 전문가 게이팅 (expert gating)이 아닌, 순수하게 강화학습 (reinforcement learning), 구조적 최적화 (structured optimization), 그리고 사고 사슬 (Chain-of-Thought) 학습에서 비롯된다는 결정적인 증거입니다. 강화학습 기반의 추론 모델인 DeepSeek R1의 획기적인 발전을 살펴보십시오. 지도 미세 조정 (supervised fine-tuning)에 크게 의존하는 전통적인 모델과 달리, DeepSeek R1은 추론 능력을 개발하기 위해 강화학습 전용 (RL-only) 접근 방식을 채택합니다. DeepSeek-R1은 PPO 대신 GRPO를 사용하여 학습되었는데, 이는 비평가 네트워크 (critic network)를 필요로 하지 않고도 대규모 언어 모델에 대한 강화학습을 가능하게 했기 때문입니다. DeepSeek V3의 진화 과정을 학습함으로써, DeepSeek R1은 강화학습 기반 추론의 한계를 넓힐 수 있었으며, 계산 효율성을 유지하면서도 복잡한 문제 해결 과제에서 최첨단 (state-of-the-art) 성능을 달성했습니다. DeepSeek R1은 강화학습 기반 추론 모델의 패러다임 전환을 나타내며, 지도 미세 조정 없이도 논리적 자기 개선 (logical self-improvement)이 나타날 수 있음을 증명합니다. 그들은 이 데이터를 사용하여 일련의 고품질 사고 (high quality thoughts) 데이터로 DeepSeek-V3-Base를 학습시켰으며, 그 후 모델을 또 다른 단계의 강화학습에 통과시켰습니다. 이는 DeepSeek-r1-zero를 생성했을 때와 유사하지만 더 많은 데이터를 사용했습니다 (전체 학습 파이프라인의 세부 사항은 나중에 다루겠습니다). 그들은 이러한 특수 토큰 (special tokens)이 포함된 DeepSeek-V3-Base를 가져와 GRPO 방식의 강화학습을 사용하여 프로그래밍 과제, 수학 과제, 과학 과제, 그리고 정답 여부를 알기는 비교적 쉽지만 일정 수준의 추론이 필요한 기타 과제들에 대해 모델을 학습시켰습니다.

LangChain:

  • LLM, 벡터 저장소 (vector stores) 및 기타 구성 요소에 대한 추상화를 제공하여 LLM 애플리케이션을 구축하는 데 사용됩니다.
  • 체인 (chains) 및 에이전트 (agents)의 생성을 용이하게 합니다.

LangGraph:

  • LLM을 사용하여 상태 유지형 (stateful) 멀티 액터 (multi-actor) 애플리케이션을 구축하기 위한 프레임워크입니다.
  • 조건부 로직 (conditional logic) 및 상태 관리 (state management)를 포함한 복잡한 워크플로 (workflows) 생성을 가능하게 합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0