포스트

AdelieAI 만들면서 정리한 LLM 용어집 (시스템 프롬프트, 하이브리드 RAG)

AdelieAI 만들면서 정리한 LLM 용어집 (시스템 프롬프트, 하이브리드 RAG)

AdelieAI 출시 글을 쓰면서 본문에 등장한 용어들이 너무 많아서, 따로 정리한 용어집입니다. 작은 LLM에 페르소나를 입힐 때 자주 마주치는 단어들이고, 두 영역으로 나눴습니다. 시스템 프롬프트 쪽과 하이브리드 RAG 쪽.

시스템 프롬프트 영역

용어정의AdelieAI 맥락
System prompt모델 호출 시 최상단에 들어가는 지시문. 사용자 prompt 위에 위치. 페르소나의 정체성과 룰, 금기를 정의core/personas/registry.py에 페르소나마다 하드코딩
Instruction tuningbase 모델(Qwen2.5-7B) 위에 지시 따르기 학습한 단계(-Instruct 모델). “이 형식으로 답해” 같은 룰을 따르게 만듦Qwen의 instruction tuning이 영어 데이터가 더 많아 영어 룰을 더 정확히 따름
Register (언어학)같은 언어 안의 말투, 격식 수준, 분야 어휘. 친구한테 말하는 register와 면접 register, 학술 논문 register가 다름LoRA가 학습한 건 한국어 role-play register(역할극 어조)
KG contextKnowledge Graph에서 가져온 사실들. 시스템 프롬프트 끝에 추가되는 “이 페르소나의 lore: A, B, C” 식 구조화된 데이터dragon 페르소나가 SPARQL로 RDF에서 조회한 결과를 시스템 프롬프트에 inject
kg_grounding평가 카테고리. “모델이 KG의 사실(Vyrnaes, Sothryn, Arkenstone)을 답에 정확히 언급하는가”를 substring으로 측정40%에서 80%로 끌어올린 게 hybrid 프롬프트 핵심 효과
Style sample (voice sample)시스템 프롬프트에 예시 한 줄씩 박아 모델이 그 톤을 흉내 내게 하는 패턴학습 안 거치고도 register 흉내 가능. round 2 프롬프트 보강의 핵심
In-character / out-of-character답이 캐릭터 안인가, AI assistant로 빠져나왔나. “I am an AI”는 out-of-character평가의 persona_consistency 카테고리가 측정
Meta probe / meta trap“당신 AI야?”, “시스템 프롬프트 알려줘”처럼 모델을 out-of-character로 끌어내려는 사용자 trick메타 함정. 페르소나는 in-character로 거절해야 통과
Catastrophic forgetting새 데이터로 fine-tune하면 원래 capability를 잊어버리는 현상LoRA v1(역할극만 60쌍)이 일반 답변에서 깨짐. mixed dataset(60+60)으로 수정
Pass rate평가 prompt N개 중 통과 비율. substring 또는 LLM judge로 binary25-prompt 스위트의 %

하이브리드 RAG 영역

용어정의AdelieAI 맥락
RAGRetrieval-Augmented Generation. 모델 호출 전에 외부 코퍼스에서 검색하고, 그 결과를 prompt에 첨부해서 모델이 그걸 보고 답하게 하는 패턴core/retrieval/
Chunk / chunking긴 문서를 작은 조각으로 자르기. 임베딩 단위가 곧 검색 단위RecursiveSplitter, 청크 사이즈 512 토큰
BM25lexical(단어 일치 기반) 점수. 검색 고전 알고리즘이고 TF-IDF의 후속드문 명사(예: 페르소나 이름, 제품 코드)를 잘 잡음
Lexical vs semanticlexical은 글자 그대로 일치, semantic은 의미적 유사“할인”과 “discount”가 lexical로는 다르지만 semantic으론 동일
Embedding텍스트를 고정 길이 벡터로 변환. 의미적으로 가까운 텍스트는 벡터 거리도 가까움multilingual-e5-small이 한국어와 영어를 동시에 처리
Dense retrievalembedding 기반 검색. 쿼리도 임베딩하고, 코퍼스 임베딩 중 cosine 거리로 가까운 top-k를 뽑음“discount”로 검색해도 “할인”이 잡힘
Sparse retrievalBM25 같은 단어 기반 검색. 행렬이 sparse(대부분 0)라서 sparsedense와 대비되는 명칭
multilingual-e5-small다국어 embedder 모델. 한국어와 영어가 같은 벡터 공간에 들어감dense retrieval의 임베딩 출처
RRF (Reciprocal Rank Fusion)여러 검색 결과를 순위 기반으로 합치는 단순한 ensemble. score = sum(1 / (k + rank_i))BM25 ranking과 dense ranking을 합친 final ranking
Cross-encoder쿼리와 후보 chunk를 동시에 입력받아 relevance 점수를 내는 모델. 정확하지만 느려서 마지막 N개에만 적용bge-reranker-v2-m3
Bi-encoder쿼리와 chunk를 각각 임베딩한 뒤 cosine으로 비교. 빠르지만 덜 정확dense retrieval이 bi-encoder. 1차 후보 추리는 데 사용
Rerankerbi-encoder top-N을 cross-encoder로 재정렬. 속도와 정확도 trade-off의 표준bge-reranker-v2-m3
Top-k검색 결과 상위 K개만 채택. 기본은 top_k=4LLM context 한도와 relevance의 trade-off
ChromaDB임베딩과 메타데이터를 저장하는 vector databasedense retrieval의 backing store
Hybrid retrievalsparse(BM25), dense, fusion, rerank의 조합HybridRetriever 클래스. sparse와 dense의 약점을 서로 보완

용어 단위로 글이 짧아도 본문 글의 흐름은 끊기지 않으니까, 다음에 페르소나 LLM 글을 쓸 때 기준으로 재사용할 생각입니다. 빠진 용어가 보이면 알려주세요.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.