Microsoft Research가 AI 에이전트 개발의 고질적 문제를 해결했습니다. 기존 에이전트 코드를 거의 수정하지 않고 강화학습으로 훈련할 수 있는 Agent Lightning 프레임워크를 공개한 것입니다. 실제 SQL 에이전트 테스트에서 정확도가 73.2%에서 80.4%로 향상되는 등 구체적인 성과를 입증했습니다.

핵심 포인트:
- 제로 코드 변경의 비밀: Training-Agent Disaggregation 아키텍처로 에이전트 실행과 RL 훈련을 완전히 분리. Sidecar 디자인으로 비침투적 트레이스 수집 실현
- 프레임워크 독립성: LangChain, OpenAI Agent SDK, AutoGen, CrewAI 등 어떤 프레임워크로 만든 에이전트든 OpenAI 호환 API를 통해 즉시 연동 가능
- 검증된 성능 향상: Qwen2.5-Coder-3B 모델 기반 SQL 에이전트에서 Spider 데이터셋 정확도 73.2%→80.4% 달성. 평균 transition 수도 3.30→2.60으로 감소하며 효율성까지 개선
AI 에이전트 최적화의 딜레마
ChatGPT나 Claude 같은 LLM을 기반으로 한 AI 에이전트는 복잡한 실무 문제를 해결하는 강력한 도구입니다. 하지만 현실의 벽은 높습니다. 사전학습된 모델과 정적인 프롬프트만으로는 특정 도메인에서 최적의 성능을 내기 어렵죠.
강화학습(RL)으로 에이전트를 훈련하면 이 문제를 해결할 수 있습니다. 실제 태스크를 수행하며 얻은 피드백으로 모델을 개선하는 방식이니까요. 문제는 기존 RL 훈련 프레임워크가 에이전트 개발 프레임워크와 호환되지 않는다는 점입니다. LangChain으로 만든 에이전트를 RL로 훈련하려면 코드를 전부 다시 써야 했습니다.
Microsoft Research의 Agent Lightning은 이 문제를 정면으로 돌파합니다.
완전한 분리가 가능한 이유
Agent Lightning의 핵심은 Training-Agent Disaggregation 아키텍처입니다. 에이전트 실행과 RL 훈련을 완전히 분리한 설계죠.
구조는 간단합니다. Lightning Server는 verl(Volcano Engine Reinforcement Learning for LLMs) 기반의 RL 훈련 인프라를 관리하며 OpenAI 호환 LLM API를 제공합니다. verl은 ByteDance Seed 팀이 개발한 강화학습 프레임워크로, PPO, GRPO 등 다양한 RL 알고리즘을 효율적으로 실행하는 오픈소스 라이브러리입니다. Lightning Client는 이 API를 통해 기존 에이전트와 연결됩니다. 에이전트는 자신의 프레임워크에서 평소처럼 동작하고, Client는 상호작용 데이터를 수집해 Server로 전송합니다.

