Context 엔지니어링
: LLM에 주입할 Context를 결정
- 무엇을 넣을지 (시스템 프롬프트, 장기기억, 요약대화, 최근대화 + 구조화된 출력 스키마, Tool, 스킬)
- 얼마나 넣을지
- 입력 토큰 예산을 설정
- 고정 비용: 시스템 프롬프트 + 구조화된 출력 스키마, tool, 스킬
- 남아있는 예산 내에서 : 장기기억(Topk), 요약대화(문자길이), 최근대화(몇개)를 적절한 범위내에서 가져와야함
대화 너무 길어질 때 필요하면 요약 진행
컨텍스트 엔지니어링 시 미들웨어 활용
왜? 미들웨어 활용??
요약노드, 장기기억 불러오는 노드 → 노드로 만들면 안 좋은 점
- LLM 답변이 여러 번 있을 경우 노드를 중복해서 만들 수 있기 때문에
- LLM의 hook을 이용해서 요약 및 장기기억, 메시지 트리밍
Agentic RAG
: RAG 과정에 판단, 분기, 재검색, 검증, 수정 같은 에이전트 행동을 넣는 방식
-
CRAG
- 핵심: 검색 결과를 평가하고 보정
- 대표 흐름
- 질문 → 검색 → 검색 결과 평가 → 필요 시 재검색/보정 → 답변
- 문서 평가 기준, 재검색 방법, 웹검색 사용 여부 등은 자유롭게 설계
-
Self-RAG
- 핵심: LLM이 스스로 검색 필요성·근거·답변 품질을 판단
- 대표 흐름
- 질문 → 검색 필요 판단 → 검색 → 답변 생성 → 근거/답변 평가 → 필요 시 수정
- 어떤 단계에서 판단할지, 몇 번 반복할지 등은 자유롭게 설계