<?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/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/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/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/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/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/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-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/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/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/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/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/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/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/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/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/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/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/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/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/openclaw-illusion-and-skill-pivot/</loc>
    <lastmod>2026-05-14T00:00:00.000Z</lastmod>
    <image:image>
      <image:loc>https://blog.ruahverce.com/_astro/cover-placeholder.xBDN117U.svg</image:loc>
      <image:title>OpenClaw는 정말 &apos;딸깍&apos;을 해주는가 — 20봇 실험을 1프로젝트로 좁힌 기록</image:title>
      <image:caption>표지 이미지는 곧 추가됩니다 — 임시 placeholder</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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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>
</urlset>