RAG(Retrieval-Augmented Generation)는 LLM이 답변을 만들 때, 모델 내부 지식만으로 추측하지 않고 외부 자료를 검색해서 근거를 가져온 뒤 그걸 바탕으로 생성하도록 만드는 방식이다.

LLM은 학습 데이터에만 의존하기 때문에 최신 정보나 특정 도메인 지식이 부족할 수 있는데, RAG는 외부 지식 베이스에서 관련 정보를 검색한 후, 이를 컨텍스트로 활용해 답변을 생성한다.
- 실행 흐름
- 문서 준비: PDF/위키/노션/DB 등을 텍스트로 정리
- 청킹(Chunking): 문서를 작은 덩어리로 나눔
- 인덱싱(Indexing): 각 덩어리를 검색 가능하게 저장
- 질문 입력
- 검색(Retrieval): 질문과 가까운 덩어리들을 가져옴(Top-K)
- 생성(Generation): 가져온 근거를 컨텍스트로 넣고 답변 생성
RAG를 사용하면 최신 정보를 활용할 수 있고 환각을 줄일 수 있다. 그러나 검색이 잘못되면 잘못된 답변을 반환하고 청킹 방식/검색 품질/문서 품질에 성능이 크게 좌우된다.

Repo RAG는 코드 저장소(repository)에 특화된 RAG이다. GitHub 저장소나 코드베이스 전체를 지식 베이스로 활용해, 코드 이해, 버그 수정, 기능 추가 등을 지원한다.
일반적인 RAG와 다른 점은 코드는 문서보다 구조가 엄격하고(문법/스코프/의존성 등) 파일간 참조가 많으며 정확한 위치(파일 라인,경로)가 중요하다.
Repo RAG에서는 코드를 무작정 일정 길이로 잘라 저장하기보다는 함수·클래스 단위로 나누거나, 언어의 구조(AST)를 활용해 의미 단위로 청킹하는 방식이 자주 쓰인다. 또한 검색 결과를 단순히 “비슷한 텍스트”로만 가져오는 것이 아니라, 파일 경로와 라인 범위, 심볼 이름 같은 메타데이터를 함께 제공해서 LLM이 근거를 더 정확히 인용하고 추론할 수 있도록 돕는다.
요약하면
Repo RAG는 “레포지토리 내부 지식에 근거한 답변”을 목표로 하는 RAG의 한 형태라고 이해하면 된다.

LangChain 은 LLM 앱을 만들 때 자주 필요한 구성요소들을 모듈처럼 제공하는 프레임워크이다.
LLM을 실무에서 쓰다 보면 단순히 프롬프트를 한 번 보내고 답변을 받는 걸로 끝나지 않는 경우가 많다. 질문을 정리하고, 관련 문서를 검색해 컨텍스트를 구성하고, 여러 단계의 처리를 거쳐 최종 출력 형식을 맞추며, 필요하면 외부 도구나 API를 호출하고, 실행 결과를 다시 LLM 입력으로 연결하는 과정이 계속 발생한다.
LangChain은 이런 흐름을 만들기 위해 프롬프트 템플릿, 체인(단계 연결), 리트리버(검색 연결), 도구 호출, 에이전트(상황에 따라 도구를 선택하는 실행 방식) 같은 개념을 제공한다.

LangGraph는 이름 그대로 LLM 워크플로를 그래프 구조로 설계하고 실행하는 데 초점을 둔 도구다.

LangChain이 체인 형태로 단계를 연결하는 방식에 강점이 있다면, LangGraph는 분기와 반복, 조건부 흐름, 상태 관리처럼 더 복잡한 제어가 필요한 상황에서 특히 유용하다.
LangGraph는 각 작업을 노드로 두고, 작업 사이의 이동을 엣지로 연결하며, 중간 데이터를 상태(state)로 관리하는 방식으로 이런 복잡한 흐름을 구조화한다. 결과적으로 LangGraph는 LLM 기반 시스템을 “그때그때 이어 붙인 호출의 묶음”이 아니라, 추적 가능하고 재현 가능한 워크플로로 설계하도록 돕는 도구라고 볼 수 있다.
LLM을 사용할 때 그냥 사용하면 토큰 이슈도 있고 환각 문제도 있고 하다 보니 다양한 사용 방법들이 나온다. 그리고 LangChain같은 프레임워크도 생기고... 요즘은 OpenClaw라고 오픈소스 개인 AI 비서(에이전트) 플랫폼이 뜨고 있다

기존 LLM API 키 넣어서 쓰는건 똑같은데 사용자가 자신의 기기(노트북/서버 등)에서 실행하고, Discord·Slack·Telegram 같은 메신저에서 대화하듯 명령을 내리면 메일 정리, 일정 처리 같은 작업을 대신 수행하도록 설계된 자율 실행형 보조 도구이다.
이런 형태의 도구는 권한(메일/브라우저/파일/계정 등)을 깊게 연결할수록 편리해지는 대신, 보안·프라이버시 위험이 커질 수 있다는 경고도 나오긴한다. 사용해보면 자동으로 내 파일을 삭제하거 계정 정보가 노출되거나 하는 위헙이 존재하긴 한다... 기존 agent처럼 동작할때 사전 허락을 안받으니까
안전하게 사용하고 싶다면 독립적인 환경에서 설치해서 사용하면 될 것 같다(도커 추천)
LLM에 대해 진짜 공부해야 될 것 같은데 기존의 내용을 따라잡지도 못했는데 새로운게 너무 빨리 그리고 너무 많이 나온다...
