国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用Microsoft Agent Lightning專業訓練AI Agent:全面配置與工作流程

譯文 精選
人工智能 開源
Microsoft Agent Lightning是一種基于強化學習的開源AI Agent訓練框架,其核心設計理念在于將運行邏輯與學習邏輯解耦,從而能夠靈活且高效地集成至現有的智能體中。本文介紹了其工作原理、使用步驟,包括架構、連接、調試、訓練等內容,并進一步分析了其典型應用場景。

譯者 | 李睿

審校 | 重樓

AI Agent正在改變人們使用人工智能的方式。依托大型語言模型(LLM),它們能夠回答問題、執行指令,并與各類數據源或API進行交互。然而,它們在處理復雜的多步驟任務時仍會出錯,而人工修復這些問題通常既耗時又費力。

微軟公司最近推出的Agent Lightning框架使這一過程變得更加簡單。該框架將智能體(Agent)的運行機制與學習過程分離開來,使得智能體能夠在實際交互中持續自我優化。用戶可基于現有的聊天工具或自動化系統進行部署,并借助強化學習技術,讓智能體在執行任務過程中逐步提升智能化水平。

什么是Microsoft Agent Lightning?

Agent Lightning是微軟公司推出的一種開源框架,旨在通過強化學習(RL)來訓練和改進AI Agent。其優勢在于,它可以無縫封裝任何使用現有框架(如LangChain、OpenAI Agents SDK、AutoGen、CrewAI、LangGraph或自定義Python)開發的智能體,并且幾乎無需更改代碼。

從技術角度來看,該框架支持對智能體中嵌入的LLM進行強化學習訓練,而無需改變智能體的核心邏輯。其基本思想是將智能體的執行過程視為一個馬爾可夫決策過程——“在每一步,智能體都處于特定狀態,執行某個行動(LLM輸出),并在這些行動在成功完成任務時獲得相應的獎勵。”

Agent Lightning框架由Python SDK與訓練服務器兩部分組成。用戶只需將智能體邏輯封裝進LitAgent類或兼容接口,并定義輸出結果(獎勵)評估機制,即可啟動訓練。該框架負責采集交互經驗,將其輸入至分層強化學習算法(LightningRL)中以完成信用分配,進而更新智能體模型或提示模板。在訓練結束后,用戶即可獲得一個經過強化、性能顯著提升的智能體。

為什么Agent Lightning很重要?

傳統的智能體框架(如LangChain、LangGraph、CrewAI或AutoGen)能夠創建可以逐步推理或使用工具的AI Agent,但它們沒有訓練模塊。這些智能體只是基于靜態的模型參數或提示詞來運行模型,這意味著它們無法從所經歷的情況中學習。現實世界中的挑戰具有一定程度的復雜性,需要一定程度的適應性。Agent Lightning解決了這一問題,將學習引入了智能體流程中。

Agent Lightning通過實現一個自動優化管道來解決這一預期差距,它利用強化學習的能力,根據反饋信號更新智能體的策略。簡而言之,智能體可以從自己的成功和失敗中學習,從而可能產生更可靠、更值得信賴的結果。

Agent Lightning的工作原理

在服務器-客戶端架構中,Agent Lightning利用強化學習算法來生成任務并優化建議,例如調整提示或更新模型權重。任務由Runner執行,它收集智能體的每個行動和最終獎勵,并將這些數據返回給算法。這種反饋機制使得智能體能夠隨著時間的推移,利用“自動中間獎勵”功能來進一步微調其提示或權重,該功能可為成功的中間行動提供即時的小幅獎勵以加速學習過程。

Agent Lightning本質上將Agent操作視為一個循環:狀態是其當前上下文;行動是它的下一步,獎勵是任務成功的指標。通過設計“狀態-行動-獎勵”的轉換,Agent Lightning最終可以為任何類型的智能體提供訓練支持。

