Agentic RAG · Domain Knowledge Archive · Aviation

Designing and Evaluating an Agentic RAG System for a Domain-Specific Research Archive

KDC의 89개 항공·ATM 기술 보고서를 “검색 가능한 PDF 묶음”에서 “검증 가능한 연구 대화 시스템”으로 바꾸려면 무엇이 필요한가. 이 설계 연구는 BM25와 dense retrieval, RRF, cross-encoder reranking을 정량적으로 분해하고, 그 위에 reasoning agent와 네 종류의 지식 도구를 올린다. 중요한 점은 높은 검색 점수만이 아니라 로컬 배포, 출처 추적, 거부 동작, 외부 타당성, 환각 위험까지 하나의 시스템 요구사항으로 다룬다는 데 있다.

Primary source: Sten den Hartog · Hogeschool van Amsterdam, Master Applied Artificial Intelligence · KDC Aviation Knowledge Base case study · 2026

01 · Problem context

89개의 기술 보고서는 지식 자산이지만, 질의 인터페이스가 없으면 기억의 섬이 된다

KDC는 LVNL, Schiphol Group, KLM의 연구 협력체로, Schiphol이 유럽 항공 교통 허브로 기능하기 위해 필요한 운영 연구를 수행한다. 연구 주제는 runway occupancy, trajectory prediction, GNSS approach, controller workload, ATFM, taxi optimisation, noise modelling처럼 서로 얽힌 ATM 문제를 가로지른다.

문제는 연구 결과가 89개 PDF로 SharePoint에 쌓여 있다는 점이다. 사용자는 먼저 어떤 문서가 존재하는지 알아야 하고, 관련 문서를 찾은 뒤에는 여러 보고서를 직접 읽어 공통점과 모순을 합성해야 한다. 보고서는 16페이지에서 224페이지까지 길고 기술 언어의 밀도가 높다. 특정 결과 하나를 찾는 일조차 시간이 많이 든다.

이 아카이브에서 실제로 필요한 질문은 단순 키워드 검색의 형태가 아니다. “Schiphol의 taxi time prediction에 어떤 방법이 쓰였는가?”, “GNSS approach validation에서 어떤 공백이 남아 있는가?”, “noise modelling과 trajectory optimisation 연구는 어떻게 연결되는가?”처럼 문서 경계를 넘고 의미적 관계를 요구한다.

Source fact논문은 현재 상태를 세 가지 문제로 정리한다. 발견(discovery)은 사전 문서 지식을 요구하고, 합성(synthesis)은 수작업이며, 접근 속도(access speed)는 긴 기술 보고서 때문에 제한된다. 항공 약어와 규제 용어는 일반 검색의 정확도를 더 낮춘다.

02 · Solution space and research gap

Keyword search도, fine-tuning도 이 문제에 맞지 않는다

논문은 세 가지 접근을 비교한다. 첫째, classical keyword search는 단순하고 생성 오류가 없지만 paraphrase를 넘지 못하고 여러 문서를 합성할 수 없다. 둘째, 89개 보고서로 LLM을 fine-tuning하는 방법은 데이터가 너무 적고, 아카이브가 바뀔 때 재학습이 필요하며, citation grounding을 제공하지 않는다. 셋째, RAG는 지식을 모델 weight 밖에 유지하고 query time에 관련 passage를 가져와 cited answer를 만들 수 있다.

도메인 RAG에도 빈틈이 있다. 일반 embedding은 AMAN, TCAS, GNSS 같은 전문 약어를 안정적으로 표현하지 못할 수 있다. 연구자는 factual lookup보다 synthesis, gap identification, relationship discovery를 원한다. 그리고 generation 평가에 널리 쓰이는 RAGAS는 LLM-as-a-judge의 stochasticity 때문에 재현성이 낮다.

이 연구가 내세우는 두 application gap은 신중하다. 하나는 hybrid BM25+dense+reranker가 일반 benchmark에서는 잘 알려져 있어도 작은 acronym-heavy grey-literature corpus에서 체계적으로 평가된 사례가 드물다는 점이다. 다른 하나는 항공 ATM 연구 archive에 domain RAG를 적용하고 재현 가능한 retrieval evaluation까지 수행한 공개 사례가 부족하다는 점이다.

Analysis이 논문의 강점은 새로운 retrieval algorithm을 주장하지 않는 데 있다. 기여를 “도메인에 맞는 조합을 설계하고, 각 구성요소의 marginal value를 재현 가능한 방식으로 측정한 application contribution”으로 한정한다.

03 · Stakeholders and requirements

검색 정확도보다 먼저 “누가 무엇을 믿고 써야 하는가”를 요구사항으로 만든다

세 stakeholder group이 있다. KDC 연구자는 methodology, findings, citation source를 빠르게 찾고 multi-paper synthesis와 gap identification을 원한다. LVNL operational specialist는 연구를 실제 운영 의사결정과 연결하되 source traceability와 local deployment를 요구한다. KDC management와 Schiphol Group은 연구 portfolio를 전략 관점에서 보고 KDC의 knowledge-development agenda와 연결하려 한다.

2026년 4월 prototype demonstration에서 네 요구가 특히 구체화된다. iterative search refinement, policy implications mode, study와 operational outcome의 연결, KDC Research Agenda 2026–2030과의 contextualisation이다. 이 피드백이 두 번째 iteration의 방향을 바꾼다.

