
Agent Lightning: Train ANY AI Agents with Reinforcement Learning
핵심 포인트
- 1Agent Lightning은 LLM 기반 AI 에이전트를 위한 유연하고 확장 가능한 RL 훈련 프레임워크로, 에이전트 실행과 RL 훈련을 완벽하게 분리하여 기존 에이전트의 코드 수정 없이 훈련할 수 있도록 합니다.
- 2이는 에이전트 실행을 Markov Decision Process(MDP)로 공식화하고, 통일된 데이터 인터페이스 및 계층적 RL 알고리즘인 LightningRL을 통해 복잡한 상호작용 로직에서 궤적을 훈련 전환으로 분해하여 가능해집니다.
- 3시스템적으로 Training-Agent Disaggregation 아키텍처를 도입하여 에이전트 런타임에서 관측 가능성을 활용하며, text-to-SQL, RAG, 수학 도구 사용 등 다양한 에이전트 시나리오에서 안정적이고 지속적인 성능 향상을 입증했습니다.
Agent Lightning은 모든 AI 에이전트를 위한 Reinforcement Learning(RL) 기반 LLM 훈련을 가능하게 하는 유연하고 확장 가능한 프레임워크입니다. 이 프레임워크는 RL 훈련과 에이전트 실행 간의 완전한 디커플링(decoupling)을 달성하여, LangChain, OpenAI Agents SDK, AutoGen과 같은 기존 프레임워크를 사용하거나 처음부터 구축된 에이전트에도 거의 ZERO 코드 수정으로 RL 훈련을 적용할 수 있게 합니다.
핵심 방법론 (Core Methodology)
- 통합 데이터 인터페이스 (Unified Data Interface):
- 상태 (State): 에이전트 실행의 스냅샷으로, 에이전트의 실행 상태를 충분히 설명하는 변수 값들을 포함합니다. 특히,
Semantic Variable은 구성 요소(LLM 또는 도구)에 의해 사용되거나 수정되는 핵심 변수들을 나타냅니다. 특정 태스크 의 번째 실행에서 시간 의 상태는 다음과 같이 표현됩니다:
여기서 는 변수의 개수입니다.
- 호출 (Call): 상태 변화는 에이전트의 구성 요소 호출(LLM 또는 도구)을 통해 발생합니다. 번째 실행의 번째 구성 요소 호출은 다음과 같이 정의됩니다:
여기서 이며, (LLM 또는 도구)는 호출된 구성 요소를 나타냅니다. 와 는 특정 시점의 semantic variable입니다.
- 보상 (Reward): 각 에이전트 실행에는 태스크 완료 품질을 측정하는 스칼라 보상 이 부여됩니다. 각 은 번째 호출의 품질에 해당하며, 중간 보상 또는 최종 보상으로 주어질 수 있습니다. 보상 신호가 있는 실행은 다음과 같이 표현됩니다:
- MDP 공식화 및 데이터 추출:
- 상태 공간 (S): 가능한 모든 에이전트 상태
- 관측 공간 (O): 정책 LLM의 모든 가능한 입력
- 행동 공간 (A): 정책 LLM의 단일 호출에서 생성된 전체 토큰 시퀀스
- 전이 동역학 (T): 로 정의되는 상태 전이
- 보상 함수 (R): 상태-행동 쌍을 스칼라 보상으로 매핑하는 함수
RL을 위해 각 실행(execution(x, k))에서 정책 LLM의 결정과 관련 보상만을 추출합니다. 이는 정책 LLM()의 원시 입력, 출력 및 보상으로 구성됩니다:
여기서 이며, 는 해당 트레이스에서의 LLM 호출 수입니다. 이러한 추출 방식은 에이전트의 복잡한 로직을 무시하고 LLM의 현재 입출력에만 집중함으로써, 어떤 AI 에이전트에도 RL을 적용할 수 있게 합니다.
- LightningRL 알고리즘:
LightningRL이라는 계층적 RL 알고리즘을 도입합니다. 이 알고리즘은 크레딧 할당(credit assignment) 모듈을 포함하여, 에이전트에 의해 생성된 트레이스를 훈련 전환(training transition)으로 분해하고, 기존 단일 턴(single-turn) RL 방법과 완전히 호환되는 방식으로 정책을 업데이트합니다.- 훈련-에이전트 분리 아키텍처 (Training-Agent Disaggregation Architecture):
- Lightning Server: RL 훈련 시스템의 컨트롤러 역할을 하며, 훈련 프로세스를 관리하고 업데이트된 모델의 OpenAI-like API를 클라이언트에 노출합니다.
- Lightning Client: 에이전트를 실행하고 데이터를 수집하는
Agent Runtime으로 구성됩니다. 이는 서버와의 데이터 전송 및 수신을 담당합니다.Agent Runtime은 OpenTelemetry와 같은 옵저버빌리티 프레임워크를 활용하여 투명하게 트레이스를 수집합니다. - Automatic Intermediate Rewarding (AIR): 이 메커니즘을 통해 시스템 모니터링 신호(예: 도구 호출 반환 상태)를 기반으로 중간 보상을 할당하여 희소한 보상 문제를 완화할 수 있습니다.
주요 특징 및 장점
- 완전한 디커플링: 에이전트 실행과 RL 훈련 간의 완전한 분리를 달성하여, 기존 에이전트에 거의 수정 없이 적용 가능합니다.
- 다양한 에이전트 지원: 다중 에이전트 시나리오 및 동적 워크플로우와 같은 복잡한 상호작용 로직을 RL이 처리할 수 있게 합니다.
- 유연한 컨텍스트 구성 및 선택적 최적화: 복잡한 에이전트 프레임워크의 내부 로직에 구애받지 않고 LLM의 입출력만을 기준으로 훈련 데이터를 추출하여, 특정 에이전트의 선택적 최적화를 가능하게 합니다.
- 안정적이고 지속적인 개선: Text-to-SQL, 검색 증강 생성(RAG), 수학 도구 사용 태스크 전반에 걸쳐 안정적이고 지속적인 성능 향상을 입증했습니다.
Agent Lightning은 이러한 디자인을 통해 LLM 기반 에이전트의 실제 적용 및 배포를 위한 강력한 훈련 프레임워크를 제공합니다.