Agent Lightning采用了解耦化設計,將智能體的學習與執行相分離。在這一架構中,服務器負責模型更新與優化,客戶端則負責執行實際任務并報告結果。這種任務分工使智能體在高效完成具體任務的同時,能持續通過強化學習優化其性能。

注:Agent Lightning使用分層強化學習系統LightningRL,能夠分解復雜的多步驟智能體行為進行訓練。LightningRL還支持多智能體、復雜工具使用和延遲反饋。

使用微軟Agent Lightning訓練智能體的分步指南

本節將介紹如何使用Agent Lightning訓練一個SQL智能體,并展示如何集成其核心組件:基于LangGraph構建的SQL智能體、VERL強化學習框架,以及用于控制訓練與調試流程的Trainer。

本文提供了一個可直接運行的命令行示例(examples/spider/train_sql_agent.py),但重點在于幫助開發者深入理解系統架構與工作流程,從而能夠自信地將Agent Lightning應用于實際業務場景。

智能體架構

Agent-Lightning可以與AutoGen、CrewAI、LangGraph、OpenAI Agents SDK以及其他自定義Python邏輯等框架無縫協作。在這個例子中,使用LangGraph構建了一個循環工作流,模擬數據分析師迭代編寫和修復SQL查詢的過程:

這個工作流包含四個功能階段:

  • write_query:獲取用戶的問題,根據文本問題生成初始SQL查詢。
  • execute_query:在目標數據庫中執行生成的查詢。
  • check_query:使用驗證提示(CHECK_QUERY_PROMPT)驗證結果。
  • rewrite_query:如果有問題,則重寫查詢。

循環繼續,直到查詢驗證或達到最大迭代計數(max_turns)。強化學習優化了write_query和rewrite_query階段。

構建LangGraph智能體

為保證代碼的模塊化與可維護性,建議使用獨立的構建器函數來定義 LangGraph 工作流,具體實現如下所示:

python

from langgraph import StateGraph 
def build_langgraph_sql_agent( 
    database_path: str, 
    openai_base_url: str, 
    model: str, 
    sampling_parameters: dict, 
    max_turns: int, 
    truncate_length: int 
): 
    # Step 1: Define the LangGraph workflow 
    builder = StateGraph() 
    # Step 2: Add agent nodes for each step 
    builder.add_node("write_query") 
    builder.add_node("execute_query") 
    builder.add_node("check_query") 
    builder.add_node("rewrite_query") 
    # Step 3: Connect the workflow edges 
    builder.add_edge("__start__", "write_query") 
    builder.add_edge("write_query", "execute_query") 
    builder.add_edge("execute_query", "check_query") 
    builder.add_edge("check_query", "rewrite_query") 
    builder.add_edge("rewrite_query", "__end__") 
    # Step 4: Compile the graph 
  return builder.compile().graph()

這樣做可以將LangGraph邏輯與Agent Lightning的未來更新相分離,從而提高代碼的可讀性和可維護性。

連接LangGraph與Agent Lightning

LitSQLAgent類作為LangGraph與Agent Lightning之間的橋梁。它繼承自agl.LitAgent,因此Runner可以為每次迭代管理共享資源(如LLM)。

python

import agentlightning as agl 
class LitSQLAgent(agl.LitAgent[dict]): 
    def __init__(self, max_turns: int, truncate_length: int): 
        super().__init__() 
        self.max_turns = max_turns 
        self.truncate_length = truncate_length 
    def rollout(self, task: dict, resources: agl.NamedResources, rollout: agl.Rollout) -> float: 
        # Step 1: Load shared LLM resource 
        llm: agl.LLM = resources["main_llm"] 
        # Step 2: Build LangGraph agent dynamically 
        agent = build_langgraph_sql_agent( 
            database_path="sqlite:///" + task["db_id"], 
            openai_base_url=llm.get_base_url(rollout.rollout_id, rollout.attempt.attempt_id), 
            model=llm.model, 
            sampling_parameters=llm.sampling_parameters, 
            max_turns=self.max_turns, 
            truncate_length=self.truncate_length, 
        ) 
        # Step 3: Invoke agent 
        result = agent.invoke({"question": task["question"]}, { 
            "callbacks": [self.tracer.get_langchain_handler()], 
            "recursion_limit": 100, 
        }) 
        # Step 4: Evaluate query to generate reward 
        reward = evaluate_query( 
            result["query"], task["ground_truth"], task["db_path"], raise_on_error=False 
        ) 
        return reward