범주주요 요구설계 의미
조직/보안외부 API 없이 완전 로컬 배포 가능embedding과 production reasoning model을 로컬에서 실행할 수 있어야 한다.
윤리모든 생성 답변에 source passage citationhuman-in-the-loop verification이 기본 동작이어야 한다.
범위research discovery tool로 한정operational safety decision system으로 사용하지 않음을 UI에 명시한다.
투명성agentic configuration은 reasoning trace 공개tool call, 재검색 이유, evidence weighting을 inspect할 수 있어야 한다.
기능five query modes, 89+ docs, web upload, <30 s factual latency, iterative refinementretrieval pipeline과 UI가 연구 workflow를 직접 지원한다.
전략KDC Research Agenda query source개별 결과를 기관의 research priority와 함께 해석한다.
평가BM25 baseline과 deterministic BEIR metricprimary retrieval result를 stochastic judge에 맡기지 않는다.
배포Docker Composeworkstation별 수동 환경 구성 없이 동일 deployment를 재현한다.

04 · Design Science Research

이 연구는 모델 비교가 아니라 artefact를 두 번 설계하고 검증하는 DSR이다

방법론은 Design Science Research(DSR)를 따른다. 문제 식별, 목표 정의, 설계·개발, demonstration, evaluation, communication의 여섯 활동으로 artifact-producing research를 구성한다. 질문이 “현상이 존재하는가”가 아니라 “어떤 시스템을 어떻게 설계해야 하는가”이기 때문에 DSR이 맞는다는 설명이다.

Iteration 1

Hybrid RAG + five-mode UI

BM25+dense+RRF+cross-encoder pipeline, Streamlit interface, knowledge graph prototype를 구축한다. 4월 stakeholder demonstration과 BEIR-style retrieval evaluation을 수행한다.

Iteration 2

Agentic orchestrator

reasoning model이 internal corpus, KDC agenda, aviation authorities, academic literature의 네 tool을 순차 호출하며 충분한 evidence가 모일 때까지 검색한다.

Evaluation

Deterministic + stochastic

retrieval은 human qrels 기반 BEIR로 재현 가능하게 측정하고, generation은 RAGAS를 5회 반복해 평균과 표준편차를 보고한다.

05 · Iteration 1

첫 번째 시스템은 세 층으로 구성된다: retrieval, graph, application

Layer 1 — RAG pipeline. PyMuPDF가 PDF를 page number와 함께 parsing하고, 12-sentence overlapping chunk(stride 6)로 나눈다. BAAI/bge-large-en-v1.5 embedding은 ChromaDB에 저장하고, 같은 chunk 위에 BM25Okapi index를 만든다. query마다 dense와 BM25가 각각 top-20을 반환하고 RRF가 합친다. cross-encoder/ms-marco-MiniLM-L-6-v2가 merged top-20을 rerank한 뒤 top-5만 LLM에 보낸다.

Layer 2 — Knowledge graph. ingestion 시 GPT-4o가 entity triple을 추출해 networkx graph로 저장한다. Connection mode에서 graph traversal을 시도하고 corpus topic overview를 시각화한다. 그러나 “air traffic management”와 “air traffic control” 같은 겹치는 node가 분리되는 extraction inconsistency 때문에 retrieval mechanism으로는 신뢰도가 낮았다. 두 번째 iteration에서는 graph retrieval을 retire하고 visual overview만 남긴다.

Layer 3 — Application. Streamlit app은 chat, knowledge graph visualiser, document browser, bulk upload의 네 페이지를 제공한다. 사용자는 Factual Q&A, Synthesis, Gap Analysis, Idea Generation, Connection의 다섯 mode 중 하나를 선택한다. auto-classifier prototype도 만들었지만 silent misrouting이 위험해 explicit mode picker를 유지했다. 예를 들어 Gap Analysis가 Factual Q&A로 잘못 route되면 문장은 그럴듯해도 문제 framing이 틀릴 수 있다.

Interface failure handlingretrieval timeout/ChromaDB failure는 stack trace 대신 설명형 오류로 보여준다. 깨진 PDF나 DRM 문서는 ingestion에서 건너뛰고 파일별 성공/실패를 보고한다. relevance threshold를 넘는 passage가 없으면 “no relevant passages found”를 반환해 parametric knowledge로 답하지 못하게 한다.

06 · Corpus data analysis

Chunk size를 감으로 정하지 않고 89개 PDF의 길이와 구조를 먼저 측정한다

EDA는 token/word length, outlier, information density, near-duplicate, natural section breakpoint의 다섯 속성을 본다. 목적은 fixed-size chunking이 적절한지, table-heavy passage가 embedding에 불리한지, 긴 문서가 retrieval 결과를 지배하는지, section-aware splitting이 실용적인지를 판단하는 것이다.

81.0문서당 평균 페이지
27,404문서당 평균 단어 수
158chunk당 평균 단어 수
23,039filter 이후 index chunk 수
MetricMeanMedianP95
Pages per document81.079.0139
Words per document27,40425,17449,745
Chunks per document (raw)362316688
Words per chunk158159189
Type-Token Ratio0.10
Numeric token ratio0.10

