SourceLearn은 같은 소스를 반복 학습해 재사용 역량을 쌓는다

From Knowledge Access to Source Learning: Developing Source-Specific Competence

arXiv2610.02150v1

Lucheng Fu2026-10-01조회 2

무엇인가

LLM 에이전트가 지식 집약적 작업을 연속으로 수행할 때, 같은 외부 소스(문서 모음, 코드 저장소, API 문서)를 계속 참조하는 일이 많다. 기존 연구는 검색, 롱컨텍스트, 구조화된 소스 표현으로 '접근 방식'을 개선해 왔고, 에이전트 메모리 계열은 과거 상호작용에서 얻은 지식을 보존해 왔다. 그러나 논문은 이 둘이 최적화하는 대상이 다르다고 지적한다. 소스 접근 기법은 질의 시점의 사용을 돕고, 에이전트 메모리는 이전 상호작용에서 파생된 지식을 보존할 뿐, 같은 소스를 반복 사용하는 것을 '반복 접근'으로 취급한다는 것이다. 저자들은 이를 소스 학습(source learning)이라는 별도 문제로 정의한다. 즉 지속적이고 권위 있는 소스에 대해, 새 과제에 적용 가능한 재사용성 높은 소스 특화 역량을 점진적으로 개발하는 것이다.

어떻게 동작하나

이 역량은 지속적이고 수정 가능한 소스 모델 M으로 표현된다. 소스 모델은 엔티티 중심으로 조직되며, 각 엔티티 e에는 재사용 가능한 표현 m_e가 붙는다. 여기에는 중요한 속성, 메커니즘, 적용을 지배하는 조건, 절차, 예외, 구분, 다른 엔티티와의 관계가 담기고, 여러 엔티티에 걸친 반복 패턴과 의존성을 담는 상위 구조도 포함될 수 있다. 중요한 것은 M의 목적이 원본 소스 D를 복제하는 게 아니라는 점이다. 압축적이고 재사용 가능한 이해만 유지하고, 쉽게 검색되는 저수준 세부는 원본에 남겨 둔다. 초기 모델 M0는 소스 인식·엔티티 중심 읽기로 만든 잠정적 출발점이며, 큰 소스는 일관된 영역으로 나누고 코드 모듈이나 문서 섹션 같은 원래 구조를 활용한다.

무엇과 다른가

모든 학습 단계에 공통으로 적용되는 원칙은 '근거 기반 소스 재구성(grounded source reconstruction)'이다. 학습 신호는 무엇을 다시 볼지 결정하고, 지속적으로 저장되는 지식은 권위 있는 소스로부터 재구성된다. 영향받는 영역 R에 대해 O_R = Inspect(D_R, M_R; ξ)로 현재 모델과 소스를 대조해 임시 관찰을 만들고, M' = GroundApply(M, Reconstruct(M_R, O_R); D_R)로 갱신한다. 제안된 내용이 소스 근거로 뒷받침될 때만 커밋하며, 관찰 자체를 영구 메모리에 그대로 복사하지 않는다. 소스 모델이 과제 시점의 컨텍스트 예산을 넘으면 최대 B 토큰만 노출하는 활성화 함수 A_B(M,q)를 쓰고, 과제 풀이는 ŷ = F(q, R(D,q), A_B(M,q))로 검색된 근거와 축적된 이해를 함께 받는다.

어떻게 쓰나

첫 번째 기제인 자기주도 소스 학습(Self-Directed Source Learning)은 Inspect–Study–Consolidate 주기를 돈다. 현재 모델을 조건으로 소스를 다시 읽으면서(O_e = Observe(S_e, m_e)) 현재 표현이 잘 설명하지 못하는 부분을 찾아낸다. 이어 적응형 플래너가 현재 모델, 누적 관찰, 이전 학습 이력을 바탕으로 소수의 학습 행동을 고른다. 하나의 엔티티에서 미해결 측면을 파고드는 Deepen과, 두 엔티티 사이의 의존성이나 공유 구조를 함께 살피는 Connect가 그것이며, 각 행동에는 재검색과 재독을 이끄는 임시 study 질문이 붙는다. 이 질문들은 학습 도구일 뿐 소스 모델에 저장되지 않는다. 관찰은 임시로 쌓아 두고 학습이 끝난 뒤 한 번에 통합하는, 이른바 read-many, write-once 패턴이다.

