/
https://42jerrykim.github.io/ _index.md
역색인 자료구조부터 단어 빈도의 한계를 보정하는 TF-IDF, 오랫동안 사실상 표준이었던 BM25, 그리고 MRR·Precision·Recall 같은 검색 평가 지표까지 신경망 이전 정보검색의 핵심을 자세히 정리합니다. 희소 벡터 대신 신경망 임베딩으로 검색하는 Dense Retrieval을 다룹니다. Bi-encoder와 Cross-encoder의 정확도-속도 트레이드오프, DPR의 대조 학습, Re-ranking 2단계 구조를 원 논문과 함께 정리합니다. 검색과 생성을 잇는 Retriever-Reader 구조를 Lewis et al. 원 논문과 LlamaIndex 실습으로 다룹니다. Chunk Size 트레이드오프, 불확실성 기반 검색 트리거까지 RAG 파이프라인 설계의 실전 포인트를 정리합니다. 차원의 저주 때문에 정확한 최근접 이웃 탐색이 고차원에서 왜 어려워지는지부터, 해시 기반 LSH와 HNSW 같은 그래프 인덱스로 근사 검색을 빠르게 만드는 방법, CLIP을 이용한 멀티모달 검색까지 자세히 다룹니다. 문서 대신 지식그래프를 검색 대상으로 삼는 GraphRAG의 색인-검색-생성 3단계 파이프라인을 다룹니다. Retriever의 종류, CRAG 벤치마크 평가 방식, 그리고 고정된 질의 생성이 실습에서 드러낸 한계와 에이전틱 전환까지 정리합니다. N×M 통합 문제를 표준 프로토콜로 푸는 MCP(Model Context Protocol)의 구조를 다룹니다. Resources·Tools·Prompts 3요소, FastMCP 서버와 LlamaIndex 클라이언트로 구현하는 Text2SQL, 그리고 에이전틱 워크플로우의 실전 한계까지 정리합니다. 02장에서 재정렬(re-ranking)용으로 소개한 Cross-Encoder를 직접 학습시키는 방법을 다룹니다. In-batch Negative와 Hard Negative 구성, InfoNCE Loss의 수식, 전체 학습 파이프라인을 원 논문과 함께 정리합니다. 시리즈 D의 마지막 챕터입니다. Redux의 Action과 Reducer는 결국 JavaScript의 객체와 함수일 뿐입니다. var/let/const의 스코프 차이, 함수 선언 방식, 객체·배열 기본 조작을 Redux 코드를 읽는 데 필요한 만큼 정리합니다. Redux 리듀서 코드의 대부분은 구조 분해와 스프레드 연산자로 이루어져 있습니다. 원본을 바꾸지 않고 새 객체·배열을 만드는 이 두 문법을 정확히 익히면 08편의 불변성 원칙이 훨씬 쉬워지는 이유를 코드 예제로 다룹니다. Redux의 selector와 리듀서는 map/filter/reduce 같은 고차 함수로 상태를 조회·변환합니다. 원본을 바꾸지 않는 배열·객체 메서드와 바꾸는 메서드를 명확히 구분해 불변성을 지키는 습관을 코드로 다룹니다.