페이지 13의 word-count histogram/box plot은 대부분의 문서가 15k–35k words에 모이고, 평균 27,404 words와 +2 SD threshold 52,744 words를 넘는 세 outlier가 있음을 보여준다. 이 긴 문서들은 chunk 수가 많아 retrieval에서 과대표집될 수 있어 length-normalised scoring이 future work로 남는다. 페이지 14의 chunk plots는 12-sentence window가 문서 길이와 무관하게 대체로 120–200 words, 평균 158 words의 안정된 passage를 만드는 것을 보여준다.

section header는 98.9% 문서에서 탐지되었지만 structure-aware chunking을 채택하지 않았다. 이유는 section 길이가 지나치게 불균일하기 때문이다. 한 paragraph 결론과 20-page results가 모두 하나의 section unit이 되면 30-word와 2,000-word chunk가 같은 embedding space에서 비교된다. 그래서 12-sentence window, stride 6(50% overlap)을 선택하고 50 token 미만을 제거해 raw 32,249 chunk에서 23,039 chunk를 남겼다.

Type-Token Ratio 0.10은 AMAN, GNSS, ATFM 같은 용어 반복이 많은 기술 보고서의 중간 수준 lexical diversity를 나타낸다. numeric token ratio도 0.10으로 table과 measurement가 적지 않아 text embedding에 불리한 quantitative passage가 존재한다.

07 · Retrieval architecture

정확한 약어와 의미적 paraphrase를 같은 첫 단계에서 포기하지 않는다

Appendix Figure 3의 핵심 data flow를 웹용으로 재구성한 개념도이다. 측정값을 새로 그린 차트가 아니다.
User query
BM25 top-20
+ BGE dense top-20
RRF k=60
merge + deduplicate
Cross-encoder top-20 rerank
Top-5 → LLM

dense retriever는 BGE instruction prefix를 붙인 query를 BAAI/bge-large-en-v1.5로 embedding하고 ChromaDB cosine similarity top-20을 찾는다. sparse retriever는 BM25Okapi top-20을 찾는다. 두 순위는 Reciprocal Rank Fusion으로 합친다.

RRF(d) = Σr∈R 1 / (k + r(d)),   k = 60

RRF는 두 retriever score를 직접 normalize하지 않고 rank만 결합한다. 여기서 BM25는 GNSS 같은 exact token에 강하고, dense model은 “cognitive load”와 “workload” 같은 의미적 paraphrase에 강하다. cross-encoder는 query와 passage를 한 input으로 읽어 token 간 상호작용을 직접 계산하므로 더 정확하지만 비싸다. 그래서 full index가 아니라 top candidate만 rerank한다.

first-stage cutoff 20은 BEIR의 conventional reranking pool을 따르고 benchmark에서 Recall@20=1.000으로 충분함이 확인된다. LLM에 전달하는 top-5는 평균 158-word passage 다섯 개가 context budget에 안정적으로 들어오고 latency를 낮추는 절충이다. 중요한 점은 이 숫자를 35-query benchmark에 맞춰 tuning하지 않고 사전에 고정했다는 것이다.

08 · Evaluation methodology

Retrieval 평가는 LLM judge를 빼고 human qrels와 rank metric으로 고정한다

benchmark는 35개 query이며 다섯 query type을 포함한다. KDC domain expert가 각 query에 대해 네 retrieval configuration의 top-20에서 나타난 document를 title, page number, chunk preview와 함께 보고 0(not relevant), 1(partially relevant), 2(highly relevant)의 세 등급으로 annotation한다.

평가 configuration은 BM25-only, Dense-only, Hybrid(BM25+BGE+RRF), Hybrid+rerank의 네 가지이다. primary metric은 nDCG@10이고 MRR, Recall@5, Recall@20을 보조 metric으로 사용한다.

nDCG@10상위 rank에서 grade 2 문서를 더 높게 보상하고 logarithmic discount를 적용한다. 이상적 ordering의 DCG로 나눠 0–1로 normalize한다.
MRRgrade ≥1인 첫 relevant document의 reciprocal rank를 query 평균한다. 사용자가 첫 useful result를 얼마나 빨리 만나는지 본다.
Recall@k전체 relevant document 중 top-k 안에 들어온 비율이다. 여러 source가 필요한 synthesis와 gap analysis에서 특히 중요하다.

evaluation tooling은 eda_corpus.py, qrels_builder.py, beir_runner.py 세 script로 구성된다. 첫 script는 corpus statistics를 만들고, 두 번째는 annotation 대상 top-20을 만들며, 세 번째는 네 retrieval mode의 deterministic metric을 계산한다.

09 · Retrieval results

가장 큰 이득은 dense retrieval, 그 다음은 cross-encoder reranking이다

ConfigurationnDCG@10MRRRecall@5Recall@20
BM25-only0.5870.7860.4180.649
Dense-only0.7600.9570.5460.765
Hybrid, no rerank0.7650.9810.5710.787
Hybrid + rerank0.8940.9240.6831.000

full hybrid+rerank는 BM25 baseline 0.587에서 nDCG@10 0.894로 30.7 percentage point 오른다. BM25→dense가 +17.3 pp로 가장 큰 한 단계 상승이다. dense→hybrid는 aggregate로 +0.5 pp뿐이다. hybrid→cross-encoder는 +12.9 pp로 두 번째로 큰 상승이다.