注:“main_llm”資源鍵是智能體與VERL之間的一種協作約定,用于在服務上下文中為每次任務提供正確的端點訪問。

獎勵信號和評估機制

evaluate_query函數定義了用于強化訓練的獎勵機制。Spider數據集上的每個任務都包含一個自然語言問題、一個數據庫模式和一個基準SQL查詢。獎勵機制將模型生成的SQL查詢與參考SQL查詢進行比較:

python

def evaluate_query(predicted_query, ground_truth_query, db_path, raise_on_error=False): 
    result_pred = run_sql(predicted_query, db_path) 
    result_true = run_sql(ground_truth_query, db_path) 
    return 1.0 if result_pred == result_true else 0.0

注:在訓練過程中,智能體絕不能看到真實查詢,否則會導致信息泄露。

配置VERL以進行強化學習

VERL是智能體的強化學習后端。其配置如同定義Python字典一樣簡單,用戶需要輸入算法、模型、rollout參數和訓練選項。以下是一個基礎配置示例:

python

verl_config = { 
    "algorithm": {"adv_estimator": "grpo", "use_kl_in_reward": False}, 
    "data": { 
        "train_batch_size": 32, 
        "max_prompt_length": 4096, 
        "max_response_length": 2048, 
    }, 
    "actor_rollout_ref": { 
        "rollout": {"name": "vllm", "n": 4, "multi_turn": {"format": "hermes"}}, 
        "actor": {"ppo_mini_batch_size": 32, "optim": {"lr": 1e-6}}, 
        "model": {"path": "Qwen/Qwen2.5-Coder-1.5B-Instruct"}, 
    }, 
    "trainer": { 
        "n_gpus_per_node": 1, 
        "val_before_train": True, 
        "test_freq": 32, 
        "save_freq": 64, 
        "total_epochs": 2, 
    }, 
}

這類似于可以在CLI中運行的命令:

python

python3 -m verl.trainer.main_ppo \ 
  algorithm.adv_estimator=grpo \ 
  data.train_batch_size=32 \ 
  actor_rollout_ref.model.path=Qwen/Qwen2.5-Coder-1.5B-Instruct

使用Trainer編排訓練過程

Trainer是連接智能體、強化學習算法、數據集和分布式Runner的高級協調模塊。

python

import pandas as pd 
import agentlightning as agl 
# Step 1: Initialize agent and algorithm 
agent = LitSQLAgent(max_turns=3, truncate_length=1024) 
algorithm = agl.VERL(verl_config) 
# Step 2: Initialize Trainer 
trainer = agl.Trainer( 
    n_runners=10, 
    algorithm=algorithm, 
    adapter={"agent_match": "write|rewrite"}  # Optimize both query stages 
) 
# Step 3: Load dataset 
train_data = pd.read_parquet("data/train_spider.parquet").to_dict("records") 
val_data = pd.read_parquet("data/test_dev_500.parquet").to_dict("records") 
# Step 4: Train 
trainer.fit(agent, train_dataset=train_data, val_dataset=val_data)

幕后發生的過程如下:

  • VERL啟動一個OpenAI兼容的代理,以便無需實現OpenAI請求即可分發工作。
  • Trainer創建10個Runner以并發執行。
  • 每個Runner調用rollout方法,收集軌跡信息并將獎勵發送回以更新策略。

使用trainer.dev()調試智能體

在開始完整的強化學習(RL)訓練之前,建議對整個流程進行試運行,以檢查連接情況和軌跡信息。