Sidecar 디자인이 제로 코드 변경을 가능하게 만드는 핵심입니다. 에이전트 실행을 침해하지 않으면서 모든 상호작용을 추적합니다. 프롬프트, 도구 호출, 보상 신호를 실시간으로 수집하고 표준 transition tuple(상태, 액션, 보상, 다음 상태)로 변환하죠. 에이전트 코드는 건드리지 않으면서 훈련에 필요한 모든 데이터를 확보하는 겁니다.
SQL 에이전트로 본 실전 적용
추상적인 설명보다 구체적인 사례가 이해하기 쉽습니다. Agent Lightning 팀이 공개한 SQL 에이전트 예제를 살펴보겠습니다.
LangGraph로 구현된 이 에이전트는 자연어 질문을 받아 SQL 쿼리를 생성하고 실행합니다. 단순히 한 번 생성하고 끝나는 게 아닙니다. 쿼리를 실행하고 결과를 검증한 뒤 오류가 있으면 다시 작성하는 자가 수정 루프를 돕니다.
워크플로우는 이렇습니다:
- write_query: 데이터베이스 스키마와 질문을 보고 첫 SQL 쿼리 생성
- execute_query: 쿼리를 실제 데이터베이스에서 실행
- check_query: 쿼리와 실행 결과를 분석해 오류 확인
- rewrite_query: 오류가 있으면 피드백을 반영해 쿼리 재작성
이 에이전트를 Agent Lightning으로 훈련하는 방법은 놀랍도록 간단합니다.
먼저 훈련 서버를 실행합니다:
python -m agentlightning.verl \
agentlightning.port=9997 \
algorithm.adv_estimator=grpo \
data.train_files=data/train_spider.parquet \
actor_rollout_ref.model.path=Qwen/Qwen2.5-Coder-3B-Instruct
그다음 에이전트 클라이언트를 연결합니다:
export VERL_API_BASE=http://localhost:9997/
python sql_agent.py \
--litsqlagent.trained-agents write \
--trainer.n-workers 16
끝입니다. 에이전트 로직은 그대로 둔 채 훈련이 시작됩니다.