Recall@20=1.000은 annotation된 relevant document가 모두 top-20 안에 들어왔다는 뜻이다. 따라서 remaining bottleneck은 “찾지 못함”이 아니라 “어떤 relevant passage를 더 위에 놓을 것인가”이다. MRR 0.924도 useful result가 대체로 첫 두 position 안에 나타남을 보여준다.

Query typennDCG@10MRRRecall@20
Factual100.8980.9501.000
Synthesis80.8590.8541.000
Gap Analysis50.9501.0001.000
Idea Generation50.8210.9001.000
Connection70.9380.9291.000

Gap Analysis가 0.950으로 가장 높다. “future research should…”, “no study has addressed…”처럼 research gap이 비교적 일관된 표현으로 쓰이기 때문이다. Connection도 0.938로 높다. 반대로 Synthesis는 여러 보고서를 동시에 잡아야 하므로 0.859, Idea Generation은 speculative relevance 자체가 주관적이어서 0.821로 가장 낮다.

10 · Why agentic

Recall이 1.000인데 synthesis가 약하다면, 문제는 retriever 다음 단계에 있다

Iteration 2로의 전환은 세 종류의 evidence가 같은 방향을 가리킨 결과이다. 첫째, retrieval evaluation에서 Synthesis 0.859와 Idea Generation 0.821이 상대적으로 낮지만 Recall@20은 모든 type에서 1.000이다. relevant document는 이미 reachable하다. single-step pipeline이 그들을 여러 번 찾아보고 비교하는 reasoning을 하지 못한다.

둘째, stakeholder가 iterative query refinement, KDC agenda contextualisation, operational consequence framing을 요청했다. 이 요구는 state를 유지하고 서로 다른 source를 호출하며 질문을 재구성하는 시스템을 뜻한다. 셋째, academic feedback은 BEIR만으로 generation faithfulness를 볼 수 없고 state-of-the-art agentic reasoning을 다루어야 한다고 지적했다.

CriterionIteration 1Iteration 2
Query handlingsingle retrieval + fixed prompt per modemulti-step planning; strategy chosen per query
Iterative refinementnot supportednative agent loop
External knowledgeinternal corpus onlyinternal + KDC agenda + authority DB + academic literature
Transparencydocument citationscitations + reasoning/tool trace
Failure handlingfixed generation pathre-query when context is insufficient
EvaluationBEIR retrievalBEIR + RAGAS generation
Latency2–4 s15–30 s
Local deploymentOllama-compatibleDeepSeek-R1/Qwen3 via Ollama viable

11 · Iteration 2

Agent는 retriever를 교체하지 않는다. 검증된 retriever를 하나의 tool로 감싼다

reasoning-capable LLM이 orchestrator가 된다. 질문을 해석하고 어떤 tool을 어떤 순서로 호출할지 정하고, evidence가 충분한지 판단한 뒤 필요하면 다시 검색한다. Iteration 1의 hybrid retriever는 그대로 search_internal_corpus 역할을 한다. 즉 agentic layer는 retrieval 품질을 새로 만드는 것이 아니라 planning, multi-step retrieval, cross-source synthesis를 추가한다.

Internal

KDC corpus

BEIR-validated hybrid retrieval을 사용한다. 질문이 명시적으로 전략/규제 성격이 아니면 우선 호출한다.

Agenda

KDC Research Agenda

2026–2030의 5개 research cluster와 active/proposed study를 조회해 결과를 KDC 전략 우선순위와 연결한다.

Authority

CORDIS + OpenAlex

SESAR JU, Clean Aviation, Eurocontrol, EASA, ICAO의 programme/regulatory context를 보완한다.

Academic

Semantic Scholar + OpenAlex

peer-reviewed abstract를 찾아 KDC 내부 연구를 broader field와 비교한다.

Provenance

fetch-cite-discard

외부 결과는 query time에 가져와 URL과 provenance tag를 붙이고 영구 embedding하지 않는다.

Graph

Knowledge graph retired

gap과 connection을 static entity traversal 대신 retrieved passage 위 reasoning으로 처리한다. graph는 overview 기능만 유지한다.

source hierarchy는 internal first, authority for regulatory context, external literature for academic evidence이다. 외부 source는 copyright를 고려해 fetch-cite-discard 방식으로 query 후 폐기한다.

development/evaluation은 Claude extended thinking을 사용한다. 이유는 reasoning trace를 별도 token stream으로 보여줄 수 있기 때문이다. production은 REQ-ORG-1 때문에 DeepSeek-R1 또는 Qwen3를 Ollama로 실행하는 경로를 권장한다. 두 계열은 explicit <think> reasoning을 제공한다. containerised deployment는 Docker Compose로 제공하고 corpus data는 embargo 가능성이 있어 image 안에 bake하지 않고 volume mount한다.

Appendix Figure 4의 happy path를 재구성한 것이다.
User query
Extended thinking
plan + tool choice
Internal search first
context sufficient?
If needed: agenda / authority / external
then cited answer

12 · Generation quality

로컬 qwen3:8b는 faithfulness를 거의 유지하지만 evidence breadth를 줄인다

BEIR은 맞는 문서를 가져왔는지 측정할 뿐 final answer를 평가하지 않는다. 그래서 35개 query의 agent output을 고정하고 RAGAS judge를 configuration마다 5회 독립 실행한다. API configuration은 Claude extended thinking, fully local configuration은 consumer hardware의 qwen3:8b이다.

