阿里雲函數計算 AgentRun 全新發布後,我們整理了“探秘 AgentRun”系列文章,本系列將梳理企業落地Agent 常見難題,給出具體解法,助力 Agentic AI 快速走進生產級環境。歡迎加入“函數計算 AgentRun 客户羣”與我們交流,釘釘羣號:134570017218

當你已經用 LangChain、AgentScope、LangGraph 等框架開發了 Agent 應用,如何讓它們享受函數計算 AgentRun 提供的 Serverless 運行時、企業級 Sandbox、模型高可用、全鏈路可觀測 等能力?好消息是,你幾乎不需要改動現有代碼,只需要簡單的適配就可以遷移到函數計算 AgentRun。

這篇文章將通過真實的代碼示例,展示如何將不同框架的 Agent 應用部署到函數計算 AgentRun 上,以及如何充分利用函數計算 AgentRun 的各種能力。

為什麼要部署到函數計算 AgentRun?

在討論具體的集成方案前,讓我們先明確一個問題:如果你的 Agent 應用已經在本地或自建服務器上運行良好,為什麼還要遷移到函數計算 AgentRun?

答案很簡單:從開發環境到生產環境,有一道巨大的鴻溝。 本地運行只需要考慮功能實現,但生產環境需要考慮性能、穩定性、成本、安全、可觀測等一系列問題。函數計算 AgentRun 提供的不是又一個 Agent 框架,而是讓你的 Agent 能夠以企業級標準運行的完整基礎設施。

具體來説,部署到函數計算 AgentRun 後,你能獲得:零運維的 Serverless 運行時(自動擴縮容、按量付費),企業級的 Sandbox 環境(高性能、安全隔離),模型高可用保障(自動熔斷、多模型 Fallback),全鏈路可觀測(完整的 Trace、成本歸因),以及統一的工具和 MCP 管理。 圖片

快速上手:5分鐘部署你的第一個 LangChain Agent

讓我們從最流行的 LangChain 框架開始,通過一個完整的例子展示如何將 LangChain Agent 部署到函數計算 AgentRun。

第一步:安裝 Serverless Devs

函數計算 AgentRun 使用 Serverless Devs 作為部署工具。如果你有 Node.js 環境,一行命令即可安裝:

npm i -g @serverless-devs/s

第二步:創建項目

使用腳手架快速創建項目(注意:需要 Python 3.10 及以上版本):

# 初始化模板
s init agentrun-quick-start-langchain

# 進入代碼目錄
cd agentrun-quick-start-langchain/code

# 初始化虛擬環境並安裝依賴
uv venv && uv pip install -r requirements.txt

第三步:配置認證信息

通過環境變量(建議使用 .env 文件)配置你的 AgentRun 訪問憑證:

export AGENTRUN_ACCESS_KEY_ID="your-access-key-id"
export AGENTRUN_ACCESS_KEY_SECRET="your-access-key-secret"
export AGENTRUN_ACCOUNT_ID="your-account-id"
export AGENTRUN_REGION="cn-hangzhou"

第四步:理解集成方式

這是最關鍵的部分。打開生成的代碼,你會看到集成非常簡單:

from agentrun.integration.langchain import model, sandbox_toolset
from agentrun.server import AgentRunServer

# 使用 AgentRun 的模型(自動享受高可用、熔斷等能力)
llm = model("<your-model-name>")

# 使用 AgentRun 的 Sandbox 工具
tools = sandbox_toolset(
    template_name="<your-sandbox-name>",
    template_type=TemplateType.CODE_INTERPRETER,
    sandbox_idle_timeout_seconds=300,
)

# 創建 LangChain Agent(和原來的代碼完全一樣)
agent = create_agent(
    model=llm,
    tools=tools,
    system_prompt="你是一個智能助手"
)

# 定義調用函數
def invoke_agent(request):
    result = agent.invoke({"messages": request.messages})
    return result["messages"][-1].content

# 啓動 HTTP Server(提供 OpenAI 兼容的 API)
AgentRunServer(invoke_agent=invoke_agent).start()

核心要點:

  • model() 函數返回的是 LangChain 可以直接使用的模型對象
  • sandbox_toolset() 返回的是 LangChain Tools 列表
  • 你的 Agent 創建代碼完全不需要改動
  • AgentRunServer 自動處理 HTTP 請求,提供標準的 OpenAI API

第五步:本地測試

啓動服務後,可以通過 HTTP 請求測試:

