<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://blog.ruahverce.com/posts/32-microsoft-graphrag-local-global-search/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/32-cover.Clsrb5H2.svg</image:loc>
      <image:title>Microsoft GraphRAG 해부: Local·Global·DRIFT Search (2/10)</image:title>
      <image:caption>TextUnit에서 entity·relation을 추출해 Leiden community report를 만들고 entity 중심 local, corpus 중심 global, 반복 탐색 DRIFT로 routing하는 Microsoft GraphRAG 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/31-knowledge-graph-rag-foundations/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/31-cover.DjmoDbrN.svg</image:loc>
      <image:title>Knowledge Graph RAG 기초: Entity·Relation·Path (1/10)</image:title>
      <image:caption>문서 chunk에서 entity, relation, claim과 provenance를 추출해 graph와 vector index를 함께 만들고 query entity에서 관련 path와 원문 근거를 검색하는 Knowledge Graph RAG 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/36-long-context-vs-rag-hybrid/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/36-cover.vEh9Z86o.svg</image:loc>
      <image:title>Long Context vs RAG: 언제 무엇을 쓸까? (6/10)</image:title>
      <image:caption>질문의 corpus 범위, freshness, ACL, citation, cost 조건에 따라 Long Context, RAG, retrieve-then-read hybrid로 분기하는 의사결정 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/33-multihop-rag-retrieve-reason-loop/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/33-cover._SPRaWcG.svg</image:loc>
      <image:title>Multi-hop RAG: Retrieve↔Reason Loop와 Evidence Chain (3/10)</image:title>
      <image:caption>복합 질문을 subgoal로 분해하고 검색 결과의 bridge entity로 다음 query를 만든 뒤 출처가 연결된 evidence chain으로 답을 검증하는 multi-hop RAG loop</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/40-advanced-rag-evaluation-experiment-design/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/40-cover.5gAqXrrV.svg</image:loc>
      <image:title>Advanced RAG 평가: RAGAS·ARES·RAGChecker (10/10)</image:title>
      <image:caption>RAG를 retrieval, context, claim generation, trajectory, operations 층으로 나누고 deterministic·human·model judge와 실험 manifest로 release를 판정하는 평가 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/34-hierarchical-rag-raptor-hipporag/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/34-cover.D_40FP39.svg</image:loc>
      <image:title>Hierarchical RAG: Parent-Child·RAPTOR·HippoRAG (4/10)</image:title>
      <image:caption>Flat chunk, parent-child 문서 계층, RAPTOR 요약 트리, HippoRAG 연상 그래프의 검색 단위와 정보 흐름을 비교한 표지</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/35-multimodal-document-rag-colpali-visrag/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/35-cover.CLAEb3A1.svg</image:loc>
      <image:title>Multimodal Document RAG: ColPali·VisRAG (5/10)</image:title>
      <image:caption>PDF 페이지를 OCR과 layout element로 변환하는 text lane, page image를 patch vector로 검색하는 visual lane, 두 결과를 합치는 multimodal RAG</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/37-dense-retriever-training-hard-negatives/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/37-cover.BRwXtioz.svg</image:loc>
      <image:title>Dense Retriever 학습: Hard Negative·Synthetic Query (7/10)</image:title>
      <image:caption>문서에서 synthetic query와 positive pair를 만들고 BM25·ANN·teacher로 hard negative를 채굴해 bi-encoder를 학습·평가·재색인하는 retriever flywheel</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/39-learned-retrieval-policy-selfrag-flare/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/39-cover.DRR9V9nE.svg</image:loc>
      <image:title>Learned Retrieval Policy: Self-RAG·FLARE·RouteRAG (9/10)</image:title>
      <image:caption>Query와 evidence state에서 no retrieval, text·graph search, rewrite, verify, answer를 고르고 observation과 reward로 학습하는 RAG policy loop</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/38-reranker-generator-training-radit/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/38-cover.Ch3z0By6.svg</image:loc>
      <image:title>Reranker·Generator 학습: RankT5·RA-DIT (8/10)</image:title>
      <image:caption>Dense retriever 후보를 RankT5 reranker가 정렬하고 source가 연결된 context로 generator를 학습하며 LM feedback으로 retriever까지 조정하는 dual tuning 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-tistory-automation-failed/</loc>
    <lastmod>2026-04-27T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.DYDmCkIN.png</image:loc>
      <image:title>티스토리·네이버 블로그 자동화 실패 후 git push 배포로 전환한 이유 (1/3)</image:title>
      <image:caption>블로그 운영기 시리즈 1편 — Tistory·네이버 자동화 실패에서 git 블로그까지</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/first-post/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/first-post-cover.BNp0s7u5.png</image:loc>
      <image:title>개인 도메인 블로그 개설 노트 — Astro 5 + Railway + Cloudflare 첫 셋업</image:title>
      <image:caption>blog.ruahverce.com Astro Railway Cloudflare 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/71-enterprise-rag-knowledge-lifecycle/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/71-cover.BRUdhuXf.svg</image:loc>
      <image:title>Enterprise RAG 지식 수명주기: 수집·변환·검증·배포를 한 파이프라인으로 (1/10)</image:title>
      <image:caption>Enterprise RAG 원문을 immutable snapshot, canonical document, chunk, retrieval index로 변환하고 manifest와 active release로 추적하는 지식 수명주기</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/72-document-layout-ocr-table-extraction/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/72-cover.BIU9Gz1H.svg</image:loc>
      <image:title>RAG 문서 구조 추출: PDF Layout·OCR·표·읽기 순서를 보존하는 법 (2/10)</image:title>
      <image:caption>PDF 페이지의 제목, 본문, 표와 경고 상자를 layout과 reading order로 복원하고 canonical element와 citation 좌표로 변환하는 RAG 문서 파싱 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/74-rag-metadata-schema-ontology-entity-resolution/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/74-cover.D55UfSt_.svg</image:loc>
      <image:title>RAG Metadata Schema·Ontology·Entity Resolution: 검색 필터를 지식 계약으로 (4/10)</image:title>
      <image:caption>자유 문자열 장비명과 alarm code를 controlled concept와 canonical entity로 정규화하고 provenance, confidence, valid time을 가진 RAG 검색 metadata로 만드는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/75-rag-acl-multitenancy-security-filtering/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/75-cover.Cw2aVxYT.svg</image:loc>
      <image:title>RAG ACL·Multi-tenancy·Security Filtering: 검색 전에 권한을 지키는 법 (5/10)</image:title>
      <image:caption>사용자 인증 정보와 최신 권한 snapshot이 tenant·ACL pre-filter를 거쳐 허용된 chunk만 reranker와 LLM, citation 단계로 전달되는 Enterprise RAG 보안 경계</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/76-rag-freshness-temporal-retrieval-cdc/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/76-cover.D_fqhxOG.svg</image:loc>
      <image:title>RAG Freshness·Temporal Retrieval·CDC: 최신 문서를 정확히 검색하는 법 (6/10)</image:title>
      <image:caption>원천 변경 이벤트가 CDC와 watermark, version gate, parse·embed·index 단계를 지나 active generation에 반영되고 event time과 system time으로 freshness를 측정하는 RAG 시간축</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/77-embedding-index-migration-dual-read/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/77-cover.ByzHUreH.svg</image:loc>
      <image:title>RAG Embedding·Index Migration: Dual Write·Shadow Read·무중단 전환 (7/10)</image:title>
      <image:caption>기존 active와 새 candidate index에 snapshot backfill·delta·shadow read를 적용한 뒤 release gate, atomic alias 전환과 rollback을 수행하는 RAG migration</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/78-rag-data-quality-drift-observability/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/78-cover.CmnhjRpt.svg</image:loc>
      <image:title>RAG Data Quality·Drift·Observability: 조용한 검색 품질 저하를 찾는 법 (8/10)</image:title>
      <image:caption>원천부터 parse·metadata·embedding·index·retrieval까지 lineage와 품질 assertion·metric·trace를 연결해 drift·release gate·영향 범위를 추적하는 RAG 관측 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/79-rag-deletion-retention-privacy-governance/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/79-cover.CADQuMtU.svg</image:loc>
      <image:title>RAG Deletion·Retention·Privacy Governance: Embedding까지 삭제를 증명하는 법 (9/10)</image:title>
      <image:caption>검증된 삭제 요청이 serving deny·tombstone을 적용한 뒤 raw·chunk·embedding·index·cache·snapshot으로 전파되고 hold·retention과 deletion receipt로 검증되는 RAG 절차</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/73-canonical-document-id-versioning-dedup/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/73-cover.C6tkjNR0.svg</image:loc>
      <image:title>RAG 문서 ID·Versioning·Dedup: Rename·재처리·중복·삭제를 구분하는 법 (3/10)</image:title>
      <image:caption>RAG source object, document version, parser representation과 chunk span을 안정 ID로 연결하고 hash와 tombstone으로 중복과 삭제를 제어하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/80-production-knowledge-base-release-runbook/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/80-cover.CC7EVWmR.svg</image:loc>
      <image:title>Production RAG Knowledge Base Release Runbook: Build·Canary·Rollback (10/10)</image:title>
      <image:caption>Snapshot과 parser·metadata·ACL·embedding·index manifest로 candidate를 빌드하고 gate, shadow·canary, atomic activation과 rollback을 수행하는 RAG release</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-embedding-research-map/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.B9t6ti0H.svg</image:loc>
      <image:title>Embedding이란 무엇인가: 연구와 실전의 전체 지도 (1/14)</image:title>
      <image:caption>텍스트와 이미지가 encoder를 지나 single vector, sparse vector, multi-vector가 되고 학습과 평가, ANN 검색으로 이어지는 임베딩 연구 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-contrastive-learning-infonce/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.DtmOEI5z.svg</image:loc>
      <image:title>Embedding 학습의 핵심: Contrastive Learning과 InfoNCE (3/14)</image:title>
      <image:caption>Anchor와 positive vector는 가까워지고 여러 negative vector는 멀어지며 temperature가 softmax 경계를 조절하는 contrastive embedding 학습</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/04-training-data-positive-negative-mining/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/04-cover.C7UYxBzr.svg</image:loc>
      <image:title>Embedding 학습 데이터: Positive·Hard Negative·False Negative (4/14)</image:title>
      <image:caption>Query와 positive 문서 주변에서 random, BM25, dense hard negative를 채굴하고 teacher와 사람이 false negative를 걸러 내는 데이터 파이프라인</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-embedding-geometry-similarity-pooling/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.Bq3BYNKo.svg</image:loc>
      <image:title>Embedding Geometry: 유사도·정규화·Pooling·Hubness (2/14)</image:title>
      <image:caption>고차원 구면 위의 query와 document vector 사이 cosine 각도, vector norm, 중심부 hub와 pooling 경로를 함께 보여 주는 embedding geometry</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/05-dense-retrieval-training-lineage/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/05-cover.COaXjL-7.svg</image:loc>
      <image:title>Dense Retrieval 학습 계보: DPR에서 E5까지 (5/14)</image:title>
      <image:caption>DPR dual encoder에서 ANCE, RocketQA, Contriever, RetroMAE, E5로 이어지며 negative mining과 pretraining data가 확장되는 dense retrieval 계보</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/06-instruction-multitask-llm-embeddings/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/06-cover.DusUMmEE.svg</image:loc>
      <image:title>Instruction·Multitask·LLM Embedding은 무엇이 다른가 (6/14)</image:title>
      <image:caption>Task instruction과 query 또는 document가 encoder-only와 bidirectionalized decoder LLM을 지나 task-conditioned embedding vector가 되는 비교</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/07-synthetic-data-distillation-domain-adaptation/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/07-cover.D0ULQf6L.svg</image:loc>
      <image:title>Synthetic Data·Distillation로 Embedding을 도메인 적응하기 (7/14)</image:title>
      <image:caption>도메인 문서에서 LLM이 query를 생성하고 teacher reranker가 positive와 hard negative를 정제해 작은 embedding student로 distill하는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-search-console-registration/</loc>
    <lastmod>2026-04-28T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.DhWmWwmf.png</image:loc>
      <image:title>개인 도메인 블로그 구글·네이버 검색 등록 가이드 — Search Console + 서치어드바이저 체크리스트 (3/3)</image:title>
      <image:caption>블로그 운영기 시리즈 3편 — 신규 도메인이 구글에 안 잡히던 시기, GSC와 네이버 검색 등록 회고</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/08-multilingual-korean-embedding/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/08-cover.2wGz5vzP.svg</image:loc>
      <image:title>다국어·한국어 Embedding 학습과 평가 (8/14)</image:title>
      <image:caption>한국어와 영어 query-document 조합이 공유 vector 공간에 정렬되고 언어별·방향별 retrieval matrix로 평가되는 multilingual embedding</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/09-long-document-contextual-multivector/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/09-cover.B5QR1lYf.svg</image:loc>
      <image:title>긴 문서 Embedding: Chunking·Contextual·Multi-vector (9/14)</image:title>
      <image:caption>긴 문서를 독립 chunk, 전체 문맥을 본 contextual chunk, single document vector와 token multi-vector로 표현하는 네 가지 retrieval 경로</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/10-embedding-evaluation-metrics-protocol/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/10-cover.B60eqXux.svg</image:loc>
      <image:title>Embedding 평가 방법: Metric·Protocol·통계 (10/14)</image:title>
      <image:caption>하나의 embedding model을 STS, 분류, clustering, bitext, exact retrieval, ANN, RAG 단계에서 서로 다른 metric과 paired 통계로 평가하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/12-embedding-compression-ann-serving/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/12-cover.DZ1-67JJ.svg</image:loc>
      <image:title>Embedding 압축과 ANN 서빙: Dimension부터 Re-index까지 (12/14)</image:title>
      <image:caption>원본 embedding을 차원 축소와 양자화한 뒤 exact, HNSW, IVF-PQ, disk index로 나누어 품질과 메모리, 지연시간을 비교하는 서빙 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/11-embedding-benchmarks-contamination/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/11-cover.Gekcohax.svg</image:loc>
      <image:title>Embedding Benchmark 읽는 법: MTEB부터 오염까지 (11/14)</image:title>
      <image:caption>MTEB와 다국어, zero-shot, reasoning, long-context benchmark를 목적별로 나누고 공개 점수에서 in-domain 평가로 좁혀 가는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/13-embedding-research-trends-2026/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/13-cover.BLGboo9A.svg</image:loc>
      <image:title>Embedding 최근 연구 동향: 2024–2026 논문 지도 (13/14)</image:title>
      <image:caption>2024년 LLM과 합성 데이터 기반 embedding에서 2025년 소형화와 문맥·멀티모달을 지나 2026년 reasoning과 situated retrieval로 확장되는 연구 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/14-build-embedding-research-pipeline/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/14-cover.DGF4hb6r.svg</image:loc>
      <image:title>실전: 재현 가능한 Embedding 연구 Pipeline 만들기 (14/14)</image:title>
      <image:caption>Corpus와 qrel 동결에서 embedding 대조 학습, exact 평가, 압축과 ANN, RAG 검증, shadow index 배포와 rollback으로 이어지는 실전 pipeline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/colbert-late-interaction-explainer/</loc>
    <lastmod>2026-07-07T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover.Cfd3td4L.svg</image:loc>
      <image:title>ColBERT Late Interaction은 일반 dense retrieval과 뭐가 다를까?</image:title>
      <image:caption>ColBERT Late Interaction과 dense retrieval, cross-encoder 비교 도식</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/escaping-build-trap-01-bad-pm-types/</loc>
    <lastmod>2026-05-18T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover-placeholder.xBDN117U.svg</image:loc>
      <image:title>[책 리뷰] 개발 함정을 탈출하라 — 나는 웨이터형 PM이었다</image:title>
      <image:caption>표지 이미지는 곧 추가됩니다 — 임시 placeholder</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/escaping-build-trap-02-good-pm/</loc>
    <lastmod>2026-05-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover-placeholder.xBDN117U.svg</image:loc>
      <image:title>[책 리뷰] 개발 함정을 탈출하라 — 좋은 PM은 기능이 아니라 문제를 본다</image:title>
      <image:caption>표지 이미지는 곧 추가됩니다 — 임시 placeholder</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/61-gpu-roofline-llm-inference/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/61-cover.B1CobC6l.svg</image:loc>
      <image:title>GPU Roofline으로 LLM 추론 병목 읽기: FLOPS·Bandwidth·Arithmetic Intensity (1/10)</image:title>
      <image:caption>LLM prefill과 decode 연산을 arithmetic intensity와 GPU compute 및 memory bandwidth 지붕선 위에 배치해 병목과 최적화 방향을 찾는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/harness-1-colbert-crossencoder-pagerank/</loc>
    <lastmod>2026-07-07T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/harness-1-colbert-crossencoder-pagerank-cover.B2MkvGl7.svg</image:loc>
      <image:title>[RAG] Harness-1 확장 설계: ColBERT·Cross-Encoder·PPR은 어디에 붙일까?</image:title>
      <image:caption>Harness-1 확장 설계에서 ColBERT, Cross-Encoder, Personalized PageRank가 연결되는 흐름도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/62-llm-inference-memory-accounting/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/62-cover.BU45G5-Y.svg</image:loc>
      <image:title>LLM 추론 메모리 계산: Weight·Activation·KV Cache·Workspace (2/10)</image:title>
      <image:caption>GPU 메모리를 모델 weight와 runtime buffer, 요청별 KV cache, allocator 여유 공간으로 나누고 token budget과 admission control로 연결하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/63-transformer-inference-kernels/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/63-cover.CQ_s9HEr.svg</image:loc>
      <image:title>Transformer 추론 커널: GEMM·Attention·FlashAttention·Fusion (3/10)</image:title>
      <image:caption>Transformer block의 operator graph가 prefill과 decode shape에 따라 GEMM, FlashAttention, fused kernel과 fallback 경로로 나뉘고 검증 gate를 통과하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/64-continuous-batching-chunked-prefill/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/64-cover.CLKLQCz3.svg</image:loc>
      <image:title>Continuous Batching·Chunked Prefill: LLM Scheduler 설계 (4/10)</image:title>
      <image:caption>Active decode를 iteration budget에 넣고 긴 prefill을 작은 chunk로 나누며 admission, fairness, preemption과 SLO gate로 연결하는 LLM scheduler 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-astro-railway-cloudflare-setup/</loc>
    <lastmod>2026-04-28T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.C24MuxFF.png</image:loc>
      <image:title>Astro · Railway · Cloudflare 개인 도메인 블로그 배포 가이드 — 30초 git push 파이프라인 (2/3)</image:title>
      <image:caption>블로그 운영기 시리즈 2편 — Astro·Railway·Cloudflare 스택으로 개인 도메인 블로그 만들기</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/65-paged-kv-prefix-cache-eviction/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/65-cover.DzXpoMp2.svg</image:loc>
      <image:title>Paged KV Cache·Prefix Caching: Block·Eviction·Reuse (5/10)</image:title>
      <image:caption>요청의 logical KV block을 불연속 physical GPU page에 매핑하고 radix prefix tree에서 공유한 뒤 refcount, copy-on-write, eviction과 CPU·SSD tier로 관리하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/66-speculative-decoding-draft-verify/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/66-cover.7O4_ghra.svg</image:loc>
      <image:title>Speculative Decoding: Draft·Verify·Acceptance와 Serving 설계 (6/10)</image:title>
      <image:caption>Draft model이 후보 token을 제안하고 target model이 한 번에 검증한 뒤 acceptance ratio로 prefix를 채택하며 rejected suffix KV를 rollback하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/67-distributed-llm-inference-parallelism/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/67-cover.CpOCY5_7.svg</image:loc>
      <image:title>분산 LLM 추론: TP·PP·EP·Context Parallel·P/D 분리 (7/10)</image:title>
      <image:caption>Weight·layer·expert·context·request·prefill/decode를 GPU에 분할하고 collective, activation, KV transfer와 topology를 비교하는 분산 LLM 추론 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/68-low-precision-inference-kernels/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/68-cover.ClVeKFIG.svg</image:loc>
      <image:title>저정밀 LLM 추론: FP8·INT8·INT4·FP4 Kernel과 Calibration (8/10)</image:title>
      <image:caption>BF16에서 W8A8·W4A16·W4A8KV4·FP8·FP4로 정밀도를 낮추며 scale, outlier, fused GEMM, 정확도와 SLO gate를 비교하는 저정밀 LLM 추론 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/69-llm-serving-slo-admission-autoscaling/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/69-cover.CIBfsLDt.svg</image:loc>
      <image:title>LLM Serving SLO 운영: Admission Control·Fairness·Autoscaling (9/10)</image:title>
      <image:caption>LLM 요청을 SLO class와 token work로 분류하고 admission, deadline·fairness queue, prefill/decode worker, autoscaling feedback loop로 제어하는 운영 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/70-llm-serving-benchmark-capacity-planning/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/70-cover.BEsaqM5b.svg</image:loc>
      <image:title>LLM Serving 벤치마킹과 Capacity Planning: Trace·Goodput·비용 (10/10)</image:title>
      <image:caption>Production LLM trace를 open-loop로 재생해 workload·시스템·cache 조건을 고정하고 latency, goodput, failure, 비용으로 GPU capacity와 release gate를 계산하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-tokenization-context-window/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.DI-8yEjA.svg</image:loc>
      <image:title>LLM 토큰화 입문: BPE부터 Context Window 계산까지 (2/10)</image:title>
      <image:caption>한국어 질문이 subword 토큰과 토큰 ID를 거쳐 context window에 들어가는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-rag-agent-learning-map/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.DftWUWpt.svg</image:loc>
      <image:title>RAG Agent 공부 순서: 토큰부터 Harness까지 한 장으로 보기 (1/10)</image:title>
      <image:caption>텍스트 입력에서 검색과 LLM 생성, 검증과 Agent Harness까지 이어지는 RAG 학습 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-vectors-and-embeddings/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.D3NZjMhF.svg</image:loc>
      <image:title>벡터와 임베딩 입문: Cosine Similarity가 RAG 검색이 되는 원리 (3/10)</image:title>
      <image:caption>질문과 세 문서 임베딩의 방향을 비교해 가장 가까운 문서를 찾는 벡터 공간</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/04-neural-network-training/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/04-cover.Cqqi-Lkj.svg</image:loc>
      <image:title>신경망 학습 입문: Logit·Softmax·Loss·Gradient 한 번에 연결하기 (4/10)</image:title>
      <image:caption>입력에서 logit과 확률, loss, gradient를 거쳐 가중치를 갱신하는 신경망 학습 루프</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/05-next-token-language-model/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/05-cover.CfblELPr.svg</image:loc>
      <image:title>언어모델 입문: 다음 토큰 예측이 문장 생성이 되는 이유 (5/10)</image:title>
      <image:caption>이전 토큰의 조건부확률로 다음 토큰을 하나씩 선택해 문장을 생성하는 autoregressive 언어모델</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/06-attention-qkv/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/06-cover.CIPM_XQG.svg</image:loc>
      <image:title>Self-Attention 입문: Q·K·V와 Scaled Dot-Product 손으로 계산하기 (6/10)</image:title>
      <image:caption>질문 토큰의 query가 모든 token key와 점수를 계산하고 value를 가중합하는 self-attention</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/07-transformer-architecture/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/07-cover.CGTCBG6k.svg</image:loc>
      <image:title>Transformer 구조 입문: Attention·Residual·LayerNorm·FFN 조립하기 (7/10)</image:title>
      <image:caption>입력 embedding이 attention과 feed-forward network, residual과 layer normalization을 통과하는 Transformer 블록</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/08-bert-vs-gpt/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/08-cover.ZCKxRxCe.svg</image:loc>
      <image:title>BERT와 GPT 차이: Encoder·Decoder를 RAG 부품으로 이해하기 (8/10)</image:title>
      <image:caption>BERT encoder의 양방향 attention과 GPT decoder의 causal attention을 RAG 검색 재정렬 생성 역할로 비교</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/10-build-first-rag/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/10-cover.Cq7ojV5c.svg</image:loc>
      <image:title>첫 RAG 만들기: Chunking·Embedding·검색·생성·평가 전체 연결 (10/10)</image:title>
      <image:caption>문서 수집과 chunking에서 embedding index, retrieval, context, LLM 답변, 평가로 이어지는 첫 RAG pipeline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/09-llm-inference/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/09-cover.B5w9Bl0i.svg</image:loc>
      <image:title>LLM 추론 입문: Prefill·Decode·KV Cache·Temperature 이해하기 (9/10)</image:title>
      <image:caption>긴 프롬프트를 병렬 처리하는 prefill과 KV cache를 재사용해 한 token씩 생성하는 decode 단계</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/07-block-autonomous-engineering-org/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/07-cover.CzPW0w8V.svg</image:loc>
      <image:title>AI 사용률 90%인데 출시는 빨라지지 않았다: Block의 Stage 5와 그 대가 (7/7)</image:title>
      <image:caption>AI 사용 확산에서 저장소 준비 업무 위임 병렬 agent review cloud workspace company world model을 거쳐 Block Stage 5 조직과 인간 역할 질문으로 이어지는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-what-is-harness-engineering/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.Ce9R3Avp.png</image:loc>
      <image:title>하네스 엔지니어링이란? AI 에이전트 환경 설계 7축 로드맵 (1/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 1편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/04-tool-design-mcp-skill/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/04-cover.DN5lBHei.png</image:loc>
      <image:title>AI 에이전트 도구 설계 가이드 — Tool · Skill · Plugin · MCP 차이와 SKILL.md 작성법 (4/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 4편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-task-decomposition/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.Bu7p_eac.png</image:loc>
      <image:title>AI 에이전트 과업 분해 가이드 — 큰 작업을 4단계로 쪼개는 Plan 에이전트 패턴 (2/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 2편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-knowledge-structure-claude-md/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.BRm-Jg05.png</image:loc>
      <image:title>CLAUDE.md 작성 가이드 — AI 에이전트가 읽을 지식 3계층 (전역·프로젝트·로컬) (3/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 3편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-hermes-agent-quickstart/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.CrHuT2c3.svg</image:loc>
      <image:title>Hermes Agent 사용법: 설치보다 먼저 첫 작업 계약을 만든다 (1/7)</image:title>
      <image:caption>검증 가능한 작업 계약이 Hermes Agent의 모델 도구 세션 프로젝트 문맥을 통과해 결과와 증거를 만드는 첫 사용 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/04-openclaw-quickstart/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/04-cover.BR6zH09V.svg</image:loc>
      <image:title>OpenClaw 사용법: Gateway·Workspace·Channel을 이해하는 첫날 (4/7)</image:title>
      <image:caption>Dashboard와 메시징 채널의 요청이 OpenClaw Gateway에서 Agent session으로 라우팅되고 Workspace 규칙 도구 기억 스킬을 사용해 결과를 만드는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-hermes-agent-vps-build/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.9UhBrOR4.svg</image:loc>
      <image:title>VPS에 Hermes Agent 구축하기: Gateway·격리·복구까지 (2/7)</image:title>
      <image:caption>사용자가 메시징 채널로 요청하면 Hermes Gateway가 전용 서비스 계정과 격리된 실행 backend에서 작업하고 감사 기록을 남기는 VPS 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-hermes-agent-optimization/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.WUE3LgF_.svg</image:loc>
      <image:title>Hermes Agent 구축 후 최적화: Tool·Memory·Skill을 줄이는 순서 (3/7)</image:title>
      <image:caption>Hermes Agent 최적화가 작업 평가셋에서 도구 범위 문맥 기억 스킬 모델 예약 실행을 한 변수씩 조정하고 성공률 비용 지연 위험을 측정하는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/05-permissions-allow-ask-deny/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/05-cover.DDHP2-ET.png</image:loc>
      <image:title>Claude Code 권한 설정 가이드 — allow / ask / deny와 permission mode 매트릭스 (5/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 5편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/06-memory-patterns-progress-md/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/06-cover.DoLoJZba.png</image:loc>
      <image:title>AI 에이전트 메모리 패턴 — PROGRESS.md로 세션 핸드오프 만들기 (6/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 6편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/07-role-separation-subagents/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/07-cover.BXleuwFB.png</image:loc>
      <image:title>Claude Code Subagent 만들기 — code-reviewer · researcher 역할 분리 패턴 (7/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 7편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/08-validation-loop-hooks/</loc>
    <lastmod>2026-04-23T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/08-cover.DDEn3sJQ.png</image:loc>
      <image:title>AI 에이전트 검증 루프 설계 — 실패 로그 패턴과 Hooks 자동화 (8/8)</image:title>
      <image:caption>하네스 엔지니어링 시리즈 8편 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/llm-serving-vllm-triton-tts/</loc>
    <lastmod>2026-07-06T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover.CahP0Y1L.svg</image:loc>
      <image:title>LLM Serving은 vLLM만 뜻할까: Qwen3-TTS-Triton으로 보는 서빙의 층위</image:title>
      <image:caption>API 서버부터 GPU 커널까지 내려가는 LLM serving 계층도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/51-chain-of-thought-reasoning-foundations/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/51-cover.G7efPeLR.svg</image:loc>
      <image:title>Chain-of-Thought 입문: LLM 추론문과 실제 근거 구분하기 (1/10)</image:title>
      <image:caption>질문에서 여러 중간 추론 token을 거쳐 답을 만들되 추론문과 인과적 증명을 구분하고 외부 증거와 도구로 검증하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/52-test-time-compute-scaling/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/52-cover.M2kTqGsS.svg</image:loc>
      <image:title>Test-time Compute: Self-Consistency·Best-of-N·Search 설계 (2/10)</image:title>
      <image:caption>하나의 질문에서 여러 추론 후보를 병렬 생성하고 합의 또는 verifier로 선택하며 난이도와 SLO에 따라 계산 예산을 조절하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/53-verifier-process-supervision/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/53-cover.BAMkzGlJ.svg</image:loc>
      <image:title>Verifier와 Process Supervision: ORM·PRM·Value Model (3/10)</image:title>
      <image:caption>최종 답을 평가하는 ORM과 중간 단계를 평가하는 PRM 및 미래 성공을 추정하는 value model을 후보 생성과 search에 연결하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/54-llm-uncertainty-calibration/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/54-cover.DPovn1Br.svg</image:loc>
      <image:title>LLM 불확실성과 Calibration: 모르면 멈추게 만들기 (4/10)</image:title>
      <image:caption>여러 LLM 응답을 의미별 cluster로 묶어 semantic uncertainty를 계산하고 calibration threshold에 따라 답변 재검색 질문 중단으로 routing하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/05-openclaw-vps-slack-build/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/05-cover.Dlr_g-Fd.svg</image:loc>
      <image:title>OpenClaw 구축: Docker Gateway와 Slack을 안전하게 연결하기 (5/7)</image:title>
      <image:caption>Slack Socket Mode가 인증된 연결로 Docker의 OpenClaw Gateway에 들어오고 agent별 workspace sandbox tool policy와 영속 state를 거치는 VPS 배포 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/55-llm-hallucination-factuality/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/55-cover.CONjheZl.svg</image:loc>
      <image:title>LLM Hallucination과 Factuality: Claim·Evidence·Citation 평가 (5/10)</image:title>
      <image:caption>LLM 장문 답변을 atomic claim으로 분해하고 각 claim을 evidence span과 대조해 지원 모순 근거 부족으로 판정하며 citation 정확성과 coverage를 계산하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/57-synthetic-data-distillation/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/57-cover.CvN4wvhe.svg</image:loc>
      <image:title>Synthetic Data와 Distillation: Rejection Sampling·Model Collapse (7/10)</image:title>
      <image:caption>실제 seed와 teacher LLM에서 여러 합성 후보를 만든 뒤 검증 필터와 rejection sampling으로 선별하고 student 학습과 독립 평가까지 연결하는 데이터 파이프라인</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/58-tool-use-learning/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/58-cover.fV-cwLvi.svg</image:loc>
      <image:title>Tool-Use Learning: Function Calling SFT·Execution Reward 설계 (8/10)</image:title>
      <image:caption>도구 registry와 schema에서 다양한 호출 과제를 만들고 구조 검증과 sandbox 실행 보상으로 LLM을 학습한 뒤 실제 실행 성공과 정책 위반을 평가하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/59-agent-trajectory-learning/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/59-cover.BPIOhnEZ.svg</image:loc>
      <image:title>Agent Trajectory Learning: Long-Horizon Credit Assignment (9/10)</image:title>
      <image:caption>긴 Agent episode를 상태 관찰 행동 보상 전이로 기록하고 outcome과 step reward를 각 결정에 배분해 offline imitation과 on-policy 학습 및 replay 평가로 연결하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/60-model-routing-cascades-compound-ai/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/60-cover.B931f2ek.svg</image:loc>
      <image:title>Model Routing과 Cascades: Compound AI System 설계 (10/10)</image:title>
      <image:caption>요청 특징과 정책 제약을 router가 분석해 작은 모델 RAG 강한 모델로 보내고 confidence gate가 필요할 때만 cascade하며 품질 비용 지연을 평가하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/openai-sdk-vs-temporal-vs-langgraph/</loc>
    <lastmod>2026-05-18T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover.DlzYzNa_.svg</image:loc>
      <image:title>OpenAI SDK vs Temporal vs LangGraph — LLM 에이전트 백엔드 비교 2026</image:title>
      <image:caption>OpenAI SDK·LangGraph·Temporal 세 박스가 위에서 아래로 쌓인 계층도 — 만드는 도구·판단 흐름·운영 엔진</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/81-production-rag-agent-project-architecture/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/81-cover.XqoltwR7.svg</image:loc>
      <image:title>Production RAG Agent 프로젝트 구조: Vertical Slice·Port·Adapter로 시작하기 (1/10)</image:title>
      <image:caption>사용자 요청이 API adapter와 application use case를 지나 LLM retrieval session port의 실제 adapter 또는 fake로 연결되는 Production RAG Agent 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/82-llm-api-client-message-stream-error/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/82-cover.BA0orX_X.svg</image:loc>
      <image:title>LLM API Client 설계: Message·Streaming Event·Structured Error (2/10)</image:title>
      <image:caption>Typed generation request가 provider adapter로 전달되고 시작·텍스트 delta·usage·완료 또는 구조화 오류 event로 변환되는 LLM streaming client 상태 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/56-structured-generation-constrained-decoding/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/56-cover.4QHWJatc.svg</image:loc>
      <image:title>Structured Generation: JSON Schema·FSM·CFG로 출력 강제하기 (6/10)</image:title>
      <image:caption>JSON Schema를 문법 상태 기계로 컴파일하고 매 생성 단계에서 허용 토큰만 남긴 뒤 의미 검증과 권한 검사를 거쳐 도구를 실행하는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/83-llm-client-timeout-retry-rate-limit-circuit-breaker/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/83-cover.tIgKAn1F.svg</image:loc>
      <image:title>LLM Client 복원력: Timeout·Retry·Rate Limit·Circuit Breaker (3/10)</image:title>
      <image:caption>하나의 요청 deadline 안에 제한된 LLM attempt와 full jitter 대기가 배치되고 concurrency limiter와 closed open half-open circuit breaker가 앞단에서 부하를 제어하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/84-retrieval-service-adapter-deadline/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/84-cover.Dn5xzcWj.svg</image:loc>
      <image:title>Retrieval Service Adapter: ACL Filter·Deadline·Empty Result 구분 (4/10)</image:title>
      <image:caption>전체 deadline이 retrieval budget과 HTTPX timeout으로 줄어들며 ACL을 통과한 evidence 또는 empty·timeout·unavailable 결과로 분기되는 검색 adapter</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/85-prompt-context-builder-evidence-citation/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/85-cover.DtU8F3BI.svg</image:loc>
      <image:title>RAG Prompt·Context Builder: Evidence Budget과 Citation 검증 (5/10)</image:title>
      <image:caption>검색 Evidence가 dedup과 token budget packer를 지나 S1 S2 context block으로 변환되고 structured answer의 citation ID가 server-side evidence map에서 검증되는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/86-typed-agent-runtime-tool-registry-bounded-loop/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/86-cover.CcBmLP23.svg</image:loc>
      <image:title>Typed Agent Runtime: Tool Registry와 반드시 끝나는 Bounded Loop (6/10)</image:title>
      <image:caption>Agent state가 observe·decide·validate·reserve·execute·reduce를 순환하고 completed·insufficient·budget·cancelled·failed 중 하나로 끝나는 bounded runtime</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/88-fastapi-sse-rag-agent-streaming/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/88-cover.BT5I765H.svg</image:loc>
      <image:title>FastAPI SSE 스트리밍: Backpressure·취소·재연결 설계 (8/10)</image:title>
      <image:caption>POST로 Agent run을 만든 뒤 bounded queue와 durable event log를 거쳐 GET SSE로 delta citation done error event를 전달하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/89-rag-agent-software-testing-fake-contract-replay/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/89-cover.BK5cnMTU.svg</image:loc>
      <image:title>RAG Agent 테스트: Fake·Contract·Record/Replay 설계 (9/10)</image:title>
      <image:caption>순수 unit test와 fake contract HTTP transport record replay live smoke offline evaluation으로 구성한 RAG Agent 테스트 피라미드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/openclaw-illusion-and-skill-pivot/</loc>
    <lastmod>2026-07-21T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/06-cover.BE_rolnH.svg</image:loc>
      <image:title>OpenClaw 구축 후 최적화: 20봇을 1 workflow로 줄인 기록 (6/7)</image:title>
      <image:caption>여러 프로젝트와 약 20개 OpenClaw 봇이 한 프로젝트 한 agent 한 반복 workflow로 수렴하고 평가 Skill Memory 권한 관측을 통해 안정화되는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/41-llm-pretraining-data-pipeline/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/41-cover.BCJYHcja.svg</image:loc>
      <image:title>LLM 사전학습 데이터 파이프라인: 수집·정제·중복 제거·혼합 (1/10)</image:title>
      <image:caption>원시 source에서 provenance, filter, deduplication, contamination audit, data mixture, tokenizer, sequence packing으로 이어지는 LLM 학습 데이터 pipeline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/42-llm-pretraining-scaling-laws/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/42-cover.DjgvLbhG.svg</image:loc>
      <image:title>LLM 사전학습 목표와 Scaling Law: Token·Parameter·Compute 예산 (2/10)</image:title>
      <image:caption>작은 pilot run의 parameter와 token별 loss를 scaling curve로 적합하고 training compute와 serving 비용을 함께 고려해 full run을 선택하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/45-preference-optimization-rlhf-dpo/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/45-cover.C6JG1hcf.svg</image:loc>
      <image:title>Preference Optimization: RLHF·DPO·KTO·GRPO 제대로 구분하기 (5/10)</image:title>
      <image:caption>SFT policy의 여러 응답에 pairwise preference, binary desirability, verifiable reward를 붙여 PPO DPO KTO GRPO로 학습하고 drift와 safety gate를 적용하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/43-modern-decoder-architecture/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/43-cover.Dn9oRNjl.svg</image:loc>
      <image:title>현대 Decoder LLM 구조: RMSNorm·RoPE·GQA·SwiGLU·MoE (3/10)</image:title>
      <image:caption>Residual stream이 pre-RMSNorm, RoPE와 GQA attention, SwiGLU 또는 routed MoE를 통과하며 KV cache와 token compute를 결정하는 decoder block</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/46-lora-qlora-peft/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/46-cover.BYCgUbNs.svg</image:loc>
      <image:title>LoRA·QLoRA·DoRA와 PEFT: Rank·Target Module·Merge 설계 (6/10)</image:title>
      <image:caption>Frozen base weight에 rank r의 LoRA A B update를 더하고 QLoRA 4-bit base와 DoRA를 거쳐 merged checkpoint 또는 dynamic adapter serving으로 배포하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/44-instruction-tuning-sft/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/44-cover.Bxogr4Q8.svg</image:loc>
      <image:title>Instruction Tuning과 SFT: Chat Template·Loss Mask·데이터 품질 (4/10)</image:title>
      <image:caption>System user assistant 대화를 chat template로 직렬화하고 assistant response에만 loss를 적용한 뒤 instruction tool grounding retention 평가로 연결하는 SFT pipeline</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/47-llm-quantization-gptq-awq/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/47-cover.CCsggXru.svg</image:loc>
      <image:title>LLM Quantization: GPTQ·AWQ·SmoothQuant·FP8·KV Cache (7/10)</image:title>
      <image:caption>Floating point tensor를 quantize해 weight-only, weight·activation, KV cache를 calibration, hardware kernel, 품질 평가로 연결하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/90-production-rag-agent-capstone-release/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/90-cover.C7l3Dq0O.svg</image:loc>
      <image:title>Production RAG Agent 배포: CI·관찰성·Canary·Rollback (10/10)</image:title>
      <image:caption>하나의 검증된 container digest가 CI gate와 release manifest를 거쳐 canary stable로 승격되고 telemetry와 rollback loop로 연결되는 Production RAG Agent release 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/48-distributed-llm-training-parallelism/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/48-cover.CsM6ZtMm.svg</image:loc>
      <image:title>분산 LLM 학습: DDP·ZeRO·FSDP·TP·PP·CP (8/10)</image:title>
      <image:caption>LLM 학습 상태를 parameter gradient optimizer activation으로 나누고 DDP FSDP TP PP CP를 배치하는 분산 학습 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/50-rag-agent-model-selection-deployment/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/50-cover.C93DCiRU.svg</image:loc>
      <image:title>RAG Agent 모델 선택과 배포: 평가·Canary·Rollback (10/10)</image:title>
      <image:caption>RAG Agent 후보 모델을 grounding tool calling latency cost gate로 평가하고 offline shadow canary rollback 단계로 배포하는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/49-efficient-llm-inference-serving/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/49-cover.CmadENmH.svg</image:loc>
      <image:title>효율적인 LLM 추론 서빙: Prefill·Decode·KV Cache (9/10)</image:title>
      <image:caption>LLM 요청을 queue prefill decode로 나누고 KV cache scheduler와 batching을 TTFT ITL goodput SLO로 연결하는 추론 서빙 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-raptor-recursive-tree-retrieval/</loc>
    <lastmod>2026-06-29T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.CMPypJwY.png</image:loc>
      <image:title>RAPTOR — 재귀 요약 트리로 긴 문맥을 검색하는 RAG 기법</image:title>
      <image:caption>rag-techniques 시리즈 1편 — RAPTOR 재귀 요약 트리 기반 Retrieval</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/13-bm25-sparse-retrieval/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/13-cover.B0R86PEx.svg</image:loc>
      <image:title>Sparse Retrieval 기초: 역색인·TF-IDF·BM25 직접 계산하기 (3/10)</image:title>
      <image:caption>질문 token이 역색인의 posting list를 찾아 TF, IDF, 문서 길이 정규화를 거쳐 BM25 순위를 만드는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/12-rag-chunking-strategies/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/12-cover.CC2ZY-ag.svg</image:loc>
      <image:title>RAG Chunking: 크기·Overlap·Semantic·Late Chunking 선택법 (2/10)</image:title>
      <image:caption>하나의 문서를 fixed token, structure-aware, semantic, late chunking으로 나누고 검색용 child와 답변용 parent를 연결하는 비교</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/87-rag-session-memory-postgres-redis-idempotency/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/87-cover.BSrNzbwN.svg</image:loc>
      <image:title>RAG Session 영속화: PostgreSQL·Redis·Idempotency 설계 (7/10)</image:title>
      <image:caption>중복 Agent 요청이 tenant와 operation 범위의 idempotency row에서 합류하고 PostgreSQL session version과 event를 commit한 뒤 Redis versioned cache를 갱신하는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/15-ann-vector-index/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/15-cover.D1BfZ-iF.svg</image:loc>
      <image:title>ANN Vector Index: Flat·HNSW·IVF·PQ 선택법 (5/10)</image:title>
      <image:caption>동일한 vector 공간을 Flat 전수 비교, HNSW graph 탐색, IVF cluster 탐색, PQ 압축 code로 검색하는 ANN index 비교</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/11-document-ingestion-and-parsing/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/11-cover.NQZy9dkR.svg</image:loc>
      <image:title>RAG 문서 수집: PDF·HTML을 검색 가능한 데이터로 바꾸기 (1/10)</image:title>
      <image:caption>원문 snapshot이 layout parsing과 OCR, 정규화, 품질 gate, versioned document store로 변환되는 RAG ingestion 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/16-hybrid-search-rrf/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/16-cover.DRN9NuKr.svg</image:loc>
      <image:title>Hybrid Search: BM25와 Vector 검색을 RRF로 합치기 (6/10)</image:title>
      <image:caption>BM25 sparse 순위와 dense vector 순위가 서로 다른 후보를 만든 뒤 stable ID로 합쳐 RRF 점수로 최종 순위를 만드는 hybrid search</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/14-dense-retrieval-bi-encoder/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/14-cover.LncKOiJf.svg</image:loc>
      <image:title>Dense Retrieval 기초: Bi-Encoder·Contrastive Learning·DPR (4/10)</image:title>
      <image:caption>Query encoder와 passage encoder가 vector를 만들고 positive는 가깝게 negative는 멀게 학습한 뒤 dot product로 검색하는 dense retrieval</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/17-reranking-cross-encoder-colbert/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/17-cover.Dd77IKON.svg</image:loc>
      <image:title>Reranking: Cross-Encoder·monoT5·ColBERT의 역할 (7/10)</image:title>
      <image:caption>Bi-Encoder 후보 생성 뒤 Cross-Encoder joint attention, monoT5 relevance token, ColBERT MaxSim으로 후보를 재정렬하는 비교</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/18-query-transformation-hyde/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/18-cover.4H_ft6aP.svg</image:loc>
      <image:title>Query Transformation: Rewrite·Expansion·HyDE·Decomposition (8/10)</image:title>
      <image:caption>원 질문이 standalone rewrite, keyword expansion, multi-query, HyDE hypothetical document, decomposition 경로로 분기되고 검색 결과가 합쳐지는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/19-context-selection-mmr/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/19-cover.8EOsRbXn.svg</image:loc>
      <image:title>Context Selection: MMR·Dedup·Parent-Child·순서 최적화 (9/10)</image:title>
      <image:caption>Reranked 후보에서 중복 span을 제거하고 MMR과 coverage로 다양한 child를 선택한 뒤 parent 문맥과 citation을 token budget에 맞춰 배치하는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-stage-trace-before-splade/</loc>
    <lastmod>2026-07-02T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.DjFgsi1g.svg</image:loc>
      <image:title>Retrieval 성능의 한계에 부딪쳤을 때 1: SPLADE보다 먼저 봐야 할 것</image:title>
      <image:caption>도메인 retrieval stage trace 표와 dense sparse fusion rerank 진단 흐름을 보여주는 오픈 그래프 카드</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/20-retrieval-evaluation/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/20-cover.DhrZhp8g.svg</image:loc>
      <image:title>Retrieval Evaluation: Recall@k·MRR·nDCG와 실패 분석 (10/10)</image:title>
      <image:caption>질문과 source span gold evidence가 ingestion, retrieval, ANN, fusion, rerank, context, answer 단계 metric과 failure slice로 연결되는 RAG 평가 harness</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/23-query-routing-adaptive-rag/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/23-cover.BmWpvNOg.svg</image:loc>
      <image:title>Query Router와 Adaptive RAG: 질문마다 다른 검색 경로 (3/10)</image:title>
      <image:caption>질문 분석 결과에 따라 검색 없음, 정확 조회, 단일 검색, 반복 검색, 사용자 확인 경로로 분기하고 confidence와 예산 gate가 경로를 통제하는 Adaptive RAG router</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/24-agent-planning-patterns/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/24-cover.NlKx0UhB.svg</image:loc>
      <image:title>Agent Planning 패턴: ReAct·Plan/Execute·ReWOO·Tree Search (4/10)</image:title>
      <image:caption>즉시 관찰하며 행동하는 ReAct, 계획 후 실행하는 plan-execute, dependency DAG를 만드는 ReWOO, 여러 경로를 탐색하는 tree search를 비용과 불확실성에 따라 비교한 Agent planning 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/21-rag-agent-state-loop/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/21-cover.w_C0S2QT.svg</image:loc>
      <image:title>RAG Agent는 무엇인가: Workflow에서 상태 기반 제어 루프로 (1/10)</image:title>
      <image:caption>사용자 목표가 상태 저장소, LLM 행동 제안, 정책 게이트, 도구 실행, 관찰과 근거 판정을 순환한 뒤 답변 또는 실패로 끝나는 RAG Agent Harness</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/25-evidence-sufficiency-corrective-rag/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/25-cover.BCPWOgtc.svg</image:loc>
      <image:title>근거 충분성 판정: Self-RAG·CRAG·FLARE로 재검색하기 (5/10)</image:title>
      <image:caption>질문의 evidence requirement와 source span ledger를 비교해 충분, 부분 충족, 무관, 모순, 오래됨으로 판정하고 query rewrite·다른 source·확인 질문·안전 종료로 교정하는 RAG loop</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/26-agent-memory-design/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/26-cover.NjXnQDfO.svg</image:loc>
      <image:title>Agent Memory 설계: Working·Episodic·Semantic·Procedural (6/10)</image:title>
      <image:caption>현재 run의 working state, 과거 사건의 episodic memory, 검증된 사실의 semantic memory, versioned procedure를 분리하고 쓰기·검색·통합·갱신·망각하는 Agent memory architecture</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/28-agent-observability-tracing/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/28-cover.B1dGIP19.svg</image:loc>
      <image:title>Agent Observability: Trace·Span·Event로 실패 재현하기 (8/10)</image:title>
      <image:caption>Agent run을 router·retrieval·model·tool·checkpoint span tree로 연결하고 state event, manifest, metric, redaction으로 실패 원인과 비용을 재현하는 관측성 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/30-production-agent-harness/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/30-cover.af1KTLm7.svg</image:loc>
      <image:title>Production RAG Agent Harness: Trajectory 평가와 Release Gate (10/10)</image:title>
      <image:caption>RAG Agent 실행 모듈을 typed state·policy로 감싸고 durable runtime·trace·trajectory evaluation·release gate로 검증하는 production harness 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/01-reranker-two-stage-search-map/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/01-cover.CfaA2EL_.svg</image:loc>
      <image:title>Reranker란 무엇인가: 두 단계 검색과 전체 지도 (1/14)</image:title>
      <image:caption>넓고 빠른 후보 검색 뒤 느리지만 정밀한 reranker가 최종 근거를 고르는 두 단계 검색 구조와 14편 학습 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/27-durable-agent-execution/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/27-cover.CTTPebY0.svg</image:loc>
      <image:title>Durable Agent Execution: Checkpoint·Retry·Idempotency (7/10)</image:title>
      <image:caption>Agent 실행을 event log와 checkpoint에서 replay하고 idempotency receipt로 외부 부작용 중복을 막으며 timeout·retry·cancel·compensation으로 복구하는 durable execution 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/02-learning-to-rank-objectives/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/02-cover.BiJVTq8p.svg</image:loc>
      <image:title>Learning to Rank: Pointwise·Pairwise·Listwise와 LambdaMART (2/14)</image:title>
      <image:caption>Query별 후보 목록을 pointwise 점수, pairwise 선호, listwise 순열과 nDCG 가중치로 학습하는 Learning to Rank 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/03-cross-encoder-reranker/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/03-cover.N8_KTRvD.svg</image:loc>
      <image:title>Cross-Encoder Reranker: Joint Attention부터 실전 추론까지 (3/14)</image:title>
      <image:caption>Query와 document token을 한 Transformer에 넣어 모든 layer에서 joint attention한 뒤 relevance score로 재정렬하는 Cross-Encoder 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/04-generative-t5-rerankers/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/04-cover.CeH7Vyn_.svg</image:loc>
      <image:title>monoT5·duoT5·RankT5·ListT5: 생성형 Reranker의 계보 (4/14)</image:title>
      <image:caption>monoT5의 relevance token, duoT5의 문서 쌍 비교, RankT5의 scalar loss, ListT5의 후보 목록 비교로 이어지는 T5 reranker 계보</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/05-colbert-late-interaction/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/05-cover.D7wx8GDS.svg</image:loc>
      <image:title>ColBERT Late Interaction: Multi-Vector 검색과 Reranking (5/14)</image:title>
      <image:caption>Query token마다 document token 중 최대 유사도를 찾고 합산하는 ColBERT MaxSim과 사전 계산 가능한 multi-vector index 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/06-llm-reranking-paradigms/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/06-cover.zXJp5bNH.svg</image:loc>
      <image:title>LLM Reranker: Pointwise·Pairwise·Setwise·Listwise 설계 (6/14)</image:title>
      <image:caption>한 LLM이 문서 하나를 점수화하거나 두 문서를 비교하고 후보 집합의 승자 또는 전체 ID 순열을 만드는 네 가지 reranking paradigm</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/08-reranker-loss-distillation-calibration/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/08-cover.BqRG1OpY.svg</image:loc>
      <image:title>Reranker 학습 심화: Ranking Loss·Distillation·Calibration (8/14)</image:title>
      <image:caption>Human grade와 teacher score를 pointwise·pairwise·listwise loss로 학습하고 temperature calibration을 거쳐 serving score로 만드는 흐름</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/07-reranker-training-data/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/07-cover.Cq5LjwaP.svg</image:loc>
      <image:title>Reranker 학습 데이터: Positive·Hard Negative·False Negative (7/14)</image:title>
      <image:caption>실제 hybrid retriever 후보에서 direct evidence, partial evidence, near-miss hard negative와 false negative를 구분해 reranker dataset을 만드는 과정</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/09-reranker-evaluation/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/09-cover.BtKrTuEX.svg</image:loc>
      <image:title>Reranker 평가: Candidate Ceiling·nDCG·MRR·Latency·RAG 품질 (9/14)</image:title>
      <image:caption>고정 후보의 Recall 상한에서 MRR와 nDCG, p95 latency, 최종 답변 품질까지 단계별로 검증하는 reranker evaluation funnel</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/22-tool-calling-contracts/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/22-cover.Cuc8jTx_.svg</image:loc>
      <image:title>Tool Calling 설계: JSON Schema와 안전한 실행 계약 (2/10)</image:title>
      <image:caption>LLM의 tool proposal이 JSON Schema, 의미와 권한 gate, executor, output validator를 통과해 provenance가 있는 observation으로 바뀌는 도구 실행 계약</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/29-agent-security-authorization/</loc>
    <lastmod>2026-07-16T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/29-cover.CKfab0_z.svg</image:loc>
      <image:title>RAG Agent 보안: Prompt Injection·Capability·실행 직전 승인 (9/10)</image:title>
      <image:caption>Untrusted 문서와 tool result에 taint를 유지하고 capability, action-bound approval, commit-time authorization을 통과한 요청만 실행하는 RAG Agent 보안 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/10-reranker-model-selection/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/10-cover.CWsbaQ6t.svg</image:loc>
      <image:title>Reranker 모델 선택: 한국어·도메인·Open Model·API 비교법 (10/14)</image:title>
      <image:caption>한국어와 영어가 섞인 query, 긴 정책 문서, 로컬 GPU와 외부 API 조건을 품질·지연·license 축으로 비교하는 reranker 선택표</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/11-reranker-serving-cascades/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/11-cover.BOhFGJ2Q.svg</image:loc>
      <image:title>Reranker Serving: Batching·Quantization·Adaptive Cascade (11/14)</image:title>
      <image:caption>짧고 긴 query-document pair를 token bucket으로 batch하고 작은 reranker에서 불확실한 후보만 큰 reranker로 보내는 production cascade</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/12-rag-utility-security-multimodal/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/12-cover.B_vIGzas.svg</image:loc>
      <image:title>RAG에서의 Reranker: Utility·다양성·보안·멀티모달 (12/14)</image:title>
      <image:caption>관련 문서를 개별 점수로 정렬한 뒤 정보 이득과 중복, 권한, 시각 근거를 고려해 최종 RAG 컨텍스트 묶음을 고르는 구조</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/13-reranker-research-trends-2026/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/13-cover.BkVLuOhE.svg</image:loc>
      <image:title>Reranker 최근 연구 동향: 2024–2026 논문 지도 (13/14)</image:title>
      <image:caption>2024년 listwise LLM에서 2025년 reasoning과 utility alignment를 지나 2026년 contextual, efficient, multimodal, robust reranking으로 갈라지는 연구 지도</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.ruahverce.com/posts/14-build-production-reranking-pipeline/</loc>
    <lastmod>2026-07-20T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/14-cover.ChH3UgoH.svg</image:loc>
      <image:title>실전: 재현 가능한 Production Reranking Pipeline 만들기 (14/14)</image:title>
      <image:caption>고정 후보 데이터셋에서 baseline 학습과 paired 평가, 부하 시험, canary, release manifest, rollback으로 이어지는 production reranking 실습</image:caption>
    </image:image>
  </url>
</urlset>