결과는 명확합니다. Spider 데이터셋 500개 테스트 샘플에서:
- Qwen2.5-Coder-3B: 초기 73.2% → 훈련 후 80.4% (컨텍스트 4096, 3턴)
- Qwen2.5-Coder-7B: 초기 76.4% → 훈련 후 84.4%
- Llama-3.2-3B: 초기 62.0% → 훈련 후 69.6%
흥미로운 점은 효율성도 개선된다는 사실입니다. 평균 transition 수가 3.30에서 2.60으로 줄어들었습니다. 에이전트가 더 빠르게 올바른 답에 도달하게 학습한 겁니다.
기술적 혁신: GRPO와 LightningRL
Agent Lightning은 GRPO(Group Relative Policy Optimization) 알고리즘을 사용합니다. PPO의 변형인 GRPO는 에이전트 훈련에 특화된 설계입니다.
GRPO는 각 질문에 대해 여러 개의 출력을 샘플링하고 그 안에서 상대적 성능을 비교합니다. 별도의 value network 없이 그룹 내 상대적 이점만으로 advantage를 계산하죠. 메모리 사용량을 대폭 줄이면서도 안정적인 학습이 가능합니다.
LightningRL은 Agent Lightning의 계층적 RL 알고리즘입니다. 핵심은 credit assignment 모듈입니다. 복잡한 멀티턴 상호작용을 개별 훈련 transition으로 분해하는 역할을 합니다. 멀티에이전트 시나리오나 동적 워크플로우처럼 복잡한 로직도 처리할 수 있습니다.
에이전트 실행 중 발생하는 오류도 추적합니다. 실패 모드를 감지하고 상세한 오류 타입을 보고해 알고리즘이 엣지 케이스를 우아하게 처리하도록 돕습니다.
실무 적용: 시작하기
Agent Lightning은 오픈소스입니다. PyPI에서 바로 설치할 수 있습니다:
pip install agentlightning
특정 알고리즘을 사용하려면 추가 의존성을 설치합니다:
# APO (Automatic Prompt Optimization) 사용 시
pip install agentlightning[apo]
# VERL 사용 시
pip install agentlightning[verl]
VERL의 경우 PyTorch와 CUDA 버전 호환성 때문에 수동 설치를 권장합니다:
pip install torch==2.8.0 --index-url https://download.pytorch.org/whl/cu128
pip install flash-attn --no-build-isolation
pip install vllm==0.10.2
pip install verl==0.5.0
기존 에이전트를 Agent Lightning으로 연결하는 방법도 간단합니다. 에이전트 코드에서 LLM 호출 부분만 Agent Lightning의 OpenAI 호환 엔드포인트를 가리키도록 바꾸면 됩니다. 에이전트 로직은 전혀 바꿀 필요가 없습니다.
GitHub 저장소의 examples 디렉토리에는 LangChain, AutoGen, OpenAI Agent SDK를 사용한 다양한 예제가 있습니다. Text-to-SQL, RAG(Retrieval-Augmented Generation), 수학 도구 사용 등 실제 사용 사례를 다룹니다.
프레임워크 지원 범위
Agent Lightning이 지원하는 프레임워크는 광범위합니다:
- LangChain: 가장 널리 쓰이는 에이전트 오케스트레이션 프레임워크
- OpenAI Agent SDK: OpenAI의 공식 에이전트 개발 도구
- AutoGen: Microsoft의 멀티에이전트 대화 프레임워크
- CrewAI: 역할 기반 에이전트 협업 프레임워크
- Microsoft Agent Framework: 엔터프라이즈급 에이전트 개발 도구
- 프레임워크 없이 직접 구현: Python과 OpenAI API만으로 만든 에이전트도 지원
멀티에이전트 시스템에서 특정 에이전트만 선택적으로 최적화하는 것도 가능합니다. 예를 들어 5개의 에이전트로 구성된 시스템에서 대화를 담당하는 2개 에이전트만 훈련하고 나머지는 그대로 둘 수 있습니다.
알고리즘 선택의 자유
Agent Lightning은 여러 최적화 알고리즘을 지원합니다:
- 강화학습: GRPO, PPO, REINFORCE++ 등
- Supervised Fine-tuning: 레이블 데이터가 있을 때 사용
- Automatic Prompt Optimization (APO): 모델 가중치 대신 프롬프트를 최적화
프로젝트 요구사항에 맞춰 알고리즘을 선택할 수 있습니다. 작은 모델로 빠른 실험을 원한다면 APO가 적합합니다. 대규모 모델의 근본적인 성능 향상이 목표라면 GRPO 기반 RL 훈련이 효과적입니다.
커뮤니티와 확장 가능성
Agent Lightning은 활발한 커뮤니티를 형성하고 있습니다. 주목할 만한 프로젝트로는:
- DeepWerewolf: AgentScope와 Agent Lightning으로 구현한 중국식 마피아 게임 에이전트
- AgentFlow: Stanford에서 개발한 Flow-GRPO 알고리즘 기반 멀티에이전트 프레임워크
Microsoft는 향후 기능 확장도 예고했습니다. 사용자 피드백, 도구 성공 신호, 장기 credit assignment 같은 더 풍부한 보상 메커니즘을 지원할 계획입니다. Off-policy 알고리즘, 계층적 RL, 커리큘럼 학습도 로드맵에 포함됩니다.
RL 외에도 프롬프트 튜닝이나 모델 선택 같은 훈련 없는 최적화 방법도 통합할 예정입니다. 다양한 모델과 배포 환경에 맞는 최적화 기법을 선택할 수 있는 통합 프레임워크를 목표로 합니다.
에이전트 개발의 새로운 표준
Agent Lightning이 제시하는 비전은 명확합니다. 에이전트 개발과 최적화를 분리하는 겁니다.
개발자는 LangChain이나 AutoGen 같은 익숙한 도구로 에이전트 로직에만 집중합니다. 최적화는 Agent Lightning이 알아서 처리하죠. 코드를 다시 쓰거나 새로운 프레임워크를 배울 필요가 없습니다.
이는 에이전트 배포 방식도 바꿉니다. 정적인 프롬프트와 고정된 모델에 의존하던 과거와 달리, 실제 사용 데이터로 지속적으로 학습하는 에이전트를 만들 수 있습니다. 프로덕션 환경에서 실제 태스크를 수행하며 성능을 개선하는 적응형 에이전트 시대가 열리는 겁니다.
SQL 에이전트 예제가 보여주듯 효과는 즉각적입니다. 몇 시간의 훈련으로 정확도가 7-8% 향상됩니다. 실무에서 이 정도 개선은 사용자 경험에 직접적인 영향을 미칩니다.
참고자료:
답글 남기기