360 Secure SkillHub
360 安全技能中心

Agent Lightning

基于 Python 的 AI Agent 训练框架,支持 GRPO、APO、SFT、RLOO 等算法,可通过 emit 辅助函数或 tracer 以低代码改动接入 LangChain、AutoGen、CrewAI 等已有 Agent,并提供 train、eval、export、serve、dashboard 命令与 YAML 训练配置。

olmmlo-cmd
olmmlo-cmd
热度 77.37
最近更新 2026-05-11 17:26:00
分类:开发依赖:代码执行 / 第三方 API / 读写文件应用场景:API 集成 / DevOps / 工作流 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add agent-lightning
Metadata
name
agent-lightning
description
Microsoft Research's agent training framework. Optimizes AI agents with Reinforcement Learning, Automatic Prompt Optimization, and Supervised Fine-tuning. Zero code change required. Works with LangChain, AutoGen, CrewAI, OpenAI Agent SDK.
version
1.0.0
author
Microsoft Research
license
MIT
repository
https://github.com/microsoft/agent-lightning
homepage
https://microsoft.github.io/agent-lightning/
tags
["agent-training","reinforcement-learning","prompt-optimization","fine-tuning","microsoft","rlhf","agent-improvement"]
keywords
["AI agent training","reinforcement learning agents","automatic prompt optimization","agent fine-tuning","RL for agents"]
category
ai-training

Agent Lightning ⚡

Microsoft Research's agent training framework. Turn your AI agents into optimizable beasts with (almost) zero code changes.

Core Features

  • 🔌 Universal Compatibility: Works with LangChain, OpenAI Agent SDK, AutoGen, CrewAI, Microsoft Agent Framework, or plain Python OpenAI
  • 🎯 Selective Optimization: Optimize one or more agents in a multi-agent system
  • 🧠 Multiple Algorithms: Reinforcement Learning (RL), Automatic Prompt Optimization (APO), Supervised Fine-tuning (SFT)
  • ⚡ Zero Code Change: Add agl.emit_xxx() helpers or use tracer — your agent keeps running as usual

Installation

pip install agentlightning

For latest nightly build:

pip install --upgrade --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ --pre agentlightning

Quick Start

1. Instrument Your Agent

Option A: Add emit helpers (recommended)

import agentlightning as agl

# In your agent's tool calls
response = agl.emit_tool_call(
    model=model,
    messages=messages,
    tools=tools,
    context={"task": "search"}
)

Option B: Use tracer (zero code change)

from agentlightning import tracer

# Wrap your agent with tracer
with tracer.trace("my-agent", input_data):
    result = your_agent.run(user_query)

2. Create Training Config

# config.yaml
agent:
  name: "my-agent"
  type: "openai"  # openai, langchain, autogen, crewai

training:
  algorithm: "grpo"  # grpo, apo, sft, rloo
  episodes: 100
  batch_size: 16
  
environment:
  eval_tasks:
    - "math"
    - "coding"
    - "reasoning"

3. Run Training

agent-lightning train --config config.yaml

Algorithms

Algorithm Use Case Description
GRPO General RL Group Relative Policy Optimization — stable, works well for most agents
APO Prompt Tuning Automatic Prompt Optimization — improves system prompts
SFT Supervised Fine-tuning Supervised Fine-tuning with preference data
RLOO Long-horizon RLOO for tasks with sparse rewards

Usage Commands

agent-lightning train

Train your agent with configured algorithm.

agent-lightning eval

Evaluate agent on benchmark tasks.

agent-lightning export

Export trained model/prompts for deployment.

agent-lightning serve

Launch serving endpoint for trained agent.

Example: SQL Agent Training

See full example: Train SQL Agent with RL

from agentlightning import Agent, RLConfig, GRPOTrainer

# 1. Define your agent
sql_agent = Agent(
    name="sql-agent",
    system_prompt="You are a SQL expert...",
    tools=[execute_sql, query_schema]
)

# 2. Configure RL training
config = RLConfig(
    algorithm="grpo",
    episodes=500,
    learning_rate=1e-4
)

# 3. Train
trainer = GRPOTrainer(config=config)
trainer.train(sql_agent, eval_tasks=["sql-generation"])

Integration with Clawdbot

Environment Variables

# Required for training
export OPENAI_API_KEY="sk-..."

# Optional: for remote storage
export AGL_STORAGE="s3://my-bucket/agent-lightning/"

Python API

from agentlightning import LightningStore, GRPOTrainer

# LightningStore keeps tasks, resources, and traces in sync
store = LightningStore()

# Read traces, learn, and update prompts
trainer = GRPOTrainer(store=store)
trainer.train(agent=my_agent)

Monitoring Training

# Launch dashboard
agent-lightning dashboard --port 8080

# View logs
tail -f ~/.agent-lightning/logs/training.log

Best Practices

  1. Start Small: Begin with 10-50 episodes to verify setup
  2. Define Clear Rewards: Design reward functions that match your goal
  3. Use Evaluation Tasks: Always eval on held-out tasks
  4. Checkpoint Frequently: Save model every N episodes
  5. Monitor Convergence: Watch loss curves in dashboard

Resources

Citation

If you use Agent Lightning in research:

@misc{luo2025agentlightningtrainai,
  title={Agent Lightning: Train ANY AI Agents with Reinforcement Learning},
  author={Xufang Luo and Yuge Zhang and Zhiyuan He and Zilong Wang and Siyun Zhao and Dongsheng Li and Luna K. Qiu and Yuqing Yang},
  year={2025},
  eprint={2508.03680},
  archivePrefix={arXiv},
  primaryClass={cs.AI}
}