curl 127.0.0.1:9000/v1/chat/completions \
  -X POST \
  -H "content-type: application/json" \
  -d '{"messages": [{"role": "user", "content": "通過代碼查詢現在是幾點?"}], "stream":true}'

第六步:部署到生產環境

項目中已經包含了 s.yaml 配置文件。你只需要修改其中的 role 字段為你的阿里雲角色:

role: acs:ram::{您的阿里雲主賬號 ID}:role/{您的阿里雲角色名稱}

配置部署密鑰:

s config add
# 按照引導輸入 Access Key ID 和 Secret,記住密鑰對名稱(如 agentrun-deploy)

執行部署:

s deploy -a agentrun-deploy

部署完成後,你會得到一個 HTTPS URL,就可以在生產環境調用你的 Agent 了。

不同框架的集成案例

函數計算 AgentRun 不僅支持 LangChain,還深度集成了主流的 Agent 開發框架。所有框架都遵循同樣的理念:通過簡單的適配層,讓你的代碼無縫遷移到函數計算 AgentRun,享受企業級能力。

LangGraph:工作流編排

LangGraph 是 LangChain 團隊推出的工作流編排框架,適合構建複雜的多步驟 Agent。集成方式和 LangChain 類似:

from agentrun.integration.langgraph import model, tools
from langgraph.graph import StateGraph, MessagesState
from langgraph.prebuilt import ToolNode

# 使用 AgentRun 的模型和工具
llm = model("<your-model-name>").to_langgraph()
agent_tools = tools()

# 構建 LangGraph 工作流(和原來的代碼一樣)
def call_model(state: MessagesState):
    messages = state["messages"]
    response = llm.invoke(messages)
    return {"messages": [response]}

workflow = StateGraph(MessagesState)
workflow.add_node("agent", call_model)
workflow.add_node("tools", ToolNode(agent_tools))
workflow.set_entry_point("agent")

# 定義條件邊...
app = workflow.compile()

# 調用
result = app.invoke({"messages": [HumanMessage(content="查詢上海天氣")]})

LangGraph 的優勢是可以精確控制 Agent 的執行流程,比如條件分支、循環、並行執行等。部署到函數計算 AgentRun 後,這些複雜的工作流都能自動享受彈性伸縮和可觀測能力。

AgentScope:多智能體協作

AgentScope 是阿里達摩院開源的多智能體框架,特別適合構建多Agent協作場景。集成方式:

from agentrun.integration.agentscope import model, tools
from agentscope.agent import ReActAgent
from agentscope.tool import Toolkit

# 使用 AgentRun 的模型和工具
llm = model("<your-model-name>").to_agentscope()
agent_tools = tools()

# 註冊工具到 Toolkit
toolkit = Toolkit()
for tool in agent_tools:
    toolkit.register_tool_function(tool)

# 創建 Agent(和原來的代碼一樣)
agent = ReActAgent(
    name="assistant",
    sys_prompt="你是一個智能助手",
    model=llm,
    toolkit=toolkit,
)

# 調用
result = await agent.reply(Msg(name="user", content="查詢上海天氣", role="user"))

AgentScope 的優勢是對多Agent系統的原生支持,包括Agent之間的通信、協調、記憶共享等。部署到 函數計算 AgentRun 後,每個 Agent 都在獨立的隔離環境中運行,確保安全性。

PydanticAI:類型安全的 Agent 框架

PydanticAI 是一個新興框架,強調類型安全和結構化輸出。集成方式:

from agentrun.integration.pydantic_ai import model, tools
from pydantic_ai import Agent

# 使用 AgentRun 的模型和工具
llm = model("<your-model-name>").to_pydantic_ai()
agent_tools = tools()

# 創建 Agent
agent = Agent(
    llm,
    instructions="Be concise, reply with one sentence.",
    tools=agent_tools,
)

# 同步調用
result = agent.run_sync("上海的天氣如何?")

# 異步調用
result = await agent.run("上海的天氣如何?")

PydanticAI 的優勢是強類型和結構化輸出,特別適合需要嚴格數據驗證的企業場景。

充分利用函數計算 AgentRun 的核心能力

將 Agent 部署到函數計算 AgentRun 後,你不僅獲得了 Serverless 運行環境,還可以深度利用平台提供的各種企業級能力。

模型高可用:告別單點故障(搭配AI網關)

部署到函數計算 AgentRun 後,你的 Agent 自動享受模型高可用能力。當你配置的主模型出現故障、限流或超時時,系統會自動切換到備用模型,整個過程對你的代碼完全透明。