MetricAPI ClaudeLocal qwen3:8b
Faithfulness0.665 ± 0.0810.655 ± 0.027
Answer relevancy0.724 ± 0.0710.905 ± 0.013
Context precision0.736 ± 0.0190.790 ± 0.011
Context recall0.628 ± 0.0610.431 ± 0.033

API faithfulness 0.665는 답변 statement의 약 2/3가 retrieved evidence에 직접 grounded되고, 나머지는 retrieved text가 명시하지 않은 inference나 parametric knowledge가 섞인다는 의미로 해석된다. answer relevancy 0.724는 broadly on-topic이지만 synthesis와 idea generation에서 필요한 범위를 넘어가는 경향이 있음을 뜻한다. context precision 0.736은 사용한 passage의 약 3/4가 실제 relevant하다는 평가이다. context recall 0.628은 reference answer가 요구하는 evidence 전체 중 약 63%가 context에 포함된다는 뜻이다.

local model은 faithfulness에서 0.655로 API 0.665와 거의 같고 answer relevancy와 context precision은 더 높다. 대신 context recall은 0.431로 낮다. local agent가 평균 1.6 tool call/query로 한 번의 retrieval에 가까운 동작을 많이 했기 때문이다. 직접적이고 좁은 답변은 relevancy score에 유리하지만 broad synthesis에서는 API model의 더 넓은 evidence gathering이 장점이다. production 권장 model인 qwen3:32b는 별도 측정하지 않았다.

논문은 가장 actionable한 결과로 faithfulness gap을 꼽는다. architecture를 바꾸지 않아도 모든 factual claim에 explicit citation을 강제하는 prompt tightening이 신뢰성을 높일 수 있다는 판단이다.

Interpretation boundaryRAGAS score는 task design과 judge model에 크게 의존한다. 논문은 telecom QA의 0.88–0.94(correct retrieval), 0.55–0.78(wrong retrieval)과 비교하지만, 그 연구는 single-passage factual QA이고 KDC는 multi-document synthesis이므로 숫자를 직접 우열 비교하지 않는다.

13 · Stakeholder evaluation

두 번의 demonstration에서 “기능”보다 provenance와 refusal이 신뢰 요소로 확인된다

2026년 4월 Iteration 1 demonstration에서 multi-mode interface, page-number citation, graph overview에 긍정적 반응이 있었다. iterative refinement, policy implication, research agenda contextualisation 요청은 Iteration 2의 직접 input이 된다.

5월 Iteration 2 validation은 Iteration 1을 baseline으로 먼저 보여주고 agent interface의 변경 이유를 설명한 뒤 stakeholder가 직접 질문하는 comparative session으로 진행한다. internal KDC finding과 Eurocontrol/SESAR programme context를 한 query에서 연결하는 기능이 의미 있는 개선으로 평가된다. collapsible reasoning trace는 어떤 tool을 어떤 순서로 호출했는지 보여줘 answer provenance에 대한 confidence를 높였다.

의도적으로 무관한 “cake recipe”를 물었을 때 system은 거부하고 자신이 답할 수 있는 domain을 설명했다. stakeholder는 professional research tool에서는 잘못된 답을 생성하는 것만큼 out-of-scope query를 안정적으로 거부하는 것이 중요하다고 봤다.

새로운 feature request는 AIP(Aeronautical Information Publication)이다. 그러나 AIP는 aerodrome chart, approach diagram, sector map에 많은 정보를 담는다. text-only pipeline은 이런 procedural evidence를 버린다. 이 관찰이 multimodal ingestion을 production 우선 과제로 끌어올린다.

14 · Disaggregated analysis

Hybrid의 +0.5점은 작지만, 약어 query만 떼면 BM25의 존재 이유가 드러난다

aggregate에서는 dense 0.760에서 hybrid 0.765로 겨우 +0.005이다. 그러나 query를 ATC, GNSS, ATFM 같은 domain-specific acronym 포함 여부로 나누면 효과가 반대 방향으로 갈린다. KDC는 거의 모든 query에 등장하므로 acronym test에서 제외한다.

SubsetDenseHybridΔ nDCG@10
With acronym (n=10)0.6560.719+0.063
Without acronym (n=25)0.8010.783−0.018
Overall (n=35)0.7600.765+0.005

BM25는 모든 query를 일반적으로 개선하는 component가 아니다. dense embedding의 특정 failure mode인 exact acronym matching을 보완하는 safety net이다. non-acronym에서는 오히려 term-overlap signal이 noise를 더한다. 논문은 이 결과를 small benchmark에서 pooled average만 보면 구조적으로 다른 effect를 놓칠 수 있다는 methodological lesson으로 사용한다.

15 · External validity

SciFact에서 dense retriever는 버티고, reranker는 무너진다

89-document corpus에 맞춘 configuration이 과적합된 것은 아닌지 확인하기 위해 같은 model weight와 parameter를 SciFact에 그대로 적용한다. SciFact는 5,183 biomedical abstract, 300 scientific claim query, binary relevance judgement로 구성된 BEIR dataset이다.

