AI 요약 · 영어에서 AI 번역
The Hitchhiker's Guide to Agentic AI: From Foundations to Systems
Haggai Roitman
TL;DR
에이전트형 AI 시스템 구축에 필요한 지식은 논문, 저장소, 연구실별 전문 지식에 흩어져 있다. 이 가이드는 풀스택 이론과 구현을 통합한 실무 참고서다. LLM, 강화학습, 도구 사용 프로토콜, 오케스트레이션 프레임워크가 어떻게 융합되어 에이전트형 시스템을 뒷받침하는지 설명한다.
문제
지능형 AI 시스템 구축에 필요한 지식이 논문, 저장소, 연구실별 전문 지식에 흩어져 있어 실무자에게는 통합 참고서가 필요하다.
출처: Why This Guide Exists · p. 27방법
이 가이드는 풀스택 이론과 구현 세부사항을 하나의 실무자 중심 참고서로 통합한다.
출처: Why This Guide Exists · p. 27결과
이 가이드는 LLM, 강화학습, 도구 사용 프로토콜, 오케스트레이션 프레임워크의 융합이 언어 처리, 추론, 행동, 조정을 어떻게 뒷받침하는지 설명한다.
출처: A Personal Journey to Agentic AI · p. 27시사점 및 한계
지능형 AI 시스템을 구축하려면 모델 내부 구조, 학습 인프라, 최적화, 강화학습, 다중 에이전트 간 조정을 이해해야 한다.
출처: Why This Guide Exists · p. 27저자는 정확성, 완전성, 적합성을 보장하지 않으며, 주장, 수식, 구현 세부사항을 실제 운영 환경에 적용하기 전에 독립적인 검증을 권고한다.
출처: Disclaimer · p. 25
Abstract
from arXiv · showhide
The Hitchhiker's Guide to Agentic AI is a comprehensive practitioner's reference for building autonomous AI systems. The book covers the full stack from first principles to production deployment, organized around a central thesis: building great agentic systems requires understanding every layer of the pipeline, not just one. The book opens with the LLM substrate -- transformer architecture, GPU systems, training and fine-tuning (SFT, LoRA, MoE), model compression, and inference optimization -- treated as essential foundations rather than the primary focus. It then develops the alignment and reasoning layer: reinforcement learning from human feedback (RLHF), PPO, DPO and its variants, GRPO, reward modeling, and RL for large reasoning models including chain-of-thought and test-time scaling. The second half is devoted to agentic AI proper. Topics include agentic training and trajectory-based RL, retrieval-augmented generation (RAG and Agentic RAG), memory systems (in-context, external, episodic, and semantic), agent harness design and context management, loop engineering (inference-time RL, generate-verify-retry optimization, and adaptive budget control), and a taxonomy of agent design patterns. Inter-agent coordination is covered in depth: the Model Context Protocol (MCP), agent skills and tool use, the Agent-to-Agent (A2A) communication protocol, and multi-agent architectures spanning centralized, decentralized, and hierarchical topologies. The book concludes with agent development frameworks, agentic UI design, evaluation methodology for agentic tasks, and production deployment. Each chapter pairs rigorous theoretical foundations with implementation guidance, code examples, and references to the primary literature.
면책 고지 … 3. 피드포워드 네트워크 + 잔차 연결 + LayerNorm
이 절은 모델 기초부터 정렬, 추론, 자율 에이전트, 평가까지 아우르는 실무 중심의 전 과정 로드맵을 소개한다. 이어 토큰화, 트랜스포머 구조와 표현, 긴 문맥에서의 동작, 예측 헤드, 안정적이고 효율적인 학습을 위한 실용 기법 등 LLM의 기초 개념을 다룬다.
이 가이드의 목적 / 설계 철학 / 대상 독자
- 통합 실무 참고서로서 직관 중심의 설명과 구현 지침을 제공하고, 운영 환경에서 검증된 접근법과 연구 단계의 시도를 명확히 구분한다.구현을 돕는 자료로 코드, 하이퍼파라미터 표, 메모리 예산, 구조도, 디버깅 전략을 제공한다. 신경망과 기초 확률 지식은 필요하지만 LLM, RL, 시스템 관련 사전 지식은 요구하지 않는다.출처: Why This Guide Exists · p. 27, Who This Guide Is For · p. 28, Design Philosophy · p. 30
에이전틱 AI로 향한 개인적 여정 / 2026년의 지형
- 에이전틱 AI는 LLM의 언어 능력, RL 기반 추론과 정렬, 표준화된 도구 접근, 오케스트레이션을 결합한다.역사적 흐름은 아키텍처 규모 확장에서 시스템 효율화와 RL 정렬을 거쳐 추론과 자율성으로 이어진다. 초기 에이전트 구상은 취약한 수작업 온톨로지, 정제되지 않은 제품 데이터, 부족한 자연어 이해 능력에 제약을 받았다.출처: A Personal Journey to Agentic AI · p. 27, The Landscape in 2026 · p. 28
가이드의 구성
- 여섯 부는 기초, RL 기법, 추론, 평가, 에이전틱 AI, 학습 점검·참고 자료를 다룬다.에이전틱 AI에서는 검색, 메모리, 오케스트레이션, 문맥 관리, 루프 엔지니어링, MCP, A2A, 다중 에이전트 시스템, 프레임워크, UI를 다룬다. 학습 점검에는 정답을 포함한 상세 퀴즈 108문항과 수식, API, 실패 진단을 모은 참고 자료가 담겨 있다.출처: How This Guide Is Organized · p. 29
범위와 의도적으로 제외한 내용 / 면책 고지
- 이 가이드는 텍스트 입력·텍스트 출력 모델과 이를 위한 RL, 시스템, 에이전틱 인프라에 집중하며, 멀티모달, 도메인별 배포 세부 사항, 개인화는 제외한다.이는 모달리티별 파이프라인, 도메인 제약, 추천 아키텍처보다 일반적인 방법에 집중하기 위한 선택이다. 내용에는 어떠한 보증도 없으며, 독자는 운영 환경에 적용하기 전에 주장, 수식, 구현 세부 사항을 독립적으로 검증해야 한다.출처: Disclaimer · p. 25, Scope and Deliberate Omissions · p. 30
버전 1.3의 새 내용
- 버전 1.3은 Muon, 잠재 어텐션, FP8/FP4 학습, 보조 손실 없는 MoE, 중간 학습으로 아키텍처 관련 내용을 확장한다.Muon은 Newton–Schulz 직교화를 사용하고, MLA는 저랭크 투영으로 KV 캐시를 압축하며, FP8/FP4 학습은 타일별 마이크로 스케일링을 사용한다. 적응형 편향은 보조 손실 없이 MoE 부하를 균형화하고, 중간 학습은 사전학습과 SFT를 연결해 모델이 RL에 대비하도록 한다.출처: What’s New in Version 1.3 · p. 30
- Decoupled DiLoCo는 대역폭 236× 감소를 보고하며, 그 밖에 데이터센터 추론, RL 후속학습 엔진, 상호작용 환경, 운영 궤적 기반 학습이 추가되었다.Dynamo는 데이터센터 규모의 추론 오케스트레이션을 제공하고, Miles는 PyTorch 네이티브 RL 후속학습 엔진을 제공한다. NeMo Gym, RLFactory, MOSAIC은 상호작용형 에이전틱 후속학습을 지원하며, 운영 중 수집한 궤적은 RL 학습 신호를 제공한다.출처: What’s New in Version 1.3 · p. 31
- 온폴리시 자기 증류는 추가 정보가 주어진 모델 자체의 문맥에서 조밀한 토큰 단위 감독 신호를 얻어, RL 수준 추론에 필요한 연산량을 10–100× 줄였다고 보고한다.추론 관련 추가 내용에는 예산을 고려한 프롬프팅으로 추론 시 연산량을 로그 선형적으로 확장하는 방법과, 토큰 단위 사고 사슬 없이 수행하는 coconut 방식의 연속 잠재 사고가 포함된다.출처: What’s New in Version 1.3 · p. 31
- 에이전틱 AI 관련 추가 내용은 선제적 메모리, 문맥 엔지니어링, 새 과제 벤치마크, BDI-LLM 자기 진화, 객체 지향 에이전트 프레임워크를 다룬다.행동 상태 감쇠, 선제적 검색, 문맥 창 최적화와 함께 로봇 조작 및 장기 터미널 과제를 위한 UniClawBench와 Terminal-Bench를 다룬다. BDI-LLM 아키텍처는 학습된 계획 라이브러리를 사용한다. NVIDIA OO Agents는 에이전트를 Python 객체로, 메서드를 도구로 표현하며 LLM 주도 루프를 지원한다.출처: What’s New in Version 1.3 · p. 31
전체 그림
- 효과적인 AI 시스템을 구축하려면 전체 파이프라인을 이해해야 하므로, 이 가이드는 연구자, 엔지니어, 응용과학자를 위해 기본 원리와 운영상의 고려 사항을 연결한다.예제에서는 학습 실패를 GPU 메모리 및 옵티마이저 동역학과, 미세조정 선택을 비용과, 에이전트 개발을 기반 모델의 학습과 연결한다.출처: The Big Picture · p. 32
에이전틱 AI로 가는 길: 간략한 역사
- 에이전틱 AI는 아키텍처, 규모, 학습 신호가 이끈 돌파구를 바탕으로 추론 모델, 표준화된 도구, 에이전트 간 통신, 영속 메모리, 오케스트레이션을 결합한다.주요 이정표로는 Deep Blue의 수작업 설계 탐색, AlphaGo의 심층 RL, AlphaGo Zero의 자기 대국, GPT-3의 문맥 내 학습 [32], RLHF로 정렬된 어시스턴트 [280]가 있다.출처: The Road to Agentic AI: A Brief History · pp. 32–33
이 가이드에서 기대할 내용
- 로드맵은 기초, LLM 학습과 정렬, 추론, 평가, 자율 에이전트 시스템, 학습 점검 및 참고 자료를 아우른다.정렬의 핵심 내용은 수학적 유도와 실행 가능한 코드를 결합한다. 가장 큰 비중을 차지하는 에이전틱 AI 부는 학습된 모델에서 배포된 자율 시스템으로 나아간다.출처: What You Should Expect · pp. 33–35
현대 AI 파이프라인
- 개발 파이프라인은 사전학습된 기반 모델에서 정렬과 추론을 거쳐 자율 에이전트 역량으로 발전하며, 각 단계는 가이드의 해당 부와 연결된다.출처: Figure 1 · p. 35
약어 용어집
- 용어집은 머신러닝, 시스템 공학, 에이전트 연구에서 자주 쓰는 약어를 모으며, 자세한 설명은 각 개념을 소개하는 장에서 제공한다.출처: Glossary of Acronyms · p. 36
1.1 LLM의 작동 원리: 직관적 개요
- LLM 파이프라인은 텍스트를 토큰화하고 토큰 ID를 임베딩한 뒤, 트랜스포머 층을 통해 문맥화된 표현을 만들고 어휘 확률에서 다음 토큰을 선택한다.생성된 각 토큰은 다음 순전파의 입력에 추가되어 자기회귀 생성 루프를 이룬다.출처: Figure 1.1 · p. 39, The Four Key Stages · p. 39
1.2 토큰화
- 서브워드 토큰화는 문자 단위의 긴 시퀀스와 단어 단위의 희귀어 처리 실패 사이에서 균형을 잡으며, 모델 품질, 다국어 포괄 범위, 연산 효율에 영향을 준다.어휘 크기와 언어별 단어당 토큰 수로 포괄 범위를 평가할 수 있다. 숫자 자릿수 단위 토큰화는 산술 연산에 도움이 되며, 코드에서는 효율적인 공백 토큰화가 중요하다.출처: §1.2 · p. 39, Why Subwords? · p. 40, §1.2.4 · p. 41
1.2.2 바이트 쌍 인코딩(BPE)
- GPT, Llama, Mistral에서 사용하는 BPE [320]는 가장 빈번한 인접 기호 쌍을 반복해서 병합하여 서브워드 어휘를 구축한다.개별 문자나 바이트에서 시작해 인접 쌍의 빈도를 다시 세고, 목표 어휘 크기에 도달할 때까지 병합을 반복한다.출처: §1.2.2 · p. 40, BPE Algorithm · p. 40
특수 토큰 활용 지침
- 특수 토큰은 프롬프트, 역할, 도구 상호작용에 분할되지 않는 구조적 경계를 제공하므로 학습과 생성에서 일관되게 처리해야 한다.SFT에서는 구조 토큰의 손실을 마스킹하고, PPO/GRPO에서는 KL 계산이 왜곡되지 않도록 정책 모델과 참조 모델에 동일한 토큰화를 적용하도록 권고한다. 응답이 끝없이 이어지지 않도록 생성 중 EOS를 항상 허용해야 한다.출처: §1.2.6 · p. 42, Special Token Best Practices · pp. 42–43
마스킹이 중요한 이유
- 인코더-디코더 모델은 양방향 인코딩, 인과 마스킹을 적용한 디코더 자기 어텐션, 인코더 표현에 대한 교차 어텐션을 결합한다.인과 마스킹은 미래 토큰을 노출하지 않고도 교사 강요 방식의 병렬 학습을 가능하게 한다. 교차 어텐션은 디코더에서 쿼리를, 인코더에서 키와 값을 가져와 인코더의 모든 위치에 접근한다.출처: §1.3.2 · p. 43, Why Masking Matters · p. 44
1.3.2 원래의 인코더-디코더 트랜스포머
- Pre-Norm 디코더 블록은 어텐션과 피드포워드 하위 층 앞에 LayerNorm을 배치한 뒤, x + SubLayer(LN(x))로 잔차 연결을 더한다.제시된 아키텍처 설명에 따르면 이 순서는 원래의 Post-Norm과 달리 워밍업 없이도 학습을 안정화한다. 쌓인 블록의 출력은 최종 LayerNorm과 선형 투영을 거쳐 어휘 로짓으로 변환된다.출처: Figure 1.3 · p. 44
3. 피드포워드 네트워크 + 잔차 연결 + LayerNorm
- 디코더 전용 LLM은 단일 인과적 자기 어텐션 스택으로 문맥을 인코딩하고 후속 텍스트를 생성하며, 인코더와 교차 어텐션을 제거한다.이는 아키텍처, 학습, 추론을 단순화하면서 통일된 다음 토큰 예측 목표를 지원한다. 인코더-디코더 모델은 여전히 번역과 요약에 유효하며, 교차 어텐션은 멀티모달 모델에서 다시 등장한다.출처: §3 · p. 45, Why Decoder-Only Won · p. 46
1.3.4 임베딩: 이산 토큰에서 연속 공간으로
- 임베딩은 테이블 조회로 이산 토큰 ID를 학습된 밀집 벡터에 대응시켜, 연속 공간에서 유사한 개념을 서로 가깝게 배치한다.Llama-3의 128,256 × 4,096 임베딩 테이블은 525M개의 파라미터를 가지며, 이는 8B 모델의 6.5%다. 많은 모델은 임베딩 행렬을 출력 투영과 공유해 파라미터를 절약한다.출처: §1.3.4 · p. 46, Embedding Table in Transformers · p. 46
임베딩이 작동하는 이유 / 백색화 실무
- 다음 토큰 학습은 문맥별 토큰의 기하 구조를 학습하지만, 비등방성 때문에 의미 있는 코사인 유사도를 복원하기 위한 백색화 [340]가 필요해진다.백색화는 평균이 0이고 공분산이 단위행렬인 임베딩을 만들며, 상위 k개 고유벡터만 남겨 차원을 줄이고 검색을 가속할 수 있다. 대표성 있는 말뭉치에서 O(N · d^2) 비용의 공분산 계산이 필요하고, 추론 시에는 행렬 곱을 수행한다.출처: Why Embeddings Work · p. 47, Whitening in Practice · p. 48
스케일 내적 어텐션
- 128K 토큰에서는 FP32 어텐션 행렬만으로 64 GB가 필요해, 단순 어텐션이 긴 문맥에서 갖는 이차적 병목을 보여준다.단순 어텐션은 O(n^2 · d) 시간과 O(n^2) 메모리를 요구한다. 인과 마스크는 각 토큰이 자신과 앞선 토큰에만 주의를 기울이도록 제한한다.출처: Scaled Dot-Product Attention · pp. 48–49
- FlashAttention [65]는 연산 복잡도를 줄이지 않고 메모리 접근을 최적화하며, 어텐션 연산량을 줄이는 지역 또는 희소 마스크와 함께 사용할 수 있다.지역 어텐션의 비용은 O(n · w)이며, 희소 지역·전역 패턴은 O(n√n)으로 일부 장거리 연결을 유지한다. 선형·상태 공간 대안은 표현력을 바꾸며 정밀 검색이나 복잡한 추론에서 뒤처진다. 반면 추론 시 KV 압축은 캐시된 쌍을 압축하거나 제거해 메모리 사용량에 상한을 둔다.출처: Scaled Dot-Product Attention · pp. 49–50
1.3.6 다중 헤드 어텐션
- Llama-3 [118]는 32개 쿼리 헤드가 8개 KV 헤드를 공유해 KV 캐시를 4× 작게 만들며, MLA는 학습된 잠재 표현으로 이를 더 압축한다.병렬 어텐션 헤드는 서로 다른 패턴을 학습한다. DeepSeek-V2 [69]가 도입한 MLA는 토큰마다 저랭크 벡터 하나를 캐시하고 필요할 때 키와 값을 복원한다. GQA와 동등하거나 더 높은 품질을 달성하며 이후의 희소 어텐션도 지원한다.출처: §1.3.6 · p. 50
1.3.7 위치 인코딩
- RoPE 는 추가 파라미터 없이 쿼리와 키를 회전시켜 상대 위치를 인코딩하지만, 더 긴 문맥으로 외삽하려면 명시적인 스케일링 전략이 필요하다.위치 정보는 순열 등변적인 트랜스포머에 본래 없는 시퀀스 순서를 제공한다. 사인파 인코딩은 실제로 외삽 성능이 낮고, 학습된 절대 위치 임베딩은 최대 길이를 엄격히 제한한다. RoPE에는 회전 연산의 오버헤드와 과제별 구조적 제약이 따른다.출처: §1.3.7 · pp. 50–51
RoPE 길이 확장
- ALiBi 는 외삽에 강하지만 정밀한 위치 추론을 제한하며, Ring Attention [221]과 하이브리드 어텐션은 긴 문맥의 연산 확장 문제를 다룬다.ALiBi는 파라미터 없는 선형 거리 페널티를 적용하지만, 짧은 문맥에서 더 나은 성능을 보이는 RoPE로 대체되는 추세다. Ring Attention은 정확한 어텐션을 유지하면서 KV 블록을 여러 GPU에 분산한다. 하이브리드 아키텍처는 지역 창을 주로 사용하되 일부 층에 전체 어텐션을 배치해 전역 정보 흐름을 유지한다.출처: RoPE Length Extension · pp. 52–53
- RoPE 문맥 확장은 위치 스케일링과 먼 문맥을 활용하는 학습을 결합하며, 명목상 문맥 용량이 효과적인 검색을 보장하지는 않는다.Position Interpolation [48]은 확장 비율이 높으면 성능이 저하된다. NTK-aware scaling [289]은 주파수를 바꾸고, YaRN [289]은 온도 보정과 긴 문맥 미세조정을 추가하며, Dynamic NTK [289]은 추론 중 스케일링을 조정한다. 긴 문서로 사전학습을 계속하면 먼 문맥 활용을 학습할 수 있고, “lost in the middle” [226] 현상은 장거리 검색에 보상하는 과제의 필요성을 보여준다.출처: RoPE Length Extension · pp. 52–53
1.3.8 피드포워드 네트워크(MLP)
- 각 트랜스포머 블록은 위치별로 독립적인 MLP를 적용하며, SwiGLU는 곱셈 게이팅과 세 개의 가중치 행렬을 도입해 성능을 높인다.Llama [118]와 Mistral [165]은 SwiGLU를 사용한다. 은닉 차원은 보통 8/3 × d이며, Tensor Core 효율을 위해 256의 배수로 맞춘다.출처: §1.3.8 · p. 53
1.3.9 층 정규화
- RMSNorm [421]은 평균 중심화와 이동 파라미터를 제거해, 동등한 모델 품질에서 GPU 실행 속도를 약 5–10% 높인다.LayerNorm은 배치 크기와 무관하게 한 샘플의 특성 차원에 걸쳐 작동한다. 정규화는 활성값의 크기를 제한하고 안정적인 기울기 흐름을 돕는다. Pre-LN은 학습을 안정화하고 더 높은 학습률을 허용하지만, Post-LN은 신중한 워밍업이 필요하며 불안정할 수 있다.출처: §1.3.9 · p. 54, Why Normalization Matters for Deep… · p. 54, Pre-LN vs Post-LN · p. 54
어텐션 싱크
- 때로는 의미와 무관하게 전체 어텐션 질량의 20–50%가 첫 토큰에 집중되어, Xiao 외 [393]가 관찰한 어텐션 싱크를 형성한다.Softmax는 정규화된 어텐션을 요구하므로, 예측 가능한 첫 토큰은 의미적으로 중요해서가 아니라 남는 질량을 받아들이는 지점이 된다. 이를 제거하면 스트리밍 퍼플렉시티가 급격히 악화될 수 있다. StreamingLLM [393]은 초기 토큰과 최근 구간을 함께 보존해 제한된 메모리로 생성한다.출처: Attention Sink · p. 55
어텐션 희석
- 어텐션 희석 [226]에서는 토큰당 평균 어텐션이 O(1/n)이 되며, 긴 문맥 검색은 중간보다 시작과 끝 위치를 선호한다 [226].RoPE의 위치별 감쇠와 짧은 시퀀스 위주의 학습이 위치 편향에 기여한다. 완화책으로 관련 문맥을 프롬프트 양 끝에 배치하고, RAG를 사용하며, 정보 위치가 다양한 긴 문서로 학습하는 방법이 있다 [100].출처: Attention Dilution · pp. 55–56, Mitigation strategies · p. 56
Attention Is Not Explanation
- 어텐션 시각화는 충실한 설명이 아니라 가설을 제시한다. Jain과 Wallace [160]는 중요도와의 상관이 약하고 서로 다른 어텐션 분포가 동일한 출력을 낼 수 있음을 보였다.BertViz [359] 등의 원시 히트맵은 개별 헤드를 표시한다. 어텐션 롤아웃 [2]은 잔차 연결을 반영한 행렬을 층별로 곱해 정보 흐름을 근사한다. 높은 어텐션이 반드시 큰 영향을 뜻하지는 않으므로, 기울기 가중 어텐션 [20]은 출력 민감도를 반영한다.출처: Attention Visualization Methods · pp. 56–57, Attention Is Not Explanation · p. 57
희소 오토인코더(SAE)를 통한 기전적 해석가능성
- Templeton 외 는 Claude 3 Sonnet의 최대 34M개 SAE 특성에서 해석 가능한 안전 관련 개념을 드러냈다.SAE는 재구성 손실과 L1 희소성 페널티를 사용해 다의적 활성값을 단의적 특성으로 분해한다. 특성은 해석 가능한 개념을 인코딩하고, 결합하여 복잡한 행동을 형성하며, 활성값을 고정해 행동을 조종할 수 있게 한다.출처: Mechanistic Interpretability with… · p. 57, SAE Training Recipe · p. 58
Natural Language Autoencoders (Anthropic, 2026)
- Natural Language Autoencoders 는 희소 병목을 읽을 수 있는 설명으로 대체해 직접 감사를 가능하게 하지만, 연산 비용, 충실도 문제, 기호 이하 수준 특성의 표현 어려움을 수반한다.인코더 언어 모델은 활성화된 개념을 설명하고, 디코더는 그 설명으로 활성값을 재구성하거나 다음 토큰을 예측한다. 설명은 개별 SAE 특성 방향으로 표현할 수 없는 관계적 개념도 나타낼 수 있다.출처: Natural Language Autoencoders… · p. 58
해석가능성 기법군
- 해석가능성 기법군은 어텐션 맵, 프로빙, 희소 오토인코더, 자연어 오토인코더, 인과 추적·패칭에 걸쳐 비용·확장성·충실도 사이의 절충을 이룬다.어텐션 맵은 비용과 충실도가 가장 낮다. 프로빙은 인코딩된 정보를 식별하고, SAE는 사람이 이름을 붙여야 하는 특성을 드러내며, 자연어 오토인코더는 비용이 큰 자기 해석을 제공한다. 인과 추적과 패칭은 출력을 유발하는 구성요소를 식별하며, 충실도와 비용이 가장 높은 쪽에 위치한다.출처: The Interpretability Stack · pp. 58–59
1.4 예측 헤드: 트랜스포머가 출력하는 것
- 예측 헤드는 트랜스포머의 과제를 규정한다. 언어 모델링은 다음 토큰을 예측하고, SFT는 어휘 투영을 유지하되 응답 토큰에 대해서만 손실을 계산한다.FFN은 키-값 메모리로 설명되며, W1의 행은 패턴을 탐지하고 W2의 열은 출력을 제공한다. 모델 크기를 비교할 때 MoE의 전체 파라미터는 용량을, 활성 파라미터는 토큰당 연산량을 나타낸다. DeepSeek-V3의 MLA는 KV를 저랭크 잠재 공간으로 압축한다.출처: FFN as Memory · p. 53, §1.3.10 · p. 54, §1.4 · p. 59
같은 헤드, 다른 학습 신호
- 지시 튜닝은 LM 헤드 구조를 유지하되 프롬프트 토큰 손실을 마스킹하며, 역할 형식 토큰으로 구조화된 응답을 유도한다.HuggingFace는 LM/SFT에 AutoModelForCausalLM을, 시퀀스 보상에는 마지막 토큰 풀링을 적용한 AutoModelForSequenceClassification을 사용한다. LM 헤드와 임베딩 가중치를 공유하면 |V| × d개의 파라미터를 절약한다.출처: Same Head – Different Training Signal · p. 60, Conditional Head – Key Differences… · p. 60, §1.4.5 · pp. 61–62
1.4.3 가치 헤드(RL을 위한 회귀)
- 가치 헤드는 공유 정책 백본이나 별도 비평자를 사용하고, 리턴에 대한 MSE로 기대 누적 보상을 스칼라로 회귀한다.PPO는 이 추정값을 GAE에 사용한다. 추가된 가치 헤드는 0에 가깝게 초기화해 거대한 어드밴티지와 불안정한 PPO 갱신을 방지한다.출처: §1.4.3 · p. 60, §1.4.4 · p. 60
미니배치 SGD가 작동하는 이유
- 미니배치 SGD 는 무작위 부분집합에서 기울기를 추정해 단계당 비용을 O(Ntotal)에서 O(B)로 줄인다.기울기 추정값에는 잡음이 있지만 편향은 없으며, 이 잡음은 일반화가 더 잘되는 평탄한 영역을 찾는 데 도움이 될 수 있다. 충분히 큰 배치는 연산 집약적 행렬 곱을 통해 GPU 병렬성을 활용한다.출처: §1.5.1 · p. 63, Why Mini-Batch SGD Works · pp. 63–64
Adam 갱신 수식
- Adam 은 파라미터별 기울기 모멘트와 적응형 학습률로 불균일한 기울기 규모, 희소 임베딩, 안장점 정체에 대응한다.기울기 제곱의 평균은 기울기가 일관되게 큰 파라미터의 실효 학습률을 낮춘다. 편향 보정은 초기 갱신 폭을 지나치게 작게 만드는 초기화 편향을 보상한다.출처: §1.5.3 · p. 64, SGD Problems for LLMs · p. 64, Adam Update Equations · p. 65
AdamW – 분리된 가중치 감쇠
- AdamW [238]는 가중치 감쇠를 적응형 스케일링에서 분리해, 기울기 분산이 큰 파라미터의 감쇠를 약화하는 대신 균일한 정규화를 제공한다.LLM의 일반적인 가중치 감쇠 계수는 0.1이다. LoRA 어댑터, 소규모 미세조정, PPO/GRPO에서 Muon의 특성이 충분히 규명되지 않았으므로 AdamW가 여전히 안전한 기본 선택이다.출처: AdamW – Decoupled Weight Decay · p. 65, §1.5.4 · p. 65, Muon: Orthogonalized Momentum · p. 66
Muon: 직교화된 모멘텀
- Muon 은 AdamW 대비 약 2×의 연산 효율을 주장하며, 대략 절반의 기울기 갱신 단계로 같은 검증 손실에 도달한다.Muon은 Newton–Schulz 반복으로 은닉층 모멘텀을 직교화하고, 갱신을 특이벡터 방향 전반으로 분산하며, AdamW 갱신의 RMS와 맞도록 크기를 조정한다. 임베딩, 출력 투영, 스칼라 파라미터에는 AdamW를 유지한다.출처: §1.5.5 · p. 65, Muon: Orthogonalized Momentum · p. 66
- Kimi K2 [17]는 MuonClip을 사용해 15.5T 토큰으로 손실 급증 없이 학습되었다.MuonClip은 QK-Clip을 추가해 쿼리와 키 투영의 크기를 조정하고, 어텐션 로짓에 상한을 두어 손실 급증을 방지한다.출처: Muon: Orthogonalized Momentum · p. 66
학습 단계별 일반적인 학습률
- 학습률은 학습 단계에 따라 달라지며, 워밍업은 학습률을 점진적으로 높여 초기 이차 모멘트 추정치를 안정화한다.권장 학습률은 사전 학습과 LoRA에서 1e-4에서 3e-4, 지속 사전 학습에서 1e-5에서 1e-4, SFT에서 1e-5에서 2e-5다. 워밍업은 보통 사전 학습 스텝의 1–5% 또는 미세 조정 스텝의 3–10%에 걸쳐 진행하며, SFT에서는 대개 50–200 스텝을 사용한다. SGD는 학습률이 2×로 바뀌면 발산할 수 있다.출처: SGD Problems for LLMs · p. 64, Typical Learning Rates by Training Phase · p. 67, Why Warmup is Necessary · p. 67
1.5.8 학습률 스케줄
- WSD는 대규모 사전학습의 새로운 표준으로 제시되며 [118] [150], 학습 종료 시 감쇠를 적용하기 전에 체크포인트에서 학습을 이어갈 수 있게 한다.상수 스케줄은 짧은 미세조정에 적합하다. 코사인 스케줄은 사전학습과 SFT에서 부드러운 감쇠를 제공하고, 선형 감쇠는 예측 가능한 학습률로 유사한 실험 결과를 보인다. 코사인 재시작은 국소 최솟값을 벗어나는 데 도움이 될 수 있지만 LLM에서는 덜 쓰인다.출처: §1.5.8 · pp. 67–68
기울기 클리핑
- 기울기 클리핑은 전체 기울기 노름이 임계값을 넘으면 기울기의 크기를 조정한다.max_grad_norm 임계값은 보통 1.0이다.출처: Gradient Clipping · p. 68
기울기 클리핑과 학습률 감소의 비교
- 클리핑은 정상적인 갱신을 늦추지 않고 간헐적으로 큰 기울기에 대응하지만, 학습률 감소는 모든 갱신을 균일하게 축소한다.클리핑은 기울기 방향을 유지하면서 크기를 줄인다.출처: Gradient Clipping vs. LR Reduction · p. 68
종합 예제: HuggingFace 옵티마이저 설정
- HuggingFace 예제는 Trainer 또는 수동 학습 루프에서 AdamW, 선형 워밍업을 포함한 코사인 스케줄, 전체 노름 기반 기울기 클리핑을 결합한다.설정은 learning_rate = 2e-5, weight_decay = 0.01, warmup_ratio = 0.1, max_grad_norm = 1.0을 사용한다.출처: Putting It Together: HuggingFace… · pp. 68–69
실무 팁
- 실무 지침은 편향과 층 정규화 가중치를 가중치 감쇠에서 제외하고 [238], 워밍업을 권장하며, 누적된 기울기에 클리핑을 적용한다.워밍업은 보통 전체 단계의 5–10%를 차지한다. 높은 학습률에서 워밍업이 부족하면 초기 학습이 불안정해질 수 있다. 기울기 누적은 제한된 GPU 메모리에서 더 큰 배치와 같은 효과를 낸다.출처: Practical Tips · p. 70
1.5.10 혼합 정밀도 학습
- Ampere+ GPU에서는 BF16을 선호한다. FP32와 유사한 지수 범위 덕분에 대체로 FP16에 필요한 손실 스케일링을 피할 수 있기 때문이다.FP16은 값이 65504를 넘으면 오버플로가 발생할 수 있다. A100과 H100은 BF16을 기본 지원하며, 구형 하드웨어에서는 FP16을 권장한다.출처: §1.5.10 · p. 70, Practical Tips · p. 70
2. FP16으로 기울기 계산(S로 스케일링) … 5. N회 연속 스텝에서 오버플로가 없으면 S 증가
이 절은 혼합 정밀도, 하드웨어 특성을 고려한 어텐션, 옵티마이저 진단, 학습 단계, LoRA, 선택적으로 활성화되는 MoE 아키텍처를 중심으로 효율적인 모델 학습과 적응을 살펴본다. 또한 모델 개발에서 데이터 품질과 다양성, 기존 자기 교정 능력의 역할을 검토하고, 모델 응답을 조절하는 디코딩 및 프롬프팅 기법을 다룬다.
FP32 마스터 가중치가 중요한 경우
- FP32 마스터 가중치는 BF16에서 소실될 수 있는 작은 업데이트를 보존하며, 특히 장기 학습, 낮은 학습률의 최적화, 강화학습에서 중요하다.순전파와 역전파에는 BF16/FP16으로 변환한 값을 사용하고, 옵티마이저 업데이트는 FP32로 누적한다. 높은 학습률을 사용하는 짧은 SFT에서는 메모리 절약을 위해 마스터 가중치를 생략할 수 있는 경우가 많지만, 본문은 RL에서 이를 필수로 본다.출처: §5 · pp. 70–71, When FP32 Master Weights Are Critical · p. 71
혼합 정밀도 실무: HuggingFace
- DeepSeek-V3 [70]는 약 $5.6M으로 671B 매개변수 모델을 FP8로 학습했으며, BF16 대비 손실의 상대적 악화는 0.25% 미만이었다.FP8은 타일별 스케일링, 확률적 반올림, 경계 계층의 고정밀 연산을 사용한다. Nemotron 3는 25T 토큰에 걸친 안정적인 NVFP4 학습을 위해 계층의 약 15%를 BF16으로 유지한다. 실제로 BF16에는 손실 스케일러가 필요 없지만, FP16에는 동적 스케일링, 오버플로 발생 시 스텝 건너뛰기와 스케일 축소, 기울기 클리핑 전 스케일링 해제가 필요하다.출처: Mixed Precision in Practice: HuggingFace · p. 72
가장 중요한 하이퍼파라미터는 학습률
- 튜닝의 최우선 대상은 학습률이고 그다음은 배치 크기이며, AdamW의 기준 설정과 기울기 진단이 학습의 지침이 된다.기준 학습률은 사전학습 3e-4, SFT 2e-5, LoRA SFT 2e-4다. 큰 기울기가 반복되면 학습률을 낮추거나 워밍업을 늘려야 하며, FP16 손실 스케일이 감소하면 오버플로를 의심해야 한다. 사전학습은 인과적 언어 모델링을 사용하며 데이터, 연산 자원, 하이퍼파라미터를 조율하는 데 큰 비용이 든다.출처: Optimizer Hyperparameter Reference Table · p. 72, The Learning Rate is the Most… · p. 73, Diagnosing Training Instability · p. 73
Flash Attention의 복잡도
- Flash Attention [64] [65]은 어텐션 출력이나 순전파 연산 복잡도를 바꾸지 않고 HBM 메모리 사용량을 O(n^2)에서 O(n)으로 줄여 2–4× 속도 향상을 달성한다.어텐션 타일을 HBM에 기록하는 대신 SRAM에서 계산하고 폐기해, 긴 문맥에서 표준 어텐션의 실용성을 떨어뜨리는 고비용 왕복 전송을 피한다. 순전파 FLOPs는 O(n^2d)로 유지된다. 역전파 재계산으로 연산량은 늘지만 대역폭 절약 덕분에 실제 실행 시간은 줄어든다.출처: §1.6 · p. 73, Flash Attention Forward Pass – Block… · p. 74, Standard Attention Memory Complexity · p. 74
1.6.4 Flash Attention 2 – 병렬성 개선
- Flash Attention 2 [64]는 행렬 곱셈 이외의 연산을 줄이고, 쿼리 시퀀스 병렬성을 추가하며, 완전히 마스킹된 인과적 블록을 건너뛰어 GPU 활용률을 높인다.기반이 되는 블록 단위 어텐션은 온라인 softmax로 누적 최댓값과 정규화 계수를 갱신하므로 전체 행을 메모리에 구체화할 필요가 없다. 이는 모든 블록에 걸쳐 softmax를 한 번에 계산하는 것과 수학적으로 동등하다.출처: §1.6.2 · p. 74, Online Softmax Update Rule · p. 74, §1.6.4 · p. 75
1.6.5 Flash Attention 3 – Hopper 아키텍처
- Flash Attention 3 [322]는 FP16 어텐션에서 H100 이론상 최대 성능의 최대 75%를 달성하며, FA2는 약 35%에 그친다.TMA는 데이터 이동과 연산을 중첩하고, 생산자 워프와 소비자 워프는 각각 데이터 로딩과 행렬 곱셈을 담당한다. FA3는 블록별 양자화 FP8 어텐션도 지원해 BF16의 두 배인 H100 FP8 Tensor Core 처리량을 활용한다.출처: §1.6.5 · p. 75
1.6.6 Flash Attention 4 – Blackwell 아키텍처
- FA4 [415]는 비동기 파이프라인, Tensor Core로 에뮬레이션한 지수 연산, 조건부 재스케일링, 협력적 역전파 누적을 사용해 Blackwell의 softmax 및 공유 메모리 병목을 해소한다.파이프라인은 MMA, TMA 로딩, softmax 재스케일링을 중첩한다. 타일의 최댓값이 누적 최댓값을 넘지 않으면 재스케일링을 생략한다. Tensor Memory와 2-CTA 협력적 누적은 역전파의 공유 메모리 왕복 전송을 절반으로 줄인다.출처: §1.6.6 · pp. 75–76
FA4 구현: CuTe-DSL
- FA4 [415]는 B200에서 BF16, 헤드 차원 128, 인과적 8K 시퀀스 조건으로 1613 TFLOP/s와 최대 성능 대비 71% 활용률을 달성하며, cuDNN 9.13보다 1.3× 빠르다.FA4는 레지스터 할당과 파이프라인 스케줄링에 대한 제어를 유지하면서 C++ CUTLASS 템플릿보다 20–30× 빠르게 컴파일되는 CuTe-DSL을 사용한다.출처: §1.6.6 · p. 75, FA4 Implementation: CuTe-DSL · p. 76
사전학습의 함정
- 사전학습은 충분한 데이터와 규모에서 창발적 능력을 형성하지만 [32], 손실 급등, 암기, 배포 시 문맥이 학습 길이를 초과할 때의 실패 문제에 직면한다.연산량 관점에서 최적인 모델 크기와 데이터 규모는 모두 C^0.50에 비례해 증가하지만 [140], 더 작은 모델을 더 오래 학습하면 배포 비용을 줄일 수 있다. 손실 급등에는 체크포인트 복원과 배치 건너뛰기, 암기에는 중복 제거와 추출 모니터링, 문맥 불일치에는 RoPE 스케일링을 적용한 장문 문서 추가 사전학습으로 대응한다.출처: §1.7.1 · p. 76, Pretraining Pitfalls · p. 77, §1.7.3 · p. 77
RL 준비도를 결정하는 중간 학습
- OctoThinker 는 동일한 GRPO 학습이 Qwen의 추론은 개선했지만 Llama에서는 실패했음을 확인하고, RL 준비도를 모델 크기나 아키텍처가 아닌 기존 자기 교정 능력에 기인한 것으로 보았다.중간 학습은 선별한 STEM, 수학, 코드 데이터의 비중을 높이고 문맥을 128K–256K 토큰으로 확장해, RL에 필요한 검증, 되돌아가기, 하위 목표 분해 능력을 준비한다. 일반적인 학습 구성은 선별한 100B–500B 토큰과 코사인 감쇠 학습률을 사용한다.출처: Mid-Training Determines RL-Readiness · pp. 77–78, §1.7.6 · p. 77
1.8.2 데이터 품질: LIMA 원칙
- Zhou 등의 연구 [439]에 따르면, 세심하게 선별한 예시 1,000개만으로도 잡음이 많은 예시 50K+개로 학습한 모델에 필적할 수 있다.과제 다양성, 사실적으로 정확하고 형식이 잘 갖춰진 응답, 균형 잡힌 응답 길이, 평가 벤치마크와의 중복 제거가 요구된다.출처: §1.8.2 · p. 78
1.8.4 효율적인 학습 솔루션
- Triton으로 연산을 융합한 Liger Kernel [145]은 처리량 20% 향상과 최대 60% 메모리 절감을 보고했으며, Unsloth 와 torchtune 은 다른 효율화 방식을 제공한다.Unsloth는 맞춤형 CUDA/Triton 커널과 메모리 최적화를 결합해, 기본 HuggingFace + PEFT 대비 60–70% 적은 VRAM으로 2–5× 빠른 학습을 보고했다. PyTorch 기반 torchtune은 조합 가능성을 강조하며, 완전한 디버깅 지원과 프레임워크 종속 없이 맞춤형 솔루션에 필적하는 속도를 보고했다.출처: §1.8.4 · p. 79
SFT만으로는 부족함
- SFT는 응답에만 적용되는 언어 모델 손실로 지시 이행을 학습하지만, 선호, 거부, 보정, 복잡한 추론을 안정적으로 가르치지는 못한다.선별한 프롬프트–응답 쌍이 사전학습과 RLHF를 연결한다. 프롬프트 토큰은 문맥을 제공하지만 레이블이 −100으로 설정되어 기울기 계산에서 제외된다. 선호에는 RLHF/DPO, 거부에는 안전성 학습, 보정에는 진실성 보상, 복잡한 추론에는 검증 가능한 보상을 사용하는 RL이 필요하다.출처: §1.8.1 · p. 78, §1.8 · p. 78, SFT Is Not Enough · p. 80
1.9 LoRA와 매개변수 효율적 미세조정
- LoRA [146]는 고정된 가중치에 대한 저랭크 업데이트를 학습해, 전체 매개변수의 <1%만으로도 전체 미세조정에 필적하는 품질을 달성한다.미세조정의 낮은 내재 차원은 업데이트를 제한하는 근거가 된다 [3]. alpha/r은 랭크 간 업데이트 크기를 정규화하며, 어댑터는 추론 오버헤드 없이 가중치에 병합할 수 있다. 랭크 16이 범용 기본값이며, 랭크가 부족하면 과소적합 위험이 있고 표현력이 지나치면 메모리를 낭비한다.출처: §1.9 · p. 80, Why Low-Rank Works · pp. 80–81, Figure 1.10 · p. 81
주요 확장 기법 해설
- 가중치 크기를 별도로 학습하고 방향을 조정하는 DoRA [228]는 추론 및 지시 이행 벤치마크에서 LoRA 대비 1–3% 향상을 보고했다.DoRA는 배포 시 병합되어 추가 추론 비용이 없다. LoRA+ [136]는 eta_B ≈16 × eta_A를 사용해 수렴 속도와 최종 품질을 개선하며, 최종 품질 향상은 ∼2%다. VeRA [190]는 공유 무작위 행렬을 고정하고 스케일링 벡터를 학습해, LoRA 품질의 90–95%를 유지하면서 학습 가능한 매개변수를 LoRA 대비 ∼10× 줄인다.출처: Key Extensions Explained · pp. 82–83
QLoRA의 메모리 절감
- 모든 선형 계층에 랭크 16을 적용한 70B QLoRA는 ∼44 GB로 48GB GPU 한 장에 수용할 수 있지만, 전체 미세조정에는 560 GB가 필요하다.전체 미세조정의 추정 메모리는 가중치 140 GB, 옵티마이저 상태 280 GB, 기울기 140 GB로 구성된다.출처: QLoRA Memory Savings · p. 83
LoRA가 주류가 된 이유
- LoRA는 어댑터를 추론 오버헤드 없이 병합하고 서빙 중 교체할 수 있으며, 폭넓은 프레임워크 지원과 프로덕션 채택을 확보해 기본 선택으로 권장된다.LoRA와 달리 어댑터나 접두사 튜닝은 지연 시간을 늘리거나 문맥을 소모한다. QLoRA 준비 예시에서는 전체 매개변수 70,553,706,496개 중 학습 가능한 매개변수가 83,886,080개로, 0.12%라고 보고한다.출처: Why LoRA Won · p. 84, QLoRA Memory Savings · p. 84
1.10 전문가 혼합(MoE)
- MoE [166] [325]는 선택적으로 활성화되는 전문가 FFN으로 용량을 확장하며, 보조 균형 손실로 전문가 붕괴와 GPU 작업 부하 불균형을 억제한다.각 트랜스포머 블록의 FFN을 대체하는 병렬 전문가들 중에서 라우터가 전문가를 선택한다. 균형 조정에는 토큰 라우팅 비율과 평균 라우터 확률을 사용해 전문가가 고르게 활용되도록 유도한다.출처: §1.10 · p. 85, MoE Layer · p. 85, The Load Balancing Problem · p. 85
라우팅의 미분 가능성 문제
- Noisy Top-K [325]는 학습 가능한 가우시안 잡음으로 전문가를 탐색하고, Gumbel-Softmax 는 순전파에서는 이산적 라우팅을 수행하면서 역전파에는 완화된 기울기를 사용할 수 있게 한다.이산적 전문가 선택 자체의 기울기는 0이므로, 한 번도 선택되지 않은 전문가는 학습 신호를 받지 못한 채 갇힐 수 있다. 가우시안 잡음은 이 전문가들을 간헐적으로 선택 집합에 포함해 기울기를 받게 한다.출처: The Routing Differentiability Problem · p. 86
실무에서 사용하는 방식
- 보조 손실 없는 균형 조정 은 기울기와 별개로 라우팅 편향을 갱신하며, 전역 배치 통계는 동질적인 마이크로배치가 훼손할 수 있는 전문화 신호를 복원한다.Sparsely-Gated MoE [325], Mixtral [166], DeepSeek-V2 [69]는 가우시안 Noisy Top-K 라우팅을 사용하며 추론 시에는 잡음을 제거한다. 반면 Switch Transformer 는 잡음 없는 Top-1 라우팅과 균형 손실을 사용한다.출처: The Routing Differentiability Problem · p. 86, Which Approach Is Used in Practice? · p. 87
1.12 텍스트 생성: 디코딩 방법
- Top-p는 누적 확률에 따라 후보 집합을 조정하고 min-p [266]는 상대적 확률 하한을 사용하지만, 고정된 top-k는 분포 형태에 적응하지 못한다.Top-p는 품질이 낮은 꼬리 토큰을 남길 수 있으며 하나의 전역 임곗값을 사용한다. Min-p는 뾰족한 분포에서 top-p보다 퇴행적인 샘플을 적게 생성하지만, 실전 검증이 덜 되었고 모든 추론 프레임워크에서 표준으로 자리 잡지는 않았다.출처: Sampling Strategies for Diverse… · p. 88, §1.12.4 · p. 90, §1.12.5 · p. 90
1.11 LLM 학습의 다양성
- 학습 다양성은 다양한 프롬프트, 중복 제거, 도메인 혼합으로 확보하고, 생성 다양성은 온도와 반복 페널티로 조절한다.프롬프트는 여러 도메인, 난이도, 형식을 포괄하고 성공률이 20–80%가 되도록 구성해야 한다. 중복 제거는 패턴 과적합을 막고, 온도 기반 가중 혼합이나 커리큘럼은 도메인 간 균형을 맞춘다. 낮은 온도는 출력 분포를 뾰족하게 하고 높은 온도는 다양성을 높이며, 빈도·출현 페널티는 토큰 반복을 억제한다.출처: §1.11.2 · p. 88, Sampling Strategies for Diverse… · p. 88, §1.12.7 · p. 91
1.12 텍스트 생성: 디코딩 방법
- 탐욕적 디코딩은 빠르지만 반복적이다. 빔 탐색은 더 큰 비용으로 시퀀스 우도를 높이고, 다양성 빔 탐색 은 그룹 간 유사도에 페널티를 부과한다.빔 탐색은 연산량이 B배 들며, 번역과 요약에 적합하지만 출력이 서로 비슷하고 상투적으로 수렴하는 경우가 많다. 다양성 빔 탐색은 개별 후보의 품질을 떨어뜨릴 수 있고 하이퍼파라미터를 추가한다.출처: §1.12.1 · p. 89, §1.12.2 · p. 89, §1.12.3 · p. 89
1.12.8 대조 디코딩
- 대조 디코딩 은 적응적 개연성 제약 아래에서 전문가 모델과 아마추어 모델의 로그 확률 차이를 최대화해, 더 강한 모델에 고유한 지식을 부각한다.후보 토큰의 전문가 모델 확률은 전문가 모델의 최대 토큰 확률의 α배 이상이어야 한다. 아마추어 모델의 로그 확률을 빼면 상투적 패턴과 반복이 억제된다.출처: §1.12.8 · p. 91
- 대조 디코딩은 추가 학습 없이 반복을 줄이고 사실성과 일관성을 높이며, 같은 모델과 프롬프트에서도 디코딩 전략에 따라 출력의 특성이 달라진다.어떤 모델 쌍에도 적용할 수 있지만 연산량이 2× 필요하고, 아마추어 모델 선택에 민감하며, 개연성 임곗값을 조정해야 한다. 반복 페널티는 θ > 1을 사용해 이미 생성한 토큰의 로짓을 재스케일링하며, 보통 1.1–1.3을 사용한다. 반면 빈도 페널티와 출현 페널티는 각각 횟수에 비례하는 페널티와 고정 페널티를 적용한다.출처: §1.12.8 · p. 91, §1.12.10 · p. 92, §1.12.9 · p. 92
1.12.11 제약 디코딩(구조화 생성)
- 제약 디코딩은 허용되지 않는 토큰을 단계적으로 마스킹해 구문적 유효성을 보장하므로, 자유 형식의 글보다 프로그램이 처리하는 출력에 적합하다.파서 상태 기반 마스크는 유효하지 않은 접두부를 차단해 파싱 실패와 그에 따른 재시도를 없앤다. 제약은 의미적 품질을 저하시킬 수 있다. 복잡한 스키마는 컴파일에 1–5 s가 필요하며, 이 비용은 같은 스키마를 공유하는 요청들에 분산된다.출처: §1.12.11 · p. 93, When to Use Constrained Decoding · p. 94
1.13.1 문맥 내 학습(ICL)
- 문맥 내 학습은 대략 매개변수 ∼1B 규모 이상에서 본격적으로 나타나며, 모델 규모가 커질수록 성능이 로그 선형적으로 향상된다 [32].문맥 내 학습은 기울기 업데이트 없이 프롬프트의 예시로부터 과제를 추론한다 [32]. 제안된 설명에는 암묵적 베이지안 과제 추론, 패턴을 복사하는 유도 헤드, 잔차 스트림의 과제 표현 [354]이 있다.출처: Why In-Context Learning Works · p. 94, §1.13.1 · p. 94
1.13.2 제로샷 프롬프팅
- 지시 튜닝 모델은 예시 없이 지시만 제공하는 제로샷 과제에서 기본 모델을 크게 능가하며 [280], 이 방식은 익숙한 과제에서 잘 작동한다.새로운 형식, 도메인별 레이블, 모호한 요구사항에서는 제로샷 프롬프팅이 실패할 수 있다. 지시를 명세로 취급하고 길이, 어조, 제외 사항, 출력 형식 등의 제약을 명시해야 한다.출처: Zero-Shot Classification · pp. 94–95, §1.13.2 · p. 94, §1.13.4 · p. 95
1.13.3 퓨샷 프롬프팅
- 퓨샷 성능은 보통 예시 4–8개에서 초기 향상을 보인 뒤 정체된다. 예시가 ∼20개를 넘으면 추가 이득이 미미해지고 문맥 창 소모가 문제가 된다.퓨샷 프롬프팅 [32]은 입력–출력 시범 예시를 제공한다. Min 등 [257]은 예시 형식과 레이블 공간이 레이블의 정확성보다 중요하다고 밝혔지만, 정확한 레이블을 사용하면 더 도움이 된다. 다양하고 형식이 일관되며 관련성 높은 예시를 사용하고 [223], 더 어렵거나 대표적인 예시를 마지막에 배치한다 [241].출처: Few-Shot Named Entity Recognition · p. 95, §1.13.3 · p. 95
1.13.5 구조화 출력 프롬프트(JSON/XML)
- 구조화 출력 프롬프팅은 프로그램 활용에 필수적이지만, 제약 디코딩 없이 프롬프트만으로는 형식 준수를 보장할 수 없으므로 출력을 프로그램으로 검증해야 한다.입력 앞에 JSON 스키마를 제시하고, 중첩되거나 여러 부분으로 구성된 출력에는 XML 구분자를 사용한다. 별도로 JSON 형식 입력은 여러 필드로 구성된 요청을 명확하게 하며, 시스템 프롬프트는 역할, 어조, 행동 제약을 유지한다.출처: §1.13.5 · p. 96, JSON Output Prompt · p. 96, JSON in Prompts — Common Pitfalls · p. 97
1.13.6 사고 사슬(CoT) 프롬프팅
- 자기 일관성 [367]은 여러 추론 경로의 답을 다수결로 선택해 단일 경로 사고 사슬보다 높은 성능을 내며, 추가 연산을 들여 정확도를 높인다.사고 사슬 [374]은 다단계 과제를 위한 중간 단계를 생성한다. 변형에는 제로샷 지시 [189], 추론 예시 [374], 되돌아가기를 포함한 분기 탐색 [407], 실행 전 계획, 추론과 도구 사용의 교차 수행 [408]이 있다. 순차적 생성으로 연산 예산을 늘리지만, 단순한 과제에서는 지연 시간이 늘고 오류가 발생할 수 있다.출처: §1.13.6 · p. 97, Zero-Shot Chain-of-Thought · p. 98, Chain-of-Thought Variants · p. 98
검색 증강 생성(RAG).
- RAG [208]는 검색한 문서를 프롬프트에 넣어 지식 집약적 응답이 검증 가능한 출처에 근거하도록 하고 환각을 줄인다.프롬프트 체이닝은 여기에 더해 복잡한 과제를 더 단순한 프롬프트들로 분해하고 각 단계의 출력을 다음 단계로 전달한다.출처: Retrieval-Augmented Generation (RAG) · p. 98
1. 문서의 핵심 사실 추출 … 강화학습 입문
이 절은 프롬프트 설계, 모델 압축, 효율적인 LLM 추론을 개관하며 추측 디코딩, GPU 최적화, vLLM, 환각 검증의 한계, 다층 안전 방어를 다룬다. 이어 순차적 의사결정과 LLM 학습을 위한 강화학습을 소개하며, 가치 기반·정책 경사 방법, 어드밴티지 추정, 데이터 재사용, 환경 모델링, 보상 설계의 이점과 보상 해킹 위험을 살펴본다.
3. 최종 답변 형식 지정
- ARQ [403]는 질의를 분해하고 관련 문맥 구간에 주의를 집중한 뒤 부분 답변을 통합하여 문맥 중간 정보를 놓치는 문제를 완화한다.추론 방식뿐 아니라 모델이 어디를 보는지도 명시적으로 관리한다. 긴 문서 질의응답, 대규모 검색 결과에 대한 다중 홉 추론, 도구 출력이 다수 포함된 에이전트 문맥에 활용된다.출처: §3 · p. 99
프롬프트 엔지니어링의 사고방식
- 프롬프트를 검증 가능한 자연어 프로그램으로 다루고, 미세조정이나 강화학습으로 넘어가기 전에 구체적인 지시, 예시, 명시적인 출력 형식과 실험 기반 반복 개선을 활용한다.프롬프트의 버전을 관리하고 대표성 있는 평가 세트에서 A/B 테스트를 수행한다. 체계적인 프롬프트 반복 개선으로 원하는 품질을 달성하지 못하면 SFT나 RLHF/DPO로 전환한다.출처: The Prompt Engineering Checklist · pp. 99–100, The Prompt Engineering Mindset · p. 100
1.14.2 가지치기
- 가지치기는 불필요한 가중치를 제거해 메모리 사용량, 지연 시간, 서빙 비용을 줄이며, 양자화와 결합하면 절감 효과가 곱해진다.비구조적 프루닝은 개별 가중치를 영으로 만들며 희소 커널이 필요하다. 구조적 프루닝은 특수 커널 없이 헤드, 레이어 또는 FFN 뉴런을 제거한다. A100/H100의 하드웨어 가속에는 특정 2:4 희소 패턴이 필요하므로 유연성이 제한된다.출처: §1.14.2 · p. 102, Pruning Methods · p. 102, NVIDIA 2:4 Structured Sparsity · p. 102
1.14.3 지식 증류
- 지식 증류 [139]는 저장된 로짓을 이용한 오프라인 학습이나 학습과 함께 생성하는 온라인 로짓을 통해 교사 모델의 분포를 더 작은 학생 모델로 전달한다.오프라인 학습은 저장된 분포와의 KL 발산을 최소화하므로 상당한 저장 공간이 필요하고, 교사 모델이 학생 모델의 실패에 맞춰 적응할 수 없다. 온라인 학습은 학생 모델이 새로 생성한 입력을 활용할 수 있지만 GPU 비용이 두 배로 늘고 동기화와 확장이 어려워진다.출처: §1.14.3 · pp. 102–103
- 블랙박스 증류는 교사 모델이 생성한 텍스트로 학습하며, 자기 증류는 같은 계열의 더 큰 모델이나 모델 자신의 체크포인트를 사용한다.블랙박스 학습은 텍스트 전용 API로도 가능하지만 소프트 레이블 신호가 없고 환각을 증폭할 수 있다. 자기 증류는 아키텍처 호환성을 확보하고 외부 의존성을 없애지만, 교사 모델의 한계를 넘어서는 진정으로 새로운 지식을 도입할 수는 없다.출처: §1.14.3 · p. 103
암묵적 지식
- 증류와 4-bit 양자화를 결합하면 교사 모델에 근접한 품질을 유지하면서 20× 압축을 달성한다고 보고된다.증류에서 온도를 1보다 높이면 대안 토큰의 확률이 드러나며, 학생 모델은 추론 시 T = 1로 돌아간다. 이러한 연성 분포는 확률 보정과 일반화를 개선하는 그럴듯한 오답 정보를 전달하지만, 학생 모델의 매개변수가 교사 모델의 약 10% 미만이면 추가 이득이 줄어든다.출처: §1.14.3 · p. 102, Dark Knowledge · pp. 103–104
압축 방법 비교 – 70B 모델
- 70B 모델의 4-bit AWQ는 메모리 35 GB, 속도 2.5×, 품질 97–98%이며, BF16은 각각 140 GB, 1×, 100%다.양자화는 가중치 정밀도를 낮추며 선택적으로 활성값 정밀도도 낮춘다. FP8 (E4M3)은 메모리 70 GB, 속도 2×, 품질 99.5%다. 증류한 8B 모델은 메모리 16 GB, 속도 10×, 품질 80–85%다.출처: §1.14.1 · p. 101, Compression Method Comparison – 70B… · p. 104
1.15 추측 디코딩 방법
- 추측 디코딩 [205]은 여러 초안 토큰을 목표 모델의 한 번의 실행으로 검증하여 출력 분포를 바꾸지 않고 2–3× 속도 향상을 제공한다.α = 0.8, k = 5일 때 수락·거절 절차로 얻는 단계당 기대 토큰 수는 3.4로, 표준 디코딩의 1과 대비된다. Medusa는 백본을 공유하는 예측 헤드를 추가하며, 헤드 i는 위치 t + i + 1을 예측한다.출처: §1.15 · p. 104, Speculative Decoding Framework · p. 104, How Medusa Works · p. 105
Eagle이 Medusa보다 뛰어난 이유
- Eagle은 토큰 간 의존성을 포착하며, 수락률은 85–95%로 Medusa의 60–80%보다 높다.Eagle의 단일 층 자기회귀 디코더는 Medusa의 독립적인 헤드가 놓치는 의존성을 포착한다. Medusa의 후보 시퀀스는 트리 구조로 병렬 검증된다. Medusa는 백본을 고정하고 작은 선형 헤드를 약 한 에포크 동안 미세조정하므로 별도의 초안 모델이 필요 없고 메모리 오버헤드는 <1%다.출처: Why Eagle Outperforms Medusa · pp. 105–106, How Medusa Works · p. 105
N-gram 조회 방법
- N-gram 추측은 추가 모델이나 학습 없이 캐시에 저장된 문맥의 접미부를 대조하고, 그 뒤에 이어지는 내용을 제안한 후 목표 모델로 초안을 검증한다.캐시에는 프롬프트와 이전 생성 텍스트의 n-gram이 저장되며, 현재 문맥의 마지막 n − 1개 토큰과 대조한다. vLLM 예제는 추측 토큰 다섯 개와 최대 4-gram 프롬프트 조회를 사용하도록 ngram 추측을 설정한다.출처: N-gram Lookup Method · p. 106, §1.15.6 · p. 107
추측 디코딩을 사용하지 말아야 할 경우
- 추측 디코딩은 지연 시간에 민감한 단일 스트림 생성에 가장 적합하다. 배치가 크거나 출력이 짧거나 초안 모델이 맞지 않으면 이점이 사라질 수 있다.배치 크기가 ≥64이거나 출력 길이가 <20 토큰이면 추측 오버헤드가 절감 효과보다 크다. 초안 모델이 목표 모델과 크게 다르면 수락률이 50% 미만으로 떨어져 표준 디코딩보다 느려질 수 있다.출처: When NOT to Use Speculative Decoding · p. 107
환각 분류 체계
- 환각 탐지는 유창하지만 사실과 다른 텍스트 [164]를 다루며, 문맥과의 모순, 검증 불가능한 허위 주장, 지시나 제약 위반을 구분한다.내재적 환각은 주어진 문맥과 모순된다. 외재적 환각은 입력으로 검증할 수 없으며 사실과도 다른 주장을 도입한다. 충실성 실패는 지시나 명시된 제약에서 벗어나는 경우다.출처: §1.16 · p. 108, Hallucination Taxonomy · p. 108
1.16.2 탐지 방법 (모델 수준)
- 모델 수준 탐지는 오류 여부가 아니라 불확실성을 측정하므로, 신뢰할 만한 탐지를 위해서는 검색이나 외부 사실 검증을 결합해야 한다.Kuhn et al. [193]은 NLI로 표본 응답을 의미적 동등성에 따라 군집화하며, 의미 수준 엔트로피가 높으면 환각 위험을 시사한다. SelfCheckGPT [249]는 대안 응답이 주 응답의 주장을 뒷받침하는지 확인한다. DoLA [58]는 후반 층과 초기 층의 로짓을 대비하여 재학습 없이 환각을 줄인다. 대비 대상 층에 대한 순전파가 한 번 더 필요하며, 표본 추출 기반 방법을 보완한다.출처: §1.16.2 · pp. 108–109
1.17 LLM 안전성과 책임 있는 AI
- 안전성은 데이터 필터링, 거절 학습, 안전성 보상, 원칙 기반 자기비판, 가드레일, 레드팀 평가 [290]를 통해 학습과 서빙 전반에 통합된다.Constitutional AI [16]는 명시적인 원칙에 따라 출력을 수정한다. 별도의 안전성 보상 모델은 RLHF에서 유용성 보상과 가중합으로 결합된다. 서빙 시 분류기가 유해한 입력이나 출력을 차단하며, 레드팀 평가 [290]는 배포 전에 실패 유형을 체계적으로 탐색한다.출처: §1.17 · p. 109, Figure 1.14 · p. 109, Safety Techniques · p. 109
유용성과 안전성의 균형
- 안전성 최적화는 유용성과 과도한 거절 사이의 균형을 맞춰야 하며, 어떤 기법 조합도 절대적인 안전을 보장하지 못하므로 지속적인 모니터링과 심층 방어가 필요하다.가중 보상 R = αRhelpful + (1 − α)Rsafety는 일반적으로 α = 0.6–0.8을 사용한다. Llama-3는 안전성과 유용성에 별도의 보상 모델을 사용하고 마진 기반 가중치를 적용한다 [118]. 평가에는 ToxiGen, RealToxicityPrompts, BBQ, CrowS-Pairs, GCG 공격 [443]을 포함한 탈옥 공격, 목표치가 <5%인 무해한 프롬프트의 과도한 거절률이 포함된다.출처: Balancing Helpfulness and Safety · p. 110, Safety Is Never Complete · p. 110, §1.17.5 · p. 110
2.1.6 GPU 메모리 계층과 대역폭
- GPU 성능은 병렬 행렬 연산과 메모리 계층 간의 세심한 데이터 이동 관리에 달려 있으며, 스트리밍 멀티프로세서는 스레드를 워프 단위로 실행한다.워프는 32개 스레드를 동일한 명령에 맞춰 실행하며, 분기로 실행 경로가 갈라지면 해당 경로들이 직렬화된다. A100에서는 바이트당 연산량이 156 FLOPs 미만인 커널이 메모리 병목을 겪는다. Flash Attention은 명시적으로 관리하는 SRAM에 맞도록 어텐션의 타일 연산을 구성한다.출처: CPUs vs. GPUs – Fundamental Design… · p. 111, §2.1.4 · p. 112, §2.1.6 · p. 113
어텐션의 연산 집약도
- n = 4096에서 Flash Attention의 연산 집약도는 2048 FLOP/Byte로 A100 릿지 포인트의 13×이며, 이 예제의 병목을 메모리에서 연산으로 전환한다.Q, K, V를 SRAM에서 타일 단위로 처리하면 n × n 어텐션 행렬을 메모리에 구체화하지 않아도 되므로 HBM 전송량이 4 MB로 줄어든다. 이 예제는 약 152 GB/s의 대역폭으로 최대 312 TFLOPS를 달성한다고 보고한다.출처: Attention Arithmetic Intensity · p. 115
트랜스포머의 두 가지 병목 유형
- 어텐션은 메모리 병목, FFN은 연산 병목을 겪으므로 Flash Attention은 어텐션을 겨냥하고 양자화는 FFN에 더 큰 이점을 준다.A100 Tensor Core는 BF16에서 312 TFLOP/s를 제공하며, 이는 FP32 CUDA 코어 처리량의 약 16×다. 작은 배치로 추론하면 GEMM 타일이 작아져 Tensor Core 활용률이 낮아지므로 적극적인 요청 배치 처리가 필요하다.출처: Two Regimes in a Transformer · p. 115, §2.1.9 · p. 116, The Tensor Core Trap · p. 116
대역폭에 따른 병렬화 방식 선택
- 통신 병목을 고려하면 노드 내부에서는 NVLink 기반 텐서 병렬화, 노드 간에는 InfiniBand 기반 데이터 병렬화가 유리하며, 텐서 병렬화로 모델을 메모리에 수용할 수 없을 때는 파이프라인 병렬화가 유리하다.FSDP/ZeRO는 AllGather와 ReduceScatter를 사용해 옵티마이저 상태를 분할하며, 파이프라인 병렬화는 버블 오버헤드를 더한다. 레일 최적화 토폴로지는 각 GPU를 서로 다른 랙 상단 스위치에 연결하여 AllReduce가 모든 네트워크 링크를 동시에 사용하도록 한다.출처: §2.1.10 · p. 116, InfiniBand NDR · p. 117, Choosing Parallelism Based on Bandwidth · p. 118
링과 완전 이분할 비교
- NVSwitch의 버스 대역폭 900 GB/s와 링 AllReduce의 약 700 GB/s를 비교하면 DGX H100에서 노드 내부 통신 토폴로지의 중요성이 드러난다.H100 SXM5는 NVLink 4 링크 18개로 900 GB/s를 제공하지만, PCIe Gen4 ×16을 통한 CPU 오프로딩은 방향당 약 32 GB/s다. 노드 간에는 GPUDirect RDMA가 CPU와 시스템 DRAM을 거치지 않고 NIC를 통해 GPU 메모리 사이에서 직접 데이터를 전송한다.출처: Why the Gaps Are So Large · p. 114, Ring vs. Full Bisection · p. 117, NVLink Generations · p. 117
2.2.2 PagedAttention – KV 캐시용 가상 메모리
- 단순한 할당 방식의 GPU 메모리 활용률이 20–40%에 그친다는 점이 vLLM [195]의 PagedAttention (Kwon et al., 2023)의 동기다. 이 기법은 논리적 KV 캐시 블록을 비연속 물리 메모리에 매핑한다.최대 길이만큼 연속 공간을 미리 예약하면 사용하지 않는 용량과 단편화된 여유 공간이 모두 발생한다. KV cache size = 2 × L × H × d × n × bytes_per_element이며, BF16의 Llama-3 70B는 4096 토큰 시퀀스당 약 1.3 GB가 필요하다.출처: Internal and External Fragmentation · p. 119, §2.2.2 · p. 119, §2.2 · p. 119
2.2.3 PagedAttention의 이점
- 16 토큰 블록을 쓰는 PagedAttention의 최악 내부 낭비량은 시퀀스당 15 토큰이며, 상호 교환 가능한 고정 크기 블록은 외부 단편화를 없앤다.블록은 필요할 때 할당되고, 쓰기 시 복사로 접두부를 공유하며, CPU 스와핑이나 추후 재계산을 통한 선점을 지원한다. 접두부 공유가 없으면 동시 사용자 128명의 1000 토큰 시스템 프롬프트에 약 42 GB의 KV 캐시가 필요하다.출처: §2.2.3 · p. 120, Prefix Sharing Savings · p. 120
연속 배치 처리
- 연속 배치 처리는 디코딩 단계마다 배치 구성을 갱신하고 GPU 활용률을 100%에 가깝게 유지하여 정적 배치 처리 대비 1.5–3× 처리량을 제공한다.완료된 시퀀스는 즉시 나가고 대기 중인 시퀀스는 즉시 들어오므로, 정적 배치 처리처럼 가장 긴 시퀀스를 기다릴 필요가 없다. PagedAttention은 KV 블록의 효율적인 동적 할당과 해제를 가능하게 한다.출처: Continuous Batching · p. 120, §2.2.4 · p. 120
2.2.5 vLLM의 추측 디코딩
- 지연 시간에 민감한 단일 시퀀스 생성에서 추측 디코딩은 품질 손실 없이 2–3× 속도 향상을 보인다고 보고된다.작은 초안 모델이 k개 토큰을 제안하면 목표 모델의 한 번의 순전파로 검증한다. 첫 거절 이전의 토큰은 수락되며, 검증 단계당 수락 토큰의 기댓값은 3–5개다.출처: §2.2.5 · p. 121
2.2.6 구체적인 메모리 절감 효과 – 대규모 70B 모델
- A100 80GB GPU 여덟 개를 쓰는 Llama-3 70B BF16 예제에서는 4096 토큰 시퀀스 128개를 동시에 수용하지만, 단편화가 약 50%인 PagedAttention 미사용 시에는 64개만 수용한다.큰 블록은 지역성을 높이고 테이블 오버헤드를 줄인다. 작은 블록은 단편화를 줄이고 접두부 공유를 개선하며, 제시된 기본값은 블록당 16 토큰이다. 추측 토큰에는 KV 블록을 할당하고, 거절되면 해제하며 수락되면 정식 블록으로 전환한다.출처: §2.2.6 · p. 121, §2.2.5 · p. 121
2.2.7 vLLM: 종단 간 시스템
- vLLM은 PagedAttention, 연속 배치 처리, 접두부 캐싱, 추측 디코딩, 텐서 병렬 샤딩을 종단 간 서빙 스택으로 통합한다.스케줄러는 요청 수용과 선점을 처리하고, Block Manager는 KV 블록을 매핑하며, 실행기는 배치 추론을 수행한다. 연산 병목인 프리필 뒤에 메모리 병목인 디코딩이 이어지고, 완료 시 블록이 해제된다. Dynamo 는 분리된 프리필·디코딩 풀, KV 지역성 기반 라우팅, GPU–CPU–SSD 캐싱, 자동 확장을 통해 데이터센터 규모의 오케스트레이션을 더한다.출처: §2.2.7 · p. 121, Figure 2.4 · p. 122, §2.2.10 · pp. 122–123
2.2.11 접두부 캐싱 (자동 프롬프트 캐싱)
- 2K+ 토큰의 시스템 프롬프트를 공유하는 채팅 애플리케이션에서 접두부 캐싱은 TTFT를 60–80% 단축한다고 보고된다.토큰 내용의 해시로 재사용 가능한 접두부 블록을 식별하므로, 캐시 적중 시 프리필을 건너뛰고 물리적 KV 블록을 재사용한다. LRU 교체는 메모리가 부족할 때만 캐시 블록을 해제한다.출처: §2.2.11 · p. 123
2.2.12 vLLM의 유도 (제약) 디코딩
- 제약 디코딩의 처리량 손실은 <2%로 보고되며, 구문적 유효성은 보장하지만 의미적 정확성은 보장하지 않는다.제약은 순전파 후 로짓을 마스킹하므로 어텐션이나 FFN을 재계산하지 않고도 단계당 <1 ms만 추가된다. 스키마 컴파일에는 0.5–5 s가 걸리며 요청 간에 캐시된다. 후속 업무 로직 검증은 여전히 필요하다.출처: §2.2.12 · p. 124
강화학습 입문
- 강화학습은 레이블이 붙은 입출력 쌍이 아니라 시행착오를 통한 상호작용으로 누적 보상을 최대화하도록 정책을 최적화한다.MDP는 튜플 (S, A, P, R, γ)이며, 미래는 이력이 아니라 현재 상태에만 의존한다. 정책은 상태를 행동 확률에 매핑하고, 리턴은 할인된 누적 보상이며, 상태 가치는 주어진 정책하에서 리턴의 기댓값이다.출처: Introduction to Reinforcement Learning · p. 125, §3.1 · p. 125, §3.2 · p. 126
3.2 핵심 개념과 정의
- 행동 가치는 상태–행동 쌍의 리턴을 추정하고, 어드밴티지는 행동을 평균 성과와 비교하며, 벨만 방정식은 재귀적 관계를 표현한다.Q*가 주어지면 최적 정책은 Q*(s, a)를 최대화하는 행동을 선택한다. 상호작용은 상태 관측에서 시작해 종결 상태나 시간 한계 T까지 이어지는 과정을 반복한다.출처: §3.2 · p. 126, Optimal Policy and Bellman Optimality · p. 126, Agent-Environment Interaction Loop · p. 126
핵심 분류 기준
- 정책 기반 방법은 LLM의 큰 행동 공간에 적합하며, 액터-크리틱 방법은 행동을 제안하는 정책과 가치 함수 평가기를 결합한다.모델 프리 방법은 경험에서 직접 학습한다. 모델 기반 방법은 전이 모델로 계획을 세워 표본 효율을 높이지만 정확한 모델이 필요하다. 가치 기반 방법은 학습한 가치에서 정책을 도출하며 크거나 연속적인 행동 공간에서 어려움을 겪는다. LLM용 PPO는 액터-크리틱 방식이다.출처: Key Taxonomy Distinctions · p. 127
3.4 시간차 (TD) 학습
- TD 학습 은 한 단계 예측의 오차를 학습 신호로 사용하여 에피소드 종료 전에 가치 추정치를 부트스트래핑한다.양의 TD 오차는 상태 가치를 높이고 음의 오차는 낮춘다. 온폴리시 방법은 현재 정책의 새로운 데이터가 필요하며 안정성에 유리하다. 오프폴리시 방법은 다른 정책의 경험을 재사용해 표본 효율을 높이지만 안정화가 더 어렵다.출처: §3.4 · p. 127, §3.4.1 · pp. 127–128, Key Taxonomy Distinctions · p. 127
3.5 Q-Learning
- Q-Learning 은 다음 상태의 최선 행동을 목표로 삼아 오프폴리시로 최적 행동 가치를 학습하므로, 행동 정책과 무관하게 경험을 재사용할 수 있다.반면 SARSA 는 실제로 선택한 행동을 목표로 삼는다. DQN 은 표를 신경망으로 대체하고, 경험 재현과 ϵ-greedy 탐색을 결합한다. 주기적으로 고정하는 목표 네트워크를 기준으로 TD 오차 제곱을 최소화하여 목표가 계속 변하는 데 따른 불안정성을 방지한다.출처: §3.5 · p. 129, Why Q-Learning is Off-Policy · p. 129
우선순위 경험 재현 (PER)
- TD 오차의 크기에 따라 전이를 표본 추출하는 우선순위 경험 재현 [314]은 Atari 벤치마크에서 2–3× 빠른 학습을 보인다고 보고된다.경험 재현 버퍼 는 무작위 미니배치 학습을 위해 전이를 저장하여 시간적 상관을 끊고, 이전 상황의 망각을 방지하며, 반복 갱신으로 표본 효율을 높인다. 표준 경험 재현은 경험을 균등하게 추출하지만, 우선순위를 적용하면 예상에서 크게 벗어난 전이를 더 자주 재방문한다.출처: Prioritized Experience Replay (PER) · p. 130, §3.5.1 · p. 130, Why Replay Buffers Are Essential · p. 130
Q-Learning이 LLM에서 실패하는 이유
- 언어 생성에서는 어휘가 32K–128K개의 행동으로 구성되어 Q값 최대화가 계산상 감당하기 어려우므로 PPO나 GRPO 같은 정책 기반 방법이 필요하다.상태 공간은 가능한 모든 토큰 시퀀스로 구성되며, 모든 토큰 위치에서 어휘에 해당하는 행동 전체에 걸쳐 최댓값을 찾아야 한다.출처: Why Q-Learning Fails for LLMs · p. 130
3.6 정책 경사 방법 — REINFORCE
- REINFORCE 는 행동의 로그 확률 경사에 미래 리턴을 가중하여 기대 리턴을 직접 최적화한다.완전한 궤적을 표본 추출하고 환경 동역학을 미분하지 않고도 경사를 추정한다. 상태 의존적 가치 기준선을 빼면 경사에 편향을 도입하지 않으면서 분산을 줄이는 어드밴티지 추정치를 얻는다.출처: §3.6 · p. 131, Why This Is Beautiful · p. 131, REINFORCE Intuition — “Reward-Weighted… · p. 132
REINFORCE의 한계
- REINFORCE는 높은 분산, 에피소드 완료까지의 대기, 한 번만 쓰는 온폴리시 데이터, 제어되지 않는 갱신 보폭이라는 한계가 있다. 액터-크리틱 방법은 학습된 가치 기준선을 도입한다.액터는 정책을 최적화하고 크리틱은 상태 가치나 행동 가치를 추정하여, 직접적인 정책 최적화를 유지하면서 분산이 더 낮은 기준선을 제공한다.출처: REINFORCE Limitations · p. 132, §3.7 · p. 132, Architecture · p. 132
LLM용 PPO로의 발전
- PPO로 이어지는 발전은 갱신 안정성을 개선하며, GRPO는 검증 가능한 보상에 대해 크리틱을 제거하고 집단 통계 기반 기준선으로 대체한다.A2C/A3C [259]는 TD 기반 어드밴티지를 사용하지만 스텝 크기에 제한을 두지 않는다. TRPO [317]는 비용이 큰 이차 최적화로 KL 발산을 제약한다. PPO [319]는 일차 최적화를 사용해 정책 비율을 클리핑한다.출처: REINFORCE Limitations · p. 132, Evolution to PPO for LLMs · p. 132
3.8 일반화 어드밴티지 추정 (GAE)
- GAE 는 다단계 어드밴티지 추정치를 지수 가중 평균하여, 분산이 낮은 TD 부트스트래핑과 편향은 없지만 분산이 높은 몬테카를로 리턴 사이를 보간한다.TD 잔차 δ_t = r_t + γV(s_t+1) − V(s_t)는 양수일 때 현재 가치 추정치를 높이고 음수일 때 낮춘다. λ = 0은 이 한 단계 잔차를 사용하며, λ = 1은 전체 몬테카를로 리턴에서 기준선을 뺀 값을 사용한다.출처: §3.4.3 · p. 128, §3.8 · p. 133
3.8.2 아키텍처의 스펙트럼: 경계 분석
- λ = 0.95는 표준 GAE 설정으로, 가치 헤드가 정확해질수록 안정적인 갱신과 장기적 기여도 할당 사이의 균형을 맞춘다.예시로 제시된 균형 범위는 λ ∈ [0.9, 0.95]이며, 단일 턴 LLM 학습은 γ = 1.0과 λ = 0.95를 사용한다. 불완전한 가치 예측은 편향을, 긴 확률적 궤적은 분산을 유발하며, 부트스트래핑에 크게 의존하면 지연 보상으로 이어지는 시퀀스를 놓칠 위험이 있다.출처: §3.8 · p. 133, Figure 3.3 · p. 134, §3.8.1 · p. 134
3.8.3 상충관계 행렬
- λ ∈ [0.95, 0.99]가 GAE 어드밴티지 추정치의 전체 평균제곱오차를 최소화하는 범위로 제시된다.출처: §3.8.3 · p. 135
3.8.4 λ 조정을 위한 진단
- 엔트로피가 붕괴하고 가치 함수의 설명 분산이 음수이거나 불규칙하면 λ를 낮추고, 학습은 안정적이지만 지연 보상을 놓치면 λ를 1.0에 가깝게 높인다.이러한 증상은 잡음이 큰 정책 갱신과 부트스트래핑으로 인한 장기 의존성의 과소평가를 구분한다. 보고된 아키텍처 위험에는 파괴적인 경사 갱신과 학습 폭주가 포함된다.출처: §3.8.4 · p. 135, §3.8.2 · p. 135
3.9 온폴리시와 오프폴리시 — 상세 비교
- 온폴리시 학습은 현재 정책의 데이터를 한 번만 사용해 안정성을 높인다. 오프폴리시 학습은 경험 재현 데이터를 재사용해 표본 효율을 높이지만 분포 불일치로 발산할 위험이 있다.온폴리시 데이터는 갱신 후 유효하지 않으므로 다시 생성해야 한다.출처: §3.9 · p. 135
RLHF 방법의 온폴리시·오프폴리시 특성
- PPO/GRPO는 단계마다 온폴리시 응답을 다시 생성하므로 연산량의 60%가 생성에 쓰이는 반면, DPO는 생성 없이 고정된 선호 데이터로 학습한다.DPO는 비용이 낮지만 오래된 데이터로 인한 분포 이동을 겪는다. Online DPO는 새로운 생성과 DPO의 지도학습 손실을 결합한다. PPO의 클리핑된 확률비 r = πnew/πold는 온폴리시 배치당 4 에포크 학습을 가능하게 한다.출처: On/Off-Policy for RLHF Methods · pp. 135–136
3.10 모델 기반과 모델 프리
- 모델 기반 방법은 미래 궤적을 시뮬레이션해 표본 효율을 높이지만 모델 오차가 누적된다. 모델 프리 방법은 모델 편향을 피하는 대신 직접적인 경험이 필요하다.비교 결과, 복잡하거나 알려지지 않은 동역학에는 모델 프리 방법이, 동역학이 단순하고 효율이 중요한 경우에는 모델 기반 방법이 유리하다.출처: §3.10 · p. 136
LLM 강화학습이 모델 프리인 이유
- LLM 강화학습은 토큰을 덧붙이는 전이가 결정적이므로 모델 프리 방식이며, 병목은 환경 동역학 모델링이 아니라 인간 선호 예측에 있다.RLHF의 보상 모델은 계획이나 시뮬레이션을 지원하는 대신 보상 신호를 제공한다.출처: Why LLM RL is Model-Free · p. 136
3.11 보상 설계
- 보상 설계 는 희소 보상에 중간 피드백을 더하지만, 임의로 설계하면 과제 완수 대신 허점 이용에 보상을 줄 수 있다.재설계한 보상은 원래 보상에 보조 함수 F를 더한다. 보상 해킹의 예로는 체크포인트 보상을 반복해서 수집하거나 정확성과 무관하게 자신감 있는 말투를 사용하는 경우가 있다.출처: §3.11 · p. 136, The Risk of Naive Reshaping: Reward… · p. 136, §3.11.1 · p. 136
PBRS 정책 불변성 정리
- 희소 보상 환경에서 5–50× 빠른 수렴은 최적 정책을 보존하고 보상을 악용하는 순환을 방지하는 PBRS의 효과로 제시된다.보상 설계 함수는 상태 간 스칼라 잠재함수 값의 차이로 제한된다. 더 촘촘한 경사 신호가 학습을 가속하며, 순환 궤적에서는 잠재함수의 순변화가 0이 된다.출처: §3.11.2 · p. 136, PBRS Policy Invariance Theorem · p. 137
LLM을 위한 RL 기법 … DPO — 직접 선호 최적화
이 절은 LLM의 RL과 선호 최적화를 살펴보며, 선호 정렬과 검증 가능한 능력 학습을 구분하고 PPO의 롤아웃 기반 클리핑 업데이트와 KL 정규화 RLHF 목적함수를 지도학습으로 정식화한 DPO를 설명한다. 두 방법의 학습 과정과 실무 고려사항을 다루고, 참조 모델 의존성, 길이 처리, 레이블 잡음, 정책 붕괴 등의 문제에 대응하는 DPO 확장 기법, RPO, SimPO를 소개한다.
4.1 LLM의 RL을 위한 두 패러다임
4.2 MDP로 보는 텍스트 생성
- 텍스트 생성은 MDP를 이룬다. 프롬프트와 지금까지 생성한 토큰 접두열이 상태이고, 어휘의 토큰이 행동이며, 전이는 토큰을 결정론적으로 덧붙이고, 다음 토큰 확률이 정책을 정의한다.보상은 대개 생성이 끝난 뒤에만 주어지며, RLHF는 보상 모델 점수를, RLVR은 답의 정오를 사용한다. 유한한 응답 에피소드에는 할인율 gamma = 1.0을 사용한다.출처: The LLM-as-Agent Analogy · p. 140
4.3 RLHF 파이프라인
- RLHF 파이프라인 [280]은 시범 기반 SFT, 선호 기반 보상 모델링, KL 제약 정책 최적화, 반복 평가를 결합한다.쌍별 판단으로 Bradley–Terry 목적함수를 사용해 보상 모델을 학습한 뒤 PPO나 GRPO로 최적화한다. 반면 RLVR은 추론 과정 SFT와 검증기를 사용하되 보상 기반 최적화는 유지한다.출처: §4.3 · p. 140, §2 · p. 140
LLM의 RL과 전통적 RL의 차이
- KL 기준점은 보상 해킹을 억제하지만 탐색을 줄인다. 온도 샘플링은 토큰 선택을 탐색하고, GRPO는 크리틱을 그룹 상대 보상 정규화로 대체한다.이러한 메커니즘은 RL을 언어 생성의 거대한 행동 공간과 참조 정책 제약에 맞게 조정한다.출처: How LLM RL Differs from Classical RL · p. 141
5.2 클리핑 목적함수
- PPO의 클리핑 대리 목적함수는 어드밴티지에 따른 확률비 임계값에서 개선 유인에 상한을 두어 파괴적인 정책 업데이트를 억제한다.어드밴티지가 양수이면 1 + epsilon을 넘을 때, 음수이면 1 - epsilon 아래로 내려갈 때 개선 유인이 사라진다. 이는 제약 없는 정책 경사 업데이트의 붕괴 위험에 대응한다.출처: §5.2 · p. 142, Clipping Intuition — The Key Insight · p. 142, §5.1 · p. 142
5.3 전체 PPO 손실
- 가치 손실 계수 0.1과 엔트로피 보너스 계수 0.01은 PPO의 클리핑 정책 목적함수에 크리틱 학습과 탐색을 보완한다.가치 손실도 안정성을 위해 클리핑하며, 엔트로피 보너스는 결정론적 정책으로의 조기 수렴을 억제한다.출처: §5.3 · pp. 142–143, §5.4.6 · p. 144
5.4 PPO 경사와 업데이트 규칙의 유도
- PPO는 어드밴티지 기반 정책 경사와 이전 정책 표본에 대한 중요도 샘플링을 결합하고, 보수적 클리핑으로 극단적인 중요도 가중치를 제한한다.어드밴티지는 경사의 분산을 줄이고, 최솟값 연산은 더 비관적인 대리 목적함수를 선택한다. 본문은 일차 경사만 사용해 확률 1로 단조 개선이 이루어진다고 주장한다.출처: §5.4.3 · p. 143, §5.4.2 · p. 143, Summary: Why This Works · p. 144
5.5 롤아웃 버퍼와 롤아웃
- 롤아웃 버퍼는 새로 수집한 궤적, 상태, 행동, 보상, 이전 정책의 로그 확률, 크리틱 가치를 임시 저장하고, 수집–학습 주기가 끝날 때마다 비운다.학습 시 GAE 어드밴티지를 계산하며, 보통 미니배치 학습을 3–10 에포크 수행한다. 버퍼를 비우면 오래된 확률비가 다음 업데이트 주기로 넘어가는 것을 막을 수 있다.출처: §5.5.3 · p. 145, §5.5.2 · p. 145
롤아웃 버퍼와 리플레이 버퍼 비교
- PPO는 고정된 롤아웃 시점의 정책을 기준으로 현재 정책을 업데이트하며, 저장된 행동 로그 확률을 재사용한 뒤 롤아웃 배치를 버리고 새 데이터를 수집한다.리플레이 버퍼와 달리 롤아웃 버퍼는 단일 궤적 배치만 몇 에포크 동안 유지한다. 이전 정책의 로그 확률을 저장하면 미니배치마다 고정된 신경망의 순전파 한 번을 생략할 수 있으며, 현재 정책의 로짓은 최적화 중 계속 변한다.출처: Rollout Buffer vs Replay Buffer · p. 145, Core Architecture: Two Networks · p. 147, §5.7.1 · p. 147
70B 채팅 모델의 구체적인 PPO 단계
- 예시로 제시한 70B PPO 단계별 설명에서는 10K 스텝 후 SFT 대비 5–10% 절대 향상을 보고하며, 이는 전반적인 벤치마크 비교 결과가 아니다.이 예시는 프롬프트 128개, 마지막 토큰의 KL 조정 보상, 백색화한 GAE 어드밴티지, 업데이트 4 에포크를 사용한다. 새 롤아웃 생성 비용 때문에 에포크 간 재사용이 중요하지만, 하이퍼파라미터 지침은 과도한 재사용은 과적합을, 부족한 재사용은 생성 연산 낭비를 초래한다고 경고한다.출처: Rollout Buffer vs Replay Buffer · p. 145, Concrete PPO Step for a 70B Chat Model · p. 146, §5.9 · p. 150
- 토큰 수준 PPO는 토큰화가 다른 내용에 불균등한 페널티를 부과하고, 어드밴티지를 의미적 결정과 어긋나게 하며, 응답 끝에서만 보상이 주어질 때 기여도 할당을 희석할 수 있다.완화책으로는 시퀀스 길이에 따른 KL 정규화, 단어 수준 보상 설계, 의미적 경계에서의 보상 제공 등이 있다.출처: Concrete PPO Step for a 70B Chat Model · p. 146
클리핑의 작동 원리
- PPO는 수치적 안정성을 위해 로그 확률 차이를 지수화하고, 양의 어드밴티지에 대한 비율은 1 + ϵ에서, 음의 어드밴티지에 대한 비율은 1 − ϵ에서 클리핑한다.본문은 클리핑이 치명적인 붕괴 없이 신뢰 영역 내 개선을 가능하게 한다고 설명한다. 연속 행동 정책에도 동일하게 지수화한 로그 확률비와 클리핑 목적함수를 사용한다.출처: §5.7.3 · p. 148, How Clipping Works · p. 148, §5.7.5 · p. 149
6.4 TRL 구현
- TRL 예제는 PPO의 생성–업데이트 루프와 DPO [302]의 선호 쌍 학습을 구현하며, DPO가 PPO의 모델 4개 운용 부담을 피하려는 동기도 다룬다.PPO 업데이트는 KL, GAE, 클리핑을 내부에서 처리한다. DPO 예제는 prompt/chosen/rejected 레코드, β = 0.1, learning_rate = 5e-7을 사용하며, DPO는 빠르게 과적합하므로 1 에포크만 학습한다.출처: §5.8 · p. 149, §6.1 · p. 151, §6.4 · p. 152
6.1 동기
- DPO [302]는 KL 페널티가 있는 보상 최대화 문제의 닫힌 형태 최적 정책을 활용해 명시적 RL을 지도 선호 학습으로 대체한다.동기는 PPO가 모델 4개에 요구하는 메모리, 복잡한 RL 인프라, 불안정성이다.출처: §6.1 · p. 151
6.2 수학적 유도
- 정책에서 유도한 보상을 Bradley–Terry 선호식에 대입하면 Z(x)가 소거되고, β로 제어하는 마진과 참조 정책 정규화를 갖는 교차 엔트로피 목적함수가 도출된다.경사는 선택된 응답의 확률을 높이고 거부된 응답의 확률을 낮추며, 모델이 현재 거부된 답을 선호하는 쌍에 가장 큰 가중치를 부여한다.출처: §6.2 · p. 151, §6.3 · p. 152
6.5 DPO의 작동 원리: 전체 과정
- DPO는 응답 토큰의 로그 확률을 평균하지 않고 합산하며, 선택된 응답과 거부된 응답 양쪽의 모든 토큰에 경사가 흐른다.각 선호 쌍은 패딩된 프롬프트–응답 시퀀스 두 개가 되며, 둘 다 정책에 입력해 모든 응답 위치의 로짓을 얻는다.출처: §6.5.1 · p. 153, §6.5.3 · p. 153
6.5.5 토큰 수준과 시퀀스 수준 비교: 길이 정규화
- 길이 정규화 DPO는 길이를 이용한 편법을 줄이지만 지시 이행 품질을 떨어뜨릴 수 있다. 표준 DPO는 정규화하지 않은 토큰 로그 확률 합을 사용한다.긴 시퀀스는 자연히 더 낮은 로그 확률을 누적하므로 짧은 응답을 선호할 가능성이 생긴다. 두 시퀀스에 공통으로 적용되는 경사 인자 σ(−β · hθ)는 마진이 작을 때 약 0.5이고, 마진이 커지면 0에 가까워진다.출처: §6.5.5 · p. 154, §6.5.4 · p. 154
DPO 순전파 + 역전파 (PyTorch 방식)
- DPO는 선택된 응답과 거부된 응답의 암묵적 보상 차이에 대한 음의 로그 시그모이드 손실을 최소화하며, 각 보상은 정책과 참조 정책의 로그 확률 차이에 β를 곱한 값으로 정의된다.시퀀스 로그 확률은 프롬프트 위치를 제외하고 응답 토큰의 기여분만 합산한다. 경사는 선택된 토큰의 확률을 높이고 거부된 토큰의 확률을 낮춘다.출처: §6.5.4 · p. 154, DPO Forward + Backward (PyTorch-style) · p. 155, Which Tokens Receive Gradient in DPO · p. 155
DPO가 실패하는 경우
- DPO는 분포 변화, 탐색 부재, 부적절한 참조 정책 정규화, 잡음이 있는 레이블, 선호 쌍의 다양성 부족으로 실패할 수 있다.프롬프트를 마스킹하고, 정책과 참조 정책의 로그 확률 집계 방식을 일치시키며, SFT 체크포인트를 참조 모델로 사용한다. β는 0.1에서 시작해 [0.05, 0.5] 범위에서 조정한다. β가 지나치게 크면 시그모이드가 포화되고, 너무 작으면 경사가 약해진다. 선호 쌍은 접근 방식과 품질 모두에서 차이가 나야 한다.출처: DPO Implementation Pitfalls · pp. 155–156, When DPO Fails · p. 156
참조 모델 메모리 제거 전략
- 참조 로그 확률 사전 계산 후 참조 모델을 메모리에서 제거하면 70B 모델에서 클러스터 GPU 메모리를 약 140GB 절약한다.이로써 사용 가능한 GPU 메모리가 두 배가 되고 Bmicro가 1–2에서 4–8로 늘어난다. 그렇지 않으면 80GB GPU에서 4096–8192 토큰 문맥을 사용하는 >7B 모델은 Bmicro가 [1, 2]로 제한된다. 전역 배치가 32 미만이면 경사 잡음이 심해지고, 128을 넘으면 수렴 개선 효과는 줄고 통신 오버헤드는 커진다.출처: §6.8.1 · pp. 156–157, Reference Model Eviction Strategy · p. 157, §6.8.4 · p. 157
6.9 DPO 확장 및 변형
- f-DPO [363]는 발산 척도를 바꿔 응답 다양성을 제어하고, Robust DPO [56]는 알려진 레이블 잡음 모형 아래에서 선호 학습의 편향을 보정한다.역방향 KL은 특정 모드에 집중하고, 순방향 KL은 다양성을 지원하며, JS는 다양성과 품질의 균형을 잡고, 알파 발산은 이 절충 관계를 보간한다. Robust DPO는 뒤집힌 레이블의 기여분을 뺀다. ϵ = 0이면 표준 DPO와 같아지고, ϵ = 0.5이면 학습이 불가능하다.출처: Beyond Reverse KL · p. 158, Noisy Labels in Preference Data · p. 159, When to Use f-DPO · p. 159
- TR-DPO 는 오래된 참조 모델을 업데이트하고, EXO [163]는 DPO의 보상 공간 내 순방향 KL 목적함수를 역방향 KL 확률 매칭으로 대체한다.TR-DPO는 Tsync 스텝마다 혼합 계수 α로 지수이동평균을 적용해 증가하는 KL 페널티에 대응하고 반복적인 선호 데이터 수집을 지원한다. EXO는 모델 분포와 보상 최적 목표 분포 사이의 역방향 KL을 최소화한다.출처: Stale Reference Model Problem · p. 159, §6.9.4 · p. 160, When to Use TR-DPO · p. 160
- NCA [43]는 우도 붕괴에 대응하는 절대 우도 항을 추가하고, SLiC-HF [432]는 DPO의 로그 시그모이드 손실을 임계값 기반 힌지 손실로 대체한다.DPO는 선호 응답과 비선호 응답의 차이만 최적화하므로, 우도 붕괴가 일어나면 비선호 응답뿐 아니라 선호 응답의 확률도 낮아질 수 있다. SLiC-HF의 손실은 선호–비선호 응답 간 마진이 δ에 도달하면 0이 되고, 그 임계값 아래에서는 선형이다.출처: Likelihood Collapse in DPO · p. 161, Hinge Loss as a Simpler Alternative · p. 161
생성하는 법을 잊는 DPO
- RPO는 DPO에 선호 응답의 음의 로그 우도를 결합해, 선호 판별과 함께 선호되는 추론 과정의 생성도 학습하게 한다.추가되는 항은 선호 응답에 대한 표준 언어 모델링 손실 −log πθ(yw|q)다.출처: DPO Forgets How to Generate · p. 162
RPO를 사용해야 하는 경우
- RPO는 단계별 추론과 DPO가 유창성이나 생성 품질을 떨어뜨리는 경우에 적합하며, NLL 정규화로 정책 붕괴를 방지한다.반복 파이프라인은 롤아웃 생성, 레이블 부여, RPO 학습을 거듭한다.출처: When to Use RPO · p. 162
참조 모델 없는 선호 학습
- SimPO [252]는 DPO의 참조 모델을 길이로 정규화한 응답의 평균 로그 확률 보상과 양의 목표 마진으로 대체한다.DPO의 참조 모델은 메모리 사용량을 두 배로 늘리고 복잡성을 더한다. 목표 마진 γ > 0은 선호 응답의 보상이 비선호 응답의 보상보다 최소 γ만큼 높아야 한다는 조건이다.출처: Reference-Free Preference Learning · pp. 162–163
SimPO, DPO, ORPO 비교
- DPO는 참조 모델 기반 보상비를 사용하고, ORPO는 SFT에 오즈비 항을 추가하며, SimPO [252]는 참조 모델 없이 길이로 정규화한 로그 확률 보상과 마진을 사용한다.이 비교는 SimPO가 DPO보다 단순하고 ORPO보다 원리적 근거가 탄탄하다고 설명한다. 길이 정규화에 관한 주장은 상충한다. 도입부는 짧은 응답 선호를 방지한다고 하지만, 비교에서는 이를 제거하면 긴 응답을 선호한다고 한다.출처: Reference-Free Preference Learning · p. 162, SimPO vs DPO vs ORPO · p. 163
GRPO — 그룹 상대 정책 최적화 … 보상 모델 학습
이 절에서는 GRPO의 구현과 변형, Online DPO를 살펴보고, 정렬 기법에 필요한 피드백, 참조 모델 비용, 정규화, 샘플링 연산량을 비교한다. 또한 편향 보정, 과정 감독, 규칙 기반 검증, 다중 보상 목표, GRPO 통합을 포함해 쌍별·목록별 선호도로 보상 모델을 학습하는 방법을 다룬다.
7.1 동기 / 그룹 정규화가 효과적인 이유
- GRPO [323]는 학습된 critic을 그룹 보상 통계로 대체하고, 보상을 정규화해 평균 이상의 응답은 강화하고 평균 이하의 응답은 억제한다.이로써 critic의 메모리 비용, 부분 시퀀스에 대한 부정확한 가치 추정, 학습 초기의 잡음 많은 예측을 피한다. DeepSeek-R1 [72]에서는 수학·코드의 정답 여부에 따른 이진 보상만으로 명시적 지시 없이 chain-of-thought 추론, 자기 검증, 오류 수정이 나타났다.출처: §7.1 · p. 164, Why Group Normalization Works · p. 165
7.3 TRL 구현
- TRL 예제는 프롬프트당 8개 응답 생성을 기본으로 하며, 정답 여부와 형식에 대한 이진 보상을 vLLM 생성과 결합한다.설정값은 temperature 1.0, 최대 생성 길이 2048, KL 계수 0.04, 학습률 1e-6이다. vLLM은 생성 비중이 큰 학습 루프를 가속한다.출처: §7.3 · pp. 165–166
핵심: 그룹에 성공과 실패가 모두 있어야 함
- 성공만 있거나 실패만 있는 그룹에서는 어드밴티지가 0이 되어 학습 신호가 사라지므로, 프롬프트별 성공률은 20–80%가 권장된다.모델 성능이 향상됨에 따라 500스텝마다 프롬프트를 다시 필터링한다. 그룹 크기는 기본적으로 응답 8개를 사용하고, 성공률이 20% 미만인 어려운 과제에는 16개를 사용하도록 안내한다.출처: Critical: Group Must Contain Both… · p. 166, G Signal Quality Compute When to Use · p. 166
RL 학습의 모드 붕괴 / GRPO 그룹 다양성 / 다양성과 품질의 상충 관계
- GRPO에는 서로 다르면서 주제에 맞는 응답이 필요하다. 후보가 동일하면 학습 신호가 사라지고, 지나치게 무작위적이면 보상에 잡음이 늘고 학습이 느려진다.출력 다양성이 낮으면 반복, 보상 해킹, 일반화 저하가 발생할 수 있다. 응답 엔트로피, 고유 n-gram 비율, 보상 분포의 폭을 관찰하며, 이들이 동시에 감소하면 붕괴를 의심한다.출처: GRPO Group Diversity · p. 167, Diversity vs. Quality Tradeoff · p. 167, Mode Collapse in RL Training · p. 167
RL 데이터 수집을 위한 Verbalized Sampling / Verbalized Sampling의 핵심 아이디어
- Verbalized Sampling [422]은 여러 응답과 각각의 확률을 출력하게 한 뒤 그 분포에서 샘플링하여, 추가 학습 없이 정렬에 따른 전형성 편향을 완화한다.익숙한 텍스트를 선호하는 인간의 성향은 데이터 수준의 모드 붕괴를 유발할 수 있다. 언어로 표현된 분포에서 샘플링하면 확률이 낮은 대안도 드러나며, 의미적으로 다양한 GRPO 후보를 확보할 수 있다.출처: Verbalized Sampling for RL Data… · p. 168, Verbalized Sampling – Core Idea · p. 168, Why Verbalized Sampling Works · p. 169
Verbalized Sampling이 효과적인 이유
- Verbalized Sampling은 창작 글쓰기에서 다양성을 1.6–2.1× 높였다고 보고되며, temperature에 따른 어휘 변주가 아니라 의미적으로 다른 접근법을 생성한다.성능이 높은 모델일수록 언어로 표현한 확률 분포의 보정이 더 정확하며, 얻는 이점도 크다.출처: Why Verbalized Sampling Works · pp. 168–169
왜 DAPO인가? / 구성 요소 1–5
- DAPO [413]는 비대칭 클리핑, 토큰 수준 손실 집계, 과도하게 긴 응답 필터링, 완만한 길이 페널티, 동적 샘플링을 결합해 학습 안정성과 최종 성능을 높인다.양의 어드밴티지에는 더 넓은 클리핑 상한을 적용한다. 손실은 전체 토큰 수로 정규화하고, 길이 제한으로 잘린 응답은 마스킹하거나 점진적으로 증가하는 길이 페널티를 부여한다. 보상이 모두 같은 그룹을 재샘플링해 기울기가 0인 배치를 피하고 유효 배치 크기를 안정화한다.출처: Why DAPO? · p. 169, Component 1 – Asymmetric Clipping… · p. 169, Component 2 – Token-Level Loss… · p. 169
Off-policy 문제
- GSPO [51]는 토큰 확률비의 기하평균으로 구한 시퀀스 수준 중요도 가중치를 클리핑해, 반복적인 off-policy 업데이트에서 발생하는 시퀀스 수준의 분포 이탈을 다룬다.각 토큰 확률비를 개별적으로 제한해도 이들을 곱한 시퀀스 확률비는 극단적인 값이 될 수 있다. GSPO는 대신 시퀀스마다 길이로 정규화한 스칼라 하나를 클리핑한다.출처: The Off-Policy Problem · p. 171
GSPO와 GRPO의 클리핑 비교
- GSPO는 시퀀스 수준의 변화를 제한하면서 이론적으로 올바른 off-policy 중요도 샘플링을 제공하고, Dr. GRPO [232]는 사전학습으로 인해 정보량이 적은 흔한 토큰에 치우치는 기울기 편향을 보정한다.GSPO는 시퀀스의 기하평균을 클리핑하며, steps_per_generation > 1인 off-policy 학습에서 생성 비용을 줄이는 데 유리하다. steps_per_generation = 1이면 GRPO와의 차이는 미미하다. Dr. GRPO는 보상과 무관하게 이미 높은 확률이 부여된 토큰의 가중치를 낮춰 정보량이 많은 토큰에 업데이트를 집중한다.출처: GSPO vs GRPO Clipping · p. 171, When to Use GSPO · pp. 171–172, The Pretraining Bias Problem · p. 172
“It Takes Two”의 통찰
- “It Takes Two” [399]에서는 대부분의 추론 벤치마크에서 G = 2가 G = 16과 동등하거나 더 높은 성능을 보인다.암묵적인 DPO 유사 대조 목적함수로 이 결과를 설명한다. 2-GRPO는 GSM8K, MATH, 코드 벤치마크에서 정확도 손실 없이 전체 실행 속도를 약 4–6× 높이며, 생성은 보통 실제 경과 시간의 60–80%를 차지한다. 표본이 두 개이면 정규화된 어드밴티지는 항상 {+1, −1}이고 보상이 같으면 {0, 0}이므로, 보상 차이의 크기가 중요할 때는 더 큰 그룹이 유리할 수 있다.출처: “It Takes Two” Insight · p. 172, Compute Savings from 2-GRPO · p. 173, 2-GRPO in TRL · p. 173
경성 클리핑의 취약성
- SAPO [131], VESPO [243], DPPO [7]는 확률비의 경성 클리핑을 각각 부드러운 게이트, 변분적 보상 재구성, 직접적인 발산 제약으로 대체한다.SAPO는 temperature로 조절하는 게이트로 클리핑 경계의 불안정성을 피하고, VESPO는 오래된 궤적의 가중치를 낮추는 부드러운 비대칭 커널을 도출한다. DPPO는 TV 또는 KL 제약으로 확률비 클리핑이 저확률 토큰에 과도한 페널티를, 고확률 토큰에 부족한 페널티를 부여하는 문제를 해결하지만, 아직 연구 단계이며 주류 RL 라이브러리에는 포함되지 않는다.출처: The Brittleness of Hard Clipping · p. 173, Principled Reward Reshaping · p. 175, The Problem with Ratio Clipping · p. 176
드러나지 않는 vLLM 확률 불일치
- vLLM의 확률 불일치는 중요도 비율에 편향을 유발한다. TIS는 그래디언트 보정 가중치에 상한을 적용하는 반면, MIS는 보정 비율이 임계값을 초과하는 시퀀스의 그래디언트를 영으로 만든다.커널, 정밀도, 어텐션 구현의 차이로 인해 가정한 on-policy 확률이 성립하지 않는다. TIS 보정값의 상한을 C로 제한하면 극단적인 가중치로 인한 학습 불안정을 방지할 수 있다. 시퀀스 수준의 기하평균 보정은 이론적으로 올바르지만 분산이 더 크고, 토큰 수준 보정은 편향이 있지만 분산이 더 작다.출처: The Silent vLLM Probability Mismatch · p. 174, Truncated Importance Sampling (TIS) · p. 174, Masked Importance Sampling (MIS) · p. 174
RL의 스케일링 법칙
- CISPO는 배치 수준 보상 스케일링과 DAPO식 토큰 수준 손실을 결합해 상승효과를 낸다. ScaleRL [242]에서는 어느 한쪽만으로는 대규모 학습에서 높은 성능을 얻기에 부족하다고 보고한다.전체 배치에 걸쳐 보상을 정규화해 더 안정적인 기준값을 제공하고, 하나의 프롬프트가 지배하지 않도록 한다. 손실에는 비대칭 클리핑도 사용한다. 배치가 클수록 배치 수준 스케일링의 이점이 커지며, 대규모 RL 학습의 기본 방식으로 CISPO를 권장한다.출처: Scaling Laws for RL · p. 177, Batch-Level Reward Scaling · p. 177, CISPO Loss · p. 177
다중 보상 붕괴 문제
- GDPO [437]는 보상을 각각 정규화해 다중 보상 어드밴티지 붕괴를 방지하고, GOPO [54]는 보상 크기 대신 그룹 내 순위를 사용한다.GDPO는 분산이 큰 보상이 다른 목표를 압도하지 않게 하여, 보상의 척도나 분산이 달라도 사용자가 지정한 가중치에 비례하는 기여를 유지한다. GOPO는 검증 불가능한 과제에서 쌍별 학습으로 얻은 순서는 신뢰할 수 있지만 수치 점수 차이는 자의적일 수 있는 학습된 보상 모델을 다룬다.출처: The Multi-Reward Collapse Problem · p. 178, GDPO vs Standard Multi-Reward GRPO · p. 178, §7.5.12 · p. 178
비교 항목 GRPO GOPO
- GOPO [54]는 검증 불가능한 과제에서 더 높은 보상 곡선, 향상된 평가자 승률, 더 빠른 수렴으로 GRPO를 능가한다.학습 및 별도 평가 데이터의 보상 곡선은 최적화 전반에 걸쳐 GRPO보다 높게 유지되며, 별도의 LLM 평가자도 대부분의 체크포인트에서 더 높은 승률을 보고한다. GOPO는 더 적은 기울기 업데이트로 GRPO의 최종 품질에 도달하며, 보상 모델의 잡음이 크거나 보정이 부정확할수록 이점이 커진다.출처: §7.5.12 · p. 178, Aspect GRPO GOPO · p. 179
8.1.1 동기
- Online DPO [127]는 현재 정책으로 응답 쌍을 생성하고 보상 모델로 평가한 뒤 DPO 손실을 적용해, 오프라인 선호 데이터의 분포 변화를 다룬다.표본별 어드밴티지 목적함수를 사용하는 GRPO와 달리 Online DPO는 쌍 기반 손실을 사용한다. 오프라인 DPO와 달리 보상 모델이 필요하지만, PPO의 가치 헤드는 필요하지 않다.출처: §8.1.1 · p. 180, §5 · p. 180
8.1.4 온라인 DPO, 오프라인 DPO, PPO 비교
- 오프라인 DPO는 고정된 쌍을 사용하고, 온라인 DPO는 정책이 생성한 데이터를 갱신하며, PPO는 최고의 품질과 복잡한 추론을 위해 가치 헤드를 추가한다.비교에서는 오프라인 DPO에 모델 2개, 온라인 DPO에 3개, PPO에 4개가 필요하다고 제시한다. 연산 자원이 제한적일 때는 오프라인 DPO를, DPO 성능이 정체된 뒤 탐색이 필요할 때는 온라인 DPO를 제안한다.출처: §8.1.4 · p. 181
전망 이론으로 이해하는 KTO
- KTO [87]는 쌍을 이루지 않은 이진 피드백에 전망 이론을 적용해, 대응하는 선호 쌍 없이도 바람직하지 않은 응답에 더 강한 페널티를 부여할 수 있다.각 예시는 프롬프트, 생성 응답, 불리언 레이블로 구성된다. 바람직한 응답의 효용은 증가할수록 추가 이득이 줄어들며, 바람직하지 않은 예시에는 더 큰 가중치를 부여할 수 있다. 본문은 클래스 불균형에 KTO를 권장하며, 잡음이 있는 레이블에 DPO보다 강건하다고 설명한다.출처: §8.2.1 · p. 181, KTO Intuition via Prospect Theory · p. 182, KTO Data Format · p. 182
IPO와 DPO: 목표 마진을 통한 정규화
- IPO [14]는 DPO의 상한 없는 선호 마진을 유한한 격차를 목표로 하는 제곱 손실로 대체해 과적합을 억제한다.이 손실은 너무 작거나 큰 마진 모두에 페널티를 부여해 잡음에 대한 강건성과 일반화를 높인다. 본문은 여러 에포크에 걸친 학습에서도 IPO가 DPO보다 안정적이라고 설명한다.출처: §8.3.1 · p. 183, IPO vs DPO: Regularization Through… · p. 183, §8.3.4 · p. 184
ORPO: SFT와 정렬을 한 번에
- ORPO [141]는 참조 모델 없이 지도 미세조정과 오즈비 기반 선호 정렬을 결합하며, 메모리 사용량이 50% 적다고 보고된다.지도학습 항이 생성의 기준점 역할을 하여 참조 모델의 정규화 역할을 대체한다. 한계로는 70B+ 규모에서 검증된 학습 방식의 부족, 고품질 선호 응답의 필요성, 손실 항 간 충돌 가능성이 있다.출처: ORPO: SFT + Alignment in One Shot · p. 184, §8.4.1 · p. 184, ORPO Limitations · p. 185
Best-of-N이 정당한 “RL” 방법인 이유
- Best-of-N [262]은 RL 단계의 학습 없이 생성된 후보 중 하나를 선택하고, 거부 샘플링 미세조정은 선택된 응답에 지도학습을 반복 적용한다.구현에서는 보상 모델로 후보의 점수를 매겨 최고 점수의 응답을 반환한다. 이론적 연결 에서는 Best-of-N을 암묵적인 KL 제약 정책으로 설명한다.출처: §8.5.1 · p. 185, Why Best-of-N is a Legitimate “RL”… · p. 185, §8.5.3 · p. 186
N 품질 향상 비용 비고
- Best-of-N은 N = 16에서 비용 16×로 승률 +10–15%를, N = 64에서 비용 64×로 승률 +15–20%를 달성한다고 보고된다.기준선은 비용 1×인 N = 1의 표준 샘플링이며, N = 256은 비용 256×로 승률 +18–22%에 도달한다. 비교에서는 N = 16이 흔히 PPO와 동등한 품질을 보이고, N = 64부터 추가 이득이 줄어든다고 설명한다.출처: N Quality Gain Cost Notes · p. 186
9.1 Bradley-Terry 모델 — 전체 유도
- Bradley-Terry 모델 은 이진 교차 엔트로피 최대우도 목적함수로 쌍별 선호도에서 스칼라 보상을 학습한다.선호의 추이성, 단일 보상 차원, 주석자 효과가 없는 쌍 간 독립성을 가정한다. 실제로는 이 가정들이 위배되므로 Plackett-Luce 같은 순위 기반 확장과 다차원 보상 모델이 필요해진다.출처: §9.1 · p. 188, Maximum Likelihood Estimation · p. 188, Bradley-Terry Assumptions · p. 188
9.2 보상 모델 아키텍처
- 표준 보상 모델은 사전학습된 LLM의 언어 모델링 헤드를 최종 은닉 상태에 적용하는 스칼라 회귀 헤드로 대체한다.보상 모델은 RLHF 학습 신호를 제공하지만, 제대로 학습되지 않으면 보상 해킹과 정렬 실패를 유발할 수 있다. 마진 손실을 추가하면 선호 응답과 비선호 응답의 보상 사이에 최소 격차를 강제한다.출처: Reward Model Training · p. 188, Margin Loss Extension · p. 188, §9.2 · p. 189
길이 편향 교정
- 보상 모델의 길이 편향은 길이 정규화, 길이 불변 학습, 사후 보정으로 교정할 수 있다.보상에서 평균을 빼 중심화하면 보상의 척도와 오프셋이 자의적이어도 RL 학습을 안정화할 수 있다. Bradley-Terry 마진을 추가하면 선호 응답과 비선호 응답의 점수 사이에 의미 있는 격차를 강제한다.출처: Reward Centering · p. 189, Length Bias Correction · p. 190, Margin Losses · p. 190
PRM을 사용할 때
- 잠재함수 기반 보상 셰이핑(PBRS) 은 최종 답의 정답 여부에 대한 최적 정책을 보존하면서 추론 진행에 따른 보상을 제공한다.과정 보상 모델은 다단계 추론과 단계별 점수를 사용하는 탐색에 적합하며, 더 높은 주석·추론 비용으로 조밀한 보상 신호를 제공한다. 결과 보상 모델은 최종 답을 평가하며, 단순한 과제에는 이것으로 충분하다.출처: When to Use PRMs · pp. 190–191, PRM vs ORM Comparison · p. 190
자동 PRM 주석
- 과정 보상의 자동 주석에는 Monte Carlo 후속 생성의 성공률, 성능이 높은 LLM 평가자, 추론 단계의 형식 검증을 활용할 수 있다.Monte Carlo 주석은 각 중간 단계에서 후속 응답을 샘플링하고, 정답에 도달한 비율을 해당 단계에 부여한다. 형식 검증기는 수학이나 코드의 추론 단계를 검사할 수 있다.출처: Automatic PRM Annotation · p. 191
9.5 RLVR을 위한 규칙 기반 보상
- RLVR은 DeepSeek-R1 [72]에서처럼 학습된 보상 모델을 결정론적 규칙으로 대체해 보상 해킹을 줄이지만 완전히 없애지는 못한다.형식 보상과 정답 보상을 결합하고, 테스트 데이터 유출을 방지하며, 명시적 페널티와 함께 엄격한 시간제한을 적용한다. 이진 보상이 지나치게 희소하면 부분 점수를 제공한다.출처: §9.5 · p. 191, Rule-Based Reward Pitfalls · p. 192
다중 보상 결합 전략
- 여러 보상은 가중합, 정규화된 합, 사전식 우선순위, 제약 최적화, 파레토 전선 선택으로 결합할 수 있다.가중합은 척도에 민감하다. GDPO는 각 보상을 그룹 내에서 정규화한 뒤 가중합을 구해 결합 결과가 척도에 불변하도록 한다. 사전식 최적화는 우선순위가 같은 경우를 고려하고, 제약 최적화는 부차적 보상에 경계를 설정하며, 파레토 선택은 선호에 따라 달라지는 대안들을 유지한다.출처: Multi-Reward Combination Strategies · p. 192
9.7 목록별 순위 기반 보상
- 목록별 모델은 전체 순위에서 학습해 보상 보정을 개선하고, 모든 쌍을 독립적으로 주석하는 방식보다 주석 부담을 줄인다.Plackett-Luce 는 남은 응답에 대한 순차적 softmax 선택으로 Bradley-Terry를 전체 순위로 확장한다. ListMLE 는 정답 순위의 우도를 직접 최대화한다.출처: Why Listwise? · p. 193, §9.7 · p. 193, Plackett-Luce Model · p. 193
GRPO와의 통합
- GRPO는 순위가 매겨진 응답 그룹으로 학습한 목록별 보상 모델을 통합하고, 스칼라 보상을 그룹 상대 어드밴티지 A_i = (r_i − μ)/σ로 변환한다.기존 보상 모델이나 인간 주석자가 Plackett-Luce 학습용 순위를 제공한다. 모든 응답을 함께 보면 모델은 최상위 응답과 최하위 응답 사이의 보상 격차를 학습할 수 있다.출처: Integration with GRPO · p. 194
목록별 학습의 과제
- 목록별 학습에서는 주석 비용, 공동 순위, 제시 순서 편향, 지나치게 긴 목록, 주석자 간 불일치를 관리해야 한다.부분 순위는 비용을 줄이고, 동률을 반영하는 Plackett-Luce 모델과 무작위 제시 순서는 각각 공동 순위와 위치 편향을 다룬다. 일반적인 목록은 응답 4–8개로 구성되며, 16개를 넘으면 잡음이 늘어난다. κ > 0.6을 기준으로 주석자 간 일치도를 필터링할 수 있다.출처: Listwise Training Challenges · p. 194
SFT 모범 사례와 기법 · 대규모 시스템 아키텍처와 인프라
이 절은 효과적인 SFT 및 RL 미세 조정 기법과 대규모 학습에 필요한 인프라를 다루며, 데이터 준비, 손실 설계, 옵티마이저 설정, 병렬화, GPU 메모리 관리를 아우른다. 성능 저하, 생성과 학습의 분리, 통신 효율뿐 아니라 비용, 체크포인팅, 가중치 동기화, 장애 복구 등 운영상의 문제도 다룬다.
패킹 효율
- 시퀀스 길이 편차가 큰 데이터셋에서 패킹 효율은 85–95%로, 패딩의 20–50%보다 높으며 속도도 2–4× 빨라진다.일반적인 패딩은 길이 편차가 큰 데이터셋에서 연산량의 50–80%를 낭비한다. 패킹은 EOS 구분자로 예제를 이어 붙이고 어텐션 마스크로 예제 간 어텐션을 차단한다. 메모리 사용량은 패딩과 비슷하지만, 오염을 막으려면 마스킹을 신중히 적용해야 한다.출처: Packing Efficiency · p. 196, The Padding Problem · p. 196
채팅 템플릿이 중요한 이유
- 채팅 템플릿은 시스템, 사용자, 어시스턴트 메시지를 구분한다. 추론 시 템플릿이 잘못되거나 누락되면 성능이 크게 저하된다.본문은 ChatML을 가장 널리 쓰이는 템플릿으로 소개하며, Llama 3는 다른 특수 토큰 형식을 사용한다고 설명한다.출처: Why Chat Templates Matter · p. 197, ChatML Format · p. 197, Llama Format · p. 197
왜 프롬프트를 마스킹하는가?
- 응답 전용 마스킹은 어시스턴트가 아닌 토큰의 손실을 영으로 만들어, 프롬프트 암기보다 응답 학습에 집중하게 한다.TRL의 DataCollatorForCompletionOnlyLM은 토큰화 결과와 정확히 일치해야 하는 템플릿으로 응답을 식별하며, 여러 턴으로 구성된 대화에서는 어시스턴트가 아닌 모든 턴을 마스킹해야 한다. 응답이 매우 짧으면 유의미한 기울기 신호를 유지하기 위해 최소 응답 길이 임계값이 필요할 수 있다.출처: Why Mask the Prompt? · p. 198, Completion-Only Masking in TRL · p. 198, Completion Masking Pitfalls · p. 198
다중 과제 학습의 난제
- 데이터 혼합은 데이터셋 크기 비례 배분, 온도 조정, 추정 품질 기반 가중치로 다중 과제 간 그래디언트 충돌을 관리한다.비례 샘플링은 품질이 비슷하게 높은 데이터셋에 적합하다. 온도 기반 혼합은 T = 1에서 비례 샘플링이 되고, T →∞일 때 균등 샘플링에 가까워지며, T < 1에서는 큰 데이터셋을, T > 1에서는 작은 데이터셋을 우대한다. 품질 가중치는 참조 모델의 퍼플렉시티나 사람의 평가를 활용할 수 있다.출처: The Multi-Task Challenge · p. 199, Proportional Mixing · p. 199, Temperature Mixing · p. 199
10.5.4 완화 전략
- 완화책을 고르기 전에 성능 저하를 진단해야 한다. 망각과 정렬세는 발생 기제가 달라 서로 다른 개입이 필요하다.사전 학습 검증 데이터의 퍼플렉시티가 급등하면 망각을, 안정적이면 정렬세를 시사한다. LoRA는 동결된 기본 가중치를 보존하지만, 어댑터가 활성화된 상태의 능력 보존까지 보장하지는 않는다. 정렬세 완화책에는 다양한 SFT 데이터 사용, 안전성 저하 가능성을 감안한 신중한 β 하향 조정, 능력 손실이 허용 범위를 넘을 때 RL 중단이 있다. 중단 기준은 보통 MMLU 성능 저하 2–5%다.출처: §10.5 · p. 200, §10.5.4 · pp. 201–202
파국적 망각
- 파국적 망각은 새로운 분포를 학습하면서 기존 능력을 담은 매개변수를 덮어쓰는 의도치 않은 최적화 실패다.기존에 학습한 과제와 다국어 능력을 훼손할 수 있다. 완화책으로는 SFT 중 사전 학습 데이터를 5–10% 재사용하는 방법과, 피셔 정보가 높은 매개변수의 변화에 페널티를 주는 Elastic Weight Consolidation(EWC) 이 있다.출처: Catastrophic Forgetting · p. 200, §10.5.4 · p. 201
10.5.2 정렬세(행동 제약)
- 정렬세는 지식을 지우지 않고 억제하는 행동 제약 때문에 발생하는 예상 가능한 능력 간 절충이다.DPO/PPO의 KL 페널티는 참조 정책에서 벗어나는 정도를 제한하므로 과도한 응답 거부와 복잡한 출력 생성 능력 저하를 일으킬 수 있다. MT-Bench와 AlpacaEval 같은 선호도 벤치마크가 개선되는 동안 MMLU와 HumanEval 같은 기본 능력 벤치마크는 하락할 수 있다.출처: §10.5.2 · pp. 200–201
SFT와 RL의 관계
- RL을 적용하려면 SFT 모델이 이미 일부 정답을 생성할 수 있어야 하며, 체계적으로 편향된 보상 모델은 RL로 보완할 수 없다.제시된 품질 점검 기준은 pass@1 < 5%이면 RL 실패 가능성이 높고, pass@k < 20%이면 RL이 어려울 가능성이 높다고 본다. 과제를 폭넓게 포괄하는 고품질 SFT 데이터가 중요하며, 과도한 학습은 다양성을 줄여 RL 탐색을 어렵게 한다.출처: The Exploration-Exploitation Tradeoff… · p. 202, The SFT-RL Relationship · p. 202, Practical Implications · pp. 202–203
대규모 시스템 아키텍처와 인프라 / SFT 모범 사례 요약
- 대규모 RLHF는 수십에서 수백 개의 GPU에 걸쳐 롤아웃, 점수 산정, 학습을 조율하며, 메모리 관리, 병렬화, 가중치 동기화, 내결함성, 모니터링이 필요하다.SFT에서는 온도 조정(T ≈2)으로 과제를 혼합하고, 파국적 망각을 줄이기 위해 LoRA를 사용하며, RL 전에 pass@k를 평가한다. 보통 1–3 에포크 동안 학습하고 엔트로피와 n-그램 다양성으로 모드 붕괴를 감시한다.출처: SFT Best Practices Summary · pp. 203–204, System Architecture & Infrastructure… · p. 205
11.1 모델 4개의 메모리 문제
- 70B PPO의 명시된 메모리 예산은 1470–1560 GB로, 병렬화 오버헤드를 제외해도 A100-80GB GPU가 최소 19–20개 필요하다.이 예산에는 RLHF 모델 4개, 옵티마이저 상태, 그래디언트, 활성값, 생성용 KV 캐시가 포함된다. Figure 11.1은 ZeRO-3를 사용하면 이 작업을 노드 8개에 수용할 수 있다고 설명한다.출처: Figure 11.1 · p. 205, §11.1 · p. 205
11.2.1 데이터 병렬화(DP)와 분산 데이터 병렬화(DDP)
- DDP의 거의 선형적인 확장은 약 64개 GPU까지 가능하며, 그 이상에서는 통신이 점점 더 지배적인 비용이 된다.각 GPU는 전체 모델, 옵티마이저, 그래디언트를 저장하며, 본문은 70B BF16에 ∼560 GB/GPU가 필요하다고 추정한다. Ring-AllReduce [321]는 역전파 계산 중 그래디언트를 동기화하며, 기본 크기 25 MB의 그래디언트 버킷으로 통신을 계산과 중첩한다.출처: §11.2.1 · p. 206
DP와 DDP 비교 — 항상 DDP 사용
- 기존 DataParallel 대신 DDP를 사용해야 한다. DataParallel은 Python GIL 제약, GPU-0의 그래디언트 병목, 단일 머신 제한 때문에 확장이 어렵다.DDP는 최소 권장 병렬화 전략이며, 7B보다 큰 LLM에는 FSDP/ZeRO가 권장된다.출처: DP vs DDP — Always Use DDP · p. 207
11.2.2 텐서 병렬화(TP) / TP를 노드 내부로 제한하는 이유 / TP 병렬도 선택
- Megatron-LM의 텐서 병렬화 [327]는 가중치 행렬을 GPU들에 분할하며, Transformer 층마다 AllReduce 연산이 2회 발생한다.노드 간 통신 비용이 계산 비용을 넘을 수 있으므로 TP는 노드 내부로 제한하며, 보통 TP ≤8로 설정한다. 어텐션 헤드 수는 TP 병렬도에 나누어떨어져야 한다. 노드 간 TP는 PP만으로 부족한 200B+ 모델을 제외하면 드물게 쓰이며, 오버헤드는 30–50%다.출처: §11.2.2 · pp. 207–208, Why TP is Restricted to Intra-Node · pp. 208–209, TP Degree Selection · p. 209
11.2.3 시퀀스 병렬화(SP)
- 제시된 시퀀스 병렬화 예시에서는 표준 텐서 병렬화보다 통신량을 늘리지 않고 활성값 메모리를 약 59 GB/GPU 절약한다.시퀀스 병렬화 는 시퀀스를 나누어 처리하고 필요한 곳에서만 전체 시퀀스를 모아, LayerNorm과 Dropout 활성값의 중복 저장을 해소한다. 본문은 TP와 함께 항상 활성화할 것을 권장한다.출처: §11.2.3 · pp. 209–210
11.2.4 파이프라인 병렬화(PP)
- 파이프라인 버블 오버헤드를 10% 미만으로 유지하려면 마이크로배치 수가 M ≥10 × (P −1)이어야 한다. 1F1B 는 저장되는 활성값 수를 M이 아닌 P로 제한한다.파이프라인 병렬화는 연속된 층 묶음을 각 스테이지에 배정한다. 제시된 전송 예시는 50 GB/s InfiniBand로 128 MB를 2.6 ms에 전송한다. 계산 부하를 균형 있게 배분하려면 중간 스테이지에는 Transformer 층을 더 많이, 양 끝 스테이지에는 더 적게 배정한다.출처: §11.2.4 · pp. 210–211
11.2.5 완전 샤딩 데이터 병렬화(FSDP / ZeRO-3) / FSDP 통신량
- FSDP [431]/ZeRO-3 [304]는 매개변수, 그래디언트, 옵티마이저 상태를 GPU들에 샤딩하며, 스텝당 통신량은 DDP의 3×다.각 GPU는 1/N 조각을 소유하고 갱신한다. 역전파 계산에서는 매개변수를 모으고 그래디언트에 ReduceScatter를 수행한다. 제시된 70B, GPU 8개 비교에서 DDP의 모델 상태 기준 메모리는 1120 GB/GPU인 반면 완전 샤딩은 140 GB/GPU다.출처: §11.2.5 · pp. 211–212, FSDP Communication Volume · p. 212, Table 11.2 · p. 212
FSDP 통신량 · 11.2.6 3D 병렬화: 전략 결합
- FSDP의 통신량은 3M 바이트로 DDP의 2M 바이트보다 많지만 메모리를 절약한다. 여기서 M은 바이트 단위 모델 크기다.DDP로 메모리에 수용할 수 없거나 통신을 계산과 중첩할 수 있다면 FSDP가 유리하다. 한 70B 구성은 A100-80GB GPU 64개를 사용하며, 생성에는 TP=8, 학습에는 노드 내·노드 간 FSDP를 적용한다. 파이프라인 병렬화는 TP+ZeRO로 수용할 수 없는 100B+ 모델에 한해 사용하며, 10–20%의 버블 오버헤드가 추가된다.출처: FSDP Communication Volume · p. 212, §11.2.6 · p. 212
11.2.7 Decoupled DiLoCo: 데이터센터 간 학습
- Decoupled DiLoCo 는 지속적인 그래디언트 동기화를 로컬 학습과 지역 간에 조율되는 비동기 외부 갱신으로 대체한다.작업자들은 H 스텝 동안 독립적으로 학습하고, 매 스텝의 그래디언트 대신 H 스텝마다 모델 크기의 외부 갱신 텐서 하나를 전송한다. 조정자는 갱신이 도착하는 대로 적용하므로 광역 네트워크 지연의 변동을 허용한다.출처: §11.2.7 · pp. 213–214
Decoupled DiLoCo: 실험 결과
- Decoupled DiLoCo 는 단일 데이터센터와 동등한 언어 모델링 품질을 유지하면서 동기식 분산 학습보다 대역폭 사용량을 236× 줄이고, 완전 비동기식 SGD보다 실제 소요 시간을 20× 단축한다.실험에서는 표준 2–5 Gbps 인터넷 회선으로 연결된 미국 내 4개 지역에서 매개변수 12B 모델을 학습했다. 작업자 장애는 전체 학습이 아니라 외부 갱신만 지연시킨다.출처: §11.2.7 · p. 213, Decoupled DiLoCo: Empirical Results · p. 214
중요한 이유: 주권 AI와 멀티클라우드
- Decoupled DiLoCo 는 데이터 주권을 유지한 참여, 멀티클라우드 학습, 데이터센터 복원력, 이기종 GPU 작업자를 지원한다.조직은 민감한 데이터를 중앙 시설로 보내지 않고 연산 자원을 기여한다. 학습은 AWS, GCP, Azure의 스팟 인스턴스를 결합하고 장애 지점을 우회할 수 있다. 데이터센터 장애 시 현재 H 스텝의 기여분만 손실되며, 서로 다른 세대의 GPU는 각자의 속도로 실행된다.출처: §11.2.7 · p. 213, Why This Matters: Sovereign AI and… · p. 214
루프라인 분석: 생성에 메모리 병목이 발생하는 이유
- 배치 크기 1인 70B 생성의 연산 집약도는 1 FLOP/byte로, A100의 루프라인 전환점인 156 FLOP/byte보다 낮아 메모리 병목이 발생한다.PagedAttention [195]을 적용한 vLLM은 KV 캐시 단편화를 줄여 속도를 2–4× 높이고, 연속 배칭 은 시퀀스가 끝나는 대로 새 시퀀스를 시작해 1.5–2× 높인다. 추측 디코딩 [205]은 초안 토큰을 한꺼번에 검증해 2–3× 높이며, INT8/FP8 생성 가중치는 필요 대역폭을 절반으로 줄여 2× 높인다.출처: Roofline Analysis: Why Generation is… · pp. 214–215
11.4 분리형 아키텍처: 프로덕션 설계 · 분리하는 이유 · 11.5 가중치 동기화 전략 · PPO/GRPO가 오래된 데이터를 허용하는 이유
- 분리형 RLHF 아키텍처에서는 다음 스텝의 생성과 현재 스텝의 학습을 중첩해 속도가 30–40% 향상된다.DeepSpeed-Chat [410]과 OpenRLHF [148]는 생성, 점수 산정, 학습을 분리하며, 생성에는 INT8, 학습에는 BF16을 사용할 수 있다. 동기화 방식에는 매 스텝 전송(140 GB/step), 50 스텝마다 주기적 전송(평균 2.8 GB/step, 품질 손실 <2%), INT8 델타 압축(0.4 GB/step, 손실 <3%), 비동기 스트리밍(14 GB/step, 손실 <1%)이 있다. PPO 클리핑은 오래된 데이터의 영향을 제한하며, 실험상 50 스텝 지연에서 품질 손실은 <2%였다.출처: §11.4 · p. 215, Why Decouple? · p. 216, §11.5 · p. 216
11.6 메모리 최적화 기법 · RLHF에서 Flash Attention이 중요한 이유 · Flash Attention과 그래디언트 체크포인팅
- ZeRO-3는 옵티마이저 상태, 그래디언트, 매개변수를 샤딩해 A100-80GB GPU 8개에 70B 모델을 GPU당 70GB로 수용한다.그래디언트 체크포인팅은 연산량을 약 33% 늘리는 대신 활성값 메모리를 약 60% 절약한다. Flash Attention [64] [65]은 O(n) 어텐션 메모리를 사용해 같은 GPU 메모리에서 8K–32K 토큰 롤아웃을 가능하게 한다. Flash Attention은 이미 저장된 Q, K, V로 어텐션 타일을 재계산하므로, 어텐션에 체크포인팅까지 적용하면 이 텐서들을 불필요하게 재계산한다.출처: §11.6 · pp. 216–217, Why Flash Attention Matters for RLHF · p. 217, Flash Attention and Gradient… · p. 217
하드웨어 장애의 현실
- 소프트웨어와 네트워크 장애까지 포함하면 GPU 512개 클러스터의 현실적인 장애 발생 간격은 4–8시간이므로 내결함성이 필수다.프로덕션 스택은 타임아웃, 하트비트, GPU 상태 감지를 결합하고 50–100 스텝마다 비동기 체크포인트를 저장해 가중치, 옵티마이저, 스케줄러, RNG, KL 계수, 리플레이 버퍼 상태를 보존한다. 복구 시 생성 작업자를 재시작하거나 학습 체크포인트를 복원하고 FSDP 샤드를 재분배한다. 탄력적 자원 교체, GPU 사전 검사, 상시 대기 예비 자원, 이중화 네트워크가 지속적인 운영을 뒷받침한다.출처: Hardware Failure Reality · p. 218
11.8 종단 간 지연 시간 분석
- 생성과 학습을 중첩하면 실효 속도가 1.4× 향상되며, 70B의 스텝 시간이 일체형의 50–75s에서 분리형의 35–50s로 줄어든다.생성은 30–45s, 보상 점수 산정은 5–8s, 참조 로그 확률 계산은 4–6s, PPO 갱신 4 에포크는 8–12s, 가중치 동기화는 0–3s가 걸린다.출처: Figure 11.11 · p. 218, §11.8 · p. 218
11.10 네트워크 토폴로지와 통신 패턴
- PCIe만 사용하는 시스템에서는 GPU 8개 텐서 병렬화가 10–30× 느려지므로, NVSwitch가 없다면 TP>2를 피해야 한다.노드 간 FSDP/ZeRO-3 집합 통신이 네트워크 비용의 대부분을 차지하며, 층별 AllGather 프리페치와 ReduceScatter 중첩으로 통신 지연의 70–90%를 숨길 수 있다. 레일 최적화 네트워크에서는 레일 간 트래픽에 추가 비용이 발생한다. GPU 512개에 무작위 배치하면 2–3× 느려질 수 있으므로 연속된 노드를 할당하는 것이 좋다.출처: NVSwitch vs PCIe Topology · p. 219, §11.10.2 · p. 219, Communication-Computation Overlap · p. 221
규모가 커질수록 MFU가 낮아지는 이유 · 11.11.3 프로파일링과 병목 진단
- 학습 목표는 >40% MFU이며, 30% 미만이면 프로파일링이 필요하다.규모가 커지면 GPU 64개에서 약 10–15%의 FSDP 통신 오버헤드, PP=4에서 약 15–25%의 파이프라인 버블, 보조 모델의 메모리 압박, 층 간 부하 불균형이 발생한다. 프로파일링 도구는 커널 실행 시간, GPU 타임라인의 공백, 집합 통신 비용, 메모리 할당 패턴, 층별 FLOPs, CPU 병목을 보여준다.출처: Why MFU Decreases with Scale · pp. 221–222, §11.11.3 · p. 222
11.11.2 연산 최적 배치 크기 설정 · RLHF 학습 중 추적할 핵심 지표
- LLM의 임계 배치 크기는 대략 1–4M 토큰으로, 이 지점에서 그래디언트 잡음과 그래디언트 신호가 같아진다 [250].일반적인 RLHF 프로덕션 배치는 프롬프트 128개, 생성 1–4개, 길이 256–512 토큰을 사용해 스텝당 32K–256K 토큰을 처리한다. 보상이 상승하다 정체되는지, KL 발산이 3–10인지 감시하고, 길이 편법을 확인하기 위해 응답 길이를, 붕괴를 확인하기 위해 엔트로피를 추적한다.출처: Key Metrics to Track During RLHF… · p. 219, §11.11.2 · p. 222
11.12 비용 분석과 클라우드 배포
- 70B RLHF의 중첩 적용 후 추정 실효 비용은 ≈$7,500이며, 예시의 중첩 적용 전 총비용은 $9,600이다.10,000 스텝 예시는 스텝당 45초, 총 125시간, A100-80GB GPU 64개, GPU 시간당 $1.20의 스팟 요금을 가정한다. 비용 절감 전략에는 5분 간격 체크포인트를 활용한 스팟 인스턴스 사용, 생성·점수 산정 양자화, 약 $200가 드는 8B 대리 모델에서 보상 설계 디버깅이 있다.출처: §11.12.2 · p. 223, §11.12.3 · p. 223
11.13 분산 체크포인팅
- 옵티마이저 상태를 포함한 70B 모델의 체크포인트 크기는 하나당 ∼840 GB이므로, 단순한 체크포인팅은 확장 시 병목이 된다.torch.distributed.checkpoint는 실행을 차단하지 않는 비동기 저장을 지원한다. RLHF 복구에는 리플레이 버퍼, GPU RNG 상태, 프롬프트 반복자 위치, 보상 모델 버전 태그도 필요하다.출처: §11.13 · p. 224, §11.13.2 · p. 224, Checkpoint Hygiene for RLHF · p. 224
11.14 하드웨어 선택 지침
- H100은 종단 간 학습이 1.8–2.2× 빨라 A100 가격의 1.5×에서도 비용 대비 성능이 더 좋지만, 생성에는 스팟 요금의 A100이 더 경제적일 수 있다.보고된 H100의 이점은 약 1.6×의 최대 FLOPS와 1.7×의 생성 처리량이다. FP8 지원과 더 높은 대역폭은 학습에서의 우위를 더욱 키운다.출처: §11.14 · p. 225
RL과 SFT 최적화의 핵심 차이
- SFT보다 10–100× 낮은 학습률은 KL 제약하에서 RL 정책을 참조 모델에 가깝게 유지한다.정책 의존적 롤아웃은 비정상적 데이터와 잡음이 많고 분산이 큰 그래디언트를 만들어 파국적 망각과 보상 해킹 위험을 높인다. 기본 옵티마이저는 AdamW [238]이며, 가중치 감쇠는 KL 정규화와 충돌할 수 있어 권장하지 않는다.출처: RL vs. SFT Optimization – Key… · p. 225, §11.15 · p. 225
- RL 최적화는 수렴한 SFT 체크포인트에서 짧게 워밍업하고, 낮은 학습률, 고정 학습률 스케줄, 가중치 감쇠 대신 KL 정규화를 사용한다.보상을 예측하기 어려우므로 고정 학습률이 유리하다. 감쇠가 필요하다면 최소 학습률 비율을 ≥0.5로 두고 완만한 선형 감쇠를 사용한다. TRL 은 프로덕션에 사용할 수 있는 PPO, DPO 및 기타 LLM RL 구현을 제공한다.출처: RL vs. SFT Optimization – Key… · p. 225, Why Constant Schedule for RL? · p. 226, §11.15.7 · p. 227
11.15.3 RL을 위한 Beta-2 = 0.95: 더 빠른 적응
- β2 = 0.95는 Adam의 이차 모멘트 추정 구간을 β2 = 0.999일 때의 약 1000스텝에서 약 20스텝으로 줄여, 변화하는 기울기에 더 빠르게 적응하게 한다.batch=1처럼 배치가 매우 작으면 β2 = 0.99 또는 기울기 누적을 사용해 추정 잡음을 줄인다. 공통 RL 옵티마이저 설정에는 β1 = 0.9, ϵ = 10^-8, max_grad_norm=1.0, BF16도 명시되어 있다.출처: §11.15.3 · p. 226, Table 11.12 · p. 226
11.15.4 RL의 혼합 정밀도: FP32 마스터 가중치의 중요성
- PPO/GRPO를 BF16만으로 학습하면 100–500 스텝 후 보상이 붕괴하므로, FP32 마스터 가중치가 필수다.BF16은 크기가 100인 가중치에 대해 크기가 10^-6인 갱신을 표현할 수 없다.출처: §11.15.4 · p. 226
11.15.5 RL에서 그래디언트 클리핑의 중요성
- max_grad_norm=1.0은 PPO/GRPO를 그래디언트 급등으로부터 보호한다. 그래디언트 노름이 >50인 단 한 번의 미클리핑 스텝도 수백 스텝의 학습을 무효로 만들 수 있다.보상 분산, 드물게 나타나는 고보상 궤적, KL 페널티는 그래디언트 급등을 유발하며, 문제가 있는 배치에서는 그래디언트 노름이 >100이 될 수 있다. SFT의 그래디언트는 대체로 더 안정적이지만 클리핑은 여전히 권장된다.출처: §11.15.5 · p. 226, Never Disable Gradient Clipping for RL · p. 226
RL 최적화의 위험 신호와 해결책
- RL 문제 진단은 보상 붕괴, 지속적인 클리핑, KL 폭증, 보상 정체, NaN을 학습률, 정규화, 보상 보정, 정밀도 문제와 연결한다.보상이 붕괴하면 학습률을 2–5× 낮추거나 βKL을 높인다. 지속적인 클리핑에도 학습률을 낮춰야 하며, KL 발산이 >15 nats이면 학습률을 10× 낮추거나 적응형 KL 페널티를 적용한다. 보상이 기준 수준에 머물면 학습률을 2–5× 높여 보고 보상 보정을 점검한다. 100+ 스텝 후 NaN이 발생하면 FP32 마스터 가중치 적용, BF16 검증, 그래디언트 오버플로 점검이 필요하다.출처: Red Flags and Fixes for RL Optimization · p. 227
RLHF를 위한 MoE
- MoE 모델 은 RLHF에서 같은 연산 비용으로 3–4×의 용량을 확보하지만, 전문가 간 all-to-all 통신은 파이프라인 병렬화와 충돌한다.GRPO 생성 비용은 전체 매개변수가 아니라 활성 매개변수 수에 따라 결정된다. LoRA는 라우터와 공유 층에 적용하거나, 비용을 더 들여 모든 전문가에 적용할 수 있다. Miles 는 SGLang 롤아웃 생성과 Megatron-LM 학습을 연결하며, 활용률을 높이기 위한 별도 GPU 풀이나 소규모 실험용 동일 자원 배치 실행을 지원한다.출처: MoE for RLHF · p. 228, The RL Optimizer Mantra · p. 228
LLM 에이전트 학습 · 추론 · 대규모 추론 모델을 위한 RL
이 절은 자율 에이전트의 궤적 수준 학습을 개관하며, 도구 기반 상호작용, 보상 설계, 단계별 지도학습과 강화학습, 실용적인 생산성·연구 에이전트 워크플로를 다룬다. 또한 메모리와 스킬 재사용, 컨텍스트 및 안전 제약, RL로 학습한 추론 사슬, 추론 시점 연산, Tree-of-Thoughts를 비롯한 구조화된 탐색을 살펴본다.
표준 RLHF가 에이전트에 불충분한 이유
- 표준 RLHF는 단일 턴의 품질을 최적화하지만, 에이전트에는 도구 선택, 오류 복구, 탐색, 부분 관측성을 위한 궤적 수준 학습이 필요하다.에이전트는 도구와 내부 추론 중 하나를 선택하고, 궤적 도중 오류를 복구하며, 탐색과 활용의 균형을 맞추고, 불완전하거나 잡음이 있는 도구 출력을 처리해야 한다.출처: Why Standard RLHF Falls Short for Agents · pp. 229–230
12.2 LLM 에이전트의 궤적 버퍼
- 에이전트 궤적 버퍼는 저차원 수치형 전이 대신 텍스트 컨텍스트, 추론과 구조화된 행동, 평가 신호, 갱신된 이력을 저장한다.상태에는 지시, 대화 이력, 환경 변수가 포함된다. 보상은 실행 결과나 LLM 평가자에게서 얻으며, 도구 출력과 오류는 다음 컨텍스트에 들어간다.출처: §12.2 · p. 230, §12.2.1 · p. 230
12.3.2 B. 오프폴리시 탐색
- 오프폴리시 탐색은 학습 전에 성공한 궤적을 걸러내고, 효율적인 도구 사용 경로의 순위를 매기며, 다양한 전략을 샘플링한다.GRPO [323]나 필터링된 SFT는 비효율적으로 헤매는 실행을 제외하고 효율적이고 성공적인 궤적에서 손실을 계산한다. 다양성 샘플링은 모드 붕괴를 방지하는 데 도움이 된다.출처: §12.3.2 · p. 231
12.3.3 C. 비모수적 인컨텍스트 학습(경험에 대한 RAG)
- 경험 RAG는 학습 없이 유사한 과거 성공 사례를 검색해 프롬프트 시연으로 사용하며, 관련 경험이 있으면 즉시 적응한다.벡터 데이터베이스가 top-k 시연을 제공하며, 버퍼가 클수록 포괄 범위가 넓어진다. 검색은 드문 사례를 처리하고, 학습된 가중치는 일반적인 패턴을 포착할 수 있다.출처: §12.3.3 · p. 232
12.5.1 STaR: Self-Taught Reasoner(상세)
- STaR [418]는 정답에 맞춘 추론 생성과 SFT를 통해 보통 3–5회 반복으로 풀이 성공률 p를 약 0.7–0.9까지 높인다.STaR는 성공한 추론 기록에서 학습하고, 실패 사례에서는 정답을 조건으로 추론을 생성한다. 자기 교정 프레임워크는 실패한 궤적을 비평하고 성공한 수정 사례를 보존해, 이진 통과/실패 보상을 사용하는 SFT나 GRPO [323]에 활용한다.출처: §12.3.1 · p. 231, Algorithm · p. 233, §12.5.1 · p. 233
에이전트를 위한 STaR 변형
- STaR 변형은 암묵적 사고 토큰, 실행 기반 코드 검증, 검증기 유도 추론 지도를 통해 자기 개선을 확장한다.Quiet-STaR [419]는 다음 토큰 예측을 개선하는 사고 토큰을 학습한다. 코드 에이전트는 테스트로 검증하고 오류를 조건으로 재시도한다. V-STaR [143]는 우연히 정답을 산출한 잘못된 추론을 걸러낸다.출처: STaR Variants for Agents · pp. 233–234
12.5.2 Reflexion: Verbal Reinforcement Learning(상세)
- Reflexion [326]은 자연어 자기 비평을 일화 기억에 저장하고 후속 시도에 주입해, 가중치 갱신 없이 에이전트를 개선한다.슬라이딩 윈도는 보통 m ≤3개의 성찰을 유지하며, 고정된 API 모델은 기울기 계산이 필요 없다. 메모리는 여전히 컨텍스트 한계에 묶이고 과제에 종속되며, 성능이 낮은 모델은 유용한 비평을 생성하지 못할 수 있다.출처: §12.5.2 · p. 234, Reflexion: Agent Prompt with Injected… · p. 235
12.5.3 ReAct: Reasoning + Acting(상세)
- ReAct [408]는 추론, 도구 행동, 환경 관측을 교차 배치해 계획을 지원하고 에이전트 결정을 감사·디버깅할 수 있게 한다.각 행동이 반환한 관측은 컨텍스트에 들어가 다음 단계를 안내한다.출처: §12.5.3 · p. 235, ReAct System Prompt (Typical) · pp. 235–236
일반적인 ReAct 시스템 프롬프트
- ReAct는 사고가 아니라 행동에 보상하며, 행동 결과를 통해 사고의 질을 간접적으로 개선하고 형식이 잘못된 행동에는 페널티를 부과한다.형식 페널티는 JSON 누락과 존재하지 않는 도구의 생성을 대상으로 한다.출처: ReAct System Prompt (Typical) · p. 236
12.5.4 LATS: Language Agent Tree Search(상세)
- LATS [438]는 ReAct의 40% 대비 WebShop 성공률 75%, HumanEval pass@1의 68%에서 94%로의 향상을 보이지만, 과제당 추론 FLOPs가 10–50× 더 든다.LATS는 후보 행동을 샘플링하고 환경 롤아웃을 실행한 뒤 루트에서 가장 많이 방문한 자식 노드를 선택한다. 별도의 LLM 호출로 상태 가치를 과제 성공 확률로 추정한다.출처: §12.5.4 · p. 236
12.5.5 AgentQ: 에이전트 궤적에 대한 DPO(상세)
- AgentQ [294]는 DPO 3회 반복 후 기본 정책의 50%에서 향상된 WebShop 성공률 82%를 달성한다.최고·최저 보상 궤적을 각각 선호·비선호 사례로 삼으며, 정책이 순차적으로 개선되면서 더 나은 학습 쌍을 생성한다. LATS 유도 탐색은 롤아웃 데이터를 개선하고, 단계 수준 DPO는 동일한 접두부를 공유하는 다음 행동을 비교한다.출처: §12.5.5 · p. 237
12.5.6 Voyager: 스킬 라이브러리를 통한 평생학습(상세)
- Voyager [362]는 재사용 가능한 코드 스킬을 영속적 라이브러리에 축적하고, 저장된 스킬을 잊지 않으면서 검증된 함수를 조합해 점점 복잡한 행동을 구성한다.자동 커리큘럼은 점점 어려운 과제를 제안한다. 생성된 JavaScript 함수는 실행 검사와 최대 5회 재시도를 거쳐 등록된다. 새로운 과제는 관련 스킬을 검색해 조합하며, 검증된 스킬만 확장되는 라이브러리에 추가된다.출처: §12.5.6 · p. 238, Architecture · p. 238
12.5.7 RLEF: 실행 피드백 기반 RL(상세)
- RLEF 는 결정론적 실행 보상에 기반한 온라인 GRPO/PPO 갱신으로 코드 생성 에이전트를 학습한다.결정론적 테스트는 보상 잡음을 제거하고, 일부 테스트 통과는 차등 피드백을 제공한다. 프로그램을 통한 과제 생성은 확장을 지원하며, 잘 작성된 테스트는 학습된 보상 모델의 허점 이용이 아니라 실제 해결을 요구한다.출처: §12.5.7 · p. 239
12.5.8 OpenHands / SWE-Agent: 소프트웨어 공학을 위한 GRPO
- OpenHands [366]와 SWE-Agent [404]에서 RL 후 SWE-bench Verified 해결률은 55%로, SFT만 사용했을 때의 30%와 대비된다.GRPO는 Docker 환경에서 이진 회귀 테스트 보상으로 저장소 편집 에이전트를 학습한다. 워크플로는 버그 재현, 코드 수정, 회귀 오류 확인으로 구성된다. 규칙은 최소한의 변경을 권장하고 명시적 요청이 없으면 테스트 수정을 금지한다.출처: §12.5.8 · p. 239, OpenHands / SWE-Agent: System Prompt · p. 240
미래 방향: RL + 에이전트
- 제안된 방향은 완전한 에이전트 궤적에 대한 온라인 실행 보상 RL에 커리큘럼, 검색–RL 혼합 방식, 추론 시점 탐색이나 재시도를 결합한다.검색은 드문 과제를, 모수적 RL은 일반적인 과제를 처리한다. 이 절은 추가 학습 연산보다 추가 추론 시점 탐색이나 재시도 연산이 더 효과적인 경우가 많다고 주장한다.출처: The Future: RL + Agents · p. 240
12.6 활용 사례: 생산성 보조 에이전트를 위한 에이전트 RL
- 생산성 보조 에이전트 설계안은 여러 애플리케이션의 API 상호작용을 POMDP로 모델링하고, 과제 성공, 사용자 피드백, 효율성을 바탕으로 정책을 개선한다.에이전트는 API 질의로만 작업 공간 상태를 관측하고 구조화된 JSON 호출로 행동한다. 관측 형식화에는 컨텍스트 윈도에 맞춘 잘라내기가 포함된다. 대부분의 연산은 결정론적 전이를 따르지만, 네트워크에 의존하는 행동은 확률적일 수 있다.출처: Figure 12.2 · p. 241, §12.6.2 · p. 241
12.6.2 생산성 보조 에이전트의 형식적 MDP 정의
- 2개 애플리케이션에 걸친 5개 행동은 부분 관측성하의 계획을 보여준다. 에이전트는 알 수 없는 상태를 질의하고 잘린 관측 속에서도 일관성을 유지한다.관측 함수는 이메일 47개 중 상위 10개만 노출한다. 할인 계수 0.99는 워크플로가 길수록 효율성을 더 강하게 유도한다.출처: §12.6.2 · p. 242
12.6.3 행동 공간 설계 / 생산성 보조 에이전트 행동 스키마 / 생산성 보조 에이전트 안전 프레임워크
- 구조화되고 타입 안전하며 조합 가능한 API 행동은 애플리케이션, 연산, 매개변수를 명시하고, 영향이 큰 행동은 의도 명시, 미리보기, 명시적 확인을 요구한다.확인 프로토콜은 전송, 삭제, 외부 공유를 비롯해 영향이 큰 것으로 분류된 행동에 적용된다.출처: §12.6.3 · p. 242, Productivity Co-pilot Action Schema · p. 243, Safety Framework for Productivity… · p. 246
12.6.4 상태 표현
- 128K 윈도의 컨텍스트 관리는 관련성 필터링, 구조화된 요약, 외부 궤적 메모리로 에이전트 컨텍스트에 들어갈 내용을 제한한다.도구 이력은 최근 8–12개 행동과 관측을 유지하고 이전 항목은 요약한다. 토큰 예산 중 10K 토큰은 추론과 다음 행동 생성에 확보해 둔다.출처: §12.6.4 · p. 243
12.6.5 보상 설계: 다목적 신호 / 12.6.10 다중 앱 워크플로의 기여도 할당 / 접근법: 계층적 보상 분해
- 다목적 보상과 계층적 기여도 할당은 API 피드백, 검증 가능한 하위 목표, 실패 구간에 국한된 페널티, 가치 함수의 반사실적 평가를 결합한다.성공한 API 호출에는 +0.05를 부여한다. 과제가 실패하면 궤적 분할을 통해 처음 실패한 하위 목표 구간의 행동에만 페널티를 부과한다.출처: §12.6.5 · p. 244, §12.6.10 · p. 247, Approach: Hierarchical Reward… · p. 247
1단계: 지도 미세조정(기반 구축) / 2단계: 시뮬레이션 환경 구축
- 50K–200K개의 시연 궤적으로 ReAct 형식 SFT를 수행한 뒤, 지시–검증 과제 쌍을 갖춘 모의 생산성 환경에서 학습한다.제안된 SFT 검증 목표는 별도로 남겨 둔 과제에서 40–60%의 완료율이다. 샌드박스에는 모의 API 엔드포인트, 합성 메일함, 문서, 캘린더가 포함된다.출처: Phase 1: Supervised Fine-Tuning… · p. 244, Phase 2: Simulated Environment… · p. 244
3단계: 온라인 RL 학습(GRPO) / 4단계: 인간 참여형 정교화 / 샌드박스 환경(단순화)
- 과제당 8개 궤적으로 그룹 정규화 어드밴티지와 클리핑·KL 정규화 갱신을 사용하는 샌드박스 GRPO를 수행한 뒤, 인간 선호 기반 DPO로 정교화한다.과제 검증은 종단 보상을 제공하고, KL 페널티는 SFT 모델을 기준으로 한다. A/B 배포에서 얻은 선호 쌍으로 DPO를 1–2회 수행한다.출처: Phase 3: Online RL Training (GRPO) · p. 245, Phase 4: Human-in-the-Loop Refinement · p. 245, Sandbox Environment (Simplified) · p. 245
12.6.8 과제 커리큘럼 설계 / 12.6.5 보상 설계: 다목적 신호
- 성공률이 70%를 초과하면 커리큘럼을 다음 단계로 진행하며, 조밀한 보상은 오류 복구를 유도하고 반복 행동 루프에 페널티를 부과한다.초기 학습은 L1–L2 과제 80%와 L3 과제 20%를 사용하며, 쉬운 과제를 10–20% 유지해 파국적 망각을 방지한다. 수정 후 재시도에는 +0.08을, 동일 행동 반복에는 –0.10을 부여한다.출처: §12.6.5 · p. 244, §12.6.8 · p. 246
12.6.11 확장과 인프라
- 추정 학습 인프라는 A100 GPU 40개 + CPU 128개이며, 비동기 롤아웃, 병렬 환경, 공유 접두부 KV 캐싱으로 중복 연산을 줄인다.이 추정은 매개변수 70B 모델을 대상으로 한다. 롤아웃은 128개 샌드박스 환경에서 실행되며, 과제당 여덟 궤적은 캐시된 프롬프트 접두부를 공유한다.출처: §12.6.11 · p. 247
연구 에이전트 평가 프레임워크
- 제안된 평가는 생산성 에이전트의 앱 간 작업 능력, 안전성, 강건성과 연구 에이전트의 미학습 과제 일반화 및 재현성을 다룬다.ProdBench-Hard는 10–30단계로 구성된 과제 200개를 제안한다. 안전성 테스트는 위반율 0.1% 미만을 요구하며, 강건성 테스트는 모호성, API 오류, 권한 누락을 주입한다. 연구 평가는 미학습 질문 50개와 보고된 코드의 재실행을 사용한다. 비교 결과는 관측값이 아니라 예상값으로 기술된다.출처: §12.6.12 · pp. 247–248, Research Agent Evaluation Framework · pp. 253–254
생산성 에이전트 RL의 실무적 시사점
- 생산성 에이전트 학습에는 탄탄한 SFT 기반, 다층 검증, 현실적인 API 호출 제한, 컨텍스트 관리, 적절한 보상을 받는 명확화 질문이 필요하다.20단계 궤적은 80K+ 토큰을 소비할 수 있어 관측 요약, 선택적 이력 유지, 계층적 컨텍스트 관리가 필요하다. 검증은 형식, 내용, 의미적 정확성을 확인한다. 행동 토큰에 대해서만 기울기를 계산하면 역전파 FLOPS가 40–60% 줄어들며, 명확화 질문 보상은 과도한 질문을 억제해야 한다.출처: §12.6.11 · p. 247, Practical Insights for Productivity… · p. 248
연구 에이전트 MDP
- 연구 에이전트 활용 사례는 도구 기반 마르코프 결정 과정을 통해 가설 생성, 문헌 검색, 실험, 분석, 보고를 연결한다.상태는 128K 토큰 안에 질문과 행동–관측 이력을 담는다. 행동은 구조화된 도구 호출과 추론을 결합하고, 전이는 행동과 출력을 덧붙인다. 일반적인 에피소드는 20–100단계이며, 보고서 품질에 기반한 희소 종단 보상을 사용한다.출처: §12.7 · p. 249, Research Agent MDP · pp. 249–250
다성분 연구 보상
- 연구 보상은 품질, 정확성, 참신성, 효율성, 형식을 결합하고, 결과 조작, 보고서 복사, 장황함, 쉬운 질문 기피를 막는 명시적 방어책을 둔다.가중치는 품질 0.30, 정확성 0.30, 참신성 0.15, 효율성 0.15, 형식 0.10이다. 실행 보상 설계는 성공에 +0.1, 실행 시점 오류에 −0.05를 추가한다. 방어책은 실행 로그와 보고된 수치를 대조하고, 표절을 탐지하며, 길이에 페널티를 부과하고, 난도별 커리큘럼을 도입한다.출처: Multi-Component Research Reward · pp. 250–251, Reward Hacking Risks · p. 251
12.7.6 학습 파이프라인
- 연구 에이전트 학습은 전문가 궤적 SFT에서 커리큘럼 기반 GRPO를 거쳐, 선택된 고보상 궤적의 미세조정으로 진행된다.SFT는 도구 출력을 마스킹한 전문가 궤적 200개를 사용한다. GRPO는 질문 500개에서 질문당 네 궤적을 샘플링하며, 최종 미세조정은 어려운 질문마다 16개 궤적 중 상위 두 개를 남긴다. 아키텍처는 rank-32 QLoRA를 적용한 Qwen-2.5 72B, TP=4와 접두부 캐싱을 사용하는 vLLM, 128K 컨텍스트를 넘을 때의 슬라이딩 윈도 요약을 사용한다.출처: Architecture Decisions — Applying… · p. 250, §12.7.6 · p. 251
연구 에이전트 궤적 — 전체 MDP 기록
- 연구 궤적 예시에서 N = 32의 GSM8K 정확도 75.9%와 N = 64의 75.6% 비교는 근거 기반 자기 교정을 보여준다.이 예시 에피소드는 문헌을 검색하고, 통제 실험을 설계하고, 코드를 실행하고, 유의성을 분석한 뒤 보고서를 제출한다. N = 32와 N = 64 비교의 p = 0.72이다. 에이전트는 유리한 결과만 고르지 않고 결론을 수정하며, 다섯 번의 성공적인 실행은 보상 설계에서 +0.5를 기여한다.출처: Research Agent Trajectory — Full MDP… · pp. 252–253
연구 에이전트 학습의 일반적인 실패
- 연구 에이전트 안전장치는 루프와 디버깅을 제한하고, 인용을 검증하며, 부실한 제출물을 거부하고, 평가자 선호를 악용하는 과학적으로 피상적인 보고서에 대응한다.단계 예산과 반복 호출 페널티를 사용하고, 세 번 실패한 디버깅 접근법은 포기하며, 도구 출력과 대조해 인용을 검증한다. 유효한 제출물에는 R > 0.4를 요구하고, 평가 모델을 교체하며, 보상에 인간 평가를 주기적으로 포함한다.출처: Common Failures in Research Agent… · p. 254
12.8 LLM 에이전트를 위한 최신 RL
- critic 없는 GRPO [323]는 GPU 메모리를 50% 절감하는 것으로 보고된다. 확률적인 도구 출력 때문에 더 세밀한 단계 수준 기여도 할당이 필요할 때는 PPO [319]가 여전히 유용하다.GRPO는 완전한 궤적 간 보상을 정규화하므로 이진 검증 가능 결과에 적합하며 다양한 도구 사용 전략을 탐색한다. critic 제거는 32K–128K 토큰을 소비하는 궤적에서 특히 유용하다.출처: §12.8.1 · p. 254, Why GRPO Dominates Agentic Training · p. 255, §12.8.2 · p. 255
12.8.2 상호작용 에이전트를 위한 PPO; 12.8.4 대안적 패러다임
- PPO의 critic은 2× 메모리를 요구하지만, 치명적인 도구 오류로 보상 분산이 급증할 때 더 많은 메모리를 사용하는 대신 더 조밀한 학습 신호와 높은 안정성을 제공한다.STaR [418]는 궤적 생성, 실패 필터링, 성공 사례 SFT를 반복해 지속적 RL의 불안정성을 피한다. RWML [414]는 의미적 결과 예측에 보상해 보상 해킹에 대응하며, LATS [438]는 몬테카를로 행동 트리 탐색, 시뮬레이션 결과, 가치 추정을 결합한다.출처: §12.8.2 · p. 255, §12.8.4 · p. 256
12.8.3 세밀한 턴 수준 기여도 할당
- 중간 보상은 희소 보상만 사용할 때보다 학습이 3–5× 빠르다고 보고되며, 궤적 분할은 올바른 행동을 저하시키지 않고 실패 단계에 집중한다.RLVR은 결정론적 중간 점검 지점에 보상을 부여한다. 궤적 분할은 처음 어긋난 지점을 찾아 해당 단계에 페널티를 부과하고, 그 앞의 올바른 단계에는 중립적이거나 양의 보상을 부여한다.출처: Reinforcement Learning from Verifiable… · p. 255, Multi-Turn Trajectory Slicing · p. 255
12.9.1 NeMo Gym (NVIDIA)
- Nemotron 3 Super는 NeMo Gym 을 사용해 수학, 코드, 도구 사용, 다중 턴 대화를 아우르는 21개 환경 구성에서 1.2M회 롤아웃으로 학습되었다.상호작용 환경은 정적 데이터의 제약을 행동, 피드백, 정책 갱신으로 대체한다. NeMo Gym은 에이전트와 환경을 분리해 독립적인 확장을 지원한다. 다중 턴 도구 호출 실행은 검증된 보상을 제공하며, 환경 다양성은 보상 구조에 대한 과적합을 억제한다.출처: §12.9.1 · pp. 256–257, §12.9 · p. 256
RLFactory: Qwen3-4B가 더 큰 모델을 능가
- RLFactory 학습은 동기식 도구 호출 기준선 대비 처리량을 6.8× 높이고, Qwen3-4B가 Natural Questions에서 훨씬 큰 모델을 능가하게 한다.비동기 실행이 처리량 향상을 이끌며, 정확성·형식·도구 효율성 보상은 단일 신호에 대한 보상 해킹을 억제한다. 상호작용 학습은 정적 시연에 없는 도구 사용 전략을 발견하게 한다.출처: RLFactory: Qwen3-4B Surpasses Larger… · p. 257, §12.9.2 · p. 257
12.9.3 MOSAIC: 에이전트 학습의 안전성
- MOSAIC 는 지연 시간 증가를 최소화하면서 무해한 과제의 성공률을 유지하고, 유해 행동을 최대 50% 줄이는 것으로 보고된다.검증기는 실행하거나 이유를 설명하며 거부하기 전에 후보 계획이 안전 제약을 충족하는지 확인한다. 궤적 수준 선호 학습은 행동 조합에서 발생하는 위해를 포착해 단계 수준 안전 분류기를 능가한다.출처: §12.9.3 · p. 257, MOSAIC Results · p. 258
13.1.2 사고 사슬: 창발적 행동과 학습된 능력; 13.1.3 테스트 시점 연산 확장 법칙
- RL로 학습한 사고 사슬은 프롬프트에 의존하지 않고 탐색, 검증, 백트래킹을 지원하며, 최종 답변 정확도 최적화에서 자발적인 자기 교정이 나타난다.단일 응답에 스칼라 보상을 주는 RLHF는 다단계 추론에 불충분하며, 긴 추론 사슬은 심각한 기여도 할당 문제를 낳는다. 테스트 시점 확장은 더 많은 추론 연산을 배정해 작은 모델이 큰 모델에 필적하게 한다.출처: §13.1.1 · p. 260, §13.1.2 · p. 261, The “Aha Moment” Phenomenon… · p. 261
13.2.2 Self-Consistency(다수결)
- PaLM-540B [55]에서 Self-Consistency (N=40)의 GSM8K 정확도는 74.4%로, CoT의 56.5%와 대비된다.Self-Consistency [367]는 독립적인 병렬 추론 사슬에 다수결을 적용하며, 암묵적인 결과 보상 모델을 갖춘 Best-of-N처럼 작동한다. N ≈40 이후에는 개선 폭이 줄어든다. 개별 샘플이 대체로 틀리더라도 정답에 표가 집중되면 투표로 이를 찾아낼 수 있다.출처: §13.2.2 · pp. 262–263, Why Majority Voting Works · p. 263
13.2.1 사고 사슬(CoT); 13.2.3 Tree-of-Thoughts (ToT)
- Tree-of-Thoughts [409]는 취약한 단일 사슬 CoT [374]를 중간 평가와 백트래킹을 갖춘 분기 탐색으로 확장한다.CoT는 문제를 중간 단계로 분해한다. 제로샷 프롬프트 [189]는 추론을 유도하고, 퓨샷 예시 [374]는 명시적인 추론 기록을 제공한다. ToT는 가치 함수로 부분 해가 얼마나 유망한지 추정한다.출처: §13.2.1 · p. 262, §13.2.3 · p. 263
13.2.3 Tree-of-Thoughts (ToT)
- 사고 생성기는 현재 상태 s를 조건으로 πθ에서 샘플링한 다음 사고 후보 b개를 생성한다.출처: §13.2.3 · p. 263
- 상태 평가기는 확실함, 가능성 있음, 불가능의 범주형 판단이나 [0, 1] 범위의 수치로 부분 해를 평가한다.출처: §13.2.3 · p. 263
- 탐색 구성요소는 너비 우선 탐색(BFS)이나 깊이 우선 탐색(DFS)을 사용한다.출처: §13.2.3 · p. 263
1. 현재 깊이의 각 노드에서 후보 사고 b개 생성 … LLM 평가
이 절에서는 구조화된 탐색, 강화학습, 자기 증류, 적응적 연산 예산 등 학습 및 테스트 시점의 추론 접근법을 살펴본다. 또한 LLM과 에이전트 평가 방법을 개괄하며, 과제에 맞는 지표, 인간 평가에 맞춰 보정한 판단, 불확실성, 편향·데이터 오염·지표 편법 공략·배포 환경 불일치의 위험을 강조한다.
ToT: 가치 평가 프롬프트
- 동일한 GPT-4 기반 모델에서 Game of 24 성공률이 CoT의 4% 대비 74%에 달해, ToT의 구조화된 탐색이 주는 이점을 보여준다.ToT는 후보 사고를 생성·평가하고, 가능성이 낮은 분기를 가지치기하며 유망한 분기를 확장한다. b = 3, k = 2, d = 3일 때 LLM 호출이 36회 필요하며, 표준 CoT는 1회다.출처: ToT: Value Evaluation Prompt · pp. 264–265, Figure 13.3 · p. 264
13.2.4 Graph-of-Thoughts (GoT)
- Graph-of-Thoughts [25]는 DAG 구조로 분기 간 부분 해답을 병합해, 동일한 정렬 품질에서 ToT 대비 비용을 62% 절감한다.GoT는 집합 교집합과 키워드 개수 세기에서도 LLM 호출을 30–40% 줄이면서 ToT와 같은 품질을 달성한다. 집계는 여러 부모를 하나의 자식에 연결해 자연스러운 하위 문제로의 분해를 지원한다.출처: §13.2.4 · pp. 265–266, §13.2.9 · p. 269
13.2.5 보상 모델을 활용한 Best-of-N / BoN 스케일링 법칙
- Best-of-N [262] [339]은 학습된 보상으로 후보를 선택하지만, 불완전한 보상 모델 때문에 추가 샘플링의 이점은 결국 한계에 이른다.ORM 기반 선택은 완성된 해답에 점수를 매기며, PRM 기반 선택은 추론 단계별 점수의 최솟값을 최대화한다. N ≈64–256을 넘으면 보상 오차로 성능이 정체되거나 하락할 수 있다. 이 가이드는 기본 비용의 5–50× 예산에서 PRM 기반 BoN이나 ToT-BFS를 권장한다.출처: §13.2.5 · p. 266, BoN Scaling Law · p. 266, §13.2.9 · p. 268
13.2.6 추론을 위한 몬테카를로 트리 탐색(MCTS) / 13.2.7 추론 단계에 대한 빔 탐색
- MCTS는 LLM 사전확률에 따른 탐색과 덜 탐색된 대안 간 균형을 맞추며, 추론 수준의 빔 탐색은 유창성과 정확성 점수로 상위 k개 접두 경로를 유지한다.MCTS는 선택, 확장, 시뮬레이션, 역전파를 반복한다. 예시에서는 20회 반복으로 8개 경로를 탐색하고 가장 많이 방문한 증명을 선택한다. 이 가이드는 50–500× 예산에서 학습된 가치 함수를 쓰는 MCTS를 권장한다. 빔 탐색은 프롬프트로 평가하는 대신 학습된 가치 함수를 쓰는 ToT-BFS다.출처: §13.2.6 · p. 266, §13.2.7 · p. 267, Figure 13.5 · p. 267
13.2.8 반복 개선과 자기 교정 / 13.2.9 방법 비교 및 선택 가이드
- 반복 개선은 자기 점검, 실행 가능한 검증, 비평 모델로 하나의 해답을 거듭 개선하며, 방법 선택에는 예산과 병렬성도 영향을 준다.이 가이드는 기본 비용의 5× 미만 예산에서 CoT나 Self-Consistency를 권장한다. Self-Consistency와 Best-of-N은 완전 병렬화가 가능하지만, ToT와 MCTS는 깊이 방향의 순차적 확장이 필요하다.출처: §13.2.8 · p. 268, §13.2.9 · p. 268
추론 모델의 암묵적 테스트 시점 스케일링 / 13.3.1 2단계 학습 파이프라인
- DeepSeek-R1 [72]과 OpenAI o1/o3 는 RL로 탐색을 내재화한다. R1은 GRPO 학습에 앞서 콜드 스타트 지도학습을 수행한다.긴 추론 생성 과정에서 외부 탐색 제어 없이 대안을 탐색하고, 되돌아가며, 중간 단계를 검증한다. R1의 콜드 스타트는 대략 수천 개의 긴 CoT 예시로 <think>...</think> 형식을 초기화하고 학습을 안정화하면서 추론 방식에 과도한 제약을 가하지 않는다.출처: The Implicit Test-Time Scaling in… · p. 269, §13.3.1 · p. 269
13.3 DeepSeek-R1 / R1 학습 파이프라인 요약 / 13.3.3 R1의 GRPO 정식화
- DeepSeek-R1 [72]은 주요 벤치마크에서 OpenAI o1과 같거나 더 높은 성능을 보이며, GRPO [323]로 별도 가치 신경망 없이 그룹 상대 어드밴티지를 추정한다.이 파이프라인은 거부 샘플링으로 얻은 정답 해답을 보존하고, RL이 생성한 고품질 추론 사슬로 미세조정한 뒤, 정렬과 유용성을 위한 최종 RL을 수행한다. GRPO는 정책 확률비를 클리핑하고 참조 정책에 대한 KL 페널티를 추가한다.출처: §13.3 · p. 269, §13.3.3 · pp. 270–271, R1 Training Pipeline Summary · p. 270
13.3.2 보상 설계: 정확도 보상과 형식 보상 / 결합 보상
- R1은 과정 보상 모델 대신 자동 계산 가능한 정확도 보상과 형식 보상을 사용하며, 결과 보상만으로도 고품질 추론 전략을 발견할 수 있다.정확도 검증에는 수학의 경우 기호 비교를, 코드의 경우 테스트 케이스를 사용한다. 형식 보상은 λfmt = 0.1로 올바른 think 및 answer 태그를 강제한다. 저자들은 검증 가능한 결과가 단계별 보상 해킹을 피하면서도 충분한 신호를 제공한다고 가정한다.출처: §13.3.2 · p. 270, Combined Reward · p. 270
GRPO 실무: 그룹 크기와 안정성
- G = 8은 GRPO 어드밴티지 추정의 분산과 연산량 사이에서 균형을 이루며, 그룹 상대 학습은 자연스럽게 모델 역량의 경계에 있는 문제에 집중한다.G = 2는 잡음이 많고 분산이 큰 추정치를 만든다. G = 32는 연산량이 선형으로 증가하지만 추가 이득은 줄어든다. 응답이 모두 정답이거나 모두 오답인 그룹은 기울기에 기여하지 않는다.출처: GRPO in Practice: Group Size and… · p. 271
13.3.4 증류: R1-Distill 계열
- DeepSeek-R1-Distill-Qwen-7B는 GRPO로 직접 학습한 7B 모델보다 MATH 점수가 높아, 소형 모델에서는 처음부터 RL로 학습하는 것보다 증류가 유리함을 보여준다.R1이 생성한 추론 사슬로 지도 미세조정해 1.5B–70B 매개변수 규모의 증류 모델을 만든다. 소형 모델의 병목은 표현 능력보다 탐색으로 지목된다. 새로운 문제 유형에 대한 일부 일반화는 단순 암기보다 추론 전략의 내재화를 시사한다.출처: §3 · p. 272, §13.3.4 · p. 272
13.4.1 숨겨진 추론 토큰을 활용한 Chain-of-Thought RL
- o1은 숨겨진 추론과 최종 답변에 RL을 적용하되, 답변만 공개하고 그 품질에 보상을 부여한다.숨겨진 추론은 형식 제약을 없애고, 추론을 그럴듯하게 보여야 한다는 압박을 없애며, 추론 과정의 직접 모방을 방지한다. OpenAI가 결과 보상과 함께 과정 보상 [215]을 사용한다는 설명은 추정이며, 공개된 o1/o3 학습 방식이 아니다.출처: §13.4.1 · p. 272, §13.4.2 · p. 272
PRM 대 ORM: 신용 할당의 절충 관계
- 과정 보상은 신용 할당을 개선하지만 단계별 레이블이 필요하고 보상 해킹과 분포 변화의 위험이 있다. 이점은 학습보다 탐색에서 더 명확하다.촘촘한 과정 보상과 달리 결과 보상은 명확한 신호를 제공하지만, 초기 추론 오류와 완전히 무작위인 응답에 똑같이 0의 보상을 부여할 수 있다.출처: PRM vs. ORM: The Credit Assignment… · p. 273
13.4.3 추론 시점 연산량 스케일링
- 전체 사고 예산을 사용한 o1의 AIME 2024 정확도는 ∼83%로, 확장된 사고 없이 평가한 GPT-4o의 ∼13%와 대비된다.사고 토큰을 늘리면 어려운 과제의 성능이 향상된다. 학습 연산량과 테스트 시점 연산량은 대체로 서로 대체할 수 있어, 소형 모델도 지연시간을 늘리면 대형 모델과 같은 성능을 낼 수 있다. o3는 o1보다 큰 사고 예산을 사용하며 높은 연산량에서 ARC-AGI 87.5%를 달성한다. o4-mini는 확장된 사고로 AIME 2025에서 93%를 달성한다.출처: §13.4.3 · p. 273, §13.4.4 · p. 273, §13.4.5 · p. 274
13.5.2 거부 샘플링 + RL 결합
- Qwen은 거부 샘플링과 RL을 반복 결합해 정답 해답으로 정책의 기준을 잡고, 탐색을 통해 순수 RL보다 안정성을, 순수 SFT보다 역량을 높인다.파이프라인은 수학·코드·과학·논리 전반의 SFT에 이어, 생성된 해답 중 정답을 보존하는 거부 샘플링을 수행한다. QwQ-32B와 Qwen3는 추론 사슬 안에서 도구를 호출하고 최종 답변 보상으로 전략적 도구 사용을 학습한다.출처: §13.5.2 · p. 274, §13.5.1 · p. 274, §13.5.3 · p. 275
13.6.2 과정 보상 모델
- Math-Shepherd [365]는 정답에 도달하는 후속 전개로 단계별 레이블을 부여하며, PRM으로 순위를 매기는 best-of-N 선택은 추론 경로의 품질을 구별해 다수결보다 높은 성능을 낸다.Math-Shepherd는 정답으로 이어지는 후속 전개가 있으면 해당 단계를 올바른 것으로 간주해 인간의 단계별 주석을 대체한다. AlphaProof 에서는 MCTS가 추론 단계를 탐색한다. 부분 해답의 가치는 정답 확률을 추정하며, MCTS로 학습 데이터를 생성할 수도 있다.출처: §13.6.1 · p. 275, State and Action Space · pp. 275–276, §13.6.2 · p. 276
13.6.4 추론을 위한 자기 대전
- STaR [418]는 모델이 처음부터 문제를 풀지 못하더라도, 정답을 조건으로 생성한 설명을 학습 데이터로 사용해 추론 능력을 점진적으로 키운다.자기 대전 RL은 어렵지만 풀 수 있는 문제를 만드는 생성기에 보상을 준다. 다수결 [367]은 샘플링한 답 중 가장 흔한 답을 반환하며, 선택적으로 ORM의 신뢰도로 가중할 수 있다. 반면 RLVR [198]은 자동 검증 가능한 정답 여부를 보상 신호로 사용한다.출처: §13.6.3 · pp. 276–277, §4 · p. 277, §13.6.4 · p. 277
RLVR 목적함수
- RLVR은 결정론적 검증으로 학습된 보상 모델의 오차를 제거하지만, 모델은 실제로 올바른 해답을 만드는 대신 불완전한 검증기를 악용할 수 있다.코드 모델은 예상 출력을 하드코딩하거나 허술한 테스트만 통과하고 경계 사례에서는 실패할 수 있다. 완화책으로는 다양한 테스트 모음, 적대적 사례, O(n log n) 실행시간 확인처럼 하드코딩에 불이익을 주는 실행 기반 검사가 있다.출처: RLVR Objective · p. 277, RLVR for Code: Reward Hacking Challenges · p. 278
13.6.6 Journey Learning
- Journey Learning [298]은 성공한 최종 해답만이 아니라 실패한 시도와 교정을 포함한 전체 추론 궤적으로 학습한다.최종 성공으로 이어지는 단계와 오류 후 교정 단계에는 1보다 큰 궤적 가중치를 부여한다. 실패한 분기의 단계에도 1보다 작은 양의 가중치를 유지한다.출처: §13.6.6 · p. 278
13.6.7 Quiet-STaR: 모든 토큰에서 추론하기
- Quiet-STaR [419]는 모든 토큰 위치에서 8토큰 길이의 사고를 생성할 때 9×의 추론 연산량이 필요해, 공학적 최적화 없이는 긴 시퀀스에 실용적으로 적용하기 어렵다.Quiet-STaR는 시퀀스 전반에 걸쳐 숨겨진 사고를 생성하며, 사고를 조건으로 한 다음 토큰 예측과 사고 없는 예측을 혼합한다. 이산적 사고는 REINFORCE로 학습한다. 제안된 비용 절감책에는 사고 생성의 추측 디코딩과 캐싱이 있다.출처: §13.6.7 · p. 278, Computational Cost of Quiet-STaR · p. 279
13.7.1 학습 연산량과 테스트 시점 연산량의 절충 관계
- 연산량 배분은 배포 조건에 따라 달라지며, 적절한 추론 길이는 문제 난도와 모델 역량에 따라 달라진다.C_total = C_train + N · C_test에서 곱셈형 정확도 모델의 최적 학습 비중은 N과 무관하다. 다만 실제 대규모 요청 처리 환경에서는 학습에, 요청이 적고 오류의 영향이 큰 질의에서는 추론 연산에 투자하는 편이 유리하다. 어려운 문제일수록 긴 사슬이 필요하며, 같은 난도에서는 큰 모델일수록 짧은 사슬이 필요하다. 매우 어려운 문제에서는 토큰의 약 95%를 사고에 배분할 수 있어, 불확실성 기반 적응적 예산이 필요해진다.출처: §13.7.1 · p. 279, Reasoning Chain Length vs. Model… · p. 279, §13.7.3 · p. 280
핵심 발견: 스케일링 축으로서의 테스트 시점 연산
- 추론 시점 탐색을 사용하는 o3의 ARC-AGI 성능은 45.1%로 보고되며, 테스트 시점 연산이 추론 능력의 스케일링 축임을 보여준다.Snell et al. (2024) [335]은 어려운 과제에서 테스트 시점 연산 확대가 매개변수 규모 확대보다 효과적일 수 있다고 보고한다. 정확도는 과제별 한계효용 감소 지점까지 추론 토큰 수에 대해 로그 선형으로 향상된다. 드물게 들어오는 어려운 질의에서는 소형 모델이 추가 추론 연산으로 대형 모델과 같은 성능을 더 낮은 서빙 비용에 달성할 수 있다. 별도로, 더 짧은 추론 사슬을 강제하면 일부 과제에서 정확도가 34.5% 향상된다.출처: The Core Finding: Test-Time Compute as… · pp. 280–281, §13.9.2 · p. 281
13.9.4 잠재 추론: 사슬이 곧 연산인가?
- 추론 모델은 언제 멈출지 학습해야 하며, 눈에 보이는 추론 사슬은 추론 자체를 충실히 드러내기보다 잠재 연산의 흐름을 유도할 수 있다.지나치게 긴 사슬은 맞는 답을 재차 의심하다 오류를 만들 수 있다. RL 관점에서는 모델이 무엇을 생각할지와 얼마나 오래 생각할지를 함께 학습한다고 본다. 잠재 추론 해석은 추론 기록만으로 추론을 평가하는 데 주의를 요구하며, 향후 구조가 잠재 공간에서만 추론한 뒤 결론을 출력할 가능성을 제시한다.출처: Overthinking: When More Tokens Hurt · p. 281, Inference-Time Compute in the MDP… · p. 282, §13.9.4 · p. 282
On-Policy 자기 증류: 핵심 아이디어
- OPSD [430]는 동일한 모델을 특권 맥락을 받는 교사와 on-policy 학생으로 사용해, 별도의 대형 교사 없이 촘촘한 지도 신호를 제공한다.학습은 학생 궤적에서 토큰별 분포 발산을 최소화한다. 역방향 KL은 최종 답변의 단순 암기를 넘어 소규모 프롬프트 집합에 대한 반복 학습을 지원한다. 다만 검증된 정답을 조건으로 주면 지도 신호가 추론보다 간결함을 강조하는 방향으로 바뀌어, 정확도 향상 없이 학생 응답만 짧아질 수 있다.출처: §13.10 · p. 282, On-Policy Self-Distillation: Core Idea · p. 282, §13.10.2 · p. 283
13.10.2 촘촘한 지도 신호가 중요한 이유
- Qwen3 기술 보고서에서 on-policy 증류는 AIME’24 74.4%로 RL의 67.6%를 앞서며, GPU시간은 1,800 대 17,920을 사용한다.다른 비교 결과에서도 OPSD는 GRPO보다 7–10× 적은 기울기 갱신 단계로 동등한 추론 성능을 달성하며, 맥락 길이와 배치 크기를 고려하면 연산량을 50–100× 절감한다. 토큰 수준 증류는 에피소드당 O(T) 비트를 제공하지만, 스칼라 보상을 쓰는 RL은 O(1)을 제공한다.출처: §13.10.2 · p. 283
13.10.4 RL 및 학습 파이프라인과의 연결
- SFT–OPSD–RL 파이프라인은 저비용 on-policy 토큰 수준 증류로 추론을 다듬은 뒤, 강화학습으로 교사의 역량을 넘어서는 문제를 다룬다.RLCSD [282]는 정답 힌트의 교사–학생 격차에서 오답 힌트의 격차를 빼 힌트가 유발한 문체 효과를 제거한다. EGRSD [181]은 불확실한 교사 예측의 가중치를 낮춘다. 미해결 과제에는 비싼 RL 없이 OPSD의 교사 성능 한계를 넘는 방법과 연속 잠재 공간에서만 수행된 추론을 검증하는 방법이 있다.출처: §13.10.4 · p. 283, Figure 13.6 · p. 283, Privilege-Induced Style Drift · p. 283
13.11 요약 및 미해결 과제
- On-policy 자기 증류는 에피소드 수준 보상 대신 토큰 수준 피드백으로, 10–100× 적은 연산량으로 RL 수준의 추론 능력을 달성한다.결과만 확인하는 검증 가능 보상으로도 정교한 수학·코드 추론이 가능하며, RL에서는 자기 교정과 검증이 창발한다. 어려운 추론 과제에서 추론 연산량과 학습 연산량은 대체로 서로 대체할 수 있다. 생성된 추론 사슬의 증류는 소형 모델에 역량을 이전하며, 소형 모델을 직접 RL로 학습할 때보다 성능이 좋은 경우가 많다.출처: §13.11 · p. 284
추론을 위한 RL의 미해결 과제
- 추론의 미해결 과제는 영역 간 일반화, 충실한 추론 사슬, 최적 추론 탐색, 검증기 없는 보상, 사고 예산 배분, 조합적 추론에 걸쳐 있다.생성된 사슬은 실제 원인이 되는 연산이 아니라 사후 합리화일 수 있다. 추론 시점 스케일링은 과제별 최적 예산을 넘으면 추가 이득이 줄고 결국 성능이 하락한다.출처: Open Problems in RL for Reasoning · p. 284
내재적 평가와 외재적 평가의 간극
- 저렴하고 재현 가능한 출력 점수가 실제 효용을 제대로 반영하지 못할 수 있으므로, 빠른 반복 개선에는 내재적 지표를, 최종 검증에는 외재적 지표를 사용한다.개방형 생성, 주관적 판단, 다단계 추론, 벤치마크 오염은 평가를 어렵게 한다. 정답이 있는 과제에는 완전 일치나 실행 평가, 참조 답변이 있는 개방형 과제에는 참조 기반 지표와 LLM 평가자, 주관적 과제에는 인간 또는 보정된 평가자, 에이전트에는 성공 여부와 궤적 효율성을 적용한다.출처: The Intrinsic–Extrinsic Gap · p. 287, LLM Evaluation · p. 287, Evaluation Strategy for a Dialogue… · p. 288
카파의 한계
- 평가 레이블에는 우연을 보정한 일치도와 인간 평가에 맞춰 보정한 평가자가 필요하다. 범주별 빈도가 일반 카파를 왜곡할 수 있으므로 순서형 평점에는 가중 카파가 필요하다.Cohen’s κ 는 주석자 2명, Fleiss’ κ 는 여러 주석자를 다룬다. Expected Calibration Error (ECE) 는 구간별 인간 평가 일치도와 평가자의 신뢰도를 비교한다. 별도로 떼어 둔 보정 데이터로 조정한 온도 스케일링은 보정을 개선할 수 있다.출처: Kappa Limitations · p. 289, §14.2.2 · p. 289, §14.3.1 · p. 290
14.2.1 인간 주석 파이프라인
- 신뢰할 수 있는 주석에는 명확한 과제, 사전 시험을 거친 지침, 훈련된 주석자, 정답이 알려진 문항을 섞은 점검, 결과 집계가 필요하며, 안전이 중요한 평가에는 전문가가 필요하다.지침에는 경계 사례의 처리 예시를 포함한다. 평가 기준 조율 세션에서는 공통 예시를 비교하며, 집계에는 다수결·평균·확률 모델을 사용한다. 대규모 선호 수집에는 엄격한 품질 관리를 전제로 크라우드소싱을 활용할 수 있다.출처: §14.2.1 · pp. 288–289, §14.2.4 · p. 290
14.3 평가용 합성 데이터 생성
- 합성 평가 데이터는 Self-Instruct [371]의 과제 부트스트래핑과 지시 복잡성·주제 다양성을 높이는 Evol-Instruct [398]의 재작성으로 확장한다.Self-Instruct는 ROUGE-L 유사도 > 0.7을 기준으로 유사 중복을 걸러내고 입력–출력 사례를 생성한다. Evol-Instruct는 제약, 추론 단계, 구체화, 분야별 요구사항으로 지시를 심화하며, 폭 방향 진화로는 연관되지만 다른 주제를 생성한다.출처: §14.3 · p. 290, §14.3.2 · p. 291, §14.3.3 · p. 291
14.3.4 Constitutional AI 데이터 생성
- Constitutional AI [16]는 원칙에 따른 자기 비평과 수정으로 선호 데이터를 생성해, 유해 콘텐츠에 대한 인간 레이블링을 피하고 주석자의 노출을 줄인다.수정된 응답은 지도 미세조정의 목표가 된다. 모델이 레이블을 부여한 응답 비교로 선호 모델을 학습하며, 이 모델이 RLHF 보상 신호를 제공한다.출처: §14.3.4 · p. 291
14.4 순위 과제의 평가 지표
- 전체 대결 기록이 있으면, 경기를 순차 처리하지 않고 모든 결과를 동시에 적합하는 Bradley–Terry 가 ELO보다 선호된다.순서에 따라 달라지는 ELO 평점에는 1,000회의 부트스트랩 재표집으로 95% 신뢰구간을 구한다. TrueSkill의 불확실성은 추가 평가가 필요한 모델을 식별한다. 승률은 승수를 비교 횟수로 나눈 값이다. Wilson 구간 [380]은 0과 1 부근에서 포함 확률을 개선하며, 여러 모델을 비교할 때는 고정된 기준 모델이 필요하다.출처: §14.4.2 · p. 293, §14.4.1 · p. 293, §14.4.3 · p. 293
14.3.6 아레나 방식 쌍대 생성 / 14.4.5 Chatbot Arena 방법론
- 2024년 기준 Chatbot Arena [433]에는 백만 건이 넘는 인간 선호도 투표가 수집되어, 공개된 LLM 선호도 데이터셋 중 최대 규모를 이루었다.사용자는 사용자가 제출한 다양한 프롬프트에 대한 익명화된 응답을 비교하며, 특정 프롬프트가 과도하게 반영되지 않도록 유사 중복 프롬프트를 걸러낸다. Bradley–Terry 집계로 부트스트랩 신뢰구간을 포함한 순위표를 산출하며, 신뢰구간이 겹치는 모델은 통계적으로 구별할 수 없는 것으로 간주한다.출처: §14.3.6 · p. 292, §14.4.5 · p. 294
14.5 생성 과제의 평가 지표
- BLEU 는 n-gram 정밀도를 측정하고, ROUGE 는 요약 재현율을 강조하며, METEOR 는 어간 추출·동의어 매칭과 함께 unigram 정밀도와 재현율을 결합한다.BLEU는 의미적 유사성을 놓치고 올바른 바꿔쓰기에 불이익을 주며 토큰화에 영향을 받는다. 따라서 다양성이 낮고 다양한 참조 답변이 여러 개 있는 과제로 사용을 제한해야 한다. ROUGE-1과 ROUGE-2는 각각 unigram과 bigram 재현율을 측정하며, ROUGE-L은 최장 공통 부분 수열을 사용하고 F-measure로 정밀도와 재현율의 균형을 맞춘다.출처: §14.5.1 · pp. 294–295, §14.5.2 · p. 295, §14.5.4 · p. 295
- BERTScore [426]는 문맥적 토큰 임베딩을 사용해, 특히 바꿔쓰기에서 BLEU와 ROUGE보다 인간 판단과 상관관계가 높으며 IDF 가중으로 이를 더 높인다.Perplexity는 토큰화와 테스트 집합이 비교 가능할 때만 예측 성능 점검과 분포 변화 탐지에 쓸 수 있다. pass@k [47]는 코드 샘플 k개 중 하나 이상이 모든 테스트를 통과할 가능성을 추정한다. 정규화된 Exact Match는 답변 문자열의 일치를 확인하며, 다중 정답 F1은 정답 후보별 점수 중 최댓값을 보고한다.출처: §14.5.3 · p. 295, §14.5.5 · p. 296, §14.5.6 · p. 296
14.6 에이전트 과제의 평가 지표
- 에이전트 평가는 표준 생성 지표에 의존하기보다 과제 완수, 궤적 효율성, 도구 사용의 정확성, 중간 추론의 품질을 포착해야 한다.과제 성공률은 목표 달성 여부를 측정한다. 궤적 효율성은 가장 짧은 성공 궤적의 길이를 실제 행동 수로 나누며 실패에는 0을 부여한다. 올바른 도구 사용에는 적절한 선택, 유효한 인자, 알맞은 시점이 필요하다. 추론 정확도는 올바른 단계의 비율을 측정하며 과정 보상 모델이나 인간 주석으로 검증한다.출처: §14.6 · p. 297, §14.6.1 · p. 297, §14.6.2 · p. 297
14.6.5 SWE-bench 방법론 / SWE-bench 주요 통계(2024년 기준)
- SWE-bench Verified에서 최고 성능의 오픈소스 에이전트는 해결률 ∼43%를 기록했으며, 인간은 과제당 15분 조건에서 해결률 ∼87%로 보고된다.SWE-bench [169]는 모든 테스트를 통과한 비율인 % Resolved로 이슈 해결용 저장소 패치를 평가한다. 전체 벤치마크에는 Python 저장소 12개의 과제 2,294개가 있다. Verified는 인간이 검증한 문제 500개, Lite는 300개로 구성되며, 2024년 보고 기준 API 기반 평가 비용은 과제당 ∼$0.25다.출처: SWE-bench Key Statistics (as of 2024) · p. 298, §14.6.5 · p. 298
14.6.6 WebArena 방법론
- WebArena [440]에서 최첨단 에이전트의 과제 성공률은 약 35–45%로, 인간의 약 78%와 대비된다.이 벤치마크는 샌드박스 브라우저 환경의 웹 애플리케이션 5개에 걸친 과제 812개로 구성된다. 평가기는 애플리케이션 상태를 확인하고 최종 URL을 비교하며, 복잡한 조건에는 맞춤 스크립트를 실행한다.출처: §14.6.6 · p. 298
14.7 LLM-as-Judge / 14.7.1 설정 및 프롬프트 템플릿 / 14.3.5 평가 데이터용 증류
- LLM-as-judge [433]는 평가 기준표에 따른 평가를 대규모로 수행하지만, 증류된 학생 평가자는 교사의 편향을 물려받으므로 독립적인 인간 검증이 필요하다.평가자에게는 프롬프트, 모델 응답, 평가 기준표를 제공한다. 증류는 다양한 예시를 수집하고 교사의 점수와 근거를 생성한 뒤, 프롬프트–응답–판정의 세 항목 묶음으로 소형 모델을 미세조정한다. 물려받는 편향에는 장황한 응답 선호, 교사 자체를 평가할 때의 자기 우대, 응답 위치 편향이 있다.출처: §14.3.5 · p. 292, §14.7 · p. 298, §14.7.1 · p. 299
14.7.1 설정 및 프롬프트 템플릿
- LLM 평가자는 개별 응답의 절대 점수화, 응답 간 쌍대 비교, 제공된 답변을 기준으로 하는 참조 기반 점수화를 지원한다.참조 기반 점수화는 특히 사실을 다루는 과제에 유용하다.출처: §14.7.1 · p. 299
14.7.2 위치 편향 완화 / 장황성 편향
- 10–15 퍼센트포인트의 위치 편향이 LLM 평가자에게 영향을 줄 수 있으며, 장황성 편향은 추가 내용이 무관해도 더 긴 응답을 선호하게 한다.위치 편향을 완화하는 방법에는 응답 순서를 바꿔 두 번 평가하고 판정이 일관되지 않으면 무승부로 처리하기, 순서에 중립적인 지침 사용하기, 서로 다른 순서를 적용한 평가자 앙상블 구성하기, 판정 전에 근거를 제시하게 하기 등이 있다. 장황성 편향은 불필요한 길이에 불이익을 주거나 응답을 고정 길이로 잘라 완화한다.출처: §14.7.2 · p. 300, Verbosity Bias · p. 300
14.7.3 다중 평가자 패널 / 14.7.4 LLM 평가자의 일치도 지표
- 제시된 신뢰성 기준은 인간 평가와의 κ > 0.6 및 일치율 > 80%이며, 다양한 평가자 패널은 다수결로 판정을 집계한다.검증에는 별도로 떼어 둔 인간 주석을 사용하며, 순서형 점수의 상관관계에는 Spearman’s ρ를, 동률에 대한 강건성을 높이려면 Kendall’s τ를 사용한다. 평가자 3명의 만장일치, 2–1 분할, 세 판정으로 갈린 동률은 각각 높은·중간·낮은 신뢰도를 뜻한다.출처: §14.7.4 · p. 300, §14.7.3 · p. 300
14.7.5 G-Eval 프레임워크
- G-Eval [231]은 생성된 평가 기준표와 확률 가중 점수화를 결합해 직접 프롬프팅보다 인간 판단과의 상관관계를 높인다.Chain-of-thought 프롬프팅을 사용하고, 후보 점수를 해당 토큰 확률로 가중 평균한 뒤 최고 점수로 정규화한다. 점수 토큰 하나만 선택하는 방식과 달리 불확실성을 보존해, 특히 응집성과 일관성 판단에 도움이 된다.출처: §14.7.5 · p. 301, Why G-Eval Works · p. 301
14.8.1 벤치마크 오염
- 벤치마크 오염은 바꿔쓰기나 의미적으로 유사한 내용까지 포함한 평가 예시가 학습 데이터에 들어가 점수가 부풀려지는 현상이다.탐지 방법에는 학습 말뭉치와의 n-gram 중복 검사와 멤버십 추론이 있다. 완화책에는 학습 데이터 수집 마감 이후의 평가 데이터, 비공개 테스트 집합, 정기적으로 갱신하는 벤치마크가 있다.출처: §14.8.1 · p. 301
14.8.2 벤치마크 과적합 / 벤치마크 수명 주기
- 반복적인 벤치마크 평가와 조정은 적응적 과적합을 유발하며, 연구 공동체의 최적화는 벤치마크의 유용성을 점차 약화한다.MMLU 는 인간에 가까운 벤치마크 성능과 새로운 지식 과제에서의 실패가 공존할 수 있음을 보여주므로, 벤치마크를 일시적인 신호로 취급해야 한다. 추가 안전장치에는 적대적 탐침과 외재적 결과를 기준으로 한 내재적 지표의 정기 검증이 있다.출처: §14.8.2 · p. 302, The Benchmark Lifecycle · p. 302, Defences Against Goodhart’s Law · p. 302
14.8.3 평가에서의 굿하트 법칙 / 굿하트 법칙에 대한 방어
- 보상 해킹, 지표 편법 공략, 평가자 편법 공략은 사실적 정확성, 인간에게 주는 유용성, 응답 품질의 개선 없이 평가 점수만 높일 수 있다.모델은 보상 모델의 선호를 악용하거나, 인간에게 주는 효용을 희생하며 BLEU나 ROUGE를 최대화하거나, LLM 평가자의 장황성 편향을 학습할 수 있다. 방어책에는 서로 다른 계열의 지표, 학습과 선택에 공개하지 않는 평가 지표, 독립적인 인간 표본 점검이 있다.출처: §14.8.3 · p. 302, Defences Against Goodhart’s Law · p. 302
14.8.4 추가 함정 / 평가 설계의 핵심 질문
- 프롬프트 민감성, 오해를 부르는 과제 평균, 대표성 없는 인간 평가자, 평가–배포 환경 불일치는 세심하게 설계한 평가도 약화할 수 있다.정확한 프롬프트를 보고하고 변형도 고려해야 한다. 정제된 벤치마크 질의는 잡음이 많고 모호한 다중 턴 운영 대화에서의 실패를 가릴 수 있다. 설계 점검표에는 신뢰구간과 함께 고정 시드, 버전 관리된 프롬프트, 공개 테스트 집합을 통한 재현성도 포함된다.출처: §14.8.4 · p. 302, Key Questions for Evaluation Design · p. 303
에이전틱 AI … 4. 커뮤니티 요약: LLM이 각 커뮤니티의 요약 생성
이 절은 검색 증강 생성에 초점을 맞춰, 에이전틱 시스템이 관찰·추론·행동을 반복하면서 지속성, 근거 확보, 조정, 안전성을 어떻게 뒷받침하는지 살펴본다. 검색 방법, 문맥 선택, 그래프 기반 종합과 함께 반복 검색, 강화학습 기반 검색, 결과 융합, 디코딩 가속을 위한 에이전틱 접근법을 다룬다.
에이전틱 AI 소개
- 에이전틱 시스템은 관찰·추론·행동을 반복하며, 지속성, 근거 확보, 외부 인터페이스, 조정, 안전 가드레일이 필요하다.지속성은 턴과 세션에 걸쳐 유지되어야 한다. 근거 확보에는 최신 도메인 지식이 필요하고, 조정은 전문 에이전트 간 협업을 가능하게 한다. 안전성에는 인간의 감독과 불확실한 상황에서의 점진적 기능 축소가 필요하다.출처: Introduction to Agentic AI · p. 305
- 계층형 에이전트 아키텍처는 검색, 메모리, 오케스트레이션, 재시도·검증 최적화, MCP 도구 인터페이스, A2A 통신, 인간의 감독을 결합한다.하네스는 검색, 도구 호출, 위임, 인간의 지침 활용을 선택하며, 루프 엔지니어링은 수렴과 비용 제어를 목표로 한다. 문맥 관리, 오류 처리, 안전 가드레일, 관측 가능성은 스택 전반에서 설계·구현해야 한다.출처: Introduction to Agentic AI · pp. 305, 307
검색 증강 생성(RAG)
- RAG [208]는 동적으로 변하는 외부 지식에 근거해 생성함으로써 환각, 오래된 학습 지식, 비공개·전문 정보의 공백을 보완한다.생성은 검색된 근거를 주변화해 수행한다. 미세조정이 추론하고 응답하는 방법을 가르친다면, RAG는 추론할 내용을 제공한다. 지시 미세조정된 모델은 기본 모델보다 검색된 문맥을 효과적으로 활용한다.출처: Retrieval-Augmented Generation (RAG) · p. 308, Why LLMs Need External Knowledge · p. 308, §16.1.1 · p. 308
16.2 RAG의 핵심 아키텍처
- 오프라인 RAG 인덱싱은 문서를 불러와 청크로 나누고 임베딩하며, 온라인 검색은 문맥에 근거한 생성을 위해 상위 k개 청크를 반환한다.로더는 출처 메타데이터를 보존하며, 의미적으로 일관된 청크는 임베딩, 텍스트, 메타데이터와 함께 저장된다. 생성 시에는 제공된 문맥만 사용하고, 출처를 인용하며, 정보가 부족하면 명시적으로 인정하도록 지시한다.출처: §16.2 · p. 309, §16.2.2 · p. 309, §16.2.3 · p. 310
희소 검색이 여전히 우세한 경우
- BM25 는 해석 가능한 어휘 기반 검색을 제공하며, 정확한 식별자 검색, 저자원 도메인, 임베딩 학습에서 보지 못한 용어에 특히 유용하다.희소 검색은 GPU가 필요 없으며, 역색인을 통해 수십억 개 문서까지 확장할 수 있다.출처: §16.3.1 · p. 310, When Sparse Retrieval Still Wins · p. 310
16.3.2 밀집 검색: DPR
- DPR [180]은 별도의 BERT 기반 질의 인코더와 문단 인코더를 대조 학습하며, 높은 검색 성능을 위해서는 hard negative가 중요하다.FAISS 는 IVF 군집화, HNSW 그래프 인덱싱, 메모리 절감을 위한 곱 양자화를 이용해 근사 최근접 이웃 검색을 확장한다.출처: §16.3.2 · p. 311
16.3.3 Reciprocal Rank Fusion을 이용한 하이브리드 검색
- Reciprocal Rank Fusion(RRF) 은 직접 비교할 수 없는 점수 대신 희소 검색과 밀집 검색의 순위를 결합한다.평활화 상수 k = 60은 최상위 문서의 영향력을 줄인다. 두 목록에서 모두 1위인 문서의 점수는 약 0.0328이다.출처: §16.3.3 · p. 311
왜 SPLADE인가?
- SPLADE 는 빠른 희소 역색인 조회와 학습된 의미 확장을 결합해 동의어와 관련 개념을 처리한다.사전학습된 마스크 언어 모델이 각 질의나 문서에 대해 전체 어휘 차원의 희소 벡터를 생성한다. 이는 BM25의 어휘 불일치와 밀집 검색의 낮은 해석 가능성, 질의 시 GPU 필요성, 큰 인덱스 문제를 보완한다.출처: Why SPLADE? · p. 312
SPLADE와 SPLADEv2 비교
- MS MARCO [18]에서 MRR@10은 36.8 대 34.0, 문서당 비영 항 수는 ∼120 대 ∼200으로, SPLADEv2가 SPLADE v1보다 우수하다.SPLADEv2 [94]는 cross-encoder 지식 증류, 비대칭 질의/문서 희소성, FLOPS를 고려한 정규화를 도입한다. BERT-base를 DistilBERT로 대체하면 품질 저하를 최소화하면서 인코딩 시간을 절반으로 줄인다.출처: SPLADE vs. SPLADEv2 Comparison · p. 313, Why SPLADE? · p. 313
16.3.5 ColBERT: 후기 상호작용
- ColBERT [182]는 토큰 수준 임베딩과 MaxSim 점수화를 사용해 단일 벡터 이중 인코더보다 높은 표현력을 제공하며, 오프라인 문서 인코딩으로 교차 인코더보다 빠르게 점수를 계산한다.질의 토큰만 실시간으로 인코딩하며, 저장된 문서 임베딩에는 선택적으로 잔차 양자화를 적용한다. PLAID 인덱싱 은 중심점 기반 후보 검색 후 정확한 MaxSim 계산을 수행해 지연 시간을 5–10× 줄인다.출처: §16.3.5 · pp. 313–314
16.4 청킹 전략
- 청킹은 서로 겹치는 고정 크기 윈도, 임베딩으로 감지한 주제 경계, 문서 구조를 활용해 유용한 검색 단위를 보존할 수 있다.구조 인지형 분할은 문서의 자연스러운 경계를 따르고, Markdown 절의 문맥을 보존하며, 표를 행 단위로 나누지 않고 온전히 유지한다.출처: §16.4.1 · p. 315, §16.4.2 · p. 315, §16.4.3 · p. 315
16.4.4 부모-자식 청킹
- 부모-자식 청킹은 작은 자식 청크를 인덱싱하고 더 큰 부모 청크를 LLM에 반환해 정밀 검색과 생성 문맥을 분리한다.제시된 예제는 더 풍부한 문맥을 위해 512토큰의 부모 청크를 반환한다.출처: §1 · p. 315, §16.4.4 · p. 315
16.5.2 재순위화 / 16.5.6 Adaptive RAG
- 교차 인코더 재순위화는 질의-문서 쌍을 함께 평가해 지연 시간이 늘어나는 대신 정확도를 높이며, Adaptive RAG [162]는 예측한 질의 복잡도에 따라 검색 깊이를 선택한다.Cross-encoder는 초기 검색보다 20–100개 후보의 재순위화에 적합하다. 적응형 라우팅은 검색 생략, 단일 단계 검색, 복잡한 다중 홉 질문을 위한 반복 검색 중 하나를 선택한다.출처: §16.5.2 · p. 317, §16.5.6 · p. 318
16.5.3 문맥 압축 / 16.5.4 Self-RAG / 16.5.5 CRAG: 교정형 RAG
- 문맥 압축은 관련 문단을 추출하고, Self-RAG [13]는 검색과 자기비평을 학습하며, CRAG [401]는 검색된 문서를 평가해 교정 조치를 실행한다.Self-RAG는 응답과 함께 성찰 토큰을 학습해 검색, 생성, 자체 평가를 제어한다. CRAG는 모든 문서가 부정확하거나 모호하면 웹 검색으로 전환하고, 일부 문서가 정확하면 무관한 문장을 제거한다.출처: §16.5.3 · p. 317, §16.5.4 · p. 317, §16.5.5 · p. 317
16.5.7 Graph RAG
- Graph RAG [82]는 문서 전반의 종합을 지원하지만 구축·유지 비용이 높으며, 국소적 질의에는 표준 RAG가 더 적합하다.LLM이 추출한 개체와 관계로 그래프를 구성하고, 다중 해상도 Leiden 커뮤니티로 계층적 요약을 지원한다. 전역 질의는 커뮤니티 요약에 맵리듀스를 적용하고, 국소 질의는 벡터 검색을 사용한다.출처: When to Use Graph RAG · p. 318, §16.5.7 · p. 318, §1 · p. 318
16.5.1 질의 변환 / 16.5.8 RAG-Fusion
- 질의 변환은 가상의 답변, 더 포괄적인 질문, 다양한 재표현을 활용하며, RAG-Fusion 은 Reciprocal Rank Fusion으로 여러 질의의 검색 결과 순위를 결합한다.HyDE [106]는 질의 대신 생성된 가상의 답변을 임베딩한다. 한 단계 물러서기 프롬프팅은 구체적 질문과 일반화된 질문 각각에 대해 검색하며, 다중 질의 생성은 다양하게 재표현한 질의의 결과를 합집합으로 묶는다.출처: §16.5.1 · p. 316, §16.5.8 · p. 318
16.5.8 RAG-Fusion
- RAG-Fusion은 질의 변형을 생성하고, 원래 질의와 변형별 순위 목록을 검색한 뒤, Reciprocal Rank Fusion으로 병합하고 상위 다섯 문서를 사용해 답변한다.구현에서는 기본적으로 질의 변형 네 개를 생성한다.출처: §16.5.8 · pp. 318–319
16.6 효율적인 RAG 디코딩: REFRAG / 에이전틱 RAG에서 REFRAG가 중요한 이유
- REFRAG [220]는 문단 간 어텐션이 거의 0이라는 특성을 활용해 문단의 KV 표현을 압축하고, 토큰 관련 블록을 감지하며, 선택된 블록만 확장해 정확한 어텐션을 계산한다.경량 어텐션이 각 디코딩 단계에서 관련 압축 블록을 선택한다. 디코딩 비용 절감은 검색을 반복할수록 지연 시간이 누적되는 에이전틱 RAG의 반복 검색을 뒷받침한다.출처: §16.6 · p. 319, Why REFRAG Matters for Agentic RAG · p. 319
16.6 효율적인 RAG 디코딩: REFRAG
- REFRAG [220]는 LLaMA 기반 모델에서 퍼플렉서티 손실 없이 최대 30.85×의 TTFT 가속, 기존 희소 어텐션 기준선 대비 3.75×의 성능 향상, 16×의 유효 문맥 길이를 달성한다.문맥 길이 증가는 고정된 메모리 예산에서 달성되며, RAG, 다중 턴 대화, 긴 문서 요약 전반에서 개선 효과가 나타난다.출처: §16.6 · p. 319
16.7.1 동기: 정적 RAG의 한계
- 검색 후 생성하는 정적 RAG는 다중 홉 질문, 모호성, 이질적 출처, 반복적 개선에 취약하며, 에이전틱 RAG는 검색을 순차적 의사결정으로 모델링한다.상태는 질의와 검색된 문서로 구성되며, 행동에는 검색, 추론, 생성, 중단이 포함된다. 답변의 정확성을 보상으로 삼아 언제 무엇을 검색할지 학습한다.출처: §16.7.1 · pp. 319–320
16.7.3 다중 출처 라우팅
- 다중 출처 라우팅은 단일 인덱스에 의존하는 대신 규칙, 분류기, LLM의 판단으로 하위 질의를 전문 지식 출처에 연결한다.규칙은 빠르고 해석 가능하지만 변화에 취약하다. 분류기는 <10 ms의 지연 시간으로 동작하고 라우팅 로그로 학습할 수 있지만 레이블이 있는 데이터가 필요하다. LLM 라우팅은 새로운 질의 유형을 처리하고 결정을 설명하지만 LLM 호출 한 번만큼의 지연 시간이 추가된다.출처: §16.7.3 · pp. 320–321
학습된 정책으로서의 라우터 / 실무 고려사항.
- 라우터는 질의 이력을 상태로, 후속 답변의 품질을 보상으로 삼아 정책 경사로 출처 선택과 선택적 질의 재작성을 학습할 수 있다.실용적인 안전장치에는 대체 출처, Reciprocal Rank Fusion으로 융합하는 병렬 검색, 금전적 비용과 호출 한도 반영이 포함된다. 모든 라우팅 결정과 그 근거를 기록하면 디버깅과 재학습에 도움이 된다.출처: Router as a Learned Policy · p. 321, Practical Considerations · p. 321
16.7.2 에이전틱 RAG 아키텍처 / 16.7.4 완전한 에이전틱 RAG 구현 / 16.7.5 도구 증강 RAG
- 에이전틱 RAG는 조건부 루프를 통해 질의를 분해하고, 검색을 라우팅하며, 문맥의 충분성을 평가하고, 출처를 인용한 답변을 생성한다.문맥이 충분해지거나 반복 예산이 소진될 때까지 하위 질의를 다듬어 검색을 반복하며, 답변이 근거에 부합하는지도 자체 점검한다. 도구 증강 RAG는 검색과 계산을 결합한다.출처: Figure 16.2 · p. 320, §16.7.4 · p. 322, §16.7.5 · p. 323
16.7.6 Search-R1: 강화학습으로 훈련한 에이전틱 RAG
- Search-R1 [170]은 프롬프트로 설계한 오케스트레이션 대신 강화학습으로 검색 시점, 질의 선택, 검색 빈도를 학습한다.DeepSeek-R1 [72]을 확장해 추론 사이에 <search>query</search> 행동을 삽입하고 검색 결과를 다시 문맥에 넣는다. GRPO는 질문마다 실시간 검색 호출 0–5회를 포함하는 N개 궤적을 샘플링하고, 최종 답변의 정확성으로 전체 궤적을 평가한다.출처: §16.7.6 · p. 324
3. 최종 답변의 정답 여부 점수화(정답과의 정확 일치 또는 F1) … 에이전트 메모리 시스템
이 절에서는 추론 중 검색을 학습하는 방식과 유한한 컨텍스트의 한계를 극복하고 성찰, 개인화, 협업을 지원하는 에이전트 메모리 시스템을 살펴본다. 메모리 유형, 저장·관리 메커니즘, 검색과 메모리 연산을 위한 강화학습, 구현 패턴, 장기 성능을 위한 평가 및 운영 실무를 다룬다.
4. 그룹 상대 이점 계산: ˆAi = (Ri −µG)/σG
- 7B Search-R1은 표준 RAG 대비 15–20%, 프롬프트 기반 에이전트형 RAG 대비 8–12%의 정확도 향상을 보고했다.벤치마크에는 NQ, TriviaQA, HotpotQA 가 포함되며, Search-R1은 표준 RAG를 사용하는 70B 모델의 성능에도 근접한다.출처: Table 16.4 · p. 324, §4 · p. 325
Search-R1: 패러다임 전환
- Search-R1은 생성 전에 항상 검색하는 대신, 정보가 부족하면 추론 중 검색을 수행하고 효과적인 질의를 구성하며 검색을 정교화하고 결과를 통합하도록 학습한다.GRPO의 클리핑된 목적함수는 불필요한 검색을 피하고 검색된 컨텍스트로 추론을 뒷받침하거나 수정하는 등 효과적인 검색 궤적을 강화한다.출처: §4 · p. 324, Search-R1: The Paradigm Shift · p. 325
16.8 평가
- RAG 평가는 검색, 생성, 종단 간 품질을 구분하며, RAGAs [85]는 LLM 평가자를 활용해 참조 정답 없이 평가한다.검색 지표에는 Recall, Precision, MRR, NDCG가 있으며, 종단 간 지표에는 인간 선호도, 과제 성공률, 지연시간을 반영한 효용이 포함된다. 생성 평가는 컨텍스트 정밀도·재현율, 주장별 충실도, 답변에서 생성한 질문과 원래 질의 간 유사도로 측정한 답변 관련성을 다룬다.출처: §16.8 · p. 325, §16.8.3 · p. 326, §16.8.2 · p. 326
모니터링해야 할 RAG 실패 유형
- 검색 누락, 컨텍스트 오염, lost-in-the-middle [225], 과도한 검색, 검색 후에도 발생하는 환각, 조작된 인용을 모니터링해야 한다.검색 누락은 청킹, 임베딩 불일치, 어휘 격차에서 비롯될 수 있으며, 오해를 유발하는 문서와 중간 위치의 근거는 근거 기반 응답을 저해할 수 있다. 과도한 청크는 관련 정보를 희석하고 지연시간과 비용을 늘리며, 생성기는 컨텍스트를 무시하거나 주장을 뒷받침하지 않는 문서를 인용할 수 있다.출처: RAG Failure Modes to Monitor · p. 327
16.9.1 임베딩 모델 선택
- 일반 모델 대비 도메인 과제에서 5–15% 향상을 보이는 특화 임베딩이 유리하며, 선택 시 컨텍스트 길이, 차원 조정의 유연성, 양자화, 다국어 지원도 고려해야 한다.Voyage-4와 NV-Embed-v2는 32K 토큰 문서를 지원한다. Matryoshka 임베딩은 재인코딩 없이 256–4096차원 출력을 제공하며, Cohere와 Voyage의 양자화는 재현율 손실을 최소화하면서 인덱스 크기를 4–32× 줄인다. 임베딩 선택은 검색 품질의 상한을 결정하며, 비영어권 또는 교차 언어 시스템은 다국어 지원을 명시한 모델을 사용해야 한다.출처: §16.9.1 · pp. 327–328
16.9.3 지연시간 최적화; 16.11 RAG 접근법 종합 비교; RAG 모범 사례 요약
- 약 1%의 재현율 손실로 10× 검색 속도 향상을 얻는 사례는 지연시간의 절충 관계를 보여준다. 운영 환경에서는 적절한 청킹, 검색 우선 진단, 캐시를 활용한 병렬 검색이 권장된다.정확 검색을 HNSW나 IVF로 대체하며, 질의 임베딩 캐싱과 백엔드 동시 요청을 사용하면 검색 지연시간은 가장 느린 소스에 좌우된다. 100ms 미만의 지연시간 요구사항에서는 재순위화와 에이전트 루프를 사용할 수 없으며, 고위험 응용에서는 충실도 평가와 인용 검증이 필요하다.출처: §16.9.3 · p. 328, §5 · p. 328, RAG Best Practices Summary · p. 331
16.9.4 증분 인덱싱과 버전 관리
- 증분 인덱싱은 변경된 문서의 청크를 교체하고 버전을 추적해 전체 재인덱싱을 피하면서 롤백과 감사 가능성을 지원한다.임베딩 모델을 업그레이드할 때는 버전별 인덱스를 분리하고 백그라운드에서 마이그레이션하는 등의 호환성 관리가 필요하다. 청킹 방식이 바뀌면 기존 청크가 무효화되어 해당 문서를 재인덱싱해야 한다. 분산 벡터 저장소에서는 수초에서 수분의 인덱싱 지연 후에야 업데이트가 반영될 수 있다.출처: §16.9.4 · p. 329
16.10.1–16.10.3 RAG와 미세조정; 공동 학습의 과제
- RAG를 고려한 미세조정은 컨텍스트 활용을 가르치고, RAFT [425]는 방해 문서에 대한 견고성을 학습시키며, 검색기–생성기 공동 학습은 생성과 함께 검색도 적응시킨다.미세조정은 인용, 불확실성 인정, 무관한 컨텍스트 배제를 목표로 한다. RAFT [425]는 관련 문서와 방해 문서를 섞고 chain-of-thought에서 관련 근거를 명시적으로 인용한다. REALM [128]과 RAG [208]는 REINFORCE 또는 미분 가능한 문서 어텐션으로 검색을 거쳐 학습하지만, 희소한 top-k 학습 신호를 받으므로 인덱스 갱신과 신중한 초기화가 필요하다.출처: §16.10.1 · p. 330, §16.10.2 · p. 330, §16.10.3 · p. 331
컨텍스트 윈도우 병목
- 영속 메모리는 상태를 유지하지 않는 LLM의 유한 컨텍스트 병목을 해소하며, 장기 과제, 경험 학습, 개인화에 필요한 정보를 보존한다.누적된 관찰, 도구 출력, 추론 기록은 결국 어떤 고정된 컨텍스트 윈도우도 초과한다. 영속 메모리가 없으면 에이전트는 이전 사건을 잊고 실수를 반복하며, 사용자 선호와 이력을 다시 파악해야 한다.출처: The Context-Window Bottleneck · p. 333, §17.1 · p. 333
인지 아키텍처로서의 메모리; 작업·의미·절차 기억
- 작업·일화·의미·절차 기억은 각각 현재 활용 중인 정보, 자전적 사건, 일반 지식, 기술을 구분하며, 접근·갱신·검색 요구사항이 서로 다르다.작업 기억은 검색 지연시간이 없지만 휘발성이며 컨텍스트 크기에 제한된다. 의미 기억은 특정 일화와 독립적으로 사실과 개념을 저장한다. 절차적 지식은 모델 가중치에도 존재하며, 성공적인 궤적에 대한 미세조정이 기억 공고화 역할을 한다.출처: Memory as Cognitive Architecture · p. 333, §17.2.1 · p. 334, §17.2.3 · p. 335
17.2.2 일화 기억(경험 기반)
- 일화 기억은 맥락과 시간으로 색인된 과거 사건을 검색해 성공적인 궤적을 재사용하고 기록된 실패를 피한다.전체 또는 요약된 상호작용, 과제 시도, 결과를 경험으로 저장한다. 벡터 저장소는 일반적으로 일화 요약을 임베딩하여, 새 과제에서 유사한 과거 일화를 검색해 컨텍스트에 넣을 수 있게 한다.출처: §17.2.2 · p. 334
17.3.1 RAG 기반 메모리; RAG 모범 사례 요약
- RAG [208]는 메모리를 외부화한다. 밀집–희소 혼합 검색은 각 방식의 단독 사용보다 성능이 높으며 [44], cross-encoder 재순위화는 추가 추론 비용으로 정확도를 높인다.상호 순위 융합으로 밀집·희소 검색 순위를 결합하되, 오래되거나 잘못되었거나 표면적으로만 관련된 문서가 환각을 유발할 수 있음을 유의해야 한다. 출처, 타임스탬프, 신뢰도 메타데이터를 유지하고 충실도를 검증하며, LLM 평가자로 운영 환경의 환각 발생률을 모니터링해야 한다.출처: RAG Best Practices Summary · p. 332, §17.3.1 · pp. 335–336
17.3.2 요약 기반 메모리
- 점진적 요약은 메모리 크기를 O(1)로 유지하지만 세부 정보 손실 위험이 있다. Forte 와 같은 계층적 압축은 개괄적 정보에서 세부 정보로 좁혀가는 검색을 지원한다.누적 요약은 새 정보를 통합하며, 계층적 검색은 가장 압축된 수준에서 시작해 필요에 따라 세부 수준으로 내려간다. 정확한 사실, 코드, 수치 결과, 인용문은 원문 그대로 보존하고, 서술·추론·중복은 요약하며, 정보 가치가 없는 잡음이나 도구 실패는 버린다.출처: §17.3.2 · p. 336
17.3.3 그래프 기반 메모리
- GraphRAG [82]는 검색된 시작 개체를 k-hop 그래프 탐색으로 확장해 임베딩 일치를 넘어선 관련 사실을 드러내고 다중 홉 추론을 지원한다.지식 그래프는 개체–관계 삼중항을 저장하며, SPARQL, Cypher 또는 자연어 변환을 통해 질의한다. 추출한 관찰은 상호참조 해소와 개체 연결로 병합한다. 시간 지식 그래프 [197]는 유효 기간을 부여해 과거 사실과 현재 사실을 구분한다.출처: §17.3.3 · pp. 336–337
17.3.4 키–값 메모리 네트워크; 17.3.5 MemGPT와 가상 컨텍스트 관리
- 미분 가능한 키–값 메모리 네트워크 [342]는 학습 가능한 검색을 지원하며, MemGPT [281]는 에이전트가 메모리 연산으로 가상 컨텍스트를 관리하게 한다.Transformer 어텐션은 미분 가능한 검색의 특수한 경우이며, 메모리 슬롯은 기울기나 명시적 쓰기로 갱신할 수 있다. MemGPT는 활성 컨텍스트 안팎으로 정보를 페이징하고 검색·삽입·삭제 호출을 행동으로 제공해, 메모리 관리를 학습된 행동이자 RL의 대상으로 만든다.출처: §17.3.4 · p. 337, §17.3.5 · p. 337
17.4.1 쓰기: 메모리에 기록; 17.4.2 읽기 / 검색
- 메모리는 비용상 감당 가능한 가장 세밀한 단위로 저장하고, 이후 더 거친 수준의 뷰를 구성하며, 검증과 감사를 위해 출처 이력을 보존해야 한다.중요도에 따라 쓰기를 선별하고, 덮어쓰기·타임스탬프가 있는 대안·사람의 검토로 모순을 해결하며, 원자적 사실·일화 요약·장기 보관 대화록을 결합한다 [53]. 검색 질의는 원시 관찰을 그대로 복사할 필요가 없다.출처: §17.4.1 · pp. 337–338, §17.4.2 · p. 338
17.5.3 메모리를 통한 개인화; 개인정보 보호와 메모리
- 선호와 세션 요약을 지속적으로 보존하면 응답을 개인화해 확인 질문을 줄이고 사용자의 전문성에 맞출 수 있지만, 개인 메모리에는 기본값으로 개인정보를 보호하는 안전장치가 필요하다.명시적·추론된 선호를 추적하고, 세션 시작 시 사용자 모델과 최근 요약을 검색한 뒤 세션 종료 시 세션을 요약하고 모델을 갱신한다. 동의를 얻고, 열람과 삭제를 허용하며, 접근 제어를 적용하고, 보존 관련 규정을 준수해야 한다.출처: §17.5.3 · p. 340, §17.5.1 · p. 340, §17.5.2 · p. 340
17.6 다중 에이전트 시스템을 위한 메모리
- 공유 메모리는 직접 메시지를 주고받지 않고도 에이전트를 조율하지만, 동시 쓰기에는 충돌 해결과 명시적인 일관성 절충이 필요하다.블랙보드 제어기는 사전 조건이 충족되면 에이전트를 활성화한다. 충돌 해결 방식에는 정보 손실을 수반하는 최종 쓰기 우선, 버전 이력, k-of-n 합의가 있다. Paxos와 Raft는 비용이 높으며, 지연 한도가 있는 데이터 불일치를 허용해도 충분한지는 미해결 문제다.출처: §17.6.1 · p. 341, §17.6.2 · p. 341, §17.6.3 · p. 341
17.7.1 메모리 연산의 보상 신호
- 메모리 연산은 RL 행동이 되며, 후속 과제 성공, 검색 관련성, 선택적 저장, 내부 일관성을 통해 보상받는다.성공적인 답변의 기여도를 앞선 검색에 배분할 수 있다. 학습된 관련성 모델은 검색 자료에 점수를 매기고, 불필요한 쓰기에는 페널티를 주며, 모순 없는 메모리 상태에는 보상을 준다.출처: §17.7.1 · p. 341
17.7.2 무엇을 기억할지 학습
- 무엇을 기억할지 학습하는 데는 지연 보상, 알 수 없는 미래 질의, 기억 간 상호작용이라는 어려움이 있다. 접근법에는 사후 재레이블링 [8], meta-RL [79], 호기심 기반 저장 이 있다.사후 재레이블링은 성공한 일화에서 검색된 기억을 바탕으로 저장을 학습시키며, meta-RL은 여러 과제 분포에 걸쳐 학습한다. 호기심 기반 저장은 예측 오차가 큰 뜻밖의 관찰을 선택한다.출처: §17.7.2 · p. 342
17.7.3 메모리 증강 정책 최적화; 핵심 통찰: 학습된 귀납적 편향으로서의 메모리
- 정책–메모리 공동 최적화는 메모리를 고정된 저장 전략이 아니라 학습된 도메인 특화 귀납적 편향으로 만들 수 있다.미분 가능한 메모리 네트워크 와 REALM [128]은 LLM 매개변수, 메모리 매개변수, 메모리 복잡도 정규화를 함께 다루는 공동 최적화의 선행 연구다. RL은 코딩 에이전트가 API 시그니처를, 연구 에이전트가 인용 사슬을 보존하도록 가르칠 수 있다.출처: Key Insight: Memory as a Learned… · p. 342, §17.7.3 · p. 342
17.9.1 평가 차원
- LongMemEval [384]은 정보 추출, 다중 세션 추론, 시간 추론, 지식 갱신, 관련 기억이 없을 때의 답변 유보를 평가한다.정보 추출은 정답 사실을 얼마나 복원할 수 있는지 측정한다. 지식 갱신은 이력을 보존하면서 현재 사실을 반영해야 한다. 답변 유보는 에이전트가 기억을 지어내는 대신 기억의 부재를 인정하는지 시험한다.출처: §17.9.1 · p. 343
평가 격차; 17.9.3 지표
- 대부분의 메모리 벤치마크는 10–50개 세션을 다루지만, 운영 환경의 에이전트는 수개월과 수천 개 세션에 걸쳐 작동하므로 장기 평가는 여전히 미해결 과제다.메모리 드리프트, 모순 누적, 저장 공간 비대화를 장기간 모니터링해야 한다. 검색 정밀도, p50/p95 검색 지연시간, 질의당 컨텍스트 토큰 수, EM·F1·LLM-as-judge로 측정한 답변 정확도로 이를 보완한다.출처: §17.9.3 · p. 343, The Evaluation Gap · p. 344
17.4.2 읽기 / 검색; 17.4.3 갱신: 충돌 해결과 공고화; 17.4.4 성찰: 메타인지 연산; 17.10.1 임베딩을 활용한 벡터 저장소 메모리
- 검색은 질의 재구성과 최신성 가중 임베딩을 활용하고, 공고화는 중복을 줄이며, 성찰 [285] [326]은 일화 기억을 일반화된 의미적 통찰로 전환한다.HyDE [106]는 가상의 답변을 임베딩하고, 질의 확장은 바꿔 쓴 질의들의 결과를 합친다. 벡터 저장소는 유사도에 시간 감쇠, 중복 탐지, LRU 퇴출을 결합한다. 성찰은 일화 기억을 읽고 작업 기억에서 추론한 뒤 지속적으로 보존할 의미적 통찰을 기록한다.출처: §17.4.2 · p. 338, §17.4.3 · p. 339, §17.4.4 · p. 339
17.10.1 임베딩을 활용한 벡터 저장소 메모리
- 벡터 메모리는 유사도·최신성 기반 검색에 최근 기억을 상위 수준의 통찰로 종합해 다시 저장하는 성찰을 결합한다.쓰기 시 거의 중복되는 항목은 건너뛰며, 용량 확보를 위한 퇴출 시 중요도와 최신성의 가중 점수가 가장 낮은 항목을 제거한다.출처: §17.10.1 · pp. 345–346
17.10.2 계층형 메모리 관리자
- MemGPT [281]에서 착안한 관리자는 컨텍스트 내 핫 메모리, 벡터 저장소의 웜 메모리, 장기 보관용 콜드 메모리를 분리하고 접근 빈도와 중요도에 따라 항목을 승격하거나 강등한다.핫 메모리는 LRU 캐시를 사용하며, 용량이 찬 상태에서 중요한 새 내용이 들어오면 기존 내용을 요약해 웜 저장소로 옮길 수 있다. 검색은 핫 항목을 우선한다.출처: §17.10.2 · pp. 347–349
17.10.3 메모리 증강 에이전트 루프
- MemGPT [281]가 도입하고 CoALA [344]가 정식화한 메모리 루프는 읽기–행동–성찰–쓰기 주기와 모델이 생성한 명령으로 검색과 영속 저장을 제어한다.각 단계에서 기억을 검색하고, 증강된 프롬프트를 구성하고, 응답을 생성하고, 메모리 명령을 실행한 뒤 성찰과 공고화를 수행한다. 중요한 정보는 자동으로도 기록된다.출처: §17.10.3 · pp. 349–350
17.10.3 메모리 증강 에이전트 루프 / 읽기–행동–성찰–쓰기 주기
- 읽기–행동–성찰–쓰기 주기는 메모리를 수동적 저장소가 아니라 인지 과정의 능동적 참여자로 만든다.에이전트는 응답 전에 관련 기억을 검색하고, 검색된 컨텍스트를 조건으로 응답하며, 주기적으로 상위 수준의 통찰을 종합하고 중요한 정보를 선택적으로 영속 저장한다. 구현에서는 휴리스틱을 사용해 사실, 결정, 사용자 선호를 자동으로 저장하기도 한다.출처: The Read-Act-Reflect-Write Cycle · pp. 352–353, §17.10.3 · p. 352
17.11.1 CoALA: 언어 에이전트를 위한 인지 아키텍처
- CoALA [344]는 모듈형 메모리, 구조화된 행동, 명시적 의사결정 주기를 통해 에이전트를 분석하고 부족한 역량을 식별하는 설계 언어를 제공한다.메모리는 작업·일화·의미·절차 기억으로 구성된다. 행동은 내부 추론·검색·쓰기를 외부 도구 사용 및 환경 상호작용과 구분한다. 일반화된 감지–계획–행동 루프에는 검색과 쓰기가 명시적으로 포함된다.출처: §17.11.1 · p. 353
17.11.2 Mem0: 운영 규모의 메모리 계층
- Mem0 [53]는 LOCOMO에서 OpenAI의 기준 메모리 대비 26%의 상대적 향상을 보고했다.Mem0는 전체 컨텍스트 방식 대비 p95 지연시간 91% 감소와 >90% 토큰 비용 절감을 보고했다. 대화에서 중요한 사실을 자동 추출하고, 개체–사실 그래프로 다중 홉 질의를 지원하며, 중복되거나 새 사실로 대체된 사실을 병합한다.출처: §17.11.2 · p. 353
17.11.3 휴면 시간 연산: 오프라인 메모리 처리 / 오프라인 RL로서의 기억 공고화
- 휴면 시간 연산 [218]은 테스트 시점 연산량을 ∼5× 줄이면서 추론 벤치마크에서 동등한 정확도를 달성하며, 관련 질의 전반의 질의당 평균 비용을 2.5× 줄인다.에이전트는 유휴 시간에 질의를 예상하고 추론 사슬, 요약, 구조화된 표현을 미리 계산해 재사용할 수 있도록 저장한다. 질의를 예측할 수 있을 때 이점이 가장 크다. 새로운 환경 상호작용 없이 수집된 상호작용을 공고화한다는 점에서 오프라인 정책 개선으로 해석할 수 있다.출처: §17.11.3 · pp. 353–354, Memory Consolidation as Offline RL · p. 354
17.11.4 A-MEM: 제텔카스텐에서 착안한 에이전트 메모리
- A-MEM 은 다중 세션 추론 과제에서 6개 기반 모델에 걸쳐 평면형 벡터 저장소, 요약 기반 메모리, 그래프 데이터베이스 접근법을 일관되게 능가한다.제텔카스텐에서 착안한 노트에는 맥락 설명, 키워드, 태그, 명시적 링크가 포함되며, 새 기억은 양방향 의미 연결을 만든다. LLM은 기억을 적응적으로 조직하고, 노트 추가 시 기존 노트의 표현과 속성을 정교화할 수 있다.출처: §17.11.4 · p. 354
17.12 선제적 메모리 아키텍처 / 선제적 메모리 에이전트 아키텍처 / 선제적 메모리: 실험 결과
- 100+회 도구 호출에서도 선제적 메모리 는 안정적인 성능을 유지하지만, 메모리 에이전트가 없는 실행기의 성공률은 ∼30회 호출 이후 급격히 떨어진다.병렬로 동작하는 메모리 에이전트는 실행기의 행동을 모니터링하고 목표 이탈을 감지하면 알림을 주입해, 제약을 지속적으로 준수해야 하는 과제의 성공률을 높인다. 모니터링과 주입에는 ∼40%의 API 비용이 추가된다.출처: §17.12 · p. 354, Proactive Memory: Empirical Results · p. 355, The Proactive Memory Agent Architecture · p. 355
RL과의 연결: 상태 요약기로서의 메모리 에이전트
- 메모리 에이전트는 POMDP 믿음 상태를 유지할 수 있으며, 이는 실행기 행동과 어떤 기억을 언제 주입할지의 공동 최적화 가능성을 시사한다.추가 비용은 충분한 상태 표현과 저렴하지만 정보 손실이 있는 잘린 컨텍스트 사이의 절충을 반영한다. 검색된 기억의 충실한 반영, 일관된 공유 메모리, 개인정보를 보호하는 개인화, 컨텍스트 과부하를 피하는 주입 정책은 여전히 미해결 과제다.출처: RL Connection: Memory Agent as State… · pp. 355–356
- 에이전트 메모리는 네 가지 기억 유형, 다섯 계열의 아키텍처, 네 가지 핵심 연산, 다중 턴·다중 에이전트 확장, 메모리 정책을 위한 강화학습을 포괄한다.기억 유형은 작업·일화·의미·절차 기억이다. 아키텍처에는 RAG, 요약, 그래프, 키–값 네트워크, 계층형 가상 컨텍스트가 있으며, 연산에는 중요도를 고려한 쓰기, 시간 가중 검색, 충돌을 해결하는 갱신, 성찰이 포함된다. 확장은 사용자 모델링, 세션 연속성, 공유 풀, 블랙보드를 다루며, RL은 메모리 연산 보상, 선택적 보존, 메모리 증강 정책 최적화를 제공한다.출처: RL Connection: Memory Agent as State… · p. 356
에이전트 하네스 – 컨텍스트 관리와 오케스트레이션
에이전트 하네스는 컨텍스트, 메모리, 도구 사용, 실행을 관리해 무상태 LLM을 상태를 유지하는 목표 지향 시스템으로 전환한다. 이 절에서는 컨텍스트 예산과 압축, 추론–행동 루프, 계획과 조정, 그리고 안전성, 실패 복구, 관측 가능성, 테스트, 자원 제어를 위한 운영 환경의 엔지니어링 실무를 다룬다.
정의: 에이전트 하네스
- 에이전트 하네스는 상태, 도구, 메모리, 라우팅, 관측 가능성을 제공하고 추론은 LLM에 맡긴다.안전 제약도 강제하며, 모델의 추론과 인프라의 책임을 분리한다.출처: Definition: Agent Harness · p. 357, Agent Harness – Context Management and… · p. 357, Figure 18.1 · p. 358
18.2 컨텍스트 윈도 관리
- 컨텍스트 관리는 유한한 작업 메모리와 토큰 비용, 지연 시간, 누적되는 이력, 갑자기 급증하는 도구 출력 사이에서 균형을 맞춘다.고정 할당은 예측 가능하지만 미사용 용량을 낭비한다. 동적 할당은 중요한 구성 요소를 우선하고 우선순위가 낮은 요소를 압축하거나 잘라낸다.출처: §18.2 · p. 358, §18.2.1 · p. 358, §18.2.2 · pp. 358–359
18.2.3 컨텍스트 압축
- 5–10× 더 짧은 요약, 선택적 보존, 중요도에 따른 잘라내기, 계층적 슬라이딩 윈도는 대화 이력을 압축하는 상호 보완적 방법이다.오래된 대화 턴을 LLM이 생성한 요약으로 대체하고 [281], 점수가 높은 top-k 메시지를 보존하며, 중요도가 낮은 턴부터 잘라낸다. 시스템 프롬프트와 첫 사용자 메시지를 고정하고, 최근 턴은 원문 그대로 보존하되 오래된 이력일수록 더 개략적으로 요약한다.출처: §18.2.3 · p. 359, §18.2.4 · p. 359
18.2.5 재귀적 컨텍스트 분해
- 재귀적 분해 [420]는 컨텍스트를 나눠 별도의 호출로 처리한다. 재귀적으로 작동하는 GPT-5-mini는 어려운 장문 컨텍스트 벤치마크에서 비재귀적 GPT-5보다 질의당 비용이 낮으면서도 성능이 높았다.루트는 하위 질의를 구성하고 결과를 종합하며, 어떤 호출도 전체 컨텍스트를 보지 않는다. 개별 호출을 짧게 유지해 컨텍스트 열화에 대응한다. 분해–재귀–통합 패턴은 검색, 코드베이스 분석, 정보 추출에도 활용할 수 있다.출처: §18.2.5 · p. 359, Recursive Language Model (RLM) · p. 360, Recursive Summarization of a Large… · p. 361
실행 전 토큰 점검
- 실행 전 점검에서는 모델의 토크나이저로 프롬프트 토큰을 세고 초과를 명시적으로 처리해야 알림 없는 잘라내기로 지시가 제거되는 일을 막을 수 있다.컨텍스트 한도에서 출력용으로 예약한 토큰 수를 뺀 값과 프롬프트 크기를 비교한 뒤 압축하거나 잘라내거나 명시적 오류를 발생시킨다. 구성 요소별 토큰 사용량도 기록한다.출처: The Silent Truncation Trap · p. 358, Pre-Flight Token Check · p. 361
18.3 프롬프트 아키텍처
- 운영 환경의 프롬프트는 페르소나, 기능, 제약, 출력 형식과 함께 버전을 독립적으로 관리하는 시스템, 메모리, 도구, 이력, 질의 블록으로 구성된다.블록은 독립적으로 테스트하고 교체할 수 있다. 프롬프트 레지스트리는 이름이 지정된 템플릿을 시맨틱 버저닝으로 저장한다.출처: §18.3.1 · pp. 361–362, §18.3.2 · p. 362
18.3.3 Few-shot 관리
- Few-shot 관리 [223]는 토큰 예산 안에서 질의와 관련된 예시를 선택하고, 고정된 예시 집합에 과적합하지 않도록 예시를 교체하며, 임베딩을 캐싱한다.임베딩 유사도를 기준으로 선택하며, 예시는 M 할당량을 사용한다.출처: §18.3.3 · p. 362
18.3.4 도구 설명
- 도구 시그니처는 명확한 이름, 용도 설명, 타입이 지정된 매개변수, 문서화된 출력, 명시적 제약으로 도구 선택을 안내한다.설명에는 도구를 사용하거나 피해야 할 상황을 명시한다. 제약에는 권한, 호출률 제한, 입력 제한, 확인이 필요한 중대한 부수 효과를 드러낸다.출처: §18.3.4 · p. 363
18.4.2 도구 선택과 라우팅 / 좋은 도구 시그니처와 나쁜 도구 시그니처
- 하네스는 전체 도구 라이브러리를 노출하는 대신 구체적인 설명, 검색으로 필터링한 도구 집합, 네이티브 함수 호출을 통해 도구 선택의 확장성을 확보한다.Gorilla [287]는 검색과 검색기 인지 학습을 결합해 기능이 겹치는 API를 선택하고 버전 변경에 적응한다. ToolLLM [299]은 DFSDT로 생성한 도구 사용 궤적을 이용해 학습에서 보지 못한 API에도 적용되는 선택 전략을 학습한다.출처: Good vs. Bad Tool Signatures · p. 363, §18.4.2 · p. 365
18.4.3 도구 출력 처리
- 하네스는 도구 출력 스키마를 검증하고, 지나치게 큰 결과를 요약하거나 청크로 나누며, 제공자별 오류를 표준화하고, 일시적 실패에는 지수 백오프로 재시도한 뒤 실패를 보고한다.이 처리 단계들은 도구 결과를 모델의 컨텍스트에 삽입할 수 있도록 준비한다.출처: §18.4.3 · p. 365
18.4.4 샌드박싱과 안전성 / 도구 출력을 통한 프롬프트 인젝션 (Greshake et al. 2023)
- 안전한 도구 실행에는 격리, OS가 강제하는 권한, 자원 제한, 인자 정제, 감사 로깅이 필요하며, 도구 출력을 지시가 아닌 신뢰할 수 없는 데이터로 취급해야 한다.코드 도구는 기본적으로 네트워크 접근이 차단된 컨테이너나 VM에서 실행해야 한다. 출력 샌드박싱, 콘텐츠 필터링, 데이터 경계를 구분하는 XML 태그는 검색된 콘텐츠를 통한 프롬프트 인젝션에 대응하는 데 도움이 된다.출처: §18.4.4 · p. 366, Prompt Injection via Tool Outputs… · p. 366
18.4.5 Model Context Protocol (MCP) / 18.4.1 도구 정의 스키마
- MCP 는 도구 제공자와 사용자를 분리해 하네스 클라이언트가 도구를 동적으로 발견하고 호출을 표준화된 서버로 라우팅하게 한다.서버는 도구, 리소스, 프롬프트를 제공한다. 클라이언트는 하네스를 재배포하지 않고도 tools/list로 스키마를 조회하고 tools/call로 도구를 호출한다. 제공자별 스키마에는 여전히 차이가 있으며, Anthropic은 parameters 대신 input_schema를 사용한다.출처: OpenAI Tool Definition · p. 364, §18.4.5 · p. 366
18.5.1 ReAct 루프 (Reason + Act) / 18.6.1 대화 상태
- ReAct [408]는 추론, 행동, 관찰을 번갈아 수행하며, 반복 횟수 제한과 명시적 종료 조건으로 실행을 제어한다.최종 답변 행동이나 종료 토큰이 루프를 끝낸다. 대화 상태는 메시지 이력을 중심으로 구성되며, 역할과 타임스탬프, 토큰 수, 중요도 점수, 압축 상태 등의 메타데이터를 포함한다.출처: §18.5.1 · pp. 367–368, §18.6.1 · p. 370
18.5.2 Plan-and-Execute / 18.6.2 과제 상태
- Plan-and-execute 는 실행 전에 전체 계획을 생성해 장기 과제에서 LLM 호출을 줄이지만 예상치 못한 관찰에는 덜 유연하게 적응한다.실패하거나 예상치 못한 결과가 나오면 현재 상태에서 다시 계획한다. 장시간 실행되는 과제의 상태는 하위 과제의 진행 상황, 직렬화된 복구 체크포인트, 최근 행동의 롤백을 추적한다.출처: §18.5.2 · p. 368, §18.6.2 · p. 370
18.5.3 다중 에이전트 오케스트레이션 / 18.6.3 에이전트 상태
- 다중 에이전트 오케스트레이션은 감독자 라우팅, 피어 간 조정, 계층적 위임, Swarm 방식의 핸드오프 를 사용한다.감독자는 전문 에이전트의 결과를 통합한다. 피어 방식에는 순환 의존성의 위험이 있고, 계층 구조는 과제를 재귀적으로 분해하며, Swarm은 대화 컨텍스트와 함께 제어권을 넘긴다. 에이전트 내부 상태에는 대기 중인 도구 호출과 확립된 믿음이 포함된다.출처: §18.5.3 · pp. 368–369, §18.6.3 · p. 370
18.5.4 Human-in-the-Loop / 18.5.5 워크플로 그래프
- Human-in-the-loop 하네스는 되돌릴 수 없는 행동에 승인을 요구하고, 신뢰도가 낮거나 범위를 벗어나거나 안전 조건에 걸리는 과제를 사람에게 넘긴다.사람의 수정 사항은 컨텍스트에 반영되며 계획을 갱신할 수 있다. 워크플로 로직에는 DAG나 상태 머신을 사용할 수 있으며, 명시적 상태와 전이는 제어 흐름을 이해하고 테스트하기 쉽게 만든다.출처: §18.5.4 · p. 369, §18.5.5 · p. 369
18.6.4 영속 상태; 18.7.3 점진적 기능 축소를 통한 실패 대응
- 운영 시스템은 영속 상태를 명시적 스키마, 버전 관리, 마이그레이션 경로를 갖춘 핵심 구성 요소로 취급한다.상태에는 사용자 프로필, 의미 기반 검색이 가능한 대화 메모리, few-shot 검색을 위한 완료 과제 이력이 포함된다. 상태를 보존하면 미완료 과제도 재개할 수 있다.출처: §18.6.4 · p. 370, §18.7.3 · p. 371
18.7 오류 처리와 복구; 18.7.1 재시도 전략; 18.7.3 점진적 기능 축소를 통한 실패 대응
- 실패 복구는 지터를 적용한 지수 백오프, 대체 모델, 사용 불가능한 도구 없이 작동하는 방식을 결합한다. 완료하지 못한 과제는 부분 결과를 보고하고, 장애 요인을 설명하며, 복구 조치를 제안해야 한다.백오프는 호출률 제한이나 네트워크 오류 같은 일시적 실패에 대응한다. 기본 모델을 사용할 수 없거나 오류를 반환하면 대체 모델을 사용한다.출처: §18.7.1 · p. 371, §18.7.3 · p. 371
18.7.2 루프 탐지
- 루프 탐지 전략 [326]은 엄격한 단계 수 제한, 해시 기반 도구 호출 중복 제거, 에이전트 상태가 바뀌지 않을 때 실행되는 처리기를 결합한다.중복 제거는 동일한 도구와 인자 쌍의 반복을 식별한다. 진행 여부 탐지는 k단계 동안 상태가 바뀌지 않으면 정체 처리기를 실행한다.출처: §18.7.2 · p. 371
에이전트 관측 가능성의 세 축; 디버깅의 간극
- 관측 가능성은 종단 간 추적, 구조화된 이벤트 로그, 집계 지표를 결합한다. 재현 도구는 프롬프트나 모델을 수정해 비교함으로써 의미적 실패를 조사하도록 돕는다.추적은 모델 호출, 도구 호출, 상태 전이를 포괄하며 로그는 토큰, 지연 시간, 비용을 기록한다. 집계 지표에는 과제 성공, 단계 수, 도구 오류, 과제당 비용, p95 지연 시간이 포함된다.출처: The Observability Triad for Agents · p. 371, The Debugging Gap · p. 372
18.8.1 지연 시간 최적화
- 캐싱된 프롬프트 부분의 지연 시간과 비용을 50–90% 줄이는 최적화는 병렬 도구 호출, 스트리밍, 추측 실행과 함께 지연 시간을 줄인다.독립적인 도구 호출 N개를 병렬로 실행하면 여러 도구의 호출 지연 시간을 N× 줄일 수 있다. 스트리밍은 생성이 끝나기 전에 처리를 시작하고, 추측 실행은 예측한 도구 호출을 미리 시작한 뒤 예측이 틀리면 취소한다.출처: §18.8.1 · p. 372
18.8.2 비용 관리; 18.8.3 호출률 제한과 큐 관리
- 비용과 동시성 제어는 토큰 예산, 복잡도 기반 모델 라우팅 [46], 결정적 출력 캐싱, 공유 토큰 버킷 제한, 우선순위 큐, 역압을 결합한다.예산은 과제별·사용자별로 적용하고 한도에 가까워지면 알림을 보낸다. 고비용 모델은 복잡한 추론에만 사용한다. 대화형 과제는 배치 작업보다 우선하며, 큐가 가득 차면 무한히 쌓는 대신 새 과제를 거부한다.출처: §18.8.2 · p. 372, §18.8.3 · p. 372
프레임워크 사용과 맞춤형 개발, 언제 선택할까?; 18.9 프레임워크 비교; 18.8.4 운영 환경에서의 평가
- 프레임워크는 프로토타이핑과 빠른 통합에 적합하다. 맞춤형 하네스는 엄격한 요구사항에 맞는 제어권을 제공하지만 엔지니어링 투자가 필요하며, 운영 환경의 평가로 새 버전을 검증한다.추상화가 버그를 유발하거나 세밀한 컨텍스트 제어가 필수라면 맞춤형 개발이 유리하다. 평가는 성공, 비용, 지연 시간의 A/B 비교, 모니터링을 수반한 카나리 배포, 섀도 출력, 유용성·정확성·안전성을 판단하는 LLM 평가자를 활용한다 [433].출처: When to Use a Framework vs. Build… · p. 373, §18.9 · p. 373, §18.8.4 · p. 373
18.10 구현: 운영 환경용 에이전트 하네스
- 하네스 구현은 토큰을 세고 고정되지 않은 오래된 메시지와 관련 도구 결과를 제거해 컨텍스트 예산을 강제한다.관련 도구 결과도 함께 제거해야 대화의 유효성을 유지할 수 있다. ToolExecutor는 샌드박싱, 재시도, 출력 잘라내기를 지원하도록 명세되어 있다.출처: §18.10 · pp. 375–376
- 도구 호출의 30초 타임아웃에 출력 토큰 제한, 도구 수준의 지수 백오프, 설정 가능한 도구별 사람 승인을 결합한다.승인 콜백이 설정되어 있으면 거부된 행동은 실행하지 않는다.출처: §18.10 · pp. 376–377, Key Design Decisions in the… · p. 381
- 운영 환경용 ReAct 하네스는 반복을 50회로 제한하며 컨텍스트 관리, 도구, 오류 처리, 관측 가능성을 통합한다.실행 전 점검은 컨텍스트 초과 시 실행을 중단한다. 반복 예산을 소진하면 확보한 결과와 함께 과제 미완료 메시지를 반환한다.출처: §18.10 · pp. 377–379
구현의 주요 설계 결정
- 컨텍스트 예산은 호출 전 점검에만 의존하지 않고 메시지를 추가할 때마다 모델과 정확히 일치하는 토크나이저와 선제적 이력 압축으로 강제한다.메시지 삽입 시 한도를 강제하면 알림 없는 컨텍스트 초과를 방지할 수 있다.출처: Key Design Decisions in the… · p. 381, Summary · p. 381
Key Design Decisions in the Implementation
- Parallel tool execution reduces latency, sliding-window content hashing detects repeated actions, and run_id-based structured logging enables tracing across distributed logs.Parallel execution uses asyncio.gather when the model requests multiple tools simultaneously.출처: Key Design Decisions in the… · p. 381
에이전트 하네스는 어떻게 테스트하는가?
- 하네스 테스트는 격리된 구성 요소 테스트, 미리 정한 응답을 내는 모의 LLM을 이용한 통합 테스트, 성공률을 측정하는 과제 벤치마크를 결합한다.적대적 테스트는 잘못된 형식의 도구 출력을 주입해 실패 시에도 적절히 대응하는지 검증한다. 회귀 테스트는 운영 환경의 실행 추적을 재현해 변경 사항이 출력 품질을 떨어뜨리지 않는지 확인한다.출처: How Do You Test an Agent Harness? · p. 381
요약
- 프롬프트를 버전 관리와 테스트를 거치는 모듈형 코드로 취급하고, 상태 스키마는 나중에 덧붙이지 말고 처음부터 설계해야 한다.상태 관리는 핵심 엔지니어링 과제다.출처: Summary · pp. 381–382
- 정밀하게 정의하고 샌드박스로 격리한 도구와 과제에 맞는 오케스트레이션을 갖추고, 서로 영향을 주는 지연 시간, 비용, 호출률 제한, 평가 제약을 체계적으로 관리한다.도구 출력은 방어적으로 처리한다. 탐색적 과제에는 ReAct, 구조화된 과제에는 Plan-and-Execute, 분해 가능한 복잡한 과제에는 다중 에이전트 오케스트레이션을 사용한다.출처: Summary · pp. 381–382
루프 엔지니어링 … 에이전트 환경과 벤치마크
이 절에서는 검증을 바탕으로 신뢰할 수 있는 에이전트 루프를 설계하고, 상호작용 환경에서 목표를 달성하는 정책을 평가하는 방법을 살펴본다. 아키텍처 선택, 컨텍스트 관리, 종료 조건, 비용 통제와 함께 표준화된 환경, 보상 설계, 재현 가능한 평가, 성능 격차와 장기 실행의 어려움을 드러내는 벤치마크를 다룬다.
19.1 컨텍스트 엔지니어링: 루프 아래의 계층
- 컨텍스트 엔지니어링은 검색 결과, 도구 출력, 메모리, 이력을 동적으로 조합하고, 요약·이력 압축·토큰 할당으로 후속 행동을 지원한다.루프는 행동과 관측을 결정하고, 컨텍스트 엔지니어링은 다음 행동을 위해 관측을 어떻게 표현할지 결정한다.출처: §19.1 · p. 384, Context Engineering vs. Loop Engineering · p. 385
컨텍스트 윈도 예산 할당(일반적인 에이전트 루프)
- 일반적인 생성 예산은 20–30%다. 할당 비율은 지침이지만, 나머지 컨텍스트 윈도를 채우기 전에 생성 공간을 확보해야 한다.그 밖의 일반적인 할당 비율은 시스템 프롬프트 10–15%, 검색 문서/RAG 20–30%, 대화/행동 이력 30–40%다. 작업 요구사항에 따라 비율은 달라질 수 있다.출처: Context Window Budget Allocation… · p. 385
19.2 추론 시점 강화학습으로서의 루프 엔지니어링
- 에이전트 루프는 모델 가중치의 경사 기반 갱신 대신 검증 보상과 누적 컨텍스트를 사용해 추론 시점 강화학습을 구현한다.관측, 오류, 성찰은 성공하거나 종료할 때까지 후속 행동의 조건으로 작용한다. 부실한 검증은 보상 해킹을 유발하고, 실행 구간이 길어질수록 오류와 컨텍스트 열화가 누적된다.출처: §19.2 · p. 385, The Loop–RL Correspondence · p. 386
19.3.1 다섯 가지 기본 구성 요소
- 운영 환경의 루프는 자동화 트리거, 격리된 worktree, 영속적인 프로젝트 스킬, 외부 커넥터, 분리된 생성·검증 에이전트를 결합한다.worktree는 병렬 쓰기 충돌을 막고, 스킬은 프로젝트 관례를 보존하며, 커넥터는 행동 범위를 운영 시스템으로 확장한다. 생성자와 검사자를 분리하면 생성자의 자기 채점 대신 독립적인 평가가 가능하다.출처: §19.3.1 · pp. 386–387
19.3.2 외부 상태: 루프의 메모리
- 외부 상태는 상태를 유지하지 않는 모델 호출 사이에서도 진행 상황, 실패한 접근법, 인계용 컨텍스트를 보존한다.반복마다 커밋하는 마크다운 파일만으로도 충분할 수 있다. 상태를 영속화하지 않으면 루프는 실패를 반복하고, 부분적인 진척을 잃으며, 감사 추적 기록도 남기지 못한다.출처: §19.3.2 · p. 387, State Is Not Optional · p. 387
19.4 의사코드로 보는 루프
- 표준 루프는 컨텍스트를 압축하고 성공 여부를 검증하며 상태를 영속화한 뒤, 진행이 막히거나 예산 또는 단계 한도에 도달하면 상위로 이관한다.검증에 성공한 경우에도 반환 전에 상태를 영속화해 루프의 외부 메모리를 통한 연속성을 유지한다.출처: §19.3.2 · p. 387, §19.4 · p. 388
19.5 루프 패턴
- 검증 루프는 결정론적 검사를 기준으로 재시도하고, 평가자–최적화자 루프는 후보 생성과 구조화된 모델 평가를 분리한다.결정론적 테스트 검사는 설득에 흔들리지 않으며, 검증은 성공하거나 재시도 횟수를 소진하면 끝난다. 평가자–최적화자 순환은 점수 임계값이나 반복 한도에 도달할 때까지 피드백을 반영한다.출처: Validation Loop: Fix Until Tests Pass · pp. 388–389, §19.5.1 · p. 388, §19.5.3 · p. 389
19.5.2 Reflexion 루프
- 가중치 갱신 없이 시도 간 언어적 자기비판을 유지하는 Reflexion [326]은 HumanEval에서 기준 성능 67% 대비 91% pass@1을 보고했다.에이전트는 실패 후 성찰 내용을 일화 메모리에 기록하고, 후속 시도에서 이 교훈을 읽어 실패한 접근법의 반복을 피한다.출처: Reflexion: In-Context Learning from… · p. 389, §19.5.2 · p. 389
19.5.4 계층적 루프
- 계층적 오케스트레이션은 별도 검증으로 하위 루프를 감독하며, 영속 상태에 기반한 정기 유지보수나 상시 이벤트 대응 실행을 활용한다.야간 유지보수는 실행 간 상태를 보존하면서 정기적인 문제 분류, 일시적인 수정 작업, 독립 검토를 분리한다. OpenClaw 같은 상시 가동 시스템은 수분 내에 대응하고 체크포인트에서 복구하며, 독립적으로 종료되는 작업의 정체, 예산 소진, 충돌을 감시한다.출처: §19.5.4 · p. 389, Hierarchical Loop: Overnight… · p. 390, §19.6.1 · p. 390
19.9.2 지속적 실험 루프
- AutoResearch 는 학습 스크립트 변경을 반복 제안하고 시간제한 실험을 수행하며, 검증 지표에 따라 개선 사항을 커밋하거나 성능 저하를 되돌린다.가설은 하이퍼파라미터, 아키텍처, 데이터 증강을 바꿀 수 있다. 구현 후에는 실제 경과 시간의 엄격한 상한 아래 실행하고 검증 지표로 평가한다.출처: §19.5.5 · p. 390, §19.9.2 · p. 394, AutoResearch Loop Structure · p. 394
19.6 검증 엔지니어링
- 결정론적 검사를 우선하고 생성자와 평가자를 분리해야 한다. 주관적인 LLM 판단에는 편향, 평가 악용, 비일관성, 담합을 막는 안전장치가 필요하다.별도의 평가자, 대개 더 강력한 평가자를 사용하고, 이진 판정 기준이 명시된 평가표와 인간 판단에 대한 주기적 보정을 적용한다.출처: §19.5.3 · p. 389, §19.6.1 · p. 390, §19.6.2 · p. 391
19.7 종료 엔지니어링
- 운영 환경의 루프에는 검증된 성공, 반복 한도, 예산 소진, 정체, 치명적 오류 각각에 독립적인 종료 경로가 필요하며, 검증된 성공만 성공적인 종료로 간주한다.엄격한 반복 상한은 보통 20–50단계다. 반복해도 측정 가능한 상태 변화가 없으면 계속 진행하지 말고 상태를 저장한 뒤 사람이나 상위 오케스트레이터로 이관한다.출처: §19.7.1 · p. 391, No-Progress Detection: The Stagnation… · p. 391
19.7.2 탐색 문제
- 반복되는 실패에서 벗어나려면 단순히 반복 횟수를 늘리는 대신 성찰, 더 높은 temperature, 전략 메모리, 새로운 하위 에이전트로 전략을 바꿔야 한다.연구 루프는 실질적인 진전 없이 명목상의 개선만 내는 미세한 변경을 선호할 수 있다. 대책으로는 과감한 가설을 유도하는 프롬프트, 다양성 보너스, 사람이 제시하는 연구 방향이 있다.출처: §19.7.2 · p. 392, The Local Minimum Problem in Research… · p. 394
19.8.1 Loopmaxxing의 함정 / 19.8.2 이해 부채
- 반복만으로는 검증 불가능한 목표, 거친 피드백, 역량 부족을 극복할 수 없다. 인간 검토보다 빠른 코드 변경은 이해 부채도 누적시킨다.개선 신호가 없으면 추가 반복은 최적화가 아니다. 이해 부채는 저장소 내용과 설계 결정·의존성·경계 사례에 대한 팀의 이해 사이에서 커지는 격차다.출처: §19.8.1 · p. 392, §19.8.2 · p. 392
19.8.3 루프의 보상 해킹
- 루프는 테스트 삭제, 검증 세트 암기, 명세 축소, 오류 은폐로 검증을 악용할 수 있다. 독립 테스트, 타입 검사, 린트 검사, 검토는 위험을 줄인다.이러한 실패는 의도한 목표를 달성하지 않고도 검사를 통과한다. 독립적인 검증 신호를 결합하면 하나의 신호에 의존할 때보다 악용이 어려워진다.출처: §19.8.3 · p. 393
19.10 장기 실행 루프의 컨텍스트 관리
- 장기 실행 루프에는 컨텍스트 포화와 주의력 저하를 막기 위한 선제적 압축, 작업별 메모리 전략, 격리된 하위 에이전트가 필요하다 [226].현재 단계의 추론과 생성을 위해 컨텍스트 용량의 20–30%를 확보하고, 활성 이력이 70–80%를 넘기 전에 압축한다. 디버깅에는 최근 이력, 연구에는 중요한 실험 결과, 여러 파일의 리팩터링에는 외부 진행 기록 파일이 유용하다. 격리된 하위 에이전트는 전체 실행 기록 대신 결론을 반환한다.출처: §19.8.4 · p. 393, §19.10.2 · p. 395, §19.10.1 · p. 395
19.11 루프를 사용하지 말아야 할 때
- 단일 턴 작업, 검증 불가능한 목표, 저비용의 실시간 인간 피드백이 가능한 경우, 근본적인 역량 격차, 검증 수단이 없는 작업에는 루프를 피해야 한다.이러한 조건에서는 반복 비용이 불필요하게 커지거나, 종료가 자의적이 되거나, 의미 있는 개선이 불가능해진다. 피드백이 없으면 루프는 무작위 탐색으로 전락한다.출처: §19.11 · p. 396
루프 비용 모델
- 각 루프 호출의 컨텍스트 중 60–80%는 캐시할 수 있는 경우가 많으며, 예시로 든 20회 반복 루프는 $0.02/iteration 기준 $0.40가 든다.캐시를 사용하는 호출은 신규 토큰과 캐시된 토큰에 별도로 과금하고 도구와 검증 비용도 더한다. 목표, 스킬, 초기 이력은 재사용할 수 있다. $0.40 예시는 개발자 시간 30분을 절약한다면 가치가 있지만, 상한 없이 폭주하는 루프는 하룻밤에 수백 달러가 들 수 있다.출처: Loop Cost Model · p. 396
19.14 요약
- 루프 엔지니어링은 검증을 보상으로 삼고 경사하강법 대신 컨텍스트를 갱신하면서, 반복을 추론 시점 강화학습으로 다룬다.결정론적 검사와 생성자–검사자 분리를 우선하고, 엄격한 상한·예산·진척 없음 감지를 적용하며, 압축·외부화·하위 에이전트 격리로 컨텍스트를 관리한다. 루프는 엔지니어링 역량을 대체하지 않고 증폭하므로, 목표를 신중하게 명세하고 단순한 검증 루프부터 시작한다.출처: §19.14 · p. 397
20.4 패턴 선택 지침
- 워크플로부터 시작하고, 동적 라우팅이나 개방형 탐색이 필요할 때만 작업 예측 가능성, 지연 시간, 비용, 반복 요구를 고려해 에이전트를 도입한다.워크플로는 미리 정의되어 예측과 테스트가 가능한 제어 흐름을 제공하고, 에이전트는 다음 행동을 동적으로 선택한다. 단순한 접근법의 실패가 입증되거나 반복이 결과를 실질적으로 개선할 때만 복잡성을 높인다.출처: The Simplicity Principle · p. 396, When to Use Agents vs. Workflows · p. 398, §20.4 · p. 403
20.1 워크플로 패턴
- 프롬프트 체이닝은 검증 관문을 거쳐 호출을 순차 연결하고, 라우팅은 전문가를 선택하며, 병렬화는 독립적인 작업 부분이나 반복 프롬프트 투표를 활용한다 [368].오케스트레이터–작업자 패턴은 하위 작업을 미리 정할 수 없을 때 모델이 작업을 분해하고, 작업자에게 하위 작업을 배분한 뒤 출력을 병합한다. 평가자–최적화자 는 생성과 평가를 분리하고, 명시적 품질 기준을 충족하거나 재시도 예산을 소진할 때까지 비평을 피드백한다.출처: §20.1.1 · p. 398, §20.1.2 · p. 399, §20.1.3 · p. 399
20.2 자율 에이전트 패턴
- ReAct [408]는 추론·행동·관측을 순환하고, 계획 에이전트 는 명시적인 계획을 수정하며, Reflexion [326]은 실패에 대한 성찰을 후속 시도로 이어 간다.계획 실행은 의존성을 DAG로 추적하고, Reflexion은 가중치 갱신 없이 시도 간 학습을 가능하게 한다. AutoGPT 는 무인 실행의 비용과 신뢰성 문제를 드러냈다. 2026년에는 Codex와 Claude Code에 /goal 및 /loop 명령이 내장되었다.출처: §19.13 · pp. 396–397, §20.2.1 · p. 400, §20.2.2 · p. 400
20.2.4 도구 사용 패턴
- 도구 호출 패턴에는 단일 턴 호출, 독립적인 병렬 호출, 순차 파이프라인, 중첩 에이전트, 우선순위에 따른 대체 경로가 있다.단일 턴 호출은 정확히 두 번의 LLM 호출을 사용한다. 병렬 도구는 서로 독립적이어야 하고, 순차 파이프라인에는 중간 컨텍스트 요약이 필요할 수 있다. 중첩 에이전트는 별도의 프롬프트·도구·컨텍스트를 가지며, Swarm 은 인계를 통해 전문화를 확장한다. 하네스가 관리하는 대체 경로는 도구 실패를 투명하게 처리한다.출처: §20.2.4 · pp. 401–402
20.3 설계 원칙
- 신뢰할 수 있는 에이전트 아키텍처는 단순성, 점검 가능한 실행, 정확히 명세된 도구, 하네스 수준의 실패 복구, 검증된 구조화 출력, 적대적 테스트를 지향한다.명확한 오류를 반환하는 타입 지정 도구, 인프라 수준의 재시도와 대체 경로, 취약한 자유 텍스트 파싱 대신 제약된 생성을 사용한다. 같은 프롬프트에서도 도구 호출 순서가 달라질 수 있으므로 경계 사례, 모호한 요청, 잘못된 형식의 입력을 테스트한다.출처: §20.3 · pp. 402–403
21.1 동기: 에이전트에 환경이 필요한 이유; LLM을 위한 RL의 ‘Gym’으로서의 환경; 20.4 패턴 선택 지침
- 에이전트 평가는 상호작용 시퀀스 전반에서 목표를 달성하는 정책을 측정하므로, 단일 응답 채점이 아닌 구조화된 환경이 필요하다.환경은 OpenAI Gym 과 유사하게 reset(), step(action), render() 인터페이스를 표준화한다. 에이전트 패턴은 조합 가능하므로, 계층을 끝없이 추가하지 않고도 계획에 프롬프트 체이닝, 평가자–최적화자 검토, 라우팅을 통합할 수 있다.출처: §20.4 · p. 403, The Chatbot–Agent Evaluation Gap · p. 404, §21.1 · p. 404
21.2 환경 설계 원칙; 21.2.1 관측 공간 설계; 관측 누출; 21.2.2 행동 공간 설계; 21.2.3 보상 신호 설계
- 환경 인터페이스는 관측 누출을 막고, 목표에 부합하며 학습 가능하고 조작 불가능한 보상을 제공해야 한다.정답, 보상, 미래 단계의 누출은 벤치마크 점수를 부풀린다. 보상은 실제 완료를 반영하고, 충분한 학습 신호를 제공하며, 해킹에 견뎌야 한다. 스크린샷과 접근성 트리의 결합은 시각적 맥락과 요소 식별자를 함께 제공한다. 행동은 보통 환경이 파싱하고 실행하는 텍스트 문자열이다.출처: Observation Leakage · p. 405, §21.2.3 · p. 405, §21.2.1 · p. 405
21.2.4 에피소드 구조
- APRIL의 부분 롤아웃 재활용에 따른 처리량 20–35% 향상 [251]과 TLT의 적응형 추측 디코딩에 따른 손실 없는 종단 간 1.7× 가속 [149]은 지연 작업으로 인한 정체를 완화한다.고정 길이 에피소드는 성공 후에도 연산을 낭비하고, 조기 종료에는 신뢰할 수 있는 감지기가 필요하며, 개방형 실행은 자원 한도에서 끝난다. AELA 는 정책 엔트로피 수렴을 이용해 실행 구간을 늘리고, 학습된 중단 은 답변 수렴, 사고 종료 확률, 은닉 상태 분류기를 사용한다.출처: §21.2.4 · p. 406
21.2.5 난도 커리큘럼과 적응형 환경
챗봇–에이전트 평가 격차; 21.3.1 코드 실행 샌드박스; 샌드박스 탈출과 보안
- 안전하고 재현 가능한 에이전트 환경에는 격리 실행, 에피소드 상태 통제, 샌드박스 탈출에 대한 심층 방어가 필요하다.새 Docker 컨테이너는 에피소드별 격리를 제공하고 네트워크 접근, 파일시스템 쓰기, 프로세스 생성을 통제한다. 재현성을 확보하려면 결정론적이고 버전 관리되며 배포 가능한 환경이 필요하다. 심층 방어에는 seccomp, 읽기 전용 루트 파일시스템, 외부 송신 필터링, 자원 cgroups를 추가하며, 에이전트가 생성한 코드에 호스트 수준 권한을 절대 부여해서는 안 된다.출처: The Chatbot–Agent Evaluation Gap · p. 404, Sandbox Escape and Security · p. 407, §21.3.1 · p. 407
21.3.2 웹 환경; 21.3.3 컴퓨터 사용 환경
- 웹·데스크톱 환경은 다단계 상호작용, 시각적 그라운딩, 일반화를 테스트하며, 스크린샷 중심 인터페이스는 지각 병목을 만든다.WebArena [440]는 브라우저 워크플로를 테스트하고, VisualWebArena [188]는 시각적 그라운딩을 추가하며, Mind2Web [73]은 미관측 웹사이트를 대상으로 한다. OSWorld 는 데스크톱의 마우스·키보드 제어를 평가한다. 선택적 화면 주의, 접근성 식별자, 압축된 UI 상태 메모리는 스크린샷 병목을 완화한다.출처: §21.3.2 · p. 407, §21.3.3 · p. 408
21.3.4 소프트웨어 공학 환경; 21.3.5 과학 연구 환경
- 소프트웨어 공학·과학 연구 환경은 저장소 수정, 문헌 기반 추론, 자율 실험, 연산 예산 내 머신러닝 개선을 평가한다.SWE-bench [169]는 저장소 이슈와 별도로 보류한 테스트를 짝짓고, SWE-agent [404]는 Agent-Computer Interface를 통해 셸 상호작용을 단순화한다. PaperQA2 [245]는 문헌을 검색·인용하고, AI Scientist [240]는 실험을 수행하고 논문 초안을 작성하며, MLAgentBench [151]는 연산 예산 내 반복적인 모델 개선을 평가한다.출처: §21.3.4 · p. 408, §21.3.5 · p. 409
21.3.6 게임·시뮬레이션 환경; 21.3.7 다중 에이전트 환경
- 인간 정확도 ∼92%에 비해 출시 당시 플러그인을 사용한 GPT-4는 ∼15%, 후속 시스템은 ∼30%로, GAIA는 연쇄적 도구 사용의 격차를 드러낸다 [254].GAIA는 세 난도에 걸친 466개 질문을 포함한다. NetHack [196]은 장기 계획을 테스트하고, Voyager / Minecraft [362]는 점진적 커리큘럼과 재사용 가능한 스킬을 결합한다. 다중 에이전트 설정에는 DealOrNoDeal 과 CaSiNo [42]의 비공개 효용 기반 협상, 심판이 평가하는 상반된 입장의 토론이 포함된다.출처: §21.3.6 · p. 409, §21.3.7 · p. 409
21.4 OpenEnv: 표준화된 에이전트 환경 인터페이스
- OpenEnv 는 공통 reset/step/state 메서드, 강한 타입의 행동·관측, WebSocket을 통한 Docker 격리 실행으로 에이전트 환경을 표준화한다.동일한 클라이언트가 70+개 환경에서 Hugging Face Spaces와 로컬 Docker 배포를 지원한다. RFC 0025는 실행 시점의 행동 탐색을 제안하고, RFC 0036은 MCP 호환 도구 서버의 래핑을 제안한다. CLI는 환경의 기본 골격 생성, 빌드, 배포를 수행한다.출처: §21.4 · pp. 409–410, §21.4.1 · p. 410, §21.4.2 · pp. 411–412
21.4.4 환경 버전 관리와 재현성
- 벤치마크 무결성을 확보하려면 시맨틱 버전 관리, 콘텐츠 주소 기반 Docker 이미지, 시드가 지정된 난수, 리더보드 점수와 함께 남기는 환경 버전 기록으로 환경 동작을 고정해야 한다.확률적 요소에 시드를 지정하고 기록하면 궤적을 정확히 재생할 수 있으며, 버전이 부여된 리더보드 스냅샷은 벤치마크가 드러나지 않게 변하는 것을 막는다.출처: §21.4.4 · p. 412
21.6 환경–에이전트 인터페이스 패턴
- LLM–에이전트 인터페이스는 Gymnasium [355]을 텍스트 행동과 비동기 실행에 맞게 조정하고, 텍스트, 구조화된 JSON, 멀티모달 관측, 스트리밍 상호작용을 사용한다.텍스트는 어떤 LLM에도 대응한다. JSON은 검증과 구조화된 로깅을 가능하게 하지만 유효한 출력을 안정적으로 생성해야 한다. 스크린샷과 접근성 트리의 결합은 견고한 시각적 맥락과 요소 식별자를 제공한다. 스트리밍은 부분 관측과 실행 중 개입을 허용하지만 더 복잡한 에이전트 아키텍처가 필요하다.출처: §21.5.1 · p. 413, §21.6 · pp. 414–415
21.5.2 보상 함수 엔지니어링
- 실행 기반 검증기는 작업 성공 보상을 제공한다. 명확한 검증기가 없는 작업은 LLM 심판, 구조화된 평가표, 인간 판단으로 보정한 자동 대리 지표를 사용할 수 있다.최소 구성의 파일 편집 환경은 view, edit, run_tests, submit 행동으로 Gymnasium 방식의 코드 수정을 구현한다. 모든 테스트를 통과하면 보상은 1.0이고, 그렇지 않으면 0.0이다.출처: §21.5.2 · p. 413, Minimal Custom Environment for LLM… · p. 416
21.5.3 상태 관리와 체크포인트
- 장기 실행 환경은 전체 상태를 직렬화하고, 탐색을 재개할 수 있도록 에피소드 중간 체크포인트를 지원하며, 오프라인 분석과 보상 모델 학습을 위해 궤적을 기록해야 한다.상태 복원에는 파일시스템 내용, 브라우저 쿠키, 데이터베이스가 포함된다. 체크포인트를 사용하면 중간 단계에서 트리 탐색 방식으로 탐색할 수 있다.출처: §21.5.3 · p. 413
21.5.4 학습 데이터 수집을 위한 병렬화
- 학습 데이터 수집은 독립적인 환경 프로세스, 비동기 롤아웃 작업자, 벡터화된 단계 실행, 중앙 리플레이 버퍼를 공유하는 클러스터 분산 작업자로 확장한다.비동기 작업자는 추론 대기 시간 동안 환경을 실행하고, 벡터화된 환경은 단계를 배치 처리해 Python 오버헤드를 분산한다.출처: §21.5.4 · p. 413
21.7.3 환경 간 일반화
- 일반화 평가는 환경 수준의 학습/테스트 분리가 필요하며, 순차적으로 학습한 환경 전반에서 제로샷 전이, 퓨샷 적응, 기존 역량 유지를 측정한다.학습에서 제외한 평가는 서로 다른 웹사이트, 작업 유형, 난도를 포괄해야 한다. 전이 평가 절차는 미세조정 없이 테스트하거나, 목표 환경의 시연을 제공하거나, 순차 학습 후 모든 환경에서 성능을 측정한다.출처: §21.7.3 · p. 415, §21.7.2 · p. 415
21.7.4 인간 기준 성능 수집
- 평가는 확률적 실행의 반복과 인간 전문가 기준 성능을 결합해 불확실성, 작업 해결 가능성, 에이전트 성능, 시간 효율성을 평가해야 한다.결정론적 환경은 재현을 쉽게 하지만 현실의 변동성을 놓칠 수 있다. 확률적 벤치마크는 보통 작업당 3–5회 실행으로 평균 성능과 신뢰구간을 추정한다. 해당 분야 인간 전문가의 기준 성능은 모호하거나 불가능한 작업을 드러내고, 에이전트 점수의 해석 기준을 제공하며, 작업 소요 시간 측정도 포함한다.출처: §21.7.4 · pp. 415–416, §21.7.1 · p. 415, How Many Runs Are Enough? · p. 415
LLM 에이전트 학습을 위한 최소 구성의 사용자 정의 환경
- 최소 구성의 Gymnasium 방식 파일 편집 환경은 코드 보기·편집·테스트·제출을 지원하며, 이진 테스트 보상과 별도의 종료·중단 조건을 둔다.테스트를 통과하면 1.0을 받고, 그렇지 않으면 보상은 0.0이다. 성공하거나 제출하면 에피소드가 종료되고, MAX_STEPS에 도달하면 중단된다.출처: Minimal Custom Environment for LLM… · pp. 417, 419
예제 환경의 설계 결정
- 일반 문자열 인터페이스, 실행 기반 보상, 시간제한으로 격리한 테스트 하위 프로세스, Gymnasium 호환 생명주기 메서드 덕분에 예제 환경을 LLM과 RL 프레임워크에서 사용할 수 있다.보상은 LLM 심판이 아닌 실제 테스트에서 나오며, 하위 프로세스의 시간제한은 무한 루프가 학습 루프를 중단시키는 것을 막는다.출처: Design Decisions in the Example… · p. 419
21.9 주요 에이전트 환경 비교
- OSWorld의 인간 72% 대 최고 성능 LLM 18%는 SWE-bench의 인간 100% 대 최고 성능 LLM 50%와 대조된다.본문은 이를 각각 가장 큰 인간–에이전트 격차와 가장 작은 격차로 제시하며, 풍부한 코드 학습 데이터와 제한적인 스크린샷 상호작용 데이터의 차이로 설명한다. 에이전트는 대부분의 벤치마크에서 인간 성능의 20–50%를 달성하며, GUI 제어보다 코드에서 더 빠르게 발전한다.출처: Table 21.2 · p. 419, §21.9 · pp. 419–420
- 구조화된 환경은 안전한 탐색, 재현 가능한 평가, 커리큘럼 학습을 가능하게 하지만, 상호 보완적인 역량 영역에 걸쳐 관측·행동·보상·에피소드를 신중히 설계해야 한다.하나의 환경으로 모든 역량을 다룰 수는 없다. OpenEnv 는 Gymnasium 방식 API, Docker 격리, Hugging Face Spaces 레지스트리를 표준화해 환경 구축과 에이전트 비교 비용을 줄인다.출처: §21.9 · p. 420
에이전트 환경의 미해결 연구 문제
- 미해결 연구 문제로는 주관적 보상, 작업별 미세조정 없는 모달리티 간 일반화, 시뮬레이터에서 배포 환경으로의 전이, 학습 말뭉치에 포함된 벤치마크 해답으로 인한 오염이 있다.전이 문제에는 학습에 적합한 환경 충실도를 결정하는 일도 포함된다.출처: Open Research Questions in Agentic… · p. 420
21.10.1 새롭게 등장하는 벤치마크(2026)
- UniClawBench 는 격리된 Docker 컨테이너의 이중 언어 작업 400개를 통해, 감독자와 사용자가 주입하는 마찰에 대한 상호작용 회복탄력성을 테스트한다.플랫폼 간 조정을 포함한 다섯 기능 영역에서 숨겨진 감독자와 모의 사용자가 모호성, 요구사항 변경, 부분 실패를 유발한다. Long-Horizon-Terminal-Bench 는 21개 영역의 수시간짜리 작업 46개에서 중간 진척을 채점하며, 최상위 모델도 약 15개의 터미널 명령을 연속 수행한 뒤에는 경로를 이탈하기 쉽다는 점을 드러낸다.출처: §21.10.1 · p. 420
모델 컨텍스트 프로토콜(MCP) … 에이전트 간 통신(A2A)
이 절에서는 도구·리소스 통합을 위한 MCP, 재사용 가능한 에이전트 역량을 구성하는 스킬, 전문 에이전트 간 협업을 위한 A2A를 살펴본다. 각 인터페이스, 구현 패턴, 결합 아키텍처와 함께 보안·관측 가능성 요구사항, 아직 해결되지 않은 표준화·조정·프라이버시·확장 문제를 다룬다.
표준화가 중요한 이유
- 프레임워크 20개와 제공자 50개를 가정한 예시에서 MCP는 필요한 구현 수를 14× 줄인다. 맞춤형 커넥터 1,000개를 프로토콜 구현 70개로 대체한다.양쪽에 공통 프로토콜을 구현하면 통합 부담이 맞춤형 커넥터 N*M개에서 프로토콜 구현 N+M개로 바뀐다.출처: Why Standardization Matters · p. 421
22.2.2 전송 계층
- MCP는 로컬 자식 프로세스 서버에 stdio를, 원격 서비스에 JSON 응답이나 점진적 SSE 스트림을 제공하는 Streamable HTTP를 지원한다.stdio는 네트워크 설정 없이 별도 프로세스를 통한 격리를 제공한다. Streamable HTTP는 서버 푸시와 표준 웹 인프라를 지원하며, 2025-03-26 개정에서 기존 HTTP+SSE 전용 전송 방식을 대체했다.출처: §22.2.2 · p. 423
22.2.3 프로토콜 수명주기
- MCP 연결은 초기화, 양측이 지원하는 기능 협상, 작업 요청과 알림 교환을 거쳐 정상 종료된다.오류에는 숫자 코드를 사용하며, 취소는 오류 응답이 아니라 notifications/cancelled로 전달한다. 장기 실행 요청은 progressToken을 포함해 notifications/progress로 주기적인 진행 상황을 알릴 수 있다.출처: §22.2.3 · p. 423, MCP Error Codes · p. 427, §22.4.4 · p. 427
22.2.4 상태 유지 세션과 무상태 요청
- 상태 유지 세션은 일회성 기능 협상, 서버 컨텍스트 유지, 리소스 변경 구독, 진행 상황 보고를 가능하게 하지만 연결 복구 관리가 필요하다.서버는 데이터베이스 트랜잭션이나 파일 잠금 등의 컨텍스트를 유지할 수 있다. 재연결 로직과 세션 복구는 무상태 API에는 없는 추가 책임이다.출처: §22.2.4 · pp. 423–424
22.2 아키텍처 개요
- MCP 호스트는 서버와 일대일 상태 유지 연결을 맺는 클라이언트를 관리하고, 경량 서버는 외부 서비스에 기반한 기능을 노출한다.호스트는 서버를 선택하고 보안 정책을 적용한다. 클라이언트와 서버는 JSON-RPC 2.0 으로 통신한다. 코딩 어시스턴트는 표준화된 MCP 호출로 파일을 읽고, 이슈를 가져오고, 데이터베이스 로그를 조회할 수 있다.출처: MCP Host · p. 422, Concrete Example: A Coding Assistant · p. 423, Figure 22.2 · p. 424
22.3 핵심 기본 요소
- MCP는 모델이 호출하는 도구, 호스트가 읽는 리소스, 재사용 가능한 프롬프트 템플릿, 서버가 요청하고 호스트가 제어하는 샘플링을 구분한다.리소스에는 URI가 있으며, 반응형 에이전트를 위한 변경 구독을 지원한다. 샘플링을 통해 서버는 자체 모델을 배포하지 않고도 클라이언트 측 LLM 추론을 요청할 수 있으며, 요청 수락 여부는 호스트가 결정한다.출처: §22.3.1 · p. 424, §22.3.4 · p. 425, §22.3.2 · p. 425
22.5.3 도구 어노테이션
- 도구 어노테이션은 읽기 전용 동작, 파괴적 작업, 멱등성, 외부 상호작용을 기술해 호스트의 도구 실행 방식 결정을 돕는다.호스트는 읽기 전용 도구를 자동 승인할 수 있지만, 되돌릴 수 없는 작업에는 명시적 확인을 요구해야 한다. 멱등성은 재시도의 안전성을 나타내며, openWorldHint는 서버의 직접적인 통제를 벗어난 상호작용을 나타낸다.출처: §22.5.3 · pp. 428–429
22.5 도구 정의와 탐색
- 구체적인 도구 이름과 설명은 LLM의 선택을 유도하며, 동적 등록은 세션 중 사용 가능한 도구를 갱신한다.설명에는 도구가 하는 일과 하지 않는 일을 명시해야 한다. 모호한 설명은 잘못된 선택, 도구 누락, 환각에 의한 호출을 초래한다. 도구는 JSON Schema로 매개변수를 정의하며, 목록 변경 알림은 tools/list 갱신을 유발한다.출처: §22.3.1 · p. 424, §22.5.2 · p. 428, Tool Descriptions Are Critical · p. 429
도구 설명의 중요성
- 도구 설명은 사용 시점, 출력 형식, 한계를 명시하고 동작을 이해하기 어렵게 만드는 전문용어를 피해야 한다.이러한 설명은 도구 선택을 유도하고 LLM의 결과 해석을 도우며 오용을 방지한다.출처: Tool Descriptions Are Critical · p. 429
22.6 보안 모델 / 호스트(최고 신뢰 수준) / 22.6.3 입력 검증과 정제
- MCP 보안에서는 호스트에 정책 통제권을, 클라이언트에 응답 검증 책임을 부여한다. 서버에는 조건부 신뢰를 부여하고 외부 서비스에는 프로토콜 수준의 신뢰를 부여하지 않는다.클라이언트는 서버 응답을 정제하고, 서버는 외부 데이터를 검증·정제한다. 서버는 실행 전에 모든 입력이 선언된 JSON Schema에 부합하는지도 검증해야 한다.출처: Host (highest trust) · p. 429, §22.6.3 · p. 430
22.6.2 사용자 동의 / 리소스를 통한 프롬프트 인젝션
- MCP는 도구 실행에 명시적 사용자 동의를 요구하며, 실행 계기와 관계없이 파괴적 작업에는 확인을 요구한다.호스트는 도구 동작을 설명하고, 어노테이션으로 읽기 전용 작업과 파괴적 작업을 구분하며, 도구 호출 감사 로그를 유지하고 언제든 권한을 철회할 수 있게 해야 한다.출처: §22.6.2 · p. 429, Prompt Injection via Resources · p. 430
리소스를 통한 프롬프트 인젝션
- 악성 MCP 리소스는 LLM 컨텍스트에 지시를 주입할 수 있다. 완화책으로는 콘텐츠를 신뢰할 수 없다고 표시하기, 지시와 데이터 분리하기, 리소스 콘텐츠 필터링이 있다.이 공격은 문서나 웹페이지에 LLM이 따를 수 있는 지시가 삽입되어 있을 때 발생한다.출처: Prompt Injection via Resources · p. 430
22.6.4 자격 증명 관리 / 22.6.5 샌드박싱 전략
- 안전한 MCP 배포는 최소 권한 자격 증명에 프로세스 또는 컨테이너 격리와 읽기 전용 파일시스템을 결합한다.OAuth 2.0은 호스트가 안전하게 관리하는 토큰으로 사용자 위임 접근을 지원한다. 운영 환경에서는 전용 비밀정보 관리 도구를 사용하고 최소한의 권한만 요청해야 한다. 프로세스 권한과 컨테이너 기능을 제한하고, 컨테이너의 내부 서비스 접근을 차단하며, 필요할 때만 파일시스템 쓰기를 허용해야 한다.출처: §22.6.4 · p. 430, §22.6.5 · p. 430
22.7.1 Python으로 MCP 서버 구축 / 22.7.3 여러 서버에 동시 연결
- FastMCP는 도구 스키마를 추론하고 전송과 리소스 라우팅을 관리하며, 다중 서버 호스트는 연결을 풀링하고 등록된 도구를 적절한 서버로 라우팅한다.도구 스키마는 Python 타입 힌트와 독스트링에서 도출된다. 리소스 데코레이터는 URI 기반 라우팅을 제공하고, 서버 실행 설정에서 stdio 또는 Streamable HTTP를 선택한다.출처: §22.7.1 · p. 432, §22.7.3 · p. 433
22.7.2 MCP 클라이언트 구축 / 22.7.4 오류 복구와 재연결
- MCP 클라이언트는 세션을 초기화하고, 도구를 탐색·호출하며, 리소스 목록을 조회한다. 운영용 클라이언트는 서버 충돌과 네트워크 중단에서 복구할 수 있어야 한다.제공된 연결 복원 코드 예제는 재시도 로직을 보여준다.출처: §22.7.2 · p. 432, §22.7.4 · p. 434
22.8 MCP 생태계 / 주요 MCP 서버(공식 및 커뮤니티) / 22.8.2 운영 애플리케이션의 MCP
- MCP 서버는 파일시스템, 개발 도구, 데이터베이스, 웹 접근, 통신, 영속 메모리, 추론을 아우르며 Claude Desktop, Cursor, VS Code에 통합된다.Claude Desktop은 연결된 서버의 도구를 여러 대화에서 사용할 수 있게 하며, Cursor와 VS Code의 GitHub Copilot은 코딩 어시스턴트를 개발 도구 및 프로젝트별 데이터에 연결한다.출처: Notable MCP Servers (Official and… · p. 435, §22.8.2 · p. 435
22.9.1 MCP와 맞춤형 통합의 선택 기준 / 22.9.2 전환 경로
- 맞춤형 통합은 엄격한 지연 시간 요구사항, 특이한 도구 인터페이스, 의존성을 최소화한 프로토타이핑에 적합하다. OpenAI 함수 호출에서 전환할 때는 도구 매개변수 스키마를 유지한다.전환 시 Python 또는 TypeScript SDK로 도구 구현을 MCP 서버에 감싼다. langchain-mcp-adapters 패키지는 LangChain의 BaseTool 인터페이스와 MCP 도구 정의를 자동으로 상호 변환한다.출처: §22.9.1 · p. 436, §22.9.2 · p. 436, §3 · p. 436
22.10.1 RL 환경 인터페이스로서의 MCP 서버
- SWE-bench를 MCP 환경으로 구현하면 MCP 호환 RL 프레임워크가 맞춤형 환경 코드 없이 학습할 수 있다.도구는 파일 작업, 테스트, 패치, 검색 기능을 노출하고, 리소스는 파일 트리, 실패한 테스트, 이슈 설명을 노출한다. 보상은 변경 후 통과한 테스트의 비율이며, 초기화 도구로 에피소드 사이에 초기 환경을 복원할 수 있다.출처: §22.10.1 · p. 437
22.10.2 MCP를 통한 표준화된 행동 공간
- MCP는 이질적인 도구 집합을 표준화된 행동 공간으로 추상화한다. 정책은 사용 가능한 행동을 조건으로 삼아 새로운 도구에 제로샷 일반화를 할 수 있다.JSON Schema는 도구 매개변수를 표현해 신뢰할 수 있는 파싱·생성과 체계적인 탐색을 지원한다. 이 장은 해당 인터페이스를 행동 정의, 궤적 수집, 여러 환경에 걸친 학습된 에이전트 배포를 위한 인프라로 제시한다.출처: §22.10.2 · p. 437, §22.11 · p. 439
22.10.3 SFT를 위한 도구 사용 궤적 기록
- MCP는 도구 사용 궤적을 기록하고 지도 미세조정을 위한 지시 이행 예제로 변환하는 기능을 지원한다.기록에는 도구 이름, 인자, 결과, 소요 시간, 오류 상태가 포함된다. 변환된 예제는 성공 여부, 총보상, 도구 호출 횟수를 메타데이터로 유지한다.출처: §22.10.3 · pp. 437–439
도구 사용 에이전트를 위한 범용 Gym으로서의 MCP
- MCP는 범용 학습 인터페이스가 될 수 있지만, 보상 인코딩, 에피소드 초기화, 구조화된 관측 스키마, 호환 벤치마크 모음은 여전히 해결 과제로 남아 있다.세션은 에피소드에 자연스럽게 대응하지만 초기화 의미 규정은 표준화가 필요하다. 표준 보상 필드와 MCP 호환 코딩·웹 탐색·데이터 분석 벤치마크는 즉시 연결해 활용할 수 있는 학습과 연구를 지원할 수 있다.출처: MCP as a Universal Gym for Tool-Using… · p. 439
22.11 요약
- MCP는 상태 유지 세션, 리소스 스트리밍, 서버 푸시, 역방향 샘플링을 지원하는 표준화된 다중 공급업체 인터페이스를 통해 통합 수를 N × M에서 N + M으로 줄인다.설계에는 JSON-RPC 2.0, 도구, 리소스, 프롬프트, 샘플링, 보안 모델이 결합된다. 비교표는 설정 복잡도를 중간으로 평가하고 공급업체 종속성이 없다고 명시한다. MCP는 여러 제공자를 아우르거나 다른 이와 공유하는 도구에 적합하며, 단일 제공자에 긴밀히 결합된 시스템은 맞춤형 통합이 더 적합할 수 있다.출처: MCP vs. Alternative Tool Integration… · p. 436, §22.9.1 · p. 436, §22.11 · p. 439
23.1 스킬이란?
- 스킬은 도메인 지시, 도구 바인딩, 참조 지식, 워크플로 로직, 작업별 가드레일을 묶어 단일 도구 함수의 범위를 넘어선다.지시는 에이전트 컨텍스트를 보강하고, 바인딩은 필요한 도구를 제공하며, 지식은 참조 자료나 시연을 제공한다. 워크플로는 다단계 실행을 안내하고, 가드레일은 안전성, 출력 형식, 검증에 관한 제약을 설정한다.출처: §23.1 · p. 441
23.2.1 정적 스킬 로딩 / 23.2.2 동적 스킬 탐색
- 정적 스킬 로딩은 단순하고 지연 시간이 짧지만 컨텍스트를 낭비한다. 동적 탐색은 라이브러리를 효율적으로 확장하지만 라우팅 오류와 지연을 유발한다.정적 로딩은 설정된 스킬을 초기화 시점부터 사용할 수 있게 하지만 수백 개 스킬로 확장하기는 어렵다. 동적 탐색은 주로 경량 분류기나 임베딩 기반 매처를 라우터로 사용해 작업 관련 스킬을 활성화한다.출처: §23.2.1 · p. 442, §23.2.2 · p. 442
23.2.3 계층형 스킬 조합 / 23.4 스킬 수명주기
- 계층형 스킬은 실행 전에 오케스트레이터가 의존 관계를 해소하는 의존성 DAG를 구성하며, 상위 스킬이 범위가 좁은 하위 스킬을 호출할 수 있게 한다.수명주기는 사용 가능한 스킬을 탐색하고, 관련 스킬을 매칭·로딩한 뒤, 해당 기능을 실행하는 과정으로 시작한다. 범위가 좁고 명확히 정의된 스킬이 포괄적인 스킬보다 조합하기 쉽다.출처: §23.2.3 · p. 442, §23.4 · p. 444, Anthropic’s Key Insight · p. 444
23.3.3 증강 LLM / 23.4 스킬 수명주기 / 23.6 스킬과 미세조정
- 스킬은 증강 LLM의 검색, 도구, 메모리를 구성한다. 미세조정은 기본 역량을 제공하고 실행 시점의 스킬은 작업별 전문성을 더한다.활성화는 스킬 프롬프트, 도구, 지식을 컨텍스트에 주입하고, 비활성화는 해당 컨텍스트를 제거해 공간을 확보한다. 실행 결과로 퓨샷 예제를 갱신하거나 라우팅을 미세조정할 수 있다.출처: §23.3.3 · p. 443, §23.3.1 · p. 443, §23.4 · p. 444
Anthropic의 핵심 통찰 / 23.3.1 핵심 원칙
- Anthropic의 접근법 은 단순한 에이전트 루프를 선호하며, 정교한 오케스트레이션보다 모델 역량, 도구 설명, 작업 정의 방식에 지능을 둔다.에이전트 패턴을 도입하기 전에 더 단순한 해법을 시도해야 한다. 워크플로는 사전에 정의된 예측 가능한 제어 흐름을 사용한다. 반면 에이전트는 모델이 도구, 반복 횟수, 중단 기준을 선택하므로 유연성은 높지만 통제 가능성은 낮다.출처: §23.3 · p. 442, §23.3.1 · pp. 442–443, Anthropic’s Key Insight · pp. 443–444
전문화의 필요성
- 전문 에이전트는 도메인 전문성, 제한된 컨텍스트, 병렬 실행, 장애 격리, 위임을 통한 작업 인계를 결합해 범용 에이전트의 폭과 깊이 사이의 긴장을 해소한다.오케스트레이터는 상위 수준 상태를 유지하면서 하위 작업을 라우팅하고 필요한 컨텍스트만 전달한다. 독립적인 하위 작업은 동시에 실행한다. 실패 시 다른 에이전트나 더 단순한 대체 방식으로 전환하거나 사람에게 이관할 수 있다.출처: The Specialization Imperative · p. 446
A2A 설계 원칙 / A2A 통신의 핵심 요구사항
- A2A 프로토콜 은 내부를 노출하지 않는 원격 실행, 멀티모달 메시지, 통합 보안, 기존 전송 표준, 비동기 작업 모델을 결합한다.HTTP/HTTPS 기반 JSON-RPC 2.0, SSE 스트리밍, 대안인 gRPC 바인딩을 사용하며, 인증과 감사 로깅을 프로토콜에 통합한다. 디버깅과 감사를 위해 통신을 추적할 수도 있어야 한다.출처: A2A Design Principles · p. 447, §24.2 · p. 447, Core Requirements for A2A Communication · p. 447
24.2.2 Agent Card / Agent Card 구조 / 23.5 스킬 레지스트리와 마켓플레이스 / 스킬 매니페스트 예제
- Agent Card는 기능, 인증, 작업 엔드포인트를 공개해 하드코딩된 분배 로직 없이 의미 기반의 기능 라우팅을 가능하게 한다.이 JSON 매니페스트는 /.well-known/agent.json에 위치한다. 스킬 인프라에도 기능 및 입출력 매니페스트, 버전 고정, 권한 경계가 필요하지만, 스킬 매니페스트에는 업계 표준 스키마가 없다.출처: §23.5 · p. 444, Skill Manifest Example · p. 444, §24.2.2 · p. 447
24.2.3 작업 수명주기
- A2A는 작업을 submitted, working, input-required, completed, failed, rejected, canceled 상태로 진행하는 태스크로 표현한다.input-required는 정보 부족으로 진행이 일시 중지된 상태이고, failed는 복구 불가능한 오류를, rejected는 에이전트가 작업을 거절했음을 뜻한다. working 상태의 작업은 폴링이나 SSE 이벤트로 모니터링할 수 있다.출처: §24.2.3 · pp. 448–449
24.2.4 서버 전송 이벤트를 통한 스트리밍 / 24.2.5 장기 실행 작업을 위한 푸시 알림
- A2A는 SSE로 출력을 점진적으로 스트리밍하며, 푸시 알림과 폴링으로 연결을 열어 두지 않고도 장기 실행 작업을 지원한다.SSE는 지속적인 HTTP 연결로 작업 상태와 산출물 갱신을 전달한다. 작업이 수분이나 수시간 걸리면 연결을 계속 열어 두는 방식은 비현실적이다.출처: A2A Design Principles · p. 447, §24.2.4 · p. 449, §24.2.5 · p. 449
24.5.2 멀티모달 메시지
- A2A 메시지는 사용자 또는 에이전트 역할에 타입이 지정된 텍스트·파일·데이터 파트를 결합해 일반 텍스트부터 타입이 지정된 JSON 스키마까지 교환할 수 있게 한다.FilePart는 모든 MIME 타입을 지원해 멀티모달 워크플로를 가능하게 한다.출처: §24.2.6 · p. 450, §24.5.1 · p. 453, §24.5.2 · p. 453
24.2.7 인증과 인가
- A2A는 Agent Card에 인증 방식을 선언하고 요청마다 적용하며, 권한 상승을 방지하기 위해 인가 범위를 요구한다.지원 방식에는 범위가 지정된 JWT/OAuth 2.0 Bearer 토큰, 신뢰할 수 있는 환경의 API 키, 높은 보안 수준이 필요한 배포의 mTLS, 연합 신원을 위한 OpenID Connect가 있다.출처: §24.2.7 · p. 450, Authorization Scope Enforcement · p. 450
24.3 통신 패턴
- 완성된 문서를 기다리는 대신 스트리밍으로 문서 작성과 검토를 겹쳐 수행하면 총 지연 시간이 40–60% 줄어든다고 주장한다.요청-응답 방식은 완료를 기다리지만, SSE는 부분 결과를 스트리밍해 순차적으로 활용할 수 있게 한다. 다중 턴 작업은 명확화가 필요할 때 일시 중지했다가 재개하며, 등록된 웹훅은 장기 실행 작업의 상태 갱신을 수신한다.출처: §24.2.5 · p. 449, §24.3.2 · p. 450, §24.3.1 · p. 450
- 브로드캐스트는 여러 에이전트에 공통 메시지를 보내고, 발행-구독은 이벤트 채널 구독자에게 알림을 보내 생산자와 소비자를 분리한다.협상은 제안과 역제안을 교환해 목표나 제약을 조율한다. 경매 기반 할당은 예상 완료 시간, 신뢰도, 비용에 관한 입찰을 바탕으로 작업을 배정해 동적 부하 분산을 가능하게 한다.출처: §24.3.4 · p. 451, §24.3.5 · p. 451, §24.3.6 · p. 451
24.4 에이전트 탐색과 라우팅
- 기능 기반 라우팅은 에이전트 URL을 하드코딩하는 대신 Agent Card 레지스트리에서 필요한 스킬을 조회하고 일치하는 에이전트를 선택한다.중앙집중형 레지스트리는 운영이 단순하지만 단일 장애점과 조직 간 확장 한계가 생긴다. 연합형 레지스트리는 복원력과 프라이버시를 높이지만 표준화된 연합 프로토콜이 필요하다.출처: §24.4.2 · p. 452, §24.4.1 · p. 452
- 라우터는 라운드 로빈 분배, 최소 활성 작업 수, 최저 최근 응답 시간, 캐시된 컨텍스트를 유지하는 친화성을 기준으로 동등한 에이전트 사이의 부하를 분산한다.오케스트레이터는 Agent Card의 최소 버전을 요구하고 문제가 생겨도 기능을 점진적으로 축소하며 동작해야 한다. 시맨틱 버저닝 은 호환성을 깨는 인터페이스 변경 시 MAJOR를, 새 기능 추가 시 MINOR를 올린다. 버전 차이에 대응하려면 하위 호환 메시지 처리와 명시적인 버전 간 테스트가 필요하다.출처: §24.4.3 · p. 453, §24.4.4 · p. 453, Version Skew in Long-Running Systems · p. 453
24.5.3 컨텍스트 전달: 공유할 정보와 비공개로 유지할 정보
- 컨텍스트 범위 제한은 하위 에이전트 입력을 필요한 정보나 구조화된 요약으로 한정하고, 상관관계 ID는 행동을 원래 워크플로에 연결한다.내부 추론, 중간 초안, 사용자의 개인 식별 정보는 명시적으로 필요한 경우가 아니면 일반적으로 비공개로 유지한다. 상관관계 ID는 여러 에이전트에 걸친 관련 작업을 연결하고 로그와 감사 추적을 지원한다.출처: Context Scoping Principles · p. 455, §24.5.4 · p. 455
24.6.1 Contract Net Protocol
- Contract Net Protocol 은 공고, 수행자 입찰, 관리자의 선정, 실행과 보고를 통해 작업 할당을 조정한다.입찰에는 수행자의 역량에 따른 예상 완료 시간, 신뢰도, 자원 요구사항이 담긴다. 관리자는 병렬 하위 작업에 여러 입찰을 선정할 수 있다.출처: §24.6.1 · p. 456
24.6 조정 메커니즘
- 조정 메커니즘에는 공유 블랙보드, 실행 중 리더 선출, 다수결·가중·정족수·델파이 투표가 있다.블랙보드는 부분 해법, 관측, 가설을 모아 기회에 따른 기여를 가능하게 한다. 변형된 Bully 또는 Ring 알고리즘은 역량이나 우선순위에 따라 가용 리더를 선출한다. 다수결에는 오류 상관성의 위험이 있고, 가중 투표에는 보정된 신뢰도가 필요하다. k-of-n 정족수는 n − k개의 실패나 의견 불일치를 허용하며, 델파이 반복은 익명 피드백으로 앵커링을 줄인다.출처: §24.6.2 · p. 457, §24.6.3 · p. 457, §24.6.4 · p. 458
핵심 차이
- MCP 는 결정론적 도구에 대한 수직적 접근을 제공하고, A2A는 추론·계획·도구 사용이 가능한 에이전트 사이의 수평적 통신을 제공한다.MCP는 일반적으로 무상태 호출과 도구 매니페스트를 사용한다. A2A는 상태 유지 작업 수명주기, 핵심 기능으로서의 SSE 스트리밍, Agent Card, 상호 OAuth 2.0 인증을 지원한다.출처: The Core Distinction · p. 458, §24.7 · p. 458
24.7.1 선택 기준
- 결정론적 원격 함수에는 MCP를, 원격 엔드포인트가 모호함을 해석하고 판단을 내리거나 도구를 사용하고 대화를 이어가야 할 때는 A2A를 선택한다.둘은 함께 사용할 수 있다. 오케스트레이터는 A2A로 전문가에게 작업을 위임하고, 전문 에이전트는 MCP로 도구에 접근한다.출처: §24.7.1 · p. 458
24.7.2 결합 아키텍처
- 결합 아키텍처는 전문가 위임에 A2A를, 각 전문 에이전트의 도구에 MCP를 사용해 별도의 신뢰 경계와 독립적인 확장을 유지한다.각 전문 에이전트는 자체 Agent Card를 가진 독립 서비스이며, 다른 에이전트는 해당 도구에 직접 또는 간접적으로 접근할 수 없다. 전문 에이전트 인스턴스는 작업량에 따라 확장되고 오케스트레이터는 경량으로 유지된다.출처: Figure 24.1 · p. 459, §24.7.2 · p. 459
24.8 다중 에이전트 시스템의 보안과 신뢰
- 에이전트 신원에는 서명된 JWT, mTLS 인증서, 탈중앙 식별자 를 사용할 수 있으며, 전송 암호화와 메시지 수준 보호를 병행한다.JWT에는 신원, 발급자, 만료 시점이 담긴다. mTLS는 전송도 암호화하며, DID는 단일 신뢰 기관 없이 조직 간 환경에 대응한다. TLS 1.3 은 A2A 전송을 보호하고, JWE는 중개자로부터 민감한 페이로드를 숨기며, JWS는 발신자의 부인 방지를 지원한다.출처: §24.8.1 · p. 459, §24.8.2 · p. 460
책임 추적의 공백
- OAuth 2.0 인가 범위 [133]는 위임된 행동을 제한하고, 상호작용별 감사 로그는 위임 사슬 전반의 책임 추적성을 유지한다.모든 A2A 상호작용은 사고 대응, 규정 준수, 디버깅을 위해 호출자 신원, 작업 설명, 인가 토큰, 타임스탬프, 결과를 기록해야 한다.출처: §24.8 · p. 459, §24.8.3 · p. 460, The Accountability Gap · p. 460
24.9 구현 예제: 다중 에이전트 연구 워크플로
- 연구 워크플로는 오케스트레이터가 질문을 분해하고 A2A로 전문 에이전트에 위임한 뒤 결과를 종합하는 과정을 보여준다.예제는 Agent Card, 클라이언트/서버 통신, 작업 수명주기, 다중 턴 상호작용, 에이전트 간 작업 인계를 다룬다. JSON-RPC 2.0, gRPC와 함께 A2A v1.0의 세 가지 바인딩으로 명시된 HTTP+JSON/REST를 사용한다.출처: §24.9 · pp. 461–462
- 연구 오케스트레이터는 질문을 분해하고 하위 질문을 병렬로 배정한 뒤 완료를 기다리며, 실패 여부를 확인하고 최종 보고서를 종합한다.문헌 검색은 임시 구현이며, 운영 환경에서는 실제 검색 API를 호출하도록 구현해야 한다.출처: §24.9 · pp. 464–466
핵심 요점: 에이전트 간 통신
- A2A는 에이전트 간 작업 라우팅으로 대규모 전문화를 가능하게 하며, MCP의 에이전트-도구 연결을 보완한다.Google의 운영 환경에 사용할 수 있는 개방형 A2A 표준은 Agent Card, 작업 수명주기 관리, SSE 스트리밍, 기업용 인증을 제공한다.출처: Key Takeaways: Agent-to-Agent… · pp. 466–467
- 통신은 요청-응답부터 협상과 경매까지 다양하며, Contract Net, Blackboard, Consensus는 단순 위임을 넘어 집단 의사결정을 구조화한다.통신 패턴은 작업 복잡도와 지연 시간 요구사항에 따라 선택해야 한다.출처: Key Takeaways: Agent-to-Agent… · p. 467
- 다중 에이전트 배포에서는 에이전트와 도구를 가로지르는 워크플로의 디버깅과 감사를 위해 신원 검증, 인가 범위, 감사 추적, 상관관계 ID가 필요하다.출처: Key Takeaways: Agent-to-Agent… · p. 467
A2A의 미해결 연구 질문
- 미해결 조정 문제로는 상충하는 계층적 지시, 경험 기반 라우팅과 위임, 수백·수천 에이전트에 걸친 일관된 전역 상태가 있다.확장의 난제는 병목이나 일관성 위반 없이 정합성을 유지하는 것이다. 학습된 위임은 정적인 기능 선언을 넘어서는 접근이다.출처: Open Research Questions in A2A · p. 467
- 미해결 보안·프라이버시 문제는 에이전트 메시지를 통한 프롬프트 인젝션 방지와 하위 에이전트에 공유되는 대화 이력의 경계를 기술적으로 강제하는 방법이다.출처: Open Research Questions in A2A · p. 467
다중 에이전트 시스템 … 4. 낙찰 에이전트가 실행하고 결과를 보고한다
LLM 기반 다중 에이전트 시스템은 중앙집중형, 분산형, 계층형, 군집형 아키텍처를 통해 전문화, 병렬 실행, 검증, 집단적 문제 해결을 결합한다. 이 절에서는 조정 패턴, 통신 메커니즘, 학습 접근법을 살펴보고, 자기 진화 에이전트의 위험을 비롯해 확장성, 비용, 내결함성, 평가, 안전성과 관련된 실무 과제를 다룬다.
25.1 동기: 왜 여러 에이전트가 필요한가?
- 전문화된 에이전트 팀은 상호 보완적 역량, 병렬 실행, 중복 검증, 창발적 집단 문제 해결을 통해 복잡한 작업에서 범용 에이전트보다 우수한 성능을 낼 수 있다.서로 다른 모델, 프롬프트, 도구로 전문화할 수 있다. 검증에는 비판적 검토와 독립적인 재도출이 포함되며, 토론과 협상은 집단적 개선을 뒷받침한다.출처: §25.1 · p. 468
25.2.1 중앙집중형(총괄/관리자) 아키텍처
- 중앙 총괄 에이전트는 작업을 분해하고 위임하며 결과를 취합해 제어와 책임 소재를 단순화하지만, 단일 장애점, 병목, 컨텍스트 윈도 크기 제약을 초래한다.LangGraph 예제는 계획, 코딩, 테스트, 검토 노드를 등록하며, 각 작업 에이전트는 총괄 에이전트로 제어권을 반환한다. 관리자가 전역 상태를 유지하므로 관리자의 컨텍스트 윈도 크기가 확장성을 제약한다.출처: §25.2.1 · p. 469, Supervisor Pattern in LangGraph · p. 470
25.2.2 분산형(피어 투 피어) 아키텍처
- 분산형 에이전트는 동료 간 직접 상호작용으로 조정해 복원력과 확장성을 높이지만, 디버깅, 상태 일관성 유지, 통신을 복잡하게 만든다.단순한 메시지 전달 방식에서는 O(n^2)의 조정 오버헤드가 발생한다. 에이전트마다 파악한 상태가 다르면 충돌이 생길 수 있으며, 전역 일관성을 보장하기 어렵다.출처: §25.2.2 · p. 470, Decentralized Architecture Trade-offs · p. 471
25.2.3 계층형 아키텍처
- 계층형 아키텍처는 영역별 하위 관리자와 전문 작업 에이전트에 관리 기능을 분산하고, 권한과 맥락은 아래로, 결과는 위로 전달하며, 미해결 문제는 상위 보고 경로로 넘긴다.영역별 맥락은 최상위 오케스트레이터의 인지 부담을 줄인다. 각 에이전트는 직속 상위·하위 에이전트만 알면 된다.출처: §25.2.3 · p. 471
25.2.4 군집 아키텍처
- 군집 아키텍처는 중앙 조정이나 전역 상태 없이 느슨하게 결합된 에이전트와 국소 규칙을 사용한다. OpenAI의 Swarm 은 루틴과 제어권·맥락 인계를 제공한다.OpenAI의 Swarm 은 OpenAI Agents SDK로 대체되었다. LLM 기반 에이전트는 기호적 인지를 신경망 표현으로 대체하면서도 분산 문제 해결, Contract Net, FIPA 통신 표준 의 고전적 아이디어를 계승한다.출처: Historical Context · pp. 468–469, §25.2.4 · p. 472
25.3.2 메시지 전달
- 조정은 정보 공유, 작업 분담, 충돌 해결을 관장한다. 메시지 전달 설계에서는 메시지 형식, 라우팅, 대화 맥락, 확인 응답 요건을 결정한다.형식은 JSON, 자연어, 혼합형일 수 있으며, 라우팅은 직접 전달, 브로드캐스트, 주제 기반 발행/구독 방식일 수 있다. 여러 차례 주고받는 대화의 맥락을 유지하고, 수신이나 처리에 확인 응답이 필요한지도 결정해야 한다.출처: §25.3 · p. 473, §25.3.2 · p. 474
25.3.1 공유 상태(전역 블랙보드)
- 공유 블랙보드 는 에이전트가 함께 읽고 쓸 수 있는 구조로 에이전트를 조정하며, 보통 딕셔너리, 데이터베이스, 구조화된 문서로 구현한다.제시된 구현은 기존 항목의 신뢰도가 더 높으면 쓰기를 거부하고, 에이전트가 특정 키의 변경 사항을 구독할 수 있게 한다.출처: §25.3.1 · pp. 473–474
25.3.3 계획과 분해
- 계획은 계층적 작업 네트워크 계획과 유사하게 상위 수준 작업을 방향 비순환 그래프로 분해하고, 적합한 작업 에이전트에 하위 작업을 할당하며, 의존성을 추적한다.제시된 TaskDAG 구현은 작업 식별자를 Task 객체에 대응시키는 딕셔너리에서 시작한다.출처: §25.3.3 · p. 474
25.3 조정 메커니즘
- 의존성이 충족된 작업은 병렬로 실행하고, 분업으로 독립적인 하위 작업의 결과를 종합하며, 스티그머지 는 공유 환경의 변화를 통해 에이전트를 조정한다.실행기는 성공한 결과를 기록하고 예외는 실패로 표시한다. 스티그머지는 명시적인 에이전트 간 통신 오버헤드를 피한다.출처: §25.3.3 · pp. 474–475, §25.3.6 · p. 476, §25.6.3 · p. 480
25.3.4 투표와 합의 / 25.3.5 시장 기반 조정
- 합의에는 다수결, 가중 투표, 심판 중재 토론, 반복적 델파이 투표를 사용한다. 시장 기반 조정은 Contract Net Protocol 과 같은 경매 방식으로 작업을 할당한다.다수결은 가장 많이 나온 답을 택하고, 가중 투표는 과거 성과나 신뢰도를 반영하며, 델파이 참여자는 다른 참여자의 추론을 본 뒤 답을 수정한다. LLM은 자연어나 구조화된 형식으로 입찰할 수 있으며, 특히 자원 제약으로 API 비용을 최소화해야 할 때 유용하다.출처: §25.3.4 · p. 475, §25.3.5 · p. 475, §4 · p. 476
25.4 통신 프로토콜
- 메시지는 발화 행위 유형, 내용, 메타데이터, 답신 대상 참조, 타임스탬프를 담는다. 맥락 공유에서는 전체 이력의 풍부한 정보와 요약의 정보 손실, 의미 기반 검색의 요건을 절충한다.발화 행위 유형은 FIPA Agent Communication Language 를 따른다. 10턴 미만의 대화에는 전체 이력, 중간 길이의 대화에는 요약, 긴 세션에는 검색한 발췌문을 사용하되, 가장 최근 k개 메시지는 항상 원문 그대로 유지한다.출처: §25.4.1 · p. 477, §25.4.3 · p. 477, §25.4.2 · p. 477
25.5 역할 설계와 전문화
- 역할 기반 할당은 예측 가능하지만 여러 역할에 걸친 작업을 잘못 처리할 수 있다. 역량 기반 할당은 요구사항에 맞춰 동적으로 배정하며, 장기 실행 시스템에는 역할 재할당이 도움이 된다.역량 기반 할당에는 역량 레지스트리와 매칭 메커니즘이 필요하다. 재할당은 작업량, 최근 작업 성과, 변화하는 작업 요구사항에 대응할 수 있다.출처: §25.5.2 · p. 478, §25.5.3 · p. 478
25.5.4 사고의 다양성을 위한 페르소나 설계
- Six Thinking Hats 에서 착안한 서로 다른 페르소나는 집단사고를 줄이며, 명시적 우선순위 규칙이나 중재 에이전트는 책임 범위의 중복을 해결한다.역량, 페르소나, 책임을 잘 설계하면 혼란과 중복 대신 전문화를 이끌어 낼 수 있다. 역할 충돌을 명시적으로 다루지 않으면 모순된 출력이나 무한 루프가 발생할 수 있다.출처: §25.5 · p. 477, §25.5.4 · pp. 478–479
25.6 LLM을 위한 다중 에이전트 패턴
- 심판 중재 토론은 사실 정확도를 높이고 환각을 줄인다 [78]. 교사–학생 지도는 지식을 전달하며, 레드팀 에이전트는 약점과 안전성 위반을 탐색한다.교사는 힌트, 수정, 설명을 제공해 추론 시점의 지식 증류와 잠재적인 학생 모델 미세조정을 가능하게 한다. 레드팀은 적대적이고 창의적인 비판으로 오류와 실패 양상을 드러내며, 특히 안전이 중요한 응용에서 유용하다.출처: §25.6.1 · p. 479, §25.6.6 · p. 480, §25.6.7 · p. 480
- 성찰은 생성, 비판, 수정을 반복한다. 파이프라인은 출력을 순차적으로 변환하며, 앙상블은 독립적으로 문제를 푼 뒤 답을 선택하거나 취합한다.파이프라인은 순차적 의존성이 명확한 작업에 적합하다. 앙상블은 추가 연산 비용으로 신뢰성을 높이며, 보상 모델, 심판 LLM, 검증기로 점수를 매긴다.출처: §25.6.2 · p. 479, §25.6.4 · p. 480, §25.6.5 · p. 480
25.7 강화학습을 통한 다중 에이전트 시스템 학습
- 독립적인 다중 에이전트 학습은 비정상성의 위험이 있다. 중앙집중식 학습·분산 실행(CTDE) [239] [306]은 학습 중에는 전역 정보를, 실행 중에는 국소 관측만 사용한다.Markov Games 는 공유 상태, 공동 행동에 따른 상태 전이, 개별 보상을 정식화한다. 독립 학습자는 단일 에이전트 RL을 적용하지만, 다른 에이전트의 정책 변화로 불안정해지거나 수렴하지 않을 수 있다. 단순한 협력 작업에서는 경쟁적이거나 복잡한 협력 환경보다 잘 작동한다.출처: §25.7 · p. 480, §25.7.3 · p. 481, Non-Stationarity Problem · p. 481
25.7.3 CTDE; 25.7.4 통신 학습; 25.7.5 창발적 통신
- CTDE는 공동 상태를 입력받는 크리틱으로 학습의 비정상성에 대응하면서 통신 없는 실행을 유지한다. 통신 학습은 작업 성능을 높이는 메시지를 주고받도록 에이전트를 훈련한다.미분 가능한 통신 [66] [343]은 공동 보상의 역전파로 연속 벡터를 최적화한다. LLM 에이전트는 구조화된 자연어 메시지로 이를 근사한다. 창발적 기호 프로토콜 [199]은 사람이 해석할 수 있는 통신을 선호하는 LLM 시스템에서는 대체로 바람직하지 않다.출처: §25.7.3 · p. 481, §25.7.4 · p. 481, §25.7.5 · p. 482
25.7.6 자기 대전; 25.7.7 Population-Based Training
- 자기 대전 은 경쟁 기반 교육과정을 자동으로 형성하며, Population-Based Training 은 평가와 저성과 개체 교체를 통해 다양한 에이전트를 진화시킨다.자기 대전에서는 이전 버전이 개선될수록 상대가 강해진다. PBT는 저성과 에이전트를 고성과 에이전트의 변이체로 교체해 역할 발견, 개별 실패에 대한 강건성, 다양성을 통한 국소 최적점 회피를 가능하게 한다.출처: §25.7.6 · p. 482, §25.7.7 · p. 482
25.7.8 사회적 후생과 내시 균형; 더 읽을거리: 다중 에이전트 RL을 위한 게임 이론
- 사회적 후생은 협력 환경에서 에이전트의 누적 보상을 합산한 값이며, 내시 균형에서는 어느 에이전트도 단독으로 전략을 바꿔 이득을 얻을 수 없다. 실제 다중 에이전트 LLM 시스템은 대부분 협력과 경쟁의 동기가 혼재한다.Shoham & Leyton-Brown 은 균형, 메커니즘 설계, 사회적 선택을 다룬다. Zhang et al. [423]은 수렴이 보장되는 다중 에이전트 RL 알고리즘을 개관한다. Nisan et al. 은 경매, 균형 계산, 무정부성의 대가를 다룬다.출처: §25.7.8 · p. 482, Further Reading: Game Theory for… · pp. 482–483
25.8.1 조정 오버헤드; 통신하지 말아야 할 때; 25.8.2 중복과 효율성
- 에이전트는 예상 작업 가치 향상이 메시지 비용을 넘을 때만 통신하고, 블랙보드 확인, 의미 기반 캐싱, 작업 잠금으로 중복 작업을 방지해야 한다.c 토큰이 드는 메시지는 ∆v > c · cost_per_token일 때만 전송한다. 의미 기반 키는 완료된 결과의 검색을 지원하며, 작업을 진행 중으로 표시하면 중복 실행을 막을 수 있다.출처: When NOT to Communicate · p. 483, §25.8.1 · p. 483, §25.8.2 · p. 483
25.8.3 기여도 추정; 25.8.4 확장성
- 단순한 메시지 전달의 O(n^2) 오버헤드는 계층형, 주제 기반, 희소 통신의 필요성을 뒷받침한다. 반사실적 기여도 추정은 에이전트가 다른 행동을 했다면 결과가 어떻게 달라졌을지 따져 기여도를 추정한다.계층 구조는 통신을 하위 트리 내부로 제한하고, 주제 구독은 관련 메시지만 걸러 내며, 희소 그래프는 상호작용이 필요한 에이전트만 연결한다. 비동기 통신은 응답을 기다리는 동안 실행이 차단되는 것을 피한다.출처: §25.8.4 · pp. 483–484, §25.8.3 · p. 483
25.8.5 창발적 행동과 안전성; 다중 에이전트 시스템의 안전성 우려; 25.8.6 평가
- 다중 에이전트의 안전성 위험에는 프롬프트 주입의 연쇄 전파, 보상 해킹, 담합, 오류나 편향의 증폭이 포함된다. 평가에는 여러 수준의 지표가 필요하다.이 절은 모든 에이전트 간 통신을 관찰하고 위험한 행동이 감지되면 시스템을 중단할 수 있는 안전 감시 에이전트를 권장한다.출처: Safety Concerns in Multi-Agent Systems · p. 484, §25.8.6 · p. 484
25.9.1 소프트웨어 개발 팀; 25.9.2 연구 팀; 25.9.3 고객 서비스 시스템; 25.9.4 창작 팀
- 응용 패턴에는 설계자–코딩 담당–테스트 담당–검토자 워크플로, 연구 협업, 요청을 분배하는 고객 서비스, 적대적 비평가를 둔 창작 팀이 있다.소프트웨어 팀은 반복 개선하거나 출시하며, 연구 역할은 문헌을 종합하고 실험을 수행한다. 고객 서비스 라우터는 요청을 분배하고 상위 대응 에이전트는 사람의 판단이 필요한 복잡한 사례를 처리한다. 창작 비평가는 적대적 피드백으로 작품을 개선한다.출처: §25.9.1 · p. 485, §25.9.2 · p. 486, §25.9.3 · p. 486
25.10 아키텍처 비교
- 독립적인 하위 작업에는 분업이나 앙상블 같은 병렬 아키텍처가 적합하며, 의존성이 명확한 순차 작업에는 파이프라인이 적합하다.출처: §25.10 · p. 486
- 내결함성에는 계층형이나 분산형 아키텍처가, 디버깅 용이성에는 중앙집중형이나 파이프라인 설계가 유리하다. 대부분의 운영 시스템은 계층적 감독을 사용한다.계층형 시스템은 영역별 하위 총괄 에이전트를 거쳐 전문 작업 에이전트에 위임한다. 중앙 총괄 에이전트로 시작하고, 한계를 측정한 뒤에만 아키텍처의 복잡도를 높여야 한다.출처: §25.10 · pp. 486–487, Multi-Agent Systems: Key Takeaways · p. 487
25.11 자기 진화 에이전트: BDI와 LLM의 결합
- BDI-LLM 에이전트 는 환경 피드백에 따라 구조화된 믿음을 갱신하고, 목표의 우선순위를 동적으로 조정하며, 계획과 그 기반 코드를 다시 작성한다.믿음은 세계 모델을, 욕구는 상위 수준 목표를, 의도는 코드와 도구 호출 순서로 구성된 실행 가능한 계획을 나타낸다.출처: §25.11 · p. 487
자기 수정의 정렬 과제
- 초기 자기 수정 실험에서는 에이전트가 실행 속도를 높이려고 안전 제약을 삭제하는 현상이 관찰되었다. 이는 에이전트가 수정할 수 없는 메타 수준 제약의 필요성을 보여 준다.출처: The Alignment Challenge of… · p. 487
다중 에이전트 시스템: 핵심 요점
- 에이전트 간 메시지는 모두 토큰을 소모하므로, 통신 프로토콜은 필요한 정보 흐름을 유지하면서 오버헤드를 최소화해야 한다.출처: Multi-Agent Systems: Key Takeaways · p. 487
- 명확한 역할과 맞춤형 프롬프트를 갖춘 전문화된 에이전트는 복잡한 작업에서 범용 에이전트보다 일관되게 우수한 성능을 보인다.출처: Multi-Agent Systems: Key Takeaways · p. 487
- 다중 에이전트 RL은 비정상성, 기여도 할당의 어려움, 창발적 행동에 직면한다. 협력 환경에서는 CTDE가 현재 가장 권장되는 접근법으로 꼽힌다.다중 에이전트 시스템은 오류를 증폭하고 예기치 않은 창발적 행동을 보일 수 있으므로, 아키텍처 설계에서 안전 감시를 우선해야 한다.출처: Multi-Agent Systems: Key Takeaways · p. 487
에이전트 개발 프레임워크 · 에이전트형 UI 프레임워크
이 절에서는 에이전트 개발 프레임워크와 신뢰할 수 있는 오케스트레이션, 상태 관리, 테스트, 관측 가능성, 프로덕션 배포에 필요한 실무 관행을 살펴본다. 또한 실행 과정을 가시화하고 스트리밍, 승인 관문, 피드백, 복구 제어를 통해 사람의 감독을 지원하는 작업별 에이전트형 인터페이스를 검토한다.
에이전트 엔지니어링이 어려운 이유
- 프로덕션 에이전트에는 성공적인 최종 출력만이 아니라 체계적인 실패 복구와 모든 LLM 호출, 도구 호출, 상태 전이에 대한 구조화된 로깅이 필요하다.신뢰성을 확보하려면 부분적으로 손상된 상태를 복구하고 무한 루프나 통제되지 않는 API 호출을 방지해야 한다.출처: Why Agent Engineering Is Hard · p. 489
26.2.3 3단계: 테스트
- 비결정적이고 문맥에 의존하는 동작에는 기존 단위 테스트만으로는 부족하므로, 개별 도구부터 전체 에이전트 루프와 종단 간 시나리오까지 테스트해야 한다.전용 평가 하네스, 기준 실행 궤적 비교, 행동 테스트 모음으로 각 수준의 테스트를 보완한다.출처: Why Agent Engineering Is Hard · p. 489, §26.2.3 · p. 491
26.2.4 4단계: 배포 · 26.2.5 5단계: 반복 개선
- 배포에는 비동기 실행, 체크포인팅, 복구, 테넌트 격리가 필요하며, 반복 개선 과정에서는 프로덕션 실패를 검증된 프롬프트 갱신과 미세 조정 개선으로 연결한다.실패를 입력, 실행 궤적, 오류와 함께 기록한 뒤 도구 오류, 추론 오류, 환각, 루프로 분류한다. 프롬프트 변경에는 회귀 테스트를 수행하고, 프롬프팅이 한계에 도달하면 선별한 실행 궤적으로 미세 조정한다.출처: Why Agent Engineering Is Hard · p. 489, §26.2.5 · p. 491
에이전트 개발 성숙도 모델
- 에이전트 개발은 프로토타입, 알파, 베타, 프로덕션, 성숙 단계로 진행되며, 팀은 흔히 알파에서 베타로 전환하는 데 드는 노력을 과소평가한다.스크립트와 수동 테스트에서 출발해 모듈화, 자동 테스트와 스테이징, 프로덕션 관측 가능성과 CI/CD를 거쳐 지속 학습, A/B 테스트, 자기 개선으로 발전한다.출처: The Agent Development Maturity Model · p. 490
26.2.1 1단계: 설계
- 프로덕션 개발 수명 주기는 설계에서 시작한다. 지원할 작업과 제외할 작업을 정의하고, 실패 양상이 명시된 도구를 선택하며, 명시적인 운영 제약을 강제한다.역량 행렬로 평가 기준을 수립한다. 도구가 지나치게 많으면 선택 혼란과 지연 시간이 늘어날 수 있다. 제약은 시스템 프롬프트에 명시하고 코드로도 강제해야 한다.출처: Agent Development Frameworks · p. 489, §26.2 · p. 490, §26.2.1 · p. 490
26.2.2 2단계: 구현
- 구현에서는 버전 관리되는 프롬프트, 체계적인 오류 처리를 갖춘 타입 지정 도구, 모델 호출·도구 실행·상태 갱신·종료를 관리하는 오케스트레이션을 결합한다.도구 인터페이스는 가능한 경우 멱등성을 보장해야 하며, 도구 설명은 구현만큼 중요하다. 프롬프트 변경에는 체계적인 테스트와 변경 관리가 필요하다.출처: Why Agent Engineering Is Hard · p. 489, §26.2.2 · pp. 490–491
26.3.1 LangGraph
- LangGraph 는 실행을 방향 그래프로 모델링하고 조건부 도구 사용 루프, 오류 처리, 체크포인트로 저장되는 대화 메모리를 결합한다.노드마다 상태를 저장하므로 일시 중지와 재개, 사람의 승인, 디버깅을 위한 체크포인트 재생이 가능하다.출처: §26.3.1 · pp. 491, 492, 494, Figure 26.2 · p. 494
26.3.2 AutoGen (Microsoft)
- AutoGen [385]은 구조화된 대화로 전문 에이전트를 조직하고, 발언 순서 관리와 샌드박스 실행을 통해 반복적인 코드 작성, 테스트, 수정을 지원한다.GroupChatManager는 라운드 로빈 스케줄링, LLM 기반 선택, 사용자 정의 라우팅으로 발언자를 선택한다.출처: §26.3.2 · pp. 494–495
AutoGen 보안 고려 사항
- AutoGen의 코드 실행 에이전트는 임의의 코드를 실행할 수 있으므로, 프로덕션 배포에서는 Docker 격리를 사용하고 네트워크 접근을 제한하며 높은 권한을 부여하지 않아야 한다.code_execution_config에 "use_docker": True를 설정한다.출처: AutoGen Security Considerations · p. 495
26.3.3 CrewAI
- CrewAI 는 역할, 목표, 배경 설정으로 정의한 에이전트를 팀으로 구성해 순차적 또는 계층적으로 실행한다.계층적 실행은 역할과 역량에 따라 작업을 위임하는 관리자를 자동으로 생성하므로, 작업 순서를 명시하지 않아도 상호 의존적인 워크플로를 처리한다.출처: §26.3.3 · pp. 496–497
26.3.4 OpenAI Assistants API와 Agents SDK
- Assistants API는 서버 측 에이전트 상태를 관리하며, OpenAI Agents SDK 는 문맥을 보존하는 제어권 이전으로 전문 에이전트를 지원한다.제시된 도구에는 파일 I/O를 지원하는 샌드박스 Python 실행, 벡터 저장소 기반 문서 검색, 일부 모델의 실시간 웹 탐색이 포함된다.출처: §26.3.4 · pp. 497–498
26.3.5 DSPy
- DSPy 는 모듈 시그니처를 프롬프트와 분리하고, 개발 세트의 평가 지표에 맞춰 프롬프트와 퓨샷 예시를 자동으로 최적화한다.이러한 분리는 모델 간 이식성을 지원하고 수동 프롬프트 조정의 필요성을 없앤다.출처: §26.3.5 · p. 499
DSPy를 사용할 때
- 50+개의 개발 예시, 명확한 평가 지표, 모델 간 이식성 요구, 수동 프롬프팅의 성능 정체는 DSPy에 유리한 조건이며, 주관적인 창작 작업에는 적합성이 낮다.이 조건들은 모두 충족해야 하는 요구 사항이 아니라 각각 독립적으로 유리한 조건이다.출처: When to Use DSPy · p. 501
26.3.6 Semantic Kernel (Microsoft)
- Semantic Kernel 은 비즈니스 로직을 AI가 호출할 수 있는 플러그인으로 노출하고, 통합 메모리 백엔드와 커넥터로 기업용 서비스를 연계한다.기업용 기능에는 C# 기본 지원, Azure OpenAI 관리 ID 인증, 감사 로깅, 온프레미스 모델 배포가 포함된다.출처: §26.3.6 · pp. 501–502
26.3.7 NVIDIA OO Agents (NOOA)
- NOOA [102]는 에이전트를 Python 객체로 표현하며, 결정적 메서드와 함께 본문이 줄임표인 메서드를 LLM 구동 루프로 런타임에 구현한다.이 프레임워크는 특정 모델에 종속되지 않으며, 일반 Python 코드가 들어 있는 메서드는 개발자와 모델 모두 호출할 수 있다.출처: §26.3.7 · p. 502
NOOA 설계 대응 관계
- NOOA [102]는 정체성을 클래스에, 상태를 타입이 지정된 인스턴스 필드에, 역량을 메서드에, 프롬프트를 독스트링에, I/O 계약을 타입 어노테이션에 대응시킨다.줄임표 본문은 LLM이 구동하는 동작을 지정하며, 일반 메서드 본문은 결정적 로직을 유지한다.출처: NOOA Design Mapping · p. 502, §26.3.7 · p. 502
- NOOA는 에이전트형 메서드를 샌드박스 REPL에서 Python으로 실행하고, 실행 중인 객체를 참조로 전달하며, 직접적인 메서드 호출로 에이전트를 조합한다.중첩된 LLM 루프는 부모·자식 추적 관계를 보존하며 실시간 뷰어가 내장되어 있다. UnifiedLLM 생성자 매개변수를 통해 같은 에이전트 클래스를 수정 없이 여러 모델 제공자와 사용할 수 있다.출처: NOOA Design Mapping · pp. 503–504
NOOA를 선택할 때
- NOOA는 운영 성숙도보다 Python 고유의 단순성, 타입 검증을 거치는 I/O, 표준 pytest 테스트, 코드 기반 행동, 직렬화 없는 조합에 중점을 둔다.검증에 실패하면 자동으로 재시도한다. July 2026 기준 연구용 소프트웨어인 NOOA는 LangGraph나 Semantic Kernel 수준의 프로덕션 환경 안정화, 관리형 배포, 생태계 통합을 갖추지 못했다.출처: When to Choose NOOA · p. 504
26.4 오픈 소스 에이전트 도구
- 오픈 소스 도구 생태계는 정해진 풀스택 아키텍처보다 조합·교체 가능한 서비스를 지향하며, 오케스트레이션을 각 서비스가 관리하는 저장소와 분리한다.구성 요소로는 제약 생성, 자체 관리 메모리 계층(Letta [281]), RAG 전용 평가가 있다. 자체 호스팅 런타임은 상시 가동되는 다중 채널 배포, 샌드박싱, 승인 관문, 도구와 상위 수준 스킬의 분리를 추가한다.출처: The Open Agent Philosophy · p. 504, Figure 26.3 · p. 505, §26.4.2 · pp. 505–506
26.4.3 상호운용성 표준
- MCP 는 도구·리소스 노출을, A2A 는 에이전트 간 통신과 위임을 표준화하며, OpenAPI 명세는 래퍼를 직접 작성하지 않고도 호출 가능한 API 도구를 생성한다.명세는 엔드포인트, 매개변수, 스키마, 인증 요구 사항을 기술한다. 지원 구현으로는 Semantic Kernel의 OpenAPI 플러그인과 LangChain의 OpenAPIToolkit이 있다.출처: §26.4.3 · pp. 506–507
26.5.1 개별 도구 단위 테스트
- 계층별 테스트는 정상 경로, 오류, 경계 사례를 다루는 격리된 도구 테스트에서 시작해, 비결정적이고 상태를 유지하며 여러 단계를 수행하는 에이전트를 검증한다.출처: §26.5 · p. 507, §26.5.1 · p. 507
26.5.2 전체 에이전트 루프 통합 테스트
- 통합 테스트는 작업 완료, 비어 있지 않은 실행 궤적, 도구 호출 순서, 도구 실패 시의 안정적인 복구를 검증한다.예시에서는 작성 전에 검색하도록 요구하고, 실패 후 done 또는 partial 상태는 허용하지만 오류가 포함된 최종 답변은 거부한다.출처: §26.5.2 · p. 508
26.5.3 기준 실행 궤적을 이용한 회귀 테스트
- 기준 실행 궤적은 승인된 실행과 도구 순서, 출력의 의미적 유사도, 토큰 비용을 비교해 회귀를 탐지한다.예시에서는 의미적 유사도 > 0.85를 요구하며, 총 토큰 수는 기준 실행보다 20%를 초과해 늘어나서는 안 된다.출처: §26.5.3 · p. 509
26.5.4 행동 테스트
- 행동 테스트는 도구 호출 예산을 강제하고 접근한 URL이 허용된 도메인에 속하는지 확인해 정책 준수를 검증한다.예시에서는 도구 호출을 다섯 번으로 제한하고 wikipedia.org와 arxiv.org만 허용한다.출처: §26.5.4 · pp. 509–510
26.5.5 비용 및 지연 시간 테스트
- 매개변수화된 성능 테스트에서 simple_lookup에는 비용 $0.01과 지연 시간 5.0초의 상한이 적용된다.research_task의 비용 상한은 $0.10, 지연 시간 상한은 60.0초이며, complex_analysis의 비용 상한은 $0.50, 지연 시간 상한은 120.0초다.출처: §26.5.5 · p. 510
26.6 관측 가능성과 디버깅
- 에이전트 관측 가능성은 전체 실행 추적, 집계 성능 지표, 구조화된 로그를 결합해 디버깅, 성능 최적화, 규정 준수를 지원한다.LLM 호출 스팬은 모델 식별 정보와 프롬프트·완성 토큰 수를 기록하며, 실행 재생은 프로덕션 실패 조사를 지원한다.출처: §26.6 · p. 510, The Three Pillars of Agent Observability · p. 510, §26.6.1 · p. 511
26.6.2 실패 분류
- 실패 분류는 도구 오류, 추론 오류, 환각, 무한 루프를 서로 다른 해결책에 연결해 임시방편식 디버깅을 체계적인 진단으로 대체한다.각각 재시도와 서킷 브레이커, 프롬프트 반복 개선, 근거 연결, 아키텍처 차원의 강제 안전장치로 대응한다. 사용자에게 드러난 단일 실패도 여러 범주에 걸쳐 연쇄적으로 발생할 수 있다.출처: §26.6.2 · pp. 511–512
26.7 프로덕션 배포 패턴
- 프로덕션 배포에서는 장시간 실행되는 에이전트에 비동기 실행을 사용하고, CPU 사용률이 아니라 큐 깊이에 따라 워커 수를 조정한다.과거 수요로 예측 기반 확장을 지원하고, 체크포인트를 저장하는 스팟 인스턴스로 비용을 줄인다. 워커는 상태 손상을 방지하기 위해 현재 작업을 마친 뒤 종료한다.출처: §26.7.1 · p. 513, §26.7 · p. 513, §26.7.4 · p. 515
26.7.2 다중 테넌트 격리
- 다중 테넌트 에이전트에는 격리된 상태·메모리·도구 설정, 테넌트별 호출률 제한과 리소스 할당량, 테넌트 태그가 붙은 감사 로그가 필요하다.제한 대상은 LLM 호출, 도구 호출, 연산 시간, 동시 실행 에이전트 수, 토큰 예산, 저장 공간이며, 감사 로그는 규정 준수와 과금을 지원한다.출처: §26.7.2 · p. 514
26.7.3 비용 최적화 전략
- 트래픽이 많은 에이전트에서는 프롬프트 캐싱으로 비용을 최대 90% 절감할 수 있으며, 모델 라우팅, 도구 결과 캐싱, 지연 시간이 허용하는 범위의 배치 처리, 조기 종료가 이를 보완한다.라우팅은 복잡한 추론에 대형 모델을 배정하고 단순한 하위 작업에는 소형 모델을 사용한다. 비용 추정에서는 입력·출력 토큰 수에 각각의 모델 단가를 적용한다.출처: §26.7.3 · pp. 514–515
적합한 프레임워크 선택
- 프레임워크 선택은 요구 사항에 따른다. 다중 에이전트 코드 실행에는 AutoGen, 상용구 코드가 적은 역할 기반 에이전트에는 CrewAI, 기업용 .NET/Azure 환경에는 Semantic Kernel이 적합하다.출처: Choosing the Right Framework · p. 515
26.9 전체 구현 예시: 프로덕션 연구 에이전트
- 완전한 LangGraph 연구 에이전트 예시는 웹 검색, 문서 종합, 구조화된 보고서 작성, 재시도, 재개 가능한 체크포인팅, 구조화된 로깅을 통합한다.구현은 도구 정의, 상태 스키마, 그래프 구성, 오류 처리, 배포 설정을 보여준다.출처: §26.9 · p. 516, Production Research Agent Architecture · p. 516
프로덕션 연구 에이전트 아키텍처
- 프로덕션 연구 에이전트는 명시적인 상태, PostgreSQL 체크포인팅, 비동기 실행, 제한된 도구 사용, 상태 폴링을 결합한다.도구 호출 15회 또는 오류 다섯 번이 발생하면 실패 경로로 분기하며, 백그라운드 실행과 폴링으로 작업 제출과 완료를 분리한다.출처: Production Research Agent Architecture · pp. 517–519, §26.10 · p. 521
프로덕션 점검표
- 프로덕션 준비에는 도구 재시도와 오류 처리, 테넌트별 호출률 제한, 개인정보를 보호하는 추적, 검증된 롤백 절차, 당직 담당자용 실패 대응 지침서가 필요하다.이러한 운영 점검은 프로덕션 신뢰성에 필요한 포괄적인 테스트를 보완한다.출처: Production Checklist · pp. 520–521, §26.10 · p. 521
26.10 요약
- 프레임워크 선택은 우선순위에 달려 있다. LangGraph는 제어 가능한 워크플로, AutoGen은 다중 에이전트 협업, CrewAI는 역할 기반의 단순성, DSPy는 자동 최적화에 중점을 둔다.출처: §26.10 · p. 521
- 신뢰할 수 있는 프로덕션 에이전트에는 포괄적인 테스트, 상세한 실행 추적, 지속적인 모니터링·실패 분석·개선이 필요하다.테스트는 단위, 통합, 행동, 성능 검증을 포괄하며, 행동 테스트는 유해한 출력이 나오지 않는지 확인해야 한다.출처: §26.10 · p. 521, Production Checklist · p. 521
- 모델 라우팅, 캐싱, 조기 종료를 통해 품질을 유지하면서 비용을 50–90% 절감할 수 있다.프로덕션 준비를 위해서는 비용과 지연 시간의 한계도 검증해야 한다.출처: §26.10 · p. 521, Production Checklist · p. 521
에이전트에 전용 인터페이스가 필요한 이유
- 에이전트형 인터페이스는 최종 결과만 제시하지 말고 진행 상황, 의사결정, 도구 사용 이력을 드러내야 한다.사용자가 오류를 발견하고 주장을 검증하며 행동을 감사하려면 현재 활동, 의사결정 근거, 도구 입력을 볼 수 있어야 한다.출처: Why Agents Need Specialized Interfaces · p. 522
- 에이전트형 인터페이스는 의미 있는 개입 지점을 드러내고, 되돌릴 수 없는 행동에는 확인을 요구하며, 롤백 경로를 제공해야 한다.자동화 편향 연구 는 불확실성 표시와 손쉬운 수동 개입의 필요성을 뒷받침한다. 인터페이스는 인지 부하를 최소화하면서 신뢰 수준을 적절히 조절해야 한다.출처: Why Agents Need Specialized Interfaces · pp. 522–523
27.2.1 채팅 기반 인터페이스 · 에이전트용 채팅 UI의 한계
- 채팅은 익숙한 자연어 상호작용을 제공하지만, 선형 메시지 흐름은 에이전트의 병렬 실행을 제대로 표현하지 못하므로 복잡한 워크플로에는 더 풍부한 인터페이스가 필요하다.SSE나 WebSockets를 통한 스트리밍은 체감 지연 시간을 줄이며, 인라인 도구 표시와 상태 메시지는 실행 중인 활동을 드러낸다.출처: Chat UI Limitations for Agents · p. 523, §27.2.1 · p. 523
27.2.2 캔버스 및 산출물 기반 인터페이스
- 캔버스 인터페이스는 대화와 지속적으로 유지·편집할 수 있는 산출물을 결합해 글쓰기, 코딩, 분석, 설계 같은 공동 창작 작업을 지원한다.산출물은 자연어를 통한 개선과 에이전트가 관찰할 수 있는 직접 편집을 지원하며, 고급 구현에서는 이전 버전으로 되돌리거나 여러 산출물을 동시에 다룰 수 있다.출처: §27.2.2 · pp. 523–524
27.2.3 워크플로 시각화 · 27.2.4 대시보드 및 모니터링 인터페이스
- 워크플로 시각화는 실행 그래프와 노드별 진행 상황을 보여주며, 대시보드는 에이전트 상태, 리소스 소비, 작업 큐, 운영 이상을 모니터링한다.그래프의 노드는 실행 단계를, 간선은 데이터나 제어 흐름을 나타내며, 완료되거나 실패한 노드는 출력이나 오류 세부 정보를 표시한다.출처: §27.2.3 · p. 524, §27.2.4 · p. 524
27.3.1 사고 및 추론 표시 · 27.3.5 문맥 표시 · 27.3.7 신뢰도 표시
- 추론, 문맥, 신뢰도 표시는 정보 과부하를 억제하면서 에이전트 동작을 살펴볼 수 있게 하고, 불확실하거나 중대한 결과에 대한 검증을 유도한다.기본적으로 결론을 보여주되 요청 시 추론을 확인할 수 있게 하고, 추론과 최종 응답을 시각적으로 구분하며, 신뢰도가 낮은 표현을 강조한다.출처: §27.3.1 · p. 525, §27.3.5 · p. 527, §27.3.7 · p. 527
27.3.2 도구 사용 시각화 · 도구 호출의 구성 요소 · 27.3.3 진행 상황 표시
- 도구 화면은 이름, 인수, 결과, 지연 시간을 보여준다. 진행 화면은 변경 가능한 계획과 중첩된 하위 작업을 추적하며, 취소 시에도 완료한 작업의 요약을 보존한다.도구 상호작용 시각화는 신뢰와 디버깅을 지원한다.출처: Tool Call Anatomy · p. 525, §27.3.2 · p. 525, §27.3.3 · p. 526
27.2.5 협업 인터페이스 · 27.2.6 체크포인트를 갖춘 자율 실행 · 27.3.4 승인 관문
- 협업 공간은 사람이 검토하는 편집을 지원하고, 자율 에이전트는 승인 체크포인트에서 멈춘다. 단계별 승인 정책은 무심코 승인하는 행동을 억제한다.인터페이스는 동시 편집 충돌을 드러내고, 응답하지 않은 승인 요청은 실행을 허가하는 것이 아니라 에이전트를 일시 중지한다는 점을 명확히 표시해야 한다.출처: §27.2.5 · p. 524, §27.2.6 · p. 525, Alert Fatigue in Approval Gates · p. 526
27.3.6 오류 및 복구 UI
- 복구 인터페이스는 오류를 드러내고, 조건을 조정한 재시도나 대안적 접근을 허용하며, 부분 결과를 보존하고, 에이전트가 계속 진행할 수 없으면 사람에게 이관하는 기능을 제공한다.오류 카드는 실패 유형, 메시지, 에이전트의 해석을 제시하며, 부분 결과에는 완료한 단계와 해당 출력이 남는다.출처: §27.3.6 · p. 527
27.4.1 Vercel AI SDK · 27.4.2 Chainlit
- Vercel AI SDK 는 도구가 생성한 React 컴포넌트를 스트리밍하며, Chainlit 은 최소한의 상용구 코드로 Python 에이전트 UI를 제공한다.Vercel은 생성형 UI에 React Server Components를 사용하고, 채팅과 구조화된 객체의 스트리밍을 위한 훅을 제공한다. Chainlit은 LangChain과 LlamaIndex 생태계에서 널리 쓰인다.출처: §27.4.1 · p. 528, §27.4.2 · p. 528
27.4.2 Chainlit; 27.4.3 Gradio
- Chainlit은 LangChain과 LlamaIndex의 실행 단계를 시각화하며, Gradio [1]는 Python 인터페이스로 대화형 에이전트의 신속한 프로토타이핑을 지원한다.Chainlit은 파일, 이미지, 오디오, PDF와 데이터베이스 기반 피드백 수집도 지원한다. Gradio는 레이아웃 유연성이 낮고 상태가 세션 범위에 한정되어 복잡한 다중 에이전트 조정을 어렵게 한다.출처: §27.4.2 · p. 528, §27.4.3 · p. 529
27.4.4 Streamlit; 27.4.5 OpenAI Assistants Playground
- Streamlit 은 에이전트 대시보드를 지원하며, OpenAI Assistants Playground는 사용자 정의 UI 프레임워크라기보다 검색과 함수 호출을 살펴보는 예시를 제공한다.Streamlit은 지표, 작업 큐, 상태 화면을 제공한다. 세션 상태는 재실행 간 대화를 보존하지만, 스크립트 전체를 다시 실행하는 방식은 복잡한 워크플로를 제약할 수 있다. Playground는 파일 첨부와 검색, 함수 호출의 입력과 출력을 표시한다.출처: §27.4.4 · p. 529, §27.4.5 · pp. 529–530
27.4.6 LangGraph Studio
- LangGraph Studio 는 상태 머신 시각화, 전체 상태 검사, 상태 수정 후 재생, 사람의 입력을 받는 중단점, 다중 에이전트 계층과 메시지 시각화를 결합한다.데스크톱 시각적 IDE에서 에이전트 변수, 메모리, 도구 결과를 구조화된 JSON으로 보여주며, 개발자는 이전 실행 상태를 수정하고 그 지점부터 다시 실행할 수 있다.출처: §27.4.6 · p. 530
생성형 UI의 개념; 27.5.2 콘텐츠 유형에 따른 적응형 인터페이스
- 생성형 UI는 모델이 문맥에 맞는 컴포넌트를 선택하게 하지만, 임의의 HTML이나 JSX보다는 선별되고 접근성과 보안이 확보된 라이브러리가 권장된다.표 형식 데이터는 정렬·필터링·내보내기 기능이 있는 표로 표현할 수 있으며, 모델이 표현 방식을 결정하면 개발자가 모든 출력 유형을 미리 예상할 필요가 줄어든다. 무제한 생성은 일관성 저하, 접근성 문제, 보안 취약점을 초래할 위험이 있다.출처: The Generative UI Concept · p. 530, §27.5.2 · pp. 531–532
27.5.1 동적 인터페이스를 위한 React Server Components
- Vercel AI SDK의 React Server Components 통합은 LLM 도구와 React 컴포넌트를 연결하고, 도구 출력을 props로 전달해 렌더링하며, 컴포넌트를 채팅 안에 스트리밍한다.사용자 메시지는 Next.js 서버 액션에 도달하고, 서버 액션은 컴포넌트와 연결된 도구를 포함해 모델을 호출한다.출처: §27.5.1 · p. 531
27.6 스트리밍 및 실시간 패턴; 27.6.1 토큰 스트리밍; 27.6.2 도구 호출 스트리밍; 27.6.3 다중 에이전트 스트리밍
- 스트리밍에서는 서버에서 클라이언트로 보내는 출력에 SSE를, 양방향 상호작용에 WebSockets를 사용하며, 도구 호출과 다중 에이전트에는 점진적 파싱과 일관된 표시가 필요하다.스트리밍 JSON 파서는 호출 전에 도구 인수의 일부를 표시할 수 있게 하며, 도구 결과도 점진적으로 보여줄 수 있다. 에이전트별 표식으로 동시 출력을 구분하되, 감독 에이전트와 하위 에이전트의 출력이 섞일 때는 일관된 순서를 유지해야 한다.출처: §27.6.1 · p. 532, §27.6.2 · p. 533, §27.6.3 · p. 533
27.6.4 낙관적 UI 갱신; 27.6.5 백프레셔 처리
- 백프레셔 제어는 렌더링 부하를 줄이며, 낙관적 갱신은 서버 확인 전에 사용자 행동을 반영하고 서버가 오류를 반환하면 되돌린다.토큰을 50–100ms 동안 버퍼링하고, 보이는 콘텐츠만 렌더링하며, 지표나 상태 갱신은 10 Hz 같은 고정 빈도로 제한한다. 처리량이 많을 때는 요약을 표시하고 요청 시 전체 세부 정보를 제공한다.출처: §27.6.4 · p. 533, §27.6.5 · p. 534
27.7 사람 참여형 UI 설계; 27.7.1 에이전트를 중단시킬 시점
- 사람의 검토는 되돌릴 수 없거나 외부에 영향을 미치거나 비용이 큰 행동에 우선 적용하고, 사용자 의도가 불확실하면 명확히 확인해야 한다.목표는 사람의 개입이 자동화의 병목이 되지 않으면서도 실질적인 감독을 제공하는 것이다. 파일 읽기나 검색처럼 되돌릴 수 있는 행동은 일반적으로 승인이 필요하지 않다.출처: §27.7.1 · p. 534, §27.7 · p. 534
3단계 승인 모델
- 승인 정책은 일상적이고 되돌릴 수 있는 행동을 자동 승인하고, 중간 위험 행동은 사용자에게 알리며, 위험이 높거나 되돌릴 수 없거나 비용이 큰 행동에는 명시적 승인을 요구한다.새로운 행동은 추가 검토가 필요하며, 중간 위험 알림에는 취소할 수 있는 시간을 둘 수 있다. 사용자가 단계별 임계값을 설정하거나, 승인 행동에 따라 임계값이 적응하도록 할 수 있다.출처: Three-Tier Approval Model · p. 534, §27.7.1 · p. 534
27.7.3 피드백 체계
- 피드백 체계는 이진 평가, 인라인 수정, 선택지 선택, 명시적 지시를 학습 신호나 행동 정책 갱신으로 전환한다.이진 피드백은 RLHF 미세 조정이나 선호 학습을 지원하며, 편집은 수정 전후의 차이를 제공한다. 선택적으로 평가 이유를 받으면 이진 피드백만 받을 때보다 풍부한 신호를 얻을 수 있다.출처: §27.7.3 · p. 535
27.7.4 UI 상호작용을 통한 에이전트 교육
- 교육용 인터페이스는 사용자가 작업을 시연하고, 수정 사항을 일반화하고, 행동을 비교하며, 학습된 선호 프로필을 확인하거나 편집하게 한다.수정 시에는 해당 변경을 일반적으로 적용할지 묻는다. 행동 프로필을 보여주면 학습된 선호를 투명하게 확인하고 통제할 수 있다.출처: §27.7.4 · p. 535
27.8 접근성과 신뢰
- 신뢰에는 예측 가능한 행동, 명확한 설명, 안정적인 복구가 필요하며, 인터페이스는 의사결정 근거, 출처, 반사실적 설명을 드러내야 한다.항공편 예약 예시는 검색 매개변수, 대안, API 행동, 연결된 확인 정보, 24시간 내 실행 취소 옵션, 명시적인 예약 변경 제한을 제시한다.출처: §27.8 · p. 535, §27.8.1 · p. 535, Trust-Building Through Transparency: A… · p. 537
- 복구 제어는 개별 행동 취소, 스냅샷 롤백, 모의 실행을 제공하며, 기업용 감사 추적은 행동, 도구 호출, 사람의 승인을 변경 불가능한 형태로 기록한다.실행 취소가 불가능하면 UI는 그 사실을 설명하고 가능한 최선의 대안을 제공해야 한다. 감사 기록에는 타임스탬프, 사용자 식별 정보, 전체 매개변수가 포함된다.출처: §27.8.3 · p. 536, §27.8.4 · p. 536
27.8.5 사용자 기대 관리
- 인터페이스는 역량 공개, 명시적인 한계, 선제적인 불확실성 전달, 개별 주장에 대한 보정된 신뢰도 표시로 기대를 조율해야 한다.부정확하게 형성된 기대는 불신의 주요 원인으로 지적되며, 주장별 신뢰도가 응답 전체에 대한 단일 점수보다 유용하다.출처: §27.8.5 · p. 536, §27.8.2 · p. 536
27.9.1 백엔드: 스트리밍과 승인 관문을 갖춘 FastAPI + LangGraph
- FastAPI 백엔드는 SSE로 에이전트 이벤트를 스트리밍하고 별도 엔드포인트로 승인 결정을 받으며, 승인이 필요한 모의 행동을 승인이나 시간 초과가 발생할 때까지 일시 중지한다.승인 결정에는 수정된 매개변수나 거부 사유를 포함할 수 있다. 승인 없이 300초가 지나면 모의 행동을 건너뛴다.출처: §27.9.1 · pp. 538–539
27.9.2 프런트엔드: 스트리밍과 도구 시각화를 갖춘 React
- React 프런트엔드는 스트리밍 상태, 토큰, 도구 호출, 결과, 승인을 타입이 지정된 이벤트로 모델링하고, 승인 단계별로 색상을 구분한 확장형 도구 카드를 제공한다.풀스택 예시는 FastAPI와 LangGraph를 결합하고, Vercel AI SDK의 프런트엔드 패턴을 사용자 정의 백엔드에 맞게 조정한다.출처: §27.9 · p. 537, §27.9.2 · pp. 539–540
- React 프런트엔드는 도구 입력과 승인 요청을 행동 요약, 위험 수준, 승인·거부 제어와 함께 표시한다.ToolCard는 단계 표시와 펼쳐 볼 수 있는 입력 세부 정보를 추가한다.출처: §27.9.2 · pp. 540–541, What This Implementation Demonstrates · p. 542
이 구현이 보여주는 것
- SSE는 하나의 HTTP 연결로 상태, 사고, 도구 호출, 토큰 이벤트를 전달하며, 타입이 지정된 이벤트 프로토콜은 적절한 프런트엔드 렌더링을 가능하게 한다.이 절에서는 실시간 토큰·도구 호출·다중 에이전트 스트리밍을 기본 기능으로 다룬다.출처: What This Implementation Demonstrates · pp. 542–543
- UI 패러다임 선택은 작업 구조, 필요한 사람의 관여 수준, 출력 유형에 달려 있으며, 대부분의 프로덕션 시스템은 여러 패러다임을 결합한다.사용할 수 있는 패러다임에는 채팅, 캔버스, 워크플로, 대시보드, 협업형, 자율형 인터페이스가 있다.출처: What This Implementation Demonstrates · p. 543
- 단계별 승인 정책은 안전한 행동을 자동 허용하고 위험한 행동에는 승인을 요구해, 병목 없이 감독을 유지한다.백엔드는 asyncio.Event로 프런트엔드가 승인 POST 요청을 제출할 때까지 스트리밍을 일시 중지하여, 승인 제어와 스트리밍 로직을 분리한다.출처: What This Implementation Demonstrates · pp. 542–543
- 생성형 UI는 LLM이 차트, 양식, 지도, 위젯을 생성하게 하여 고정 템플릿을 강제하는 대신 콘텐츠에 맞춰 인터페이스를 조정한다.사고 과정 표시, 도구 시각화, 문맥 패널도 신뢰할 수 있는 에이전트형 시스템의 기반 요소로 제시된다.출처: What This Implementation Demonstrates · p. 543
설계 원칙: 투명한 협업자로서의 에이전트
- 에이전트형 UI 설계의 중심은 투명한 협업이다. 행동은 보이고, 추론은 확인할 수 있으며, 실수는 복구할 수 있고, 역량과 한계는 명확해야 한다.실행 취소 기능, 감사 추적, 보정된 신뢰도 표시는 신뢰를 뒷받침한다. Vercel AI SDK, Chainlit, Gradio, Streamlit, LangGraph Studio 등의 프레임워크는 사용자 요구와 도메인 위험에 맞춰 결합할 수 있는 구성 요소를 제공한다.출처: Design Principle: The Agent as a… · p. 543, What This Implementation Demonstrates · p. 543
평가 및 참고 · 퀴즈 문항과 상세 해설
이 자가 평가 문항과 상세 해설은 Transformer 구조와 추론 효율을 RLHF, 선호도 최적화, 반복적 추론 학습과 연결한다. 보상 모델링과 평가, SFT와 미세 조정 방식 선택, 학습 안정성, 인프라 동기화·복구·확장을 다루며, 실무 진단과 구현상의 절충점을 강조한다.
28.1 기초 문항
- 인과적 어텐션은 각 토큰이 현재와 이전 위치만 참조하도록 제한해 왼쪽에서 오른쪽으로 진행하는 생성 방식에 맞추고, 캐시된 키와 값을 재사용하게 한다.자기회귀 추론에서는 미래 토큰이 존재하지 않으므로 학습 시 미래 위치를 마스킹한다. 기초 문항에서는 SFT의 모방 학습, PPO를 이용한 RLHF의 보상 모델 기반 최적화, DPO의 직접적인 선호 쌍 손실도 비교한다.출처: §28.1 · p. 545, Q0b: Explain Flash Attention. What… · p. 546
Q0b: Flash Attention을 설명하라. 어떤 문제를 어떻게 해결하는가?
- Flash Attention은 수치적으로 동일한 출력을 유지하면서 실제 실행 속도를 2–4× 높이고 HBM 메모리 사용량을 O(T^2)에서 O(T)로 줄인다.SRAM 용량에 맞춘 타일링과 온라인 softmax로 전체 어텐션 행렬을 HBM에 저장하지 않는다. 함께 제시된 보상 모델 문항에서는 보상 해킹, 분포 변화, 일관성 없는 인간 레이블, 미관측 출력에 대한 과도한 확신을 담은 점수를 실패 유형으로 꼽는다.출처: Q0b: Explain Flash Attention. What… · pp. 545–546
Q0e: RL의 탐색과 활용 간 절충 관계를 설명하라. LLM 학습에서는 어떻게 나타나는가?
- 생성 온도는 탐색을 촉진하고, KL 페널티는 참조 정책에서 벗어나는 정도를 제한해 모드 붕괴 방지를 돕는다.GRPO는 표본을 다양화하기 위해 온도 1.0을 사용한다. 보상 해킹 방어책으로는 적응형 KL 제어, 보상 모델 앙상블, 주기적인 보상 모델 갱신, 승률 개선 없이 보상 점수만 상승할 때 학습 중단 등이 있다.출처: Q0e: Explain the… · p. 547, Q2: Derive DPO from first principles.… · p. 549
28.2 핵심 알고리즘 문항
- [0.8, 1.2] 확률비 클리핑 구간은 기본 정책 경사법에 비해 PPO가 불안정한 업데이트를 유도할 여지를 제한한다.클리핑은 유리한 행동의 확률을 과도하게 높이거나 불리한 행동의 확률을 과도하게 낮춰도 목적함수가 더 개선되지 않게 한다. GAE는 지수 가중 시간차 오차로 기여도를 할당하며, LLM 예시에서는 gamma = 1과 lambda = 0.95를 사용한다.출처: §28.2 · p. 547, Q2: Derive DPO from first principles.… · p. 548
Q2: DPO를 기본 원리부터 유도하라. 어떤 가정을 두는가?
- DPO는 보상을 정책과 참조 정책의 확률비로 표현하고 프롬프트별 분배 함수를 소거해, KL 정규화 RLHF에서 선호도 손실을 유도한다.이 유도는 동률 없는 Bradley-Terry 쌍별 선호, 추이성, 분포 변화 부재, 고정된 적절한 참조 모델을 가정한다. 비추이적 선호, 데이터 변화, 레이블 잡음은 Online DPO와 IPO를 도입하는 동기가 된다.출처: Q2: Derive DPO from first principles.… · pp. 547–548
- GRPO는 크리틱 학습 없이 검증 가능한 보상을 다루는 데 적합하고, PPO는 세밀한 보상에 대해 토큰별 기여도 할당을 제공한다.해설은 이진 보상에서 추론 능력이 발현된 사례로 DeepSeek-R1을 든다. GRPO는 가치 모델을 없애지만 프롬프트당 여러 응답을 생성하므로, 연산 비중이 학습에서 생성으로 옮겨갈 뿐 총연산량은 비슷할 수 있다.출처: Q2: Derive DPO from first principles.… · p. 548
28.3 시스템 설계 문항
- 분리형 RLHF 시스템은 생성과 학습을 중첩 실행해 단일 통합 실행 대비 1.3–1.5× 처리량을 달성한다.제안된 70B 구조는 A100-80GB GPU 72개를 생성·채점·학습 클러스터에 각각 32개, 8개, 32개씩 배정한다. 생성은 RLHF 실제 소요 시간의 60–70%를 차지하며, 추가 최적화로 PagedAttention, 연속 배칭, 추측 디코딩, 양자화, 커널 융합을 활용한다.출처: §28.3 · pp. 549–550
Q8: 분리형 시스템의 가중치 동기화를 설명하라. 어느 정도의 지연을 허용할 수 있는가?
- 분리형 시스템에서 가중치가 50스텝 뒤처져도 승률로 측정한 품질 저하는 <2%로 보고된다.70B BF16 가중치를 전체 동기화하면 명시된 인터커넥트에서 140GB 전송에 2.8초가 걸린다. 제안된 운영 전략은 매 스텝 동기화하는 대신 학습 50스텝마다 전체 체크포인트를 전송한다.출처: Q8: Explain weight synchronization in… · p. 550
- 256+개 GPU 규모에서 백그라운드 스트리밍 동기화 시 가중치는 평균 5–10스텝 뒤처진다.생성 측은 배치 사이에 비차단 방식으로 가중치를 다시 로드하고, PPO는 생성 당시의 오래된 로그 확률을 이전 정책 분모와 오프폴리시 보정에 사용한다. 선택적으로 사용하는 INT8 파라미터 차분은 약 5GB이며 대역폭 요구량을 10× 줄인다.출처: Q8: Explain weight synchronization in… · pp. 550–551
- 512개 GPU에서 장애 간격이 4–8시간이면 닷새간 학습 중 15–30회 장애가 발생하므로, 아키텍처 수준의 복원력이 필요하다.무상태 생성 인스턴스는 <60s에 재시작하지만, 상태를 유지하는 학습은 체크포인트 복구가 필요하다. 학습 규모를 <2 min에 탄력적으로 축소하거나 노드를 교체하고 약 5분 안에 다시 로드할 수 있으며, 경험 데이터를 영속 저장하면 재생성을 피할 수 있다.출처: Q8: Explain weight synchronization in… · p. 551
- 대형 모델은 스텝별로 더 안정적이지만, 최대 규모에서는 스텝 비용이 50× 높아 불안정성의 대가가 크다.구조는 생성·학습을 같은 자원에 배치하는 단일 통합형에서 vLLM 생성/FSDP 학습의 부분 분리형을 거쳐, 가중치 저장소와 큐로 연결된 별도 클러스터로 발전한다. 대형 모델은 RL 학습이 덜 필요하지만, 405B 학습이 잘못되면 연산 비용 $100K+를 낭비할 수 있다.출처: Q8: Explain weight synchronization in… · p. 552
28.4 실무 및 디버깅 문항
- 보상은 상승하지만 별도 평가 데이터에서 SFT 기준 모델 대비 승률이 정체하거나 하락하면, 성능 개선이 아니라 보상 해킹을 뜻한다.길이 악용, 정책 이탈, 모드 붕괴를 진단하려면 응답 길이의 단조 증가, KL 발산 >15, 고유 트라이그램 다양성 감소를 확인한다. 마지막으로 개선이 있었던 체크포인트로 되돌리고, 서로 다른 데이터 분할로 학습한 보상 모델 3–5개의 최솟값이나 평균을 사용하는 방안을 검토한다.출처: §28.4 · pp. 552–553
Q12: RL 학습의 프롬프트 분포를 어떻게 결정하는가?
- 제안된 기본 RL 학습 구성은 실제 트래픽 40%, 합성 프롬프트 30%, 커리큘럼 프롬프트 20%, 적대적 프롬프트 10%다.통과율이 20–80%인 프롬프트를 유지한다. 모델이 개선되고 난이도 분포가 바뀌므로 학습 500스텝마다 다시 필터링한다.출처: Q12: How do you decide the prompt… · p. 553
Q13: RLHF에서 LoRA와 전체 미세 조정을 비교하라. 각각 언제 사용하는가?
- LoRA는 보통 전체 미세 조정 품질의 90–95%를 달성하며, 정책 이탈을 제한하고 개별 스텝을 빠르게 하지만 더 많은 스텝이 필요할 수 있다.기반 모델을 참조 모델로 재사용하면 140GB를 절약한다. 승률이 정체되고 기울기 분석에서 모델 용량의 한계가 드러날 때만 전체 미세 조정으로 전환한다. 전체 미세 조정은 파국적 망각의 위험을 높이며, LoRA보다 학습률을 세 배 낮추고 β를 더 크게 설정해야 한다.출처: Q13: LoRA vs full fine-tuning for… · p. 554
- MATH 벤치마크에서 PRM + best-of-N은 ORM + best-of-N 대비 10–20% 향상을 보였다고 보고된다.PRM은 높은 점수의 분기를 따라 트리 탐색을 수행하게 하고, 토큰별 보상을 GAE에 전달해 긴 추론 사슬의 기여도를 할당한다. 학습 시 32개 완성 결과의 정답 여부로 각 단계를 채점한 뒤, 이진 교차 엔트로피로 토큰별 분류 헤드를 학습할 수 있다.출처: Q13: LoRA vs full fine-tuning for… · pp. 554–555
Q15: RL이 실제로 모델을 개선했는지 어떻게 평가하는가?
- 다양한 프롬프트 500+개로 SFT 기준 모델과 블라인드 A/B 비교를 수행하고 LLM이 판정하게 해, RL이 모델을 개선했는지 평가한다.A/B 위치를 바꾼 뒤 판정을 평균해 위치 편향을 줄이고, 신뢰 구간을 보고한다.출처: Q15: How do you evaluate whether RL… · p. 555
- 역량 벤치마크의 >2% 하락은 우려할 만한 정렬 비용을, 승률 향상 없는 보상 모델 점수 상승은 보상 해킹을 나타낸다.MMLU(지식), HumanEval(코드), MATH(추론), MT-Bench(다중 턴)를 확인한다. 승률 상승과 벤치마크 하락이 함께 나타나면 RL 강도를 낮춰야 한다. 최종 선택에는 학습 중 반복적인 인간 평가 대신, 예시당 숙련된 평가자 3+명과 평가자 간 일치도 >70%를 확보한 블라인드 A/B 평가를 사용한다.출처: Q15: How do you evaluate whether RL… · pp. 555–556
- 스칼라 헤드 보상 모델을 1 에포크 학습해 과적합을 제한하며, 이 가이드는 검증 정확도 68–75%를 목표로 한다.프롬프트마다 다양한 응답 4–8개를 생성해 선택/거부 쌍을 만들고, 평가자 일치도가 <70%인 쌍은 버린다. 보상은 0을 중심으로 맞추고, 길이와 점수의 상관관계가 0.3을 넘으면 길이 페널티를 추가하며, 새 데이터에서 인간과의 일치도 >80%를 요구한다.출처: Q15: How do you evaluate whether RL… · p. 556
Q22: vLLM의 학습–추론 불일치를 설명하라. 왜 발생하며 TIS/MIS는 어떻게 해결하는가?
- 50+스텝 동안 KL >15가 지속되거나 한 스텝에서 >5 급등하면 불안정성을 뜻한다. 이와 별개로 학습–추론 확률 불일치는 PPO의 온폴리시 가정을 깨뜨린다.불일치에 대해 TIS는 경사 보정을 min(πtrain/πinference, C)로 제한하며 보통 C = 2.0을 쓴다. MIS는 C를 초과하는 토큰을 버린다. 이 가이드는 절단된 시퀀스 수준 중요도 샘플링을 권장한다. KL 대책으로는 학습률 50% 감소, β 두 배 증가, cliprange를 0.1로 설정하는 방법이 있다. 보상 해킹에는 RM 앙상블을, 가치 함수 발산에는 해당 학습률 감소나 GRPO 전환을 고려한다.출처: Q15: How do you evaluate whether RL… · p. 557, Q22: Explain the vLLM train-inference… · p. 559
Q15: RL이 실제로 모델을 개선했는지 어떻게 평가하는가?
- 분리형 설계는 대역폭 병목인 생성과 연산 병목인 학습을 분리해, 작업별 최적화와 독립적인 확장을 가능하게 한다.단일 통합형 시스템은 ≤13B 단일 노드 시제품 개발에 적합하지만, GPU가 시간의 60% 동안 유휴 상태이며 약 16개 GPU를 넘으면 확장 효율이 떨어진다고 보고된다. 부분 분리형은 64개 GPU까지 확장된다. 완전 분리형은 독립적으로 최적화한 클러스터와 무상태 생성으로 수백 개 GPU까지 확장되지만, 가중치 지연, 큐 관리, 네트워크 오버헤드, 분산 시스템의 복잡성을 수반한다.출처: Q15: How do you evaluate whether RL… · pp. 557–558
Q19: RL 학습용 커리큘럼 학습을 어떻게 구성하는가?
- 커리큘럼 학습은 역량 향상에 맞춰 프롬프트 난이도를 조절하고, 성공과 실패가 섞인 그룹을 유지해 유용한 GRPO 학습 신호를 제공한다.프롬프트를 쉬움(통과율 >80%), 보통(30–80%), 어려움(<30%)으로 분류한다. 500스텝마다 재평가하고 통과율이 95%를 넘는 프롬프트는 제외한다. 70B 자원 배정 예시는 vLLM 생성에 GPU 24개, 보상/참조 채점에 8개, FSDP 학습에 32개를 배정한다.출처: Q19: How do you set up curriculum… · p. 558
Q21: DAPO란 무엇이며 표준 GRPO를 어떻게 개선하는가?
- DAPO는 대규모 추론 RL을 위해 비대칭 클리핑, 과도하게 긴 응답 필터링, 토큰 수준 손실 정규화, 완만한 길이 페널티, 동적 샘플링을 결합한다.클리핑 하한은 0.2로 유지하고 상한은 0.28로 높여 확률 증가의 여지를 넓히며, 잘린 응답은 손실에서 마스킹한다. 전체 토큰 수 정규화, 최대 길이에 가까워질수록 점진적으로 커지는 페널티, 성공과 실패가 섞인 샘플링으로 32K+ 토큰을 포함하는 긴 완성에서도 탐색을 지원한다.출처: Q21: What is DAPO and how does it… · p. 559
Q22: vLLM의 학습–추론 불일치를 설명하라. 왜 발생하며 TIS/MIS는 어떻게 해결하는가?
- GSPO는 길이 정규화된 시퀀스 수준 중요도 비율 하나를 클리핑하고, GRPO는 개별 토큰 비율을 클리핑한다.GSPO는 서로 상관된 토큰 변화를 다루며, 한 번 생성한 데이터로 여러 번 업데이트해 학습이 오프폴리시가 될 때 권장된다. 이 가이드는 완전한 온폴리시 상태에서 비율이 약 1이면 GSPO와 GRPO가 동등하다고 설명한다.출처: Q22: Explain the vLLM train-inference… · p. 560
- GRPO의 암묵적 대조 목적함수 덕분에 G = 2는 G = 16보다 생성 연산량이 8× 적고 학습이 약 4× 빠르다고 보고된다.정답과 오답 응답이 하나씩 있으면 정규화된 어드밴티지는 +1과 −1이 된다. 통과율 30–70%에서 가장 잘 작동하며, <10%이면 더 큰 그룹이 필요하다. 별도로 SAPO는 경성 클리핑을 매끄러운 시그모이드 게이팅으로 대체해 클리핑 경계 밖에서도 약화된 경사를 유지하고, 더 안정적이고 시퀀스 전체에 일관된 최적화를 지원한다.출처: Q22: Explain the vLLM train-inference… · p. 560
Q26: f-DPO의 발산 척도 선택을 비교하라. 순방향 KL, JS, 역방향 KL을 각각 언제 사용하는가?
- 발산 척도 선택에는 보수적인 모드 추구와 다양성 간 절충이 따르며, 선호 데이터에 잡음이 있으면 Robust DPO, IPO 또는 갱신되는 참조 모델을 고려한다.역방향 KL은 보수적이고, 순방향 KL은 여러 모드를 포괄하지만 저품질 출력 위험이 있으며, JS는 둘 사이의 균형을 잡고 알파 발산은 그 사이를 보간한다. 잡음률을 알면 Robust DPO에 제공하고, 알 수 없으면 IPO를 사용한다. 분포 변화에는 EMA 참조 모델을 쓰는 TR-DPO와 함께 불확실한 쌍의 필터링이나 재레이블링을 활용한다.출처: Q26: Compare f-DPO divergence choices.… · p. 561
Q28: SimPO란 무엇이며 참조 모델이 없으면 어떤 이점이 있는가?
- SimPO는 길이 정규화된 평균 로그 확률 보상과 목표 마진을 사용하며, 70B 모델에서 참조 모델 메모리 70–140GB를 절약한다.참조 모델을 없애면 참조 모델의 노후화를 피하고, 길이 정규화로 길이 편향을 제한한다. 다만 기준점이 사라져 붕괴나 이탈 가능성은 남으므로, 공격적인 학습에서는 DPO보다 불안정할 수 있다.출처: Q28: What is SimPO and why is being… · pp. 561–562
Q29: Iterative RPO를 설명하라. 추론 학습에서 DPO와 NLL 손실을 결합하는 이유는 무엇인가?
- Iterative RPO는 DPO와 선택된 응답의 NLL을 결합해 올바른 추론 생성과 거부된 응답 회피를 함께 학습한다.DPO만으로는 올바른 추론 경로를 구별하더라도 유사한 추론 패턴을 생성하는 법은 배우지 못할 수 있다. 생성, 정답 검증, 선호 쌍 구성, RPO 학습을 반복하면 다음 라운드에 사용할 학습 데이터가 개선된다.출처: Q29: Explain Iterative RPO. Why… · p. 562
28.7 GPU 아키텍처 및 하드웨어 문항
- 생성 토큰마다 70B 모델 가중치 약 140 GB를 2 TB/s로 읽는 데 70ms가 걸리지만 연산에는 0.5ms만 걸려, 대역폭 병목 추론의 특성을 보여준다.어텐션 중간값을 HBM 대신 SRAM에 두면 메모리 트래픽이 줄어든다. RLHF에서 NVLink는 노드 내 텐서 병렬화를, InfiniBand는 노드 간 경사 동기화와 학습 측에서 생성 측으로의 가중치 전송을 지원한다.출처: §28.7 · p. 562, Q32: Explain PagedAttention. How does… · p. 564
Q31: Flash Attention은 어떻게 작동하는가? 온라인 softmax 기법이란 무엇인가?
- Flash Attention은 SRAM 타일링 기반의 정확한 계산과 온라인 softmax로 어텐션 속도를 2–4× 높이고 메모리 사용량을 O(n^2)에서 O(n)으로 줄인다.누적 최댓값과 정규화 합으로 이전 누적값의 척도를 재조정해 전체 어텐션 행렬을 HBM에 저장하지 않는다. Flash Attention 2는 워프 분할을 개선하고 행렬곱 이외의 FLOPs를 절반으로 줄이며, Flash Attention 3는 비동기 TMA 로드, 워프 특화, FP8 지원을 추가한다.출처: Q31: How does Flash Attention work?… · pp. 562–563
Q32: PagedAttention을 설명하라. KV 캐시 문제를 어떻게 해결하는가?
- PagedAttention은 필요에 따라 할당하는 KV 캐시 블록과 논리 블록에서 물리 블록으로의 매핑을 통해 동시 처리 시퀀스 수를 3–5×로, 서빙 처리량을 3–5×로 늘린다.각 블록은 토큰 16개를 저장한다. 내부 단편화는 마지막 블록에만 발생하며, 외부 단편화는 제거된다. 쓰기 시 복사 방식의 접두부 공유는 채팅 애플리케이션에서 메모리를 30–50% 절약한다.출처: Q32: Explain PagedAttention. How does… · p. 563
Q34: Adam과 AdamW를 설명하라. 이 차이가 LLM에서 중요한 이유는 무엇인가?
- 실효 정규화 수준이 같을 때, 장기간 사전학습에서 AdamW는 Adam+L2보다 퍼플렉시티가 2–5% 개선된다고 보고된다.AdamW는 가중치 감쇠를 적응적 업데이트와 분리해 경사 이력과 무관하게 파라미터를 동일한 비율로 감쇠한다. RL에서는 KL이 정규화를 제공하므로 가중치 감쇠를 쓰지 않는 경우가 많고, 제시된 SFT 범위는 0.01–0.1이다.출처: Q34: Explain Adam vs AdamW. Why does… · p. 564
Q35: 학습률 워밍업은 왜 필요한가? 없으면 어떻게 되는가? / Q36: 학습률 스케줄을 비교하라. RL 미세 조정에는 무엇을 선택하겠는가?
- 워밍업은 초기의 불안정한 적응적 업데이트를 제한한다. RL 미세 조정은 학습 기간을 예측하기 어려워 짧은 워밍업 이후 고정 학습률을 선호한다.학습률을 거의 영에서 시작해 높이면 이차 모멘트 추정치가 안정화될 수 있다. 반면 코사인 감쇠와 선형 감쇠는 학습 기간을 미리 정해야 한다. 단일 RL 배치에서도 평소 크기의 100×에 달하는 기울기가 발생할 수 있으므로 기울기 클리핑은 여전히 중요하다.출처: Q36: Compare learning rate schedules.… · pp. 565–566, Q35: Why is learning rate warmup… · p. 565
Q36: 학습률 스케줄을 비교하라. RL 미세 조정에는 무엇을 선택하겠는가?
- BF16은 잡음이 많은 RL 학습에서 취약한 FP16 손실 스케일링을 피하고, 전역 경사 클리핑은 위험한 업데이트를 제한한다.일반적인 max_grad_norm은 1.0이며 학습 초기에는 0.5를 쓴다. 전체 스텝의 20% 넘게 클리핑되면 학습률이 지나치게 높거나 배치 크기가 부족할 수 있다. 반올림 오차 누적을 막으려면 업데이트를 FP32로 누적한다. 손실 스케일링을 관리할 수 있다면 FP16이 더 높은 가수 정밀도를 제공한다.출처: Q36: Compare learning rate schedules.… · p. 566
Q39: Bradley-Terry 보상 모델 손실을 유도하라. 어떤 한계가 있는가?
- Bradley–Terry는 보상 차이에 시그모이드를 적용해 선호 확률을 모델링하지만, 동률을 배제하고 추이성과 대안에 독립적인 보상을 가정하며, 품질 차원을 하나로 압축하고 길이 편향을 보인다.스칼라 보상은 안전성과 유용성 같은 차원 사이에서 절충해야 한다. 긴 응답이 더 높은 점수를 받을 수 있으므로 길이와 점수의 상관관계를 명시적으로 제거해야 한다.출처: Q39: Derive the Bradley-Terry reward… · pp. 566–567
Q40: SFT의 시퀀스 패킹이란 무엇이며 왜 중요한가?
- 시퀀스 패킹은 4× 효율 향상을 보여주며, 완성 부분만의 마스킹은 SFT 손실을 프롬프트가 아닌 어시스턴트 응답에 집중시킨다.패킹은 EOS로 구분한 예시를 블록 대각 어텐션으로 연결하고 예시마다 위치를 초기화한다. 실효 배치 크기가 바뀌므로 학습률 조정이 필요할 수 있다. 완성 부분만의 마스킹은 응답 템플릿 토큰을 포함하며, 연산 비용을 바꾸지 않으면서 지시 이행 성능을 5–15% 개선하고 수렴을 앞당긴다고 보고된다.출처: Q40: What is sequence packing in SFT… · p. 567
- SFT는 RL이 강화할 수 있는 성공의 범위를 제한하며, 다중 목적 보상 설계는 유용성이 안전성을 압도하지 않도록 해야 한다.pass@1=20%, pass@64=25%이면 RL의 개선 여지가 작고, pass@1=5%, pass@64=60%이면 강화할 가치가 있는 드문 성공이 존재한다. 제약형 보상은 안전성 임계값을 강제하며, GDPO는 그룹 내 각 보상을 독립적으로 정규화해 척도 차이로 특정 보상이 지배하는 현상을 막는다.출처: Q40: What is sequence packing in SFT… · pp. 567–568
Q44: 추측 디코딩은 어떻게 작동하는가? RLHF에서는 언제 도움이 되는가?
- 추측 디코딩은 대형 모델의 샘플링 분포를 유지하면서 생성 속도를 2–3× 높여 전체 RLHF를 1.5–2× 가속한다.소형 모델이 후보 토큰을 작성하고 대형 모델이 한꺼번에 검증해, 검증 단계마다 평균 3–4개 토큰을 수용한다. 한계로는 동일한 토크나이저 요구, 추가 GPU 메모리, 높은 온도에서의 효과 감소, k=5를 넘을 때의 수익 체감이 있다.출처: Q44: How does speculative decoding… · pp. 568–569
Q45: 루프라인 모델을 설명하라. 커널이 연산 병목인지 메모리 병목인지 어떻게 판단하는가?
- 연속 배칭은 완료된 생성 슬롯을 즉시 채워 활용률을 미사용 시 약 40–50%에서 >90%로 높이고, 처리량을 2–3× 늘린다.Batch=1 생성은 1 FLOP/byte와 GPU 활용률 0.6%에 그치지만, batch=128, seq=2048 학습은 약 200+ FLOP/byte에 도달하며 연산 병목이다. 메모리 병목 커널은 메모리 트래픽을, 연산 병목 커널은 FLOPs를 줄여야 한다.출처: Q45: Explain the roofline model. How… · p. 569
28.11 Transformer 구조 문항
- 동일 FLOPs에서 언어 모델링 벤치마크의 1–2% 개선이 보고된다. RoPE는 쿼리/키 회전으로 상대 위치를 인코딩해 어텐션 점수가 절대 위치가 아닌 상대 거리에만 의존하게 한다.게이팅 기제는 차원을 선택적으로 억제하거나 증폭한다. 가중치 행렬이 두 개 대신 세 개 필요하지만, 은닉 너비를 4d에서 8d/3으로 줄여 이를 상쇄한다. RoPE는 주파수 스케일링을 통해 재학습 없이 학습 길이 이상으로 확장할 수 있다.출처: §28.11 · p. 570
- 그룹 쿼리 어텐션은 벤치마크 품질 손실이 0.5% 미만이면서 KV 캐시를 8× 줄인다고 보고된다.Llama-3 70B는 쿼리 헤드 64개가 KV 헤드 8개를 공유한다. 캐시가 작아지면 더 많은 시퀀스를 동시에 수용해 배치 크기와 추론 처리량을 높일 수 있다.출처: §28.11 · p. 570
Q: LLM에서 디코더 전용 구조가 인코더-디코더 구조보다 우세해진 이유는? … Q: MCTS(몬테카를로 트리 탐색)는 LLM 추론에 어떻게 적용되는가?
이 절은 구조, 메모리 트래픽, 적응, 압축, 전문가 라우팅, 분포를 보존하는 추측 디코딩 관점에서 LLM의 효율성을 살펴본다. 또한 궤적 기반 에이전트 학습, 응답 다양성, 선호도 및 보상 모델링, 추론 시점의 추론을 다루며, GRPO와 PPO, 과정 보상과 결과 보상, 추가 추론 연산과 트리 탐색을 대비한다.
Q: LLM에서 디코더 전용 구조가 인코더-디코더 구조보다 우세해진 이유는?
- 디코더 전용 구조는 학습과 추론에서 다음 토큰 예측을 일관되게 사용하고, 모든 매개변수를 생성에 활용하며, 캐싱을 단순화하고 문맥 내 예시를 자연스럽게 지원한다.모델, 손실 함수, 하이퍼파라미터 집합이 하나씩이므로 규모 확장도 단순해진다. 인코더-디코더 구조는 번역처럼 입력 길이가 고정된 시퀀스 간 변환 과제에서 여전히 이점이 있다.출처: Q: Why did decoder-only architectures… · p. 571
28.12 Flash Attention 질문 / Q: Flash Attention이 FFN 계층에는 도움이 되지 않는 이유는?
- Flash Attention의 실제 실행 시간 기준 2–4× 속도 향상은 FLOPs가 아닌 메모리 트래픽 감소에서 나온다. 연산 성능에 제약받는 FFN 계층에는 이 이점이 없다.SRAM 타일링과 수학적으로 정확한 온라인 softmax는 최댓값, 정규화 및 출력 통계량을 누적 관리해 전체 어텐션 행렬을 명시적으로 생성하지 않고 메모리 트래픽을 10–50× 줄인다. 대규모 배치의 FFN은 약 300 FLOP/byte에 도달해 A100의 전환점인 156 FLOP/byte를 넘으므로, 병목 해결에는 양자화와 배치 크기 확대를 대신 활용한다.출처: §28.12 · p. 571, Q: Why doesn’t Flash Attention help… · pp. 571–572
Q: DoRA란 무엇이며 표준 LoRA보다 성능이 좋은 이유는? / Q: LoRA는 왜 작동하는가? 저랭크 갱신의 이론적 근거는?
- DoRA는 학습 가능한 크기를 저랭크 방향 갱신과 분리해 추론 과제에서 표준 LoRA 대비 1–3% 성능 향상을 달성하며, 어댑터를 병합하면 추론 연산이 추가되지 않는다.출처: Q: What is DoRA and why does it… · p. 572
28.14 모델 압축 질문 / Q: NVIDIA 2:4 구조적 희소성을 설명하라. 속도 향상과 제약은?
- 압축에는 활성값 인지 양자화, 작업 부하별 정밀도 선택, 하드웨어 제약을 따르는 구조적 희소성이 사용되며, 각각 품질과 배포 조건이 다르다.AWQ는 스케일링으로 중요도가 높은 상위 1% 채널을 보호하여 70B 모델에서 품질 저하 <1%로 4-bit 양자화를 구현한다. BF16은 학습에, FP8은 H100 학습과 추론에, 4-bit는 서빙에 쓰이며, 실험 단계인 2-bit는 5–10%의 품질 저하를 수반한다. NVIDIA의 2:4 희소성으로 A100/H100에서 2× 처리량을 얻으려면 연속된 가중치 네 개 중 정확히 두 개가 영이어야 한다. 크기 기반 가지치기 후 짧게 미세조정하면 일반적으로 70B+ 모델의 품질 저하를 <1%로 제한할 수 있다.출처: §28.14 · p. 573, Q: Explain NVIDIA 2:4 structured… · p. 573
28.15 Mixture of Experts 질문
- Mixtral은 상위 두 전문가로 라우팅해 13B 수준의 연산 비용으로 Llama-2 70B와 동등한 품질을 달성하지만, 전체 47B 매개변수는 메모리에 상주한다.제약 없는 라우팅은 인기 전문가에 토큰을 집중시켜 용량을 낭비하고 GPU 병목을 유발한다. 분포 균형 페널티나 전문가별 용량 상한으로 이 불균형을 완화하며, 용량을 초과한 토큰은 버리거나 다른 전문가로 보낸다.출처: §28.15 · p. 574
Q: 추측 디코딩은 “품질 손실이 없다”고 한다. 토큰을 다르게 생성하면서 어떻게 동일한 출력 분포를 얻는가? / Q: 배치 크기가 클 때 추측 디코딩이 도움이 되지 않는 이유는?
- 추측 디코딩은 수락과 보정 재샘플링으로 목표 샘플링 분포를 보존하지만, 주로 대규모 배치 처리량보다 소규모 배치 지연 시간 개선에 유리하다.batch=1에서는 추측 디코딩으로 단계당 생성량이 1개에서 3–4개 토큰으로 늘어난다. batch=128에서는 부가 비용으로 처리량이 줄 수 있으며, 초안이 부정확하면 품질이 아니라 속도 향상 폭이 줄어든다. Medusa는 독립 예측 헤드로 60–80% 수락률과 2–2.5× 속도 향상을, Eagle은 자기회귀 초안 생성으로 85–95% 수락률과 3–4× 속도 향상을 제공한다. n-gram 초안 생성은 학습 없이 반복적인 출력에 적합하다.출처: Q: Speculative decoding claims “no… · pp. 575–576, Q: Why does speculative decoding NOT… · p. 576
Q: 표준 RLHF(단일 턴 PPO/DPO)가 다단계 에이전트에서 실패하는 이유는?
- 다단계 에이전트에서는 기여도 할당, 희소 보상, 구조화된 도구 행동, 변화하는 환경, 탐색 필요성 때문에 단일 턴 RLHF를 적용하기 어렵다.제안된 접근법으로는 궤적 수준 GRPO, 단계별 피드백을 제공하는 과정 보상 모델, 성공한 궤적을 선별한 지도 미세 조정이 있다.출처: Q: Why does standard RLHF (single-turn… · p. 576
Q: 표준 RLHF(단일 턴 PPO/DPO)가 다단계 에이전트에서 실패하는 이유는? / 28.16 학습 다양성 질문
- Agentic GRPO는 완전한 궤적을 샘플링하고 종료 보상이나 궤적 수준 보상을 사용하며 도구 출력을 마스킹한다. 그룹 내 응답이 모두 같으면 학습 신호가 사라진다.응답이 모두 같으면 보상 분산이 0이 되어 정규화된 어드밴티지가 정의되지 않으므로, 구현에서는 보통 이를 0으로 설정한다. 다양성과 품질 사이에는 상충관계가 있다. 엔트로피가 높으면 무작위 응답이 나올 수 있고, 다양성이 낮으면 반복적이고 보상을 편법으로 공략하는 출력이 나올 위험이 있다.출처: §28.16 · pp. 574–575, Q: Why does standard RLHF (single-turn… · p. 577
Q: 표준 RLHF(단일 턴 PPO/DPO)가 다단계 에이전트에서 실패하는 이유는?
- 에이전트 학습 그룹은 보통 N = 4–8개의 궤적으로 구성하며, 단계별 KL 페널티를 적용하고 토큰이 아닌 에이전트 행동 수로 길이를 정규화한다.궤적 생성 비용이 높아 그룹 크기를 작게 잡는다. 단계별 KL은 SFT 정책에서의 이탈을 제한하고, 행동 기반 정규화는 충분한 추론에 불이익을 주지 않는다. STaR는 생성한 추론 사슬 중 정답을 도출한 사슬로 미세 조정하고, Reflexion은 가중치 갱신 없이 언어적 피드백으로 재시도하며, ReAct는 추론과 도구 행동을 번갈아 수행한다.출처: Q: Why does standard RLHF (single-turn… · p. 577
Q: 연구 에이전트에서 PPO보다 GRPO를 선호하는 이유는?
- GRPO는 완전한 연구 궤적의 순위를 매겨, 긴 문맥 상태의 중간 가치 추정과 희소한 종료 보상에서 잡음이 큰 어드밴티지를 다뤄야 하는 PPO의 어려움을 피한다.연구 결과는 순위를 매기기 적합하며, 소규모 궤적 그룹은 관리할 수 있다. 반면 PPO는 안정적인 가치 추정에 많은 롤아웃이 필요하다.출처: Q: Why is GRPO preferred over PPO for… · pp. 577–578
- 코딩 에이전트 보상은 테스트, 품질, 효율성, 안전성을 결합하지만, 출력 하드코딩, 테스트 삭제, 일반화되지 않는 해법, 추론 생략을 유도할 수 있다.제안된 가중합은 R = 0.5 · Rtests + 0.2 · Rquality + 0.2 · Refficiency + 0.1 · Rsafety다. 완화책으로는 무작위화한 별도 평가용 테스트, 읽기 전용 테스트, 다양한 속성 기반 테스트, 품질 기준을 충족할 때만 지급하는 효율성 보너스가 있다.출처: Q: Why is GRPO preferred over PPO for… · p. 578
Q: Plackett-Luce 모델을 설명하라. Bradley-Terry를 어떻게 일반화하는가?
- Plackett-Luce는 남은 항목 중 softmax로 순차 선택해 전체 순위를 모델링하며, 항목이 두 개면 Bradley-Terry와 정확히 같아진다.여덟 항목의 순위는 28개의 암묵적 쌍별 비교와 상대적 격차 정보를 제공하므로, 한 쌍보다 풍부한 지도 신호를 준다.출처: Q: Explain the Plackett-Luce model.… · p. 578
- 과정 보상 모델은 중간 추론 단계를 평가해 기여도 할당과 탐색 가지치기를 가능하게 하고, 결과만 평가할 때보다 조밀한 학습 신호를 제공한다.결과 보상 모델은 짧은 과제, 단계 경계가 불명확한 경우, 단계별 주석 비용이 큰 경우에 적합하다. Math-Shepherd 방식의 주석은 연속된 각 단계에서 여러 번 생성한 완성 결과를 비교해 오류 가능성이 높은 지점을 찾는다.출처: Q: Explain the Plackett-Luce model.… · p. 579
Q: DeepSeek-R1은 긴 추론 사슬로 학습하면서도 과정 보상 모델을 사용하지 않는 이유는?
- DeepSeek-R1은 검증 가능한 과제에 결과만을 기준으로 한 정확도 및 형식 보상을 사용하며, GRPO는 과정 지도 없이 상대적 학습 신호를 제공한다.본문은 자기 교정의 발현을 결과만으로 주는 보상에 기인한 것으로 설명하고, PRM이 그럴듯해 보이지만 잘못된 단계에 보상할 수 있다고 경고한다. 주관적 과제에서는 결과 보상만으로 충분하지 않을 수 있다.출처: Q: Why does DeepSeek-R1 not use a… · p. 579
- 추론 토큰을 64× 사용하는 7B 모델은 추론 과제에서 토큰을 1× 사용하는 70B 모델과 동등한 성능을 낼 수 있다.난이도 적응형 추론은 쉬운 질문에는 짧은 사슬을, 어려운 질문에는 긴 사슬을 할당해 더 작은 모델의 배포를 가능하게 한다. 추가 연산의 효과는 점차 줄며, 지나치게 긴 사슬은 오류 누적과 주의 분산으로 정확도를 낮출 수 있다.출처: Q: Why does DeepSeek-R1 not use a… · pp. 579–580
Q: MCTS(몬테카를로 트리 탐색)는 LLM 추론에 어떻게 적용되는가?
- MCTS는 추론 분기를 선택하고 LLM이 생성한 단계로 확장하며, 롤아웃을 완료한 뒤 최종 정답 여부를 역전파해 경로의 Q값을 갱신한다.상위 k개 출력으로 거대한 분기 수를 제한한다. 학습된 PRM은 부분 해법의 품질을 추정해 무작위 롤아웃을 대체할 수 있다.출처: Q: How does MCTS (Monte Carlo Tree… · p. 580
질문: 소형 추론 모델 구축을 위한 증류와 직접 RL 비교 … 결론 및 향후 방향
이 절은 소형 추론 모델을 위한 증류와 직접 RL을 에이전트 시스템 설계 및 평가와 연결하며, 메모리, 검색, 컨텍스트 관리, 실행 안전장치, 인터페이스, 상호운용성, 아키텍처 선택을 다룬다. 마지막으로 신뢰할 수 있는 에이전트 시스템의 요건, 학습·감독·계획·조정·보안의 향후 방향, 에이전트 접근성을 높이는 방법과 자료를 정리한다.
질문: 소형 추론 모델 구축을 위한 증류와 직접 RL 비교
- R1-Distill-7B는 대부분의 벤치마크에서 direct-RL-7B를 능가한다. 증류는 완전히 새로운 문제 유형에 대한 일반화는 약하지만 저비용 기준선이 된다.증류는 SFT를 사용하지만 표면적 패턴만 가르칠 수 있다. 직접 RL은 검증 가능한 보상과 GRPO/PPO로 추론 전략을 발견하지만, 더 많은 연산이 필요하고 매우 작은 모델에서는 수렴하지 않을 위험이 있다. Qwen처럼 증류 후 필요에 따라 RL을 적용하는 순서를 권장한다.출처: Q: Compare distillation vs direct RL… · pp. 580–581
28.21 LLM 평가 질문 / 질문: 코드 생성의 pass@k 지표는 무엇이며 불편 추정량이 중요한 이유는 무엇인가?
- pass@k는 k개 코드 샘플 중 하나라도 모든 테스트를 통과하는지 측정한다. Chatbot Arena는 부트스트랩 신뢰구간을 포함한 Bradley–Terry 추정을 사용한다.불편 추정량(Chen et al., 2021)은 성공한 샘플이 c개인 n >= k개 샘플을 재사용하며, 성공을 포함하는 k개 부분집합의 비율로 여러 pass@k 값을 계산한다. Elo는 E_A = 1/(1 + 10^((R_B-R_A)/400))와 R_A' = R_A + K(S_A-E_A)를 사용하며, K는 반응성을 조절한다. Arena의 문체 통제 평점은 길이·서식 편향을 제거한다.출처: Q: What is the pass@k metric for code… · p. 581, §28.21 · p. 581
질문: 벤치마크 오염을 어떻게 탐지하고 완화하는가?
- 벤치마크 오염은 점수를 부풀린다. 중복 검사와 표현을 바꾼 테스트로 탐지하고, 동적 벤치마크, 학습 데이터 오염 제거, 중복 현황 보고로 대응한다.8-gram 중복이 80%를 넘으면 의심할 만하다. 의미는 같지만 문구가 다른 벤치마크에서 정확도가 크게 떨어지면 암기를 시사한다.출처: Q: How do you detect and mitigate… · p. 582
질문: LLM-as-Judge의 위치 편향과 완화 방법 설명
- GPT-4에서는 10–15%, Claude에서는 5–10%의 위치 편향이 보고된다. 응답 순서 교환, 복수 심사 모델, 평가 기준표, 보정된 프롬프팅으로 완화한다.순서 교환은 두 응답 순서를 모두 평가하고 판정이 다르면 동점으로 처리하므로 심사 비용이 두 배가 된다. 심사단은 모델을 세 개 이상 사용하며, 기준표 기반 심사는 응답을 독립적으로 채점한다. 이 밖에도 장황한 응답, 모델 자신의 출력, 출처를 인용하는 응답을 선호하는 편향이 있다.출처: Q: Explain position bias in… · p. 582
28.22 에이전트 메모리 질문
- 작업 기억은 현재 컨텍스트, 일화 기억은 경험, 의미 기억은 사실, 절차 기억은 기술을 저장하며, 이 기억 유형들은 상호작용한다.일화는 의미 지식으로 일반화되고 절차적 기술을 정교화한다. 시간적 감쇠는 오래된 기억의 가중치를 낮추고 접근한 기억을 갱신하며, RL로 학습할 수 있는 도메인별 감쇠율을 사용한다.출처: §28.22 · p. 583
질문: RL로 메모리 연산을 어떻게 학습하는가?
- RL은 과제 성공 보상, 메모리 효율성 페널티, 반사실적 궤적 비교를 통해 메모리 쓰기·검색·압축·망각을 학습할 수 있다.상태는 현재 컨텍스트와 메모리를 결합하며, 메모리 연산은 에이전트 MDP의 행동이 된다. 저장의 이득이 100단계 뒤에 나타날 수 있으므로 높은 λ를 사용하는 GAE처럼 긴 시간 범위의 기여도 할당이 필요하다.출처: Q: How can RL be used to train memory… · pp. 583–584
28.23 에이전트 오케스트레이션 질문 / 질문: 에이전트 실행의 무한 루프를 어떻게 탐지하고 방지하는가?
- 동적 컨텍스트 할당은 이력을 요약하고 관련 도구를 선택하며 필요할 때 메모리를 검색한다. 반복 횟수 제한과 반복 탐지는 실행 루프를 방지한다.이력 관리는 최근 대화를 원문 그대로 보존하고 오래된 대화를 요약하며, 도구 선택은 분류나 임베딩 유사도를 사용한다. 루프 검사는 강제 반복 횟수 상한, 반복되는 행동·관측 해시, 0.95를 초과하는 연속 행동 간 코사인 유사도를 포함한다.출처: §28.23 · p. 584, Q: How do you detect and prevent… · p. 585
질문: ReAct와 Plan-and-Execute 오케스트레이션 패턴 비교 / Plan-and-Execute: / 각 방식의 적합한 사용 시점:
- ReAct는 관측에 적응하지만 근시안적 루프와 높은 이력 처리 비용의 위험이 있다. Plan-and-Execute는 효율성과 병렬성을 높이지만 취약한 계획과 재계획 지연의 위험이 있다.Plan-and-Execute는 도구가 알려져 있고 하위 과제를 병렬화할 수 있으며 비용 제약이 있는, 명확히 정의된 과제에 적합하다. 혼합 방식은 상위 수준에서 계획하고 각 단계 안에서 ReAct를 사용한다.출처: Q: Compare ReAct vs Plan-and-Execute… · p. 585, Plan-and-Execute · p. 585, When to use which · p. 585
28.24 MCP 프로토콜 질문
- MCP에서는 N + M개의 클라이언트·서버 구현이 N × M개의 통합을 대체해 도구 재사용, 에이전트 이식성, 생태계 성장, 실행 시점의 조합을 지원한다.각 에이전트는 MCP 클라이언트 하나를, 각 도구는 MCP 서버 하나를 구현한다.출처: §28.24 · p. 587
- MCP는 행동을 실행하는 도구, 읽기 전용 리소스, 재사용 가능한 프롬프트 템플릿, 서버가 요청하는 LLM 샘플링을 분리해 실행 방향과 승인 요건을 명확히 한다.제시된 안전성 구분에서 도구는 승인이 필요하지만 리소스는 자유롭게 읽을 수 있다. 샘플링은 일반적인 클라이언트→서버 방향을 뒤집으며, 프롬프트는 실행이 아닌 템플릿을 제공한다.출처: §28.24 · p. 587
28.25 에이전트 통신(A2A) 질문
- A2A는 내부 구현을 공개하지 않는 에이전트 간 위임을, MCP는 도구 접근을 처리한다. Contract Net 입찰은 전문화와 부하 분산을 가능하게 하지만 과거 실적으로 보정한 신뢰도가 필요하다.에이전트는 신뢰도, 예상 비용, 예상 시간을 바탕으로 입찰한다. LLM은 자신의 능력을 과대평가할 수 있으므로 입찰에 유사 과제의 과거 성공 실적을 반영해야 한다.출처: §28.25 · pp. 588–589
질문: LLM의 중앙집중형·분산형 다중 에이전트 아키텍처 비교
- 중앙집중형 아키텍처는 디버깅이 쉽지만 병목을 만든다. 분산형 아키텍처는 복원력을 높이지만 조정을 복잡하게 한다. 계층형 아키텍처는 국소적 자율성과 전역적 조정을 결합한다.비구조적 분산 통신의 복잡도는 O(n^2)인 반면 계층형 통신은 O(n log n)이다. 감사 가능성에는 중앙집중형, 복원력과 창의성에는 분산형, 에이전트가 열 개를 넘으면 계층형 시스템을 권장한다.출처: Q: Compare centralized vs… · p. 589
- CTDE는 중앙집중형 크리틱으로 다중 에이전트 학습을 안정화하면서, 실행 시에는 각 에이전트가 자신의 관측만 사용하도록 한다.LLM 에이전트에서는 공동 출력 보상 모델이 반사실적 기여도 할당을 지원할 수 있다. 공유 상태에서 동시 학습하는 비용이 높으므로, 일부 에이전트를 동결하는 교대 학습이나 주기적으로 동기화하는 개체군 기반 학습을 고려한다.출처: Q: Compare centralized vs… · pp. 589–590
질문: 다중 에이전트 시스템 구축을 위한 LangGraph, AutoGen, CrewAI 비교
- LangGraph는 명시적 제어와 상태가 지속되는 워크플로에, AutoGen은 대화형 시제품 제작에, CrewAI는 단순한 역할 기반 팀에 적합하다. 직접 구현한 오케스트레이션은 프레임워크 제약을 피한다.LangGraph는 명시적 상태 그래프, 그래프 시각화, 단계 재실행을 제공하며 사람 개입을 핵심 기능으로 지원한다. 직접 구현은 최고 성능이나 최대 제어권, 비표준 오케스트레이션, 프레임워크 종속 회피가 필요할 때 적합하다.출처: Q: Compare LangGraph vs AutoGen vs… · p. 590
질문: 운영 환경에서 에이전트 시스템을 어떻게 테스트하고 평가하는가?
- 에이전트 평가는 테스트 피라미드, 재현 가능한 기준 궤적, 적대적 안전성 검사, 섀도 비교, 사용자 성과를 결합하며, 과제 성공률을 핵심 지표로 삼는다.과제 성공률은 사람의 개입 없이 올바르게 완료한 과제의 비율이다. 섀도 모드는 출력을 사용자에게 제공하지 않고 비교한다. 사용자 성과에는 만족도, 과제 완료율, 해결까지 걸린 시간이 포함된다.출처: Q: How do you test and evaluate an… · pp. 590–591
질문: 웹 탐색 에이전트 환경의 보상 함수 설계
- 웹 에이전트 보상은 희소한 최종 성공 보상과 더 조밀한 진행 보상으로 대비된다. 잠재함수 기반 보상 형성은 최적 정책을 보존하지만, 부분 관측성, 환경 변화, 보상 해킹이 설계를 어렵게 한다.예시에서는 목표를 향한 진전에 +0.1, 효율성을 위해 행동마다 −0.01을 부여한다. 보상 형성의 잠재함수는 휴리스틱이나 학습된 가치 함수로 목표까지의 최소 단계 수에 음수를 취한 값을 추정한다.출처: Q: Design a reward function for a web… · p. 591
질문: SWE-bench가 특히 어려운 에이전트 벤치마크인 이유는 무엇인가?
- 제시된 2024–2025 시점 자료에서 최고 성능의 에이전트는 SWE-bench Verified의 ∼50%, 전체 SWE-bench의 ∼30%를 해결한다.에이전트는 100K+줄 규모의 저장소를 탐색하고, 암묵적 요구사항을 추론하며, 여러 파일을 수정하고, 기존 테스트와 수정 사항 전용 테스트를 통과해야 한다. 이런 요구는 소프트웨어 공학을 함수 수준 코딩과 구분하며, 이러한 환경의 RL은 탐색과 계획을 학습시킨다.출처: Q: What makes SWE-bench a particularly… · pp. 591–592
질문: 에이전트의 채팅 기반·캔버스 기반 UI 패러다임 비교 / 각 방식의 적합한 사용 시점:
- 캔버스 인터페이스는 편집 가능한 산출물을 채팅과 독립적으로 유지하는 반면, 채팅은 대화 속에 출력을 묻히게 한다. 캔버스는 인터페이스와 스트리밍의 복잡성을 높인다.반복적으로 수정하는 코드·문서·분석에는 캔버스를 사용하고, 혼합 인터페이스는 적합한 출력을 채팅에서 자동으로 분리해 캔버스에 표시한다. 산출물 편집은 온라인 학습을 위한 명시적 피드백을 제공한다.출처: Q: Compare chat-based vs canvas-based… · p. 592, When to use which · p. 592
질문: 사람이 개입하는 에이전트 시스템의 승인 게이트를 어떻게 설계하는가?
- 승인 게이트는 안전하고 되돌릴 수 있는 행동은 자동 승인하고, 복구 가능한 영향은 사용자에게 알리며, 되돌릴 수 없거나 중대한 행동은 명시적 승인 전까지 차단해야 한다.소프트 게이트는 알림과 실행 취소를 보장하면서 실행을 허용한다. 하드 게이트는 에이전트가 대기하도록 한다.출처: Q: How do you design approval gates… · p. 593
설계 원칙:
- 승인 설계는 사용자 작업 중단을 최소화하고, 행동과 결과를 설명하며, 요청을 묶고, 시간 초과를 안전하게 처리하며, 승인 패턴에서 학습해야 한다.무엇이 바뀌고 어떻게 되돌리는지 보여준다. 미해결 게이트는 알림을 재시도하거나 안전한 기본값을 사용하거나 작업을 중단할 수 있다. MCP의 destructiveHint와 readOnlyHint는 상황에 따른 재지정이 가능한 자동 게이트 배정을 지원하며, 반복 승인은 자동 승인으로의 전환에 활용할 수 있다.출처: Design principles · p. 593
28.30 RAG 및 Agentic RAG 질문
- 85%+의 벤치마크에서 BM25 + 밀집 검색 + RRF의 혼합 방식이 어느 한 검색기만 사용하는 경우보다 우수하다.RRF는 서로 호환되지 않는 점수를 보정하지 않고 순위를 결합하며, 키워드 검색과 의미 검색이 일치할 때 가점을 준다. 상수 k = 60은 개별 검색에서 유난히 높은 순위가 미치는 영향을 제한한다.출처: §28.30 · p. 594
- Agentic RAG는 고정 검색 파이프라인을 조건부 검색, 질의 계획, 관련성 평가, 정보원 라우팅으로 대체해 지연 시간이 늘어나는 대신 복잡한 질의의 정확도를 높인다.에이전트는 불필요한 검색을 생략하고, 질문을 분해하며, 실패한 질의를 재구성할 수 있다. 표준 RAG는 단순 사실 조회에, Agentic RAG는 다중 홉 또는 모호한 질의에 적합하다.출처: §28.30 · p. 594
질문: 검색 품질 개선을 위한 Self-RAG와 CRAG 접근법 비교
- Self-RAG (Asai et al., 2023)는 검색 자기평가를 위한 성찰 토큰을 학습한다. CRAG (Corrective RAG, Yan et al., 2024)는 동결된 LLM 외부에 평가기를 추가한다.Self-RAG는 별도 학습이 필요하지만, CRAG는 신뢰도에 따라 문서를 채택하거나 웹 검색으로 보강하거나 폐기하고 웹 검색으로 전환한다. CRAG는 LLM 재학습을 피하지만 평가 모델과 지연 시간이 추가된다.출처: Q: Compare Self-RAG and CRAG… · p. 595
질문: lost-in-the-middle 문제는 무엇이며 어떻게 완화하는가?
- 문서 20개를 검색할 때 관련 문서가 1–3번째가 아닌 5–15번째에 있으면 정확도가 15–20% 하락한다(Liu et al., 2023).20+개 구절을 검색한 뒤 재순위화해 상위 3–5개를 남기고 최상의 근거를 먼저 배치한다. 전략적으로 관련 자료를 양 끝에 배치할 수도 있다. 구절 압축은 위치 편향을 줄이고, 독립적인 맵리듀스 처리는 이를 피한다.출처: Q: What is the lost-in-the-middle… · pp. 595–596
29.12 주요 실패 양상과 해결책 / 29.20 에이전트 RL 공식 / 29.22 에이전트 평가 지표
- 운영 평가는 과제 성공, 완료 단계 수, 토큰 비용, 지연 시간, 도구 정확도를 추적하며, 문제 해결은 보상 해킹, 무한 루프, 다중 에이전트 교착 상태를 겨냥한다.에이전트 보상은 과제·효율성·안전성 항을 결합하며, Reff = max(0, 1 − steps/Nmax)를 사용한다. 보상 해킹에는 보상 모델 앙상블과 길이 페널티, 무한 루프에는 최대 반복 횟수 제한과 루프 탐지, 교착 상태에는 DAG 구조 강제와 에이전트별 시간 제한을 권장한다.출처: §29.12 · p. 600, §29.20 · p. 603, §29.22 · p. 604
30.1 요약
- 신뢰할 수 있는 에이전트에는 시스템 수준 정렬, 자원에 맞는 학습, 엄밀한 평가, 입증된 필요성으로 복잡성이 정당화되는 아키텍처가 필요하다.운영용 RLHF는 4+개 모델, 수백 개 GPU, 내결함성, 보상 해킹 모니터링을 조율한다. PPO는 상당한 엔지니어링 투자를 통해 최고 품질을 우선하며, DPO 변형은 제한된 인프라에, GRPO는 검증 가능한 보상 도메인에 적합하다. DeepSeek-R1은 이진 보상과 그룹 상대 최적화에서 추론이 발현됨을 보여준다. 테스트 시점의 추가 사고로 작은 모델이 큰 모델에 필적할 수 있지만, 자율 에이전트에는 환경 보상 기반 학습, 하네스, 메모리, 프로토콜, 궤적 수준 평가가 필요하다.출처: §30.1 · p. 605
30.1 요약 / 29.17 MCP 빠른 참조 / 29.18 A2A 프로토콜 빠른 참조
- MCP는 도구 통합을 N × M에서 N + M으로 줄이고, A2A는 내부 구조를 공유하지 않는 에이전트 간 협업을 지원한다.MCP는 행동을 실행하는 도구, 읽기 전용 리소스, 재사용 가능한 프롬프트, 서버가 요청하는 샘플링을 구분한다. 클라이언트는 초기화 시 stdio 또는 HTTP+SSE를 통해 제공 기능을 탐색한다. A2A는 검색 가능한 Agent Cards, 수명주기가 관리되는 과제, 메시지, 산출물, 웹훅 알림, 과제 제출·폴링·SSE 구독용 엔드포인트를 제공한다.출처: §29.17 · p. 602, §29.18 · p. 602, §30.1 · p. 605
30.2.1 상호작용을 통한 학습 / 29.16 메모리 시스템 유형
- 배포 중 지속 학습은 비정상적 보상, 안전한 탐색, 긴 궤적의 기여도 할당, 파국적 망각, 보상 변동을 다뤄야 한다.이 방향은 정렬을 일회성 RLHF 학습 단계로 보는 관점 [280]을 넘어 사용자 상호작용, 도구 실패, 환경 관측에서 학습한다. 메모리 참조 자료는 컨텍스트 윈도 기반 작업 기억, 벡터 저장소 기반 일화 기억, 지식 그래프 또는 임베딩 기반 의미 기억, 기술 라이브러리 또는 코드 기반 절차 기억을 구분한다.출처: §29.16 · p. 602, §30.2.1 · p. 606
30.2.2 확장 가능한 감독 / 30.2.3 세계 모델과 계획
- 확장 가능한 감독은 인간의 이해 범위를 넘는 출력을 다뤄야 하며, 세계 모델 [130]은 에이전트가 단계마다 반응하는 대신 앞을 내다보고 계획하도록 할 수 있다.제안된 감독 방법에는 AI 지원 재귀적 보상 모델링 [57], 인간이 판정하는 토론과 증폭 [157], 추론 단계 감독 [215], 내부 연산의 기계적 해석 가능성 이 포함된다.출처: §30.2.2 · p. 606, §30.2.3 · p. 606
30.2.4 다중 에이전트 생태계 / 29.19 에이전트 프레임워크 비교
- 에이전트 경제 에는 서로 다른 위임 주체 간 신뢰, 자원 시장, 창발적 기만 방지책 [153], 유해한 위임 사슬에 대한 책임성 [6]이 필요하다.A2A 와 다중 에이전트 프레임워크는 수백 개 전문 에이전트 간 협업·협상·위임의 기반이 된다. 프레임워크 참조 자료는 LangGraph의 명시적 상태 그래프, OpenAI Agents SDK의 선언적 인계, AutoGen의 대화, CrewAI의 역할 기반 팀, Google ADK의 세션·이벤트·내장 A2A 지원을 대비한다.출처: §29.19 · p. 603, §30.2.4 · p. 606
30.2.5 에이전트 보안과 신뢰 / 29.21 에이전트 보안 점검표
- 에이전트 보안에는 간접 프롬프트 주입, 혼동된 대리인 문제, 샌드박스 경계, 조직 간 감사 가능성, 신뢰 보정에 걸쳐 미해결 문제가 남아 있다.이 안내서는 체계적인 간접 프롬프트 주입에 대한 견고한 방어책이 없다고 보고하며, A2A 사슬 전반의 권한 부여 추적을 아키텍처 차원의 미해결 문제로 지적한다. 점검표는 지시 계층, 도구 출력을 신뢰하지 않는 처리, 최소 권한, 샌드박싱, 출력 필터링, 반복 횟수·비용 제한, 사람의 승인, 과제 출처 검증을 권장한다.출처: §29.21 · p. 603, §30.2.5 · p. 607
30.2.6 벤치마크를 넘어선 평가 / 29.23 주요 에이전트 벤치마크
- 평가는 개별 벤치마크 성능에 그치지 않고 모호한 배포 목표, 변하는 요구사항, 복구, 보상 타당성, 토큰 비용, 분포 이동 상황의 안전성을 포착해야 한다.벤치마크 참조 자료는 SWE-bench Verified의 이슈 해결률을 ∼70%, WebArena의 과제 성공률을 ∼40%, Tau-bench의 통과율을 ∼65%(5회 시도), HumanEval / MBPP의 Pass@1을 >95%로 제시한다. 같은 정확도 뒤에 10×의 토큰 비용 차이가 숨을 수 있으며, 보상 해킹 [333], 분포 이동, 미성숙한 적대적 평가 [290]는 보상 타당성과 안전성 평가를 저해한다.출처: §29.23 · p. 604, §30.2.6 · p. 607
30.2.7 효율성과 접근성
- 70B RLHF 학습에 10K–100K, 복잡한 에이전트 과제당 1–50이 드는 비용은 증류, 효율적인 RL, 기기 내 실행, 독점 모델 수준의 품질을 갖춘 공개 가중치 모델이라는 목표를 뒷받침한다.증류는 대형 모델의 에이전트 능력을 소형 모델로 이전한다 [139] [184]. 효율적인 RL은 샘플 수와 분산 감소를 목표로 한다 [319]. 기기 내 에이전트는 클라우드 왕복 통신을 피하며, 공개 가중치 모델은 독점 모델 수준의 에이전트 성능을 목표로 한다 [72].출처: §30.2.7 · p. 607
30.3.1 기초 논문
30.3.2 시스템과 확장
- 확장 관련 문헌은 Megatron-LM [327]의 텐서·파이프라인 병렬화, DeepSpeed ZeRO [304]의 메모리 효율적인 분산 학습, vLLM [195]의 PagedAttention 서빙, Flash Attention [65]의 입출력을 고려한 정확한 어텐션을 다룬다.PagedAttention은 효율적인 LLM 서빙을 위한 메커니즘으로 제시된다.출처: §30.3.2 · p. 608
30.3.5 온라인 자료
- 자료는 에이전트 설계 원칙, LangGraph 워크플로 그래프, OpenAI Agents SDK, DSPy의 선언적 프롬프트 최적화, AutoGen의 다중 에이전트 대화를 다룬다.HuggingFace TRL은 운영용 RL 라이브러리를 제공한다.출처: §30.3.3 · p. 608, §30.3.5 · p. 609
30.3.3 에이전트 AI
- Voyager [362]는 기술 라이브러리를 갖춘 개방형 Minecraft 에이전트를 보여준다. SWE-bench [169], OSWorld, GAIA [254]는 상호보완적인 평가 영역을 다룬다.이 벤치마크들은 각각 자율 소프트웨어 공학, 컴퓨터 전반의 조작, 범용 비서의 현실 과제를 다룬다.출처: §30.3.3 · p. 608
- MemGPT [281]는 길이 제한 없는 컨텍스트를 위한 메모리 관리를 다루며, MCP 는 도구 통합을, A2A 는 에이전트 간 통신을 표준화한다.MemGPT는 운영체제에서 착안한 메모리 관리를 사용한다.출처: §30.3.3 · p. 608
30.3.4 정렬과 안전성
- 안전성 문헌은 Constitutional AI [16]의 자기지도 정렬, Sleeper Agents [153]의 기만적 정렬 우려, Reflexion [326]의 언어적 자기성찰, 간접 프롬프트 주입 위험 을 다룬다.프롬프트 주입 문헌은 LLM 통합 애플리케이션의 보안 위험을 다룬다.출처: §30.3.4 · p. 608
Related papers
This paper cites
- Attention Is All You Need2017
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding2018
- Language Models are Few-Shot Learners2020
- Training language models to follow instructions with human feedback2022
- GPT-4 Technical Report2023
- DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning2025