在函數計算 AgentRun 控制枱配置模型時可以和 AI 網關進行聯動,可以設置:主模型(如 GPT-4),備用模型列表(如 Claude-3、Qwen-Max),熔斷策略(錯誤率閾值、超時時間),負載均衡策略(輪詢、權重、最少連接)。

你的代碼完全不需要改動,只需要在創建模型時使用函數計算 AgentRun 的模型名稱,所有的容錯、切換、負載均衡都由平台自動處理。

企業級 Sandbox:安全執行代碼

函數計算 AgentRun 提供的 Sandbox 不是簡單的代碼執行環境,而是企業級的安全隔離沙箱。每個 Sandbox 實例都是獨立隔離的,支持多種執行類型:

Code Interpreter 支持 Python、Node.js、Java、Bash 等語言,可以執行數據分析、文件處理等任務。Browser Tool 提供瀏覽器自動化能力,支持網頁爬取、表單填寫、截圖等操作。All In One 集成了代碼解釋器和瀏覽器工具,提供更豐富的交互能力。

使用時,通過 sandbox_toolset() 函數就可以獲取相應的工具集合,這些工具會自動轉換為你使用的框架所需的格式。

工具和 MCP:標準化集成

函數計算 AgentRun 提供統一的工具管理和 MCP(Model Context Protocol)機制。你可以從工具市場選擇現成的工具,也可以自定義工具併發布到市場。

更強大的是 MCP 的 Hook 機制。通過前置 Hook,可以在工具調用前自動注入用户憑證、記錄請求日誌、校驗參數合法性。通過後置 Hook,可以對結果進行轉換、記錄審計日誌、處理異常情況。這些通用邏輯不需要在每個工具中重複實現,大大提升了開發效率。

全鏈路可觀測:不再是黑盒

這是函數計算 AgentRun 最強大的能力之一。你的代碼不需要做任何改動,平台會自動記錄 Agent 的完整執行鏈路

在可觀測平台上,你可以看到:Agent 接收到用户請求的時間和內容,調用了哪個模型、使用了多少 Token、花費了多少錢,調用了哪些工具、每個工具的執行時間和結果,訪問了哪些知識庫、檢索了多少數據,每個環節的耗時分佈,完整的調用鏈 Trace。

這些能力都是平台自動提供的,通過探針注入實現,無論是高代碼還是低代碼創建的 Agent,都自動享受這些可觀測能力。

記憶和知識庫:數據不出域

函數計算 AgentRun 深度集成了 RAGFlow、Mem0 等開源項目,提供靈活的記憶和知識庫管理。你可以選擇一鍵託管模式,由平台統一管理部署運維,享受 Serverless 的彈性和按量付費優勢。也可以選擇綁定模式,將 Agent 連接到已經部署在企業 VPC 或 IDC 內的實例,數據完全不出企業內網

這種靈活性讓你可以根據數據的敏感級別選擇不同的策略:核心業務數據私有化部署,一般數據託管上雲,在安全性和便利性之間找到最佳平衡。

立即體驗函數計算 AgentRun

函數計算 AgentRun 的無代碼到高代碼演進能力,現已開放體驗:

  1. 快速創建:訪問控制枱(https://functionai.console.aliyun.com/cn-hangzhou/agent/explore),60秒創建你的第一個 Agent
  2. 深度定製:當需要更復雜功能時,一鍵轉換為高代碼
  3. 持續演進:利用函數計算 AgentRun 的基礎設施能力,持續優化你的 Agent

從想法到上線,從原型到生產,函數計算 AgentRun 始終是你最好的夥伴。歡迎加入“函數計算 AgentRun 客户羣”,釘釘羣號:134570017218

快速瞭解函數計算 AgentRun

一句話介紹:函數計算 AgentRun 是一個以高代碼為核心的一站式 Agentic AI 基礎設施平台。秉持生態開放和靈活組裝的理念,為企業級 Agent 應用提供從開發、部署到運維的全生命週期管理。

函數計算 AgentRun 架構圖

AgentRun 運行時基於阿里雲函數計算 FC 構建,繼承了 Serverless 計算極致彈性、按量付費、零運維的核心優勢。通過深度集成 AgentScope、LangChain、RAGFlow、Mem0 等主流開源生態。函數計算 AgentRun 將 Serverless 的極致彈性、零運維和按量付費的特性與 AI 原生應用場景深度融合,助力企業實現成本與效率的極致優化,**平均 TCO 降低 60%**。

讓開發者只需專注於 Agent 的業務邏輯創新,無需關心底層基礎設施,讓 Agentic AI 真正進入企業生產環境。