ConfigurationKDC nDCG@10SciFact nDCG@10
BM25-only0.5870.630
Dense-only0.7600.746
Hybrid, no rerank0.7650.726
Hybrid + rerank0.8940.703

BGE dense는 KDC 0.760, SciFact 0.746으로 domain adaptation 없이 비교적 안정적이다. 반면 MiniLM reranker는 KDC에서 hybrid 대비 +12.9 pp지만 SciFact에서는 dense-only보다 −4.3 pp, hybrid 기준으로도 떨어진다. 논문은 MS MARCO의 web-search query/passage distribution이 KDC의 자연어 연구 질문과 기술 prose에는 어느 정도 맞지만, biomedical claim-evidence matching에는 맞지 않는다고 해석한다.

RRF도 SciFact에서는 dense 0.746에서 hybrid 0.726으로 −2.0 pp이다. KDC에서는 acronym exact-match가 complementary signal이지만 biomedical vocabulary에서는 term overlap이 noise가 될 수 있다.

Analysis이 외부 검증은 “full pipeline이 어디서나 최고”라는 결론을 약화시키지만 연구 자체는 더 강하게 만든다. component effect가 domain distribution에 의존한다는 사실을 드러내고, KDC의 reranker gain이 단순 benchmark artifact가 아니라 특정 query-passage distribution과의 적합성에서 나온다는 설명을 가능하게 한다.

16 · Failure modes and limitations

검색 품질이 높아도 “잘못된 문맥”과 “불완전한 문맥”은 서로 다른 방식으로 실패한다

Corpus/annotation scope. 89 documents와 35 query는 현재 archive 전체를 다루지만 statistical power는 제한적이다. qrels는 네 configuration의 top-20에서 나타난 query-document pair를 expert가 grading했다.

Generation faithfulness. API faithfulness 0.665는 agent claim의 약 1/3이 retrieved text를 넘어간다는 위험 신호이다. judge는 GPT-4o-mini 기반 RAGAS이므로 aviation expert의 faithfulness 기준과 완전히 같다고 볼 수 없다. representative subset의 manual citation audit가 필요하다.

Chunking. 12-sentence window는 일정한 길이를 얻지만 section boundary를 무시한다. Methods와 Results를 걸치는 chunk가 생길 수 있다. header detection 98.9%는 structure-aware 방식이 기술적으로 가능함을 보여주며, RAPTOR 같은 hierarchical indexing이 대안이다.

Speculative source language. 4월 demonstration에서 sustainability query가 conclusion의 speculative future-impact sentence만 언급한 문서를 relevant하게 가져왔다. embedding은 그 mention이 central claim인지 peripheral aspiration인지 모른다. 저자는 연구자 writing practice와 contextual embedding 두 방향의 대응을 제안한다.

Knowledge graph quality. LLM entity extraction은 semantic overlap node를 만들고 graph traversal 신뢰도를 떨어뜨렸다. quantitative retrieval evaluation에는 포함하지 않고 overview feature로만 남긴다.

Multimodal blind spot. runway diagram, trajectory plot, noise contour map, measurement table, AIP chart가 text-only indexing에서 사라진다. 이는 단순 convenience 문제가 아니라 procedural query의 systematic incompleteness가 될 수 있다.

Four explicit error flowsAppendix Figure 4는 네 오류 경로를 그린다. out-of-scope query는 명시적으로 거부하고, corpus에 topic이 없으면 null을 선언하며, external tool failure는 service layer에서 잡아 tool-call log에 보고하고, PDF ingestion failure는 offending file만 skip한 뒤 upload UI에 per-file status를 보여준다.

17 · Ethical and societal reflection

안전 인접 분야에서는 citation이 정답 보증이 아니라 verification affordance이다

항공 ATM은 safety-adjacent domain이다. hallucinated separation standard나 approach procedure가 research recommendation을 거쳐 operational decision에 영향을 줄 수 있다. 그래서 system은 research discovery tool로 범위를 제한하고 operational safety tool이 아니라고 명시한다.

hallucination 완화는 source citation, factual mode temperature 0.0, retrieved context 밖의 parametric knowledge를 사용하지 말라는 system prompt, 항상 source를 확인하라는 permanent disclaimer로 구성된다. 그러나 faithfulness 0.665는 citation이 있다고 환각 문제가 사라지지 않음을 보여준다.

두 번째 위험은 automation bias이다. 유창하고 citation이 붙은 문장은 바쁜 사용자가 검증 없이 믿게 만들 수 있다. 이를 줄이기 위해 clickable citation, visible reasoning/tool trace, research-only scope label, permanent disclaimer를 함께 둔다. embedding과 reasoning model의 general-domain training prior가 older/minority finding을 under-rank할 가능성도 residual bias로 남지만 이 연구에서는 측정하지 않았다.

Ethical responsibility논문은 production deployment 전에 추가 validation, formal risk assessment, 명시적 user guidance가 필요하며, AI-generated answer를 human expert review 없이 aviation operation에 사용하는 것은 부적절하다고 결론낸다.

18 · Requirements fulfilment

15개 요구사항 중 12개 fulfilled, 2개 partial, 1개 deferred