python

trainer = agl.Trainer( 
    n_workers=1, 
    initial_resources={ 
        "main_llm": agl.LLM( 
            endpoint=os.environ["OPENAI_API_BASE"], 
            model="gpt-4.1-nano", 
            sampling_parameters={"temperature": 0.7}, 
        ) 
    }, 
) 
# Load a small subset for dry-run 
import pandas as pd 
dev_data = pd.read_parquet("data/test_dev_500.parquet").to_dict("records")[:10] 
# Run dry-run mode 
trainer.dev(agent, dev_dataset=dev_data)
該步驟確保在投入大量GPU資源進行長時間訓練之前,整個LangGraph控制流、數據庫連接及獎勵邏輯均已正確配置并驗證通過。

運行完整示例

要設置環境,需安裝依賴項(即使用pip install -r requirements.txt命令),然后運行完整的訓練腳本:

python

# Step 1: Install dependencies 
pip install "agentlightning[verl]" langchain pandas gdown 
# Step 2: Download Spider dataset 
cd examples/spider 
gdown --fuzzy https://drive.google.com/file/d/1oi9J1jZP9TyM35L85CL3qeGWl2jqlnL6/view 
unzip -q spider-data.zip -d data && rm spider-data.zip 
# Step 3: Launch training 
python train_sql_agent.py qwen   # Qwen-2.5-Coder-1.5B 
# or 
python train_sql_agent.py llama  # LLaMA 3.2 1B

如果使用的是托管在Hugging Face平臺上的模型,那么務必按照以下步驟導訪問令牌:

python

export HF_TOKEN="your_huggingface_token"

在沒有VERL情況下的調試

如果希望在沒有強化學習的情況下驗證代理邏輯,可以使用內置的調試助手:

python

export OPENAI_API_BASE="https://api.openai.com/v1" 
export OPENAI_API_KEY="your_api_key_here" 
cd examples/spider 
python sql_agent.py

這將允許用戶使用當前LLM端點運行SQL Agent,以確認查詢已執行且控制流按預期工作。

評估結果

注:在單個80GB GPU上運行python train_sql_agent.py qwen通常會在大約12小時后完成。你將看到訓練獲得的獎勵持續增加,這表明智能體的SQL生成過程隨著時間的推移而不斷改進。因此,由于資源限制,在這里使用了官方文檔中展示的結果。

Agent Lightning的適用場景