전제와 한계

두 번째 기제인 과제 유도 소스 학습(Task-Guided Source Learning)은 두 경로로 작동한다. 먼저 각 guidance task에 대해 권위 있는 소스로 돌아가 참조 결과를 직접 뒷받침하는 근거 E*_t와 그 과제가 요구하는 소스 요구사항 C_t를 진단한다. 이 단계는 소스 학습 전체에서 참조 정답 y_t를 직접 관찰하는 유일한 지점이지만, 정답이나 그 근거를 영구 지식으로 저장하지는 않는다. 과제를 틀렸을 때는 현재 모델에 표현되지 않은 요구사항 C_t^-를 식별해 해당 소스 영역을 다시 읽고 Refine한다. 이미 표현된 요구사항은 추가 쓰기를 유발하지 않으므로, 표현 결함과 '이해는 있지만 틀린 오류'를 구분한다. 두 번째 경로는 교차 과제 표현 학습으로, 각 과제에서 특정 사실이 아니라 지식 표현 방식에 대한 선호를 representation lesson ℓ_t로 요약하고, 반복되는 교훈을 소스 수준 표현 정책 Π_1로 집계한 뒤 Recalibrate로 소스를 다시 방문해 누락되었거나 부적절한 입도로 표현된 구조를 반영한다.

실험은 문서·코드·API 소스를 아우르는 5개 벤치마크(MultiDoc2Dial, NarrativeQA, SWE-QA, APIBench, AppWorld)와 3개 백엔드(GPT-5.6-Luna, gpt-oss-120b, DeepSeek-V4.1-Flash)에서 수행됐다. 비교 대상은 Hybrid RAG(과제 국소 검색), RAPTOR와 HippoRAG 2(지속적 소스 표현), AWM(경험 기반 메모리)이다. SourceLearn은 15개 설정 중 13개에서 최고, 1개에서 2위를 기록했고, Hybrid RAG 대비 평균 +14.3, +4.9, +13.4 포인트를 각 백엔드에서 얻었다. GPT-5.6-Luna와 DeepSeek-V4.1-Flash에서는 5개 벤치마크 중 4개에서 10점 이상 향상됐으며, Hybrid RAG 대비 최대 개선폭은 22.6 포인트다. 반면 RAPTOR, HippoRAG 2, AWM은 벤치마크별 편차가 컸다.

절제 실험에서 최종 모델 M_T는 세 QA 벤치마크 모두에서 가장 정확했고, 자기주도 또는 과제 유도 학습을 빼면 정확도가 떨어졌으며 초기 모델 M0가 가장 낮았다. 과제 유도 학습의 두 경로 중 하나만 제거해도 모든 벤치마크에서 성능이 하락했고, 둘 다 제거한 M_S는 더 낮았다. 표현 변화 분석에서는 명시적 적용 조건을 가진 단위 비율이 M0의 약 30%에서 M_T의 65~82%로 올라갔고, 테스트 질문이 요구하는 소스 claim 중 모델에 표현된 비율은 23.2%에서 40.0%로 증가했다. 요구 claim이 하나도 표현되지 않았을 때 정확도는 67.5%, 전부 표현됐을 때는 86.6%였다.

실무에서는 같은 문서 집합이나 코드 저장소, API 문서에 반복적으로 질의하는 에이전트에 적용할 수 있다. 도입 전에 확인할 것은 guidance task 집합이 테스트 과제와 분리돼 있는지, 소스 모델에 허용할 토큰 예산 B를 어떻게 잡을지, 그리고 '관찰을 저장하지 않고 소스에서 재구성한다'는 불변식이 실제 파이프라인에서 지켜지는지다. 저자들이 밝힌 한계는 범위다. 이 연구는 지속적이고 권위 있으며 비교적 안정적인 소스에서 같은 소스를 반복 사용하는 과제를 전제로 한다. 소스가 계속 진화하거나 노이즈가 많거나 서로 상충하는 경우로 확장하는 것은 향후 과제로 남겨 두었다.