RequirementStatusEvidence / note
REQ-ORG-1 local deploymentFlocal agent + Docker Compose 구현, local generation RAGAS 평가
REQ-ORG-2 research agendaFsearch_kdc_agenda tool
REQ-ETH-1 citationsFpipeline과 agent prompt에서 citation 강제
REQ-ETH-2 scopeFout-of-scope refusal stakeholder validation
REQ-TRANS-1 reasoning traceFthinking trace를 UI에 stream
REQ-FUNC-1 five modesFIteration 1 picker; Iteration 2 agent가 supersede
REQ-FUNC-2 ≥89 docsF89 documents, 23,039 indexed chunks
REQ-FUNC-3 web uploadFbulk upload page
REQ-FUNC-4 <30 sPpipeline 2–4 s; agent 15–30 s
REQ-FUNC-5 iterative refinementFmulti-turn agent loop
REQ-FUNC-6 agenda contextualisationPagenda tool 사용 가능, dedicated surfacing 없음
REQ-FUNC-7 policy framingNpolicy-implications mode future work로 deferred
REQ-TECH-1 BM25 baselineF4-way ablation에 포함
REQ-TECH-2 reproducible evalFdeterministic BEIR + human qrels
REQ-TECH-3 DockerFdocker-compose.local.yml

논문은 partial/deferred 항목을 core design failure라기보다 production hardening agenda로 본다. agent latency, agenda surfacing, policy framing이 남은 세 축이다.

19 · Future work

다음 단계는 더 큰 LLM보다 context quality, multimodality, domain adaptation이다

1. Contextual embeddings. 각 chunk 앞에 document-level context summary를 붙여 peripheral speculative mention이 query와 잘못 match되는 문제를 줄인다. Anthropic contextual retrieval의 35–49% failure reduction 보고를 근거로 가장 직접적인 개선으로 본다. 89개 문서당 한 번의 index-time LLM call이면 되고 cache할 수 있다.

2. Multimodal ingestion + AIP. Microsoft MarkItDown으로 PDF를 structured Markdown과 image로 분리하고, vision model이 figure type, aviation concept, key quantitative finding을 caption하도록 한다. caption을 chunk_type: "figure"로 기존 index에 넣으면 retrieval/generation layer를 바꾸지 않고 확장할 수 있다는 제안이다.

3. Iterative query refinement. agent가 이전 tool-call context를 유지하는 multi-turn research workflow를 강화한다. 연구자는 첫 답에서 새로운 용어를 발견하고 질문을 좁히거나 넓히는 경우가 많다.

4. Policy implications mode. academic conclusion을 operational/regulatory recommendation의 관점으로 재구성하는 dedicated mode가 필요하다.

5. Domain-adapted reranker + embedder refresh. aviation/technical-document query-passage pair가 충분히 모이면 cross-encoder를 fine-tune한다. embedding model도 MMTEB에서 더 강한 compact open model(Qwen3-Embedding-0.6B 등)로 주기적으로 재평가한다. 이미 구축한 BEIR framework가 model swap의 효과를 같은 nDCG@10 기준으로 측정할 수 있다.

20 · Appendix figures and interface

부록은 시스템이 실제로 어떻게 보이고 실패하는지를 설계 문서로 남긴다

Figure 3, page 26. ingestion panel은 PDF parsing → sentence-window chunking → BGE embedding → ChromaDB와 BM25 index의 두 경로를 보여준다. query panel은 dense/BM25 parallel retrieval → RRF → cross-encoder → top-5 cited generation을 그린다. 세 번째 panel은 이 fixed pipeline을 agent의 internal-search tool로 감싸는 Iteration 2를 보여준다.

Figure 4, page 27. happy path는 user query → extended thinking → internal corpus search → context sufficiency check → 필요한 추가 tool → grounded answer이다. 아래 lane은 out-of-scope refusal, zero relevant passage, tool failure, ingestion failure의 네 error flow를 UI response까지 포함해 표시한다.

Figure 5, page 30. Iteration 1 Research Assistant는 Research Assistant, Document Library, Upload Thesis, Knowledge Graph navigation과 research-mode picker를 제공한다. 화면 제목 아래에 “language model이며 실수할 수 있다”는 disclaimer가 있고 sidebar에서 agent mode toggle을 제공한다.

Figure 6, page 30. knowledge graph explorer는 thesis-method-topic 같은 entity relation을 시각화한다. visually useful하지만 extraction quality 때문에 retrieval mechanism으로는 retire된 기능이다.

Figure 7, page 31. Iteration 2 KDCAgent는 KDC house style에서 AI-limitations banner, user query, collapsible extended-thinking trace, KDC Research Agenda에 grounded된 final answer를 위에서 아래로 배치한다. 투명성 요구사항이 UI component로 구현된 모습이다.

Analysis이 부록은 “agentic RAG”를 추상적 orchestration pattern으로 끝내지 않는다. ingestion, retrieval, tool decision, null/refusal path, user-facing disclaimer, reasoning visibility가 한 제품 안에서 어떻게 연결되는지 보여준다. 이 연결이 논문의 design-science 성격을 가장 잘 드러낸다.

21 · Key takeaways

핵심 정리