在實際應用中,假設用戶有一個基于LLM的智能體,它在某個應用程序(如客戶支持聊天機器人、自動化編碼助手等)中扮演著重要角色,并且希望對其進行優化,那么Agent Lightning是一個理想的候選方案。該框架已在SQL查詢生成等任務中得到驗證。經過引入強化學習或提示優化機制,Agent Lightning能夠持續迭代并優化已有智能體,從而生成更準確、更可靠的輸出結果。

  • 如果希望AI Agent通過試錯進行學習,那么應該使用Agent Lightning。它專為具有明確成功或失敗信號的多步驟邏輯場景而設計。
  • 例如,Agent Lightning可以通過觀察執行反饋來學習,從而改進生成數據庫查詢的機器人。該模型也適用于聊天機器人、虛擬助手、游戲智能體以及使用工具或API的通用智能體。
  • Agent Lightning框架與智能體無關,并支持靈活部署。它可以在標準個人電腦(PC0或服務器上按需訓練,因此可以在必要時在筆記本電腦或云平臺上進行模型訓練。

結論

Microsoft Agent Lightning是一種用于提升AI Agent智能水平的新機制。其核心理念在于,智能體不應是固定的代碼對象,而應該能夠通過持續的訓練循環從經驗中學習。通過將訓練過程與執行過程解耦,它可以在無需更改任何代碼的情況下優化任何智能體工作流。

這意味著,可以通過使用Agent Lightning的強化學習機制輕松增強智能體工作流程,無論它是定制智能體、LangChain機器人、CrewAI、LangGraph、AutoGen還是更具體的OpenAI SDK agent,。實際上,智能體正從其自身的數據中變得更加智能。

常見問題解答

Q1.什么是Microsoft Agent Lightning?

A:它是微軟的一個開源框架,通過強化學習來訓練AI Agent,而無需改變其核心邏輯或工作流。

Q2. Agent Lightning如何改進AI Agent?

A:它允許智能體通過強化學習從實際任務反饋中學習,從而不斷優化提示或模型權重以提高性能。

Q3. Agent Lightning能否與現有的智能體的框架協同工作?

A:是的,它可以與LangChain、AutoGen、CrewAI、LangGraph以及自定義Python智能體輕松集成,并且幾乎無需修改代碼。

原文標題:Train Your AI Agents Like a Pro with Microsoft Agent Lightning (Full Setup & Workflow) ,作者:Vipin Vashisth

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2025-02-27 00:00:00

2025-03-03 13:26:39

2025-08-18 03:00:00

AI智能體微軟

2025-08-04 02:55:00

AIAgent架構

2025-02-03 16:58:39

2025-07-17 04:00:00

2025-08-22 09:56:18

2025-07-18 08:26:51

2025-06-03 01:43:00

2025-05-27 10:05:00

AgentAI AgentLLM

2011-03-29 14:37:47

Zabbix Agen配置

2025-10-11 09:02:40

2025-05-29 09:57:38

2025-04-29 08:00:00

Rowboat多智能體人工智能

2024-12-10 09:15:39

2025-04-28 09:10:00

智能體Agent工作流

2025-07-31 01:45:00

AgentGLM-4.5編程

2025-07-01 02:10:00

AIAgent智能體

2025-08-04 00:00:00

點贊
收藏

51CTO技術棧公眾號

国产日韩精品推荐| 国产精品久99| 亚洲成人av片在线观看| 欧美色图另类小说| 国产精品视频一区二区三区综合 | 天天综合国产| 日韩第一页在线| 黄色成人av| 天堂av在线网| 国产精品高潮呻吟| 正义之心1992免费观看全集完整版| 一级毛片电影| 麻豆精品精品国产自在97香蕉| 久久国产精品久久国产精品| 午夜影院观看视频免费| 久久99精品久久久| 91老司机精品视频| 91精品久久久久久综合五月天| 欧美亚洲日本国产| 国产精品99久久久久久人 | 国产调教视频在线观看| 国产wwwxx| 中文字幕成人网| 国产精品igao激情视频| 可以直接在线观看的av| 日韩电影在线一区二区三区| 中文字幕第一区综合| 成人免费高清在线播放| 国产精品青草久久| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 亚洲欧美三级在线| 国产va免费精品观看精品视频 | 一区二区三欧美| 国产高清自产拍av在线| 91黄色小视频| 亚洲精品高清无码视频| 国产一区不卡精品| 成人免费的视频| 国产精品永久免费在线| 日本在线观看| 亚洲乱码国产乱码精品精98午夜| av在线免费观看国产| 99视频精品| 精品国产一区二区三区日日嗨| 99热免费精品| 四色永久免费网站| 国产精品高潮久久久久无| 欧美一级网址| 久久精品免费电影| 国内综合精品午夜久久资源| 欧美午夜欧美| 狂野欧美一区| 欧美国产视频一区| 欧美在线免费播放| 9999热视频在线观看| 欧美一区二区色| 超碰免费在线观看| 色老综合老女人久久久| 番号集在线观看| 亚洲成在人线免费| 欧美一区二区三区少妇| 欧美午夜精品免费| 欧美体内she精视频在线观看| 欧美性20hd另类| av片在线观看免费| 午夜精品久久久久久久99热浪潮 | 模特精品在线| 91好吊色国产欧美日韩在线| 日韩av网址在线| 麻豆网站免费在线观看| 一区在线免费| 香蕉521av成人网| 欧美精品一二三区| 激情伦成人综合小说| 成人午夜激情片| 在线视频你懂| 国产伦精品一区二区三区高清版| 2020日本不卡一区二区视频| 欧美大片黄色| 国产欧美视频在线观看| 日韩国产欧美精品| 精品视频偷偷看在线观看| аⅴ资源天堂资源库在线| 成人一区在线看| 国产精品亚洲二区在线观看| 亚洲精品亚洲人成人网 | 深爱激情久久| 精品视频在线观看| 国产电影一区二区三区| avtt天堂资源网站| 4438x成人网最大色成网站| 久久免费影院| 成人欧美一区二区三区黑人孕妇| 米奇777在线欧美播放| 玩弄中年熟妇正在播放| 欧美性猛交xxxx| 激情久久一区二区| 97netav| 国产精品亚洲一区二区三区在线| 男人添女人下面免费视频| 91精品综合久久久久久| 视频一区在线| 欧美精品一区二区三区在线四季 | 91亚洲精品久久久| 国产成人精品一区二| 在线看片你懂得| 这里只有精品在线播放| 欧美激情五月| 成人拍拍拍免费视频网站| 精品日韩在线观看| 精品久久精品| 国产91沈先生在线播放| 色8久久精品久久久久久蜜| 自拍偷拍亚洲图片| 蜜桃999成人看片在线观看| 国产精品国产三级国产aⅴ入口| av网站大全在线| 国产精品欧美激情| 成人福利在线看| 国产高清精品一区| 成人精品视频| 亚洲色成人www永久在线观看| 婷婷久久综合九色国产成人| 中文字幕日本一区二区| 97视频中文字幕| 亚洲国产精品v| 国产黄大片在线观看| 国产一区二区丝袜| 99re8在线精品视频免费播放| a视频网址在线观看| 国内久久久精品| 国产91露脸合集magnet| 黄色大片在线播放| 91久久精品一区| 中文字幕永久在线不卡| 台湾成人免费视频| 日韩欧美亚洲在线| 欧美日韩另类一区| 天天射天天综合网| 97福利电影| 欧美丰满片xxx777| 成人一区在线观看| 免费h视频在线观看| 欧美日韩精品不卡| 欧美视频一二三区| 久久国产电影| 白天操夜夜操| 欧美激情网友自拍| 丁香另类激情小说| 欧美激情护士| 麻豆中文字幕在线观看| 欧美精品1区2区| 在线观看日韩av电影| 日韩精品123| 国产在线精品一区免费香蕉| 欧美激情在线一区二区| 日韩深夜福利网站| 日韩黄色片视频| 久久躁狠狠躁夜夜爽| 久久久久久久久久电影| 中文无码日韩欧| 欧洲av无码放荡人妇网站| 日韩中文字幕免费看| 99re视频精品| 成人精品动漫一区二区三区| 国产综合久久久久久| 亚洲国产日韩a在线播放| 狠狠做深爱婷婷综合一区| 免费在线黄网| 91丨九色丨国产在线| 日本乱码高清不卡字幕| 欧美日本二区| av成人手机在线| 日韩在线视频网| 成人激情视频网站| 国产精一区二区| jizzjizzjizz亚洲| 国产精品久久网| 欧美在线视频不卡| 久久九九精品| 在线观看爽视频| 日本一道本久久| 日本国产一区二区三区| 色欧美日韩亚洲| 久久亚洲国产精品一区二区| 黄色污网站在线观看| 国产视频九色蝌蚪| 国产成人激情视频| 欧美午夜片在线看| 国产精品中文字幕欧美| 一区二区在线免费播放| 蜜芽视频在线观看| 久久久久久久久久久一区| 亚洲美女喷白浆| 18成人在线视频| 在线观看一区| 95精品视频| 男人天堂资源在线| 一级性生活视频| 秋霞成人午夜鲁丝一区二区三区|