Dense retrieval이 가장 큰 기본 개선을 만든다.BM25 0.587에서 dense 0.760으로 +17.3 pp이며 natural-language paraphrase를 해결한다.
BM25의 가치는 평균이 아니라 약어 subset에서 보인다.acronym query에서는 dense→hybrid가 +0.063이지만 non-acronym에서는 −0.018이다.
Cross-encoder가 KDC에서는 강하지만 universal하지 않다.KDC에서 +12.9 pp를 만들지만 SciFact에서는 오히려 성능을 낮춘다.
Recall@20=1.000 이후의 문제는 orchestration이다.관련 문서는 이미 찾을 수 있으므로 synthesis와 gap analysis에는 multi-step reasoning과 evidence gathering이 필요하다.
Local deployment는 generation quality를 완전히 포기하지 않는다.qwen3:8b faithfulness 0.655는 API 0.665와 가깝지만 context recall이 낮아 broad synthesis에 불리하다.
RAG의 신뢰성은 citation만으로 완성되지 않는다.faithfulness 0.665, refusal, reasoning trace, disclaimer, human verification을 함께 봐야 한다.
멀티모달 문서가 다음 병목이다.AIP와 KDC 보고서의 chart/diagram을 text-only pipeline이 버리기 때문에 production 우선 과제가 multimodal ingestion이다.
평가 프레임워크 자체가 재사용 가능한 기여이다.human qrels, four-way ablation, query-type 분석, SciFact cross-dataset test가 다른 proprietary domain RAG에도 적용될 수 있다.

22 · References

논문 참고문헌 전체

  1. Anthropic. Introducing Contextual Retrieval. Technical Report, 2024.
  2. Asai et al. Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection. arXiv:2310.11511, 2023.
  3. Cleverley and Burnett. Enterprise Search: A State of the Art. Business Information Review 36(2), 2019.
  4. Cormack, Clarke, and Buettcher. Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods. SIGIR, 2009.
  5. DeepSeek-AI. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948, 2025.
  6. Sten den Hartog. KDC Research Assistant: Project Repository and Wiki. HvA GitLab, 2026.
  7. Dubey et al. The Llama 3 Herd of Models. arXiv:2407.21783, 2024.
  8. Edge et al. From Local to Global: A Graph RAG Approach to Query-Focused Summarization. arXiv:2404.16130, 2024.
  9. Enevoldsen et al. MMTEB: Massive Multilingual Text Embedding Benchmark. ICLR, 2025.
  10. Es et al. RAGAS: Automated Evaluation of Retrieval Augmented Generation. EACL System Demonstrations, 2024.
  11. Faysse et al. ColPali: Efficient Document Retrieval with Vision Language Models. arXiv:2407.01449, 2024.
  12. Gao et al. Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997, 2023.
  13. Hawking. Challenges in Enterprise Search. ADC, 2004.
  14. Ji et al. Survey of Hallucination in Natural Language Generation. ACM Computing Surveys 55(12), 2023.
  15. Kamalloo et al. Resources for Brewing BEIR: Reproducible Reference Models and Statistical Analyses. SIGIR, 2024.
  16. Karpukhin et al. Dense Passage Retrieval for Open-Domain Question Answering. EMNLP, 2020.
  17. Lewis et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 33, 2020.
  18. Microsoft Corporation. MarkItDown: Convert files and office documents to Markdown. 2024.
  19. Muennighoff et al. MTEB: Massive Text Embedding Benchmark. EACL, 2023.
  20. Nogueira and Cho. Passage Re-ranking with BERT. arXiv:1901.04085, 2019.
  21. Noordeloos and Westerveld. Prototype demonstration feedback session. KDC/LVNL internal feedback session, April 2026.
  22. Peffers et al. A Design Science Research Methodology for Information Systems Research. Journal of Management Information Systems 24(3), 2007.
  23. Rashkin et al. Measuring Attribution in Natural Language Generation Models. Computational Linguistics 49(4), 2023.
  24. Reimers and Gurevych. Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks. EMNLP, 2019.
  25. Research Organization Registry. Eurocontrol — ROR entry. ROR ID 02e0nhh54, 2024.
  26. Robertson and Zaragoza. The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval 3(4), 2009.
  27. Roychowdhury et al. Evaluation of RAG Metrics for Question Answering in the Telecom Domain. ICML Workshop on Foundation Models in the Wild, 2024.
  28. Sarthi et al. RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval. ICLR, 2024.
  29. Schick et al. Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761, 2023.
  30. Schinkel. Artificial Intelligence for LVNL: Assessing AI Opportunities for Dutch Air Traffic Control. Graduation thesis, Amsterdam University of Applied Sciences, 2026.
  31. Shi et al. Retrieval-Augmented Generation: A Survey on Trustworthiness. arXiv:2403.16971, 2024.
  32. Singh et al. Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG. arXiv:2501.09136, 2025.
  33. Thakur et al. BEIR: A Heterogeneous Benchmark for Zero-Shot Evaluation of Information Retrieval Models. NeurIPS Datasets and Benchmarks, 2021.
  34. Wadden et al. Fact or Fiction: Verifying Scientific Claims. EMNLP, 2020.
  35. Wei et al. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. NeurIPS, 2022.
  36. Xiao et al. C-Pack: Packed Resources For General Chinese Embeddings. SIGIR, 2024.
  37. Yao et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR, 2023.

Primary source: Sten den Hartog, Designing and Evaluating an Agentic RAG System for a Domain-Specific Research Archive: A Case Study on the KDC Aviation Knowledge Base, Hogeschool van Amsterdam, Master Applied Artificial Intelligence, 2026.