全部產品
Search
文件中心

Function Compute:通過代碼建立Agent(高代碼)

更新時間:Jun 04, 2026

當低代碼模式無法支援複雜商務邏輯、自訂框架組成或精細化運行環境控制時,可使用高代碼模式建立 Agent。該模式允許開發人員使用自有代碼實現複雜的推理流程、工具編排和企業級整合。

功能介紹

高代碼模式用於通過代碼自訂 Agent 的實現邏輯,適合有開發經驗、對行為和效能有精細控制需求的情境。

主要能力包括:

  • 多種代碼來源:上傳程式碼封裝、OSS 程式碼封裝、線上編輯代碼,以及自訂容器鏡像部署。

  • 多語言運行時:支援 Python、Node.js、Java 等多種運行時,可自訂啟動命令和連接埠。

  • 靈活的資源與環境配置:按需配置 CPU、記憶體、並發會話數、空閑逾時時間,以及 VPC 網路、執行角色、訪問憑證、環境變數、健全狀態檢查等參數。

  • SDK 與框架組成:通過 AgentRun SDK 接入模型、Sandbox、工具和外部系統,也可與 LangChain 等 Agent 框架組成,實現複雜工作流程(詳見AgentRun SDK 說明)。

  • 完整的開發調試與營運流程:提供線上 WebIDE、即時日誌、基於 OpenAI Chat Completions 協議的調試介面,以及版本管理與灰階發布能力。

核心概念

建立 Agent 前,建議先瞭解以下核心概念:

核心概念

說明

代碼來源

高代碼模式支援多種代碼來源,用於部署 Agent:

  • 本地程式碼封裝上傳:直接上傳打包好的 zip 檔案。

  • OSS 程式碼封裝:配置 OSS 上的程式碼封裝地址,由平台從 OSS 拉取。

  • 線上編輯:在 WebIDE 中線上編寫和修改代碼,無需本地打包。

  • 自訂容器鏡像:從阿里雲鏡像倉庫中選擇已有鏡像,使用鏡像中已有代碼與運行環境。

選擇哪種方式取決於團隊習慣和工程實踐(例如是否已有 CI/CD 構建鏡像流程)。

運行時類型

建立 Agent 時需要選擇運行時語言環境,目前支援:

  • Python 3.10

  • Python 3.12

  • Node.js 20

  • Node.js 18

  • Java 17

  • Java 11

  • Java 8

說明

目前僅 Python 3.10 提供官方模板樣本,其他運行時請使用自訂程式碼封裝或鏡像。

範例程式碼包

平台提供基於 AgentRun SDK 編寫的樣本模板,協助使用者快速上手。

官方樣本是基於 AgentRun SDK 的 LangChain Agent 樣本,包含模型調用和 Sandbox 工具調用的範例程式碼。

啟動配置

對於程式碼封裝模式(本地上傳、OSS、線上編輯),需要指定:

  • 啟動命令,如 python3 main.py

  • 啟動連接埠,如 9000

使用官方模板時通常保持預設配置即可;使用自訂代碼時,根據實際入口檔案和服務連接埠填寫。

對於容器鏡像模式,需要至少指定:

  • 啟動連接埠(鏡像內應用監聽的連接埠)

啟動命令由鏡像內 Dockerfile 決定(CMDENTRYPOINT),不在平台側配置。

資源配置

資源配置用於控制 Agent 執行個體的資源規格和並發行為,包括:

  • CPU(核心數):為單個執行個體分配的 CPU 核心數。

  • 記憶體(MB):為單個執行個體分配的記憶體。

  • 單一實例並發會話數上限:每個執行個體允許平行處理的會話數量。

  • 會話空閑逾時時間(秒):執行個體上最後一個會話結束後,空閑時間超過該值則自動銷毀執行個體。

合理配置這些參數可以在效能和成本之間取得平衡。

進階配置

進階配置包含運行時環境相關的選項,例如:

  • 環境變數(如模型名稱、業務配置等)。

  • VPC 網路設定(接入內網資源)。

  • 執行角色(訪問模型、Sandbox、OSS 等資源的許可權)。

  • 訪問憑證(與 AgentRun 憑證管理整合)。

  • 健全狀態檢查配置(用於判定執行個體是否可用)。

這些配置決定了 Agent 在運行時能訪問哪些資源以及如何訪問。

可觀測性

支援一鍵開通智能體可觀測,用於觀測和分析 Agent 的運行情況:

  • 瞭解調用量、回應時間、錯誤率等運行指標。

  • 通過日誌排查問題和還原故障現場。

  • 分析模型調用與 Token 消耗,進行成本最佳化。

  • 在複雜鏈路中定位效能瓶頸和異常節點。

說明

AI 應用監控中 Token 統計來源於大模型響應,代碼配置時請確保模型響應中包含 Token 資訊。

操作指南

準備工作

  • 準備代碼工程

    • 已有可啟動並執行服務代碼。官方範例程式碼包下載地址:官方範例程式碼包。本文後續操作步驟均以官方範例程式碼包為例。

      說明

      程式碼封裝也可以在快速建立Agent(無代碼)後將 Agent 轉換為代碼模式得到。轉換成功後,在 Agent 頁面左側選擇代碼與調試,即可查看和下載。

    • 代碼可打包為 zip,或已有對應容器鏡像或 OSS 程式碼封裝。

    • 確認暴露的服務入口(啟動命令、監聽連接埠)。

  • 準備運行時依賴

    • 確定運行時語言版本(如 Python 3.10、Python 3.12、Node.js 18/20、Java 8/11/17 等)。

      說明

      官方範例程式碼使用的運行時為 Python 3.10。

    • 使用程式碼封裝模式時:

      • 將代碼與依賴一併打包為 zip。

      • Python 專案提案將依賴放入 /python/code/python 等約定目錄,並配置環境變數 PYTHONPATH/opt/python:/code/python

    • 使用容器鏡像模式時:

      • 在鏡像中包含完整運行環境和依賴。

      • 在 Dockerfile 中正確配置入口命令和監聽連接埠。

步驟1:進入代碼建立Agent頁面

  1. 進入AgentRun運行時與沙箱頁面。

  2. 單擊建立Agent,在彈出的視窗中選擇通過代碼建立

  3. 輸入Agent名稱功能描述,建議使用有意義的名稱,便於後續管理和識別。

步驟2:代碼配置

  1. 選擇代碼來源

    上傳程式碼封裝
    1. 單擊上傳檔案,選擇本地 zip 檔案。

    2. 確保包內結構符合運行時規範(入口檔案位置、依賴目錄等)。

    3. 如基於官方樣本,可先下載模板,填入必要配置(如 system_prompt),再打包上傳。

      說明

      範例程式碼中的 MODEL_NAMESANDBOX_NAME 會從運行時環境變數中讀取,此處無需修改。

    從OSS擷取程式碼封裝
    1. 代碼來源中選擇OSS Object Storage Service

    2. 選擇程式碼封裝所在的Bucket名稱OSS目錄

    3. 確保執行角色具備讀取該 OSS 對象的許可權。

    使用容器鏡像部署
    1. 代碼來源中選擇容器鏡像

    2. 選擇鏡像執行個體與鏡像倉庫

      說明
      • 支援自訂鏡像阿里雲Container Registry(個人版/企業版)

      • 選擇自訂鏡像時,可直接配置自訂鏡像地址

    3. 選擇鏡像版本

    線上編寫和調試代碼

    選擇線上編碼方式,系統將在線上代碼編輯器中自動載入官方範例程式碼,可直接進行代碼商務邏輯實現和修改。

  2. 啟動配置

    上傳程式碼封裝/OSSObject Storage Service/線上編輯模式
    • 啟動命令,例如:

      • python3 main.py

      • node app.js

      • java -jar app.jar

    • 啟動連接埠,如 9000,需與代碼中服務監聽連接埠一致。

    說明

    使用官方模板(如上述 Python 樣本)時,一般保持預設配置即可。

    容器鏡像模式
    • 啟動命令通常由鏡像內 Dockerfile 的 CMD/ENTRYPOINT 決定。

    • 需要指定啟動連接埠,與容器內應用監聽連接埠一致。

步驟3:資源配置、環境變數與進階配置

資源配置進階配置中設定運行參數。

  1. 計算資源

    • CPU(核)記憶體:為每個 Agent 執行個體分配的計算資源。資源越多,處理複雜任務的速度越快,但成本也相應增加。

    • 單一實例並發會話數上限:單個 Agent 執行個體能同時處理的會話數量上限。提高此值可減少所需執行個體數,從而節約成本,但需確保代碼安全執行緒且單個執行個體的 CPU 和記憶體資源充足。

    • 會話空閑逾時時間(秒):執行個體上最後一個會話結束後,空閑超過該時間即自動釋放執行個體。

  2. 環境變數

    為 Agent 配置運行時環境變數,用於向代碼傳遞參數。使用官方樣本時,需配置以下環境變數:

    • MODEL_NAME:必選,填寫模型管理中已建立的模型名稱。

    • SANDBOX_NAME:可選,填寫已建立的 Sandbox 名稱。

  3. 網路設定

    • 允許訪問VPC:Agent 需要訪問 VPC 內的雲資源(如 RDS、OSS 等)時開啟。

    • 允許預設網卡訪問公網

  4. 日誌配置

    開啟日誌功能,可將 Agent 的作業記錄儲存在Log Service中。可指定記錄項目(Project)與日誌庫(Logstore),也可選擇自動設定自訂配置中的一鍵配置功能使用預設值。

  5. 健全狀態檢查配置

    啟用健全狀態檢查後,可配置檢查路徑(如 /health)、檢查間隔(秒)逾時時間(秒)失敗閾值。系統將定期向指定路徑發送 HTTP 要求檢查服務狀態,連續失敗達到閾值時自動重啟服務執行個體,有助於提高服務可用性和自動故障恢複能力。

步驟4:按需配置執行角色

執行角色用於授予 Agent 代碼訪問其他雲資源(如模型服務、OSS)的許可權。AgentRun 通過執行角色(RAM 角色)系統管理權限,代碼在運行時將扮演此角色以獲得相應的操作許可權。

授權主體:Function Compute服務(fc.aliyuncs.com)

要求的權限:根據實際使用的服務添加相應策略

執行角色ARN中選擇已有角色。如果沒有符合要求的角色,可參考以下步驟建立。

  1. 單擊執行角色ARN下拉框右側的添加按鈕image,進入RAM存取控制 > 角色列表。

  2. 單擊建立角色

  3. 建立角色頁面,信任主體類型選擇雲端服務

  4. 信任主體名稱選擇Function Compute/FC

  5. 單擊確定,輸入角色名稱,再次單擊確定,並按照提示完成安全驗證

  6. 建立成功後進入角色詳情頁,單擊新增授權

  7. 根據實際使用的服務添加相應策略,常用策略樣本:

    • AliyunOSSFullAccess:Agent 需要使用 OSS 中的資源時,需設定物件儲存服務(OSS)系統管理權限。

    • AliyunAgentRunFullAccess:使用官方樣本建立時必須配置 AgentRun 服務系統管理權限。

    • AliyunDevsFullAccess:Serverless 開發平台(Devs)系統管理權限。

步驟5:配置訪問憑證

為 Agent 配置訪問憑證(如 API Key 等),用於保護 Agent 防止未經授權的調用。憑證由 AgentRun 的憑證管理統一管理和注入。

  1. 訪問憑證模組,單擊入站:訪問憑證

  2. 選擇憑證模式:

    • 不使用憑證(不推薦):Agent 的調用地址可被公網匿名訪問,存在安全風險。此模式僅適用於功能測試,嚴禁用於生產環境。

    • 使用已有憑證(推薦):為保障 Agent 安全,建議選擇此項。如果尚未建立憑證,可單擊image參考憑證管理進行建立。

步驟6:完成配置並測試

完成上述配置後,單擊右上方開始部署完成建立。系統將自動跳轉至 Agent 詳情頁,選擇代碼與調試,在調試工具中進行測試。

步驟7:發布版本並進行灰階

AgentRun 支援版本管理與灰階發布。對 Agent 的提示詞、工具或模型進行變更後,建議先發布版本,再通過建立 Endpoint 並啟用次要版本(灰階發布),將少量流量分配給新版本。確認新版本穩定後,逐步增加流量比例,最終完成全量上線。

  1. 在左側目錄中選擇版本與灰階

  2. 發布目前的版本:單擊發布版本,輸入版本描述說明主要變更和功能後,再次單擊發布版本

  3. 建立Endpoint

    1. 輸入Endpoint名稱,在主要版本下拉框中選擇上一步發布的目前的版本號。

    2. 啟用次要版本(灰階發布):勾選啟用次要版本(灰階發布),選擇次要版本,並為主要版本和次要版本配置流量分配百分比。

後續步驟

在應用中整合Agent

在左側整合與發布模組參考Agent整合與發布文檔,將開發的 Agent 快速整合到前端網頁、後端應用等。支援UI整合代碼整合生態整合三種方式。

開通智能體可觀測

Agent 建立後,可配置可觀測能力便於調試和營運。

  1. 查看基礎監控(預設開啟):在左側目錄選擇可觀測性 > 基礎監控頁面,可查看:

    • 調用次數、成功率、平均/最大延遲。

    • 最近一段時間的調用趨勢與延遲曲線。

  2. 開啟日誌採集(推薦)。

    • 在 Agent 詳情頁左側選擇可觀測性 > 日誌

    • 首次進入時提示日誌未開啟,單擊開通日誌

    • 選擇配置方式:

      • 自動設定:一鍵建立預設的 SLS Project 和 Logstore,適合快速接入。

      • 自訂配置:選擇已有 Project/Logstore,適合企業統一日誌管理。

    • 儲存後,Agent 的作業記錄將自動寫入對應 Logstore,可在 SLS 控制台進行檢索、分析和警示。

  3. 接入應用監控鏈路追蹤(進階,可選)。

    • 首次進入需開通 ARMS 服務,在可觀測性 > 應用監控(或鏈路追蹤)頁面,單擊一鍵開通。

    • 按提示或參考智能體大模型可觀測文檔,在 Agent 代碼中引入應用監控,即可進行應用監控與鏈路追蹤。

    • 配置完成後,可在應用監控面板中查看業務指標和趨勢(如 Token 消耗分析、效能分析),在鏈路追蹤面板中查看每次請求的 Span 詳情和調用拓撲,快速定位慢請求和異常節點。

常見問題與故障排查

Q1: 啟動 Agent 時,日誌提示 ModuleNotFoundError: No module named 'xxx'

A: 這是典型的 Python 依賴缺失問題。請檢查:

  1. 使用上傳程式碼封裝模式時,是否已遵循準備工作準備運行時依賴的指導,將所有依賴庫打包到程式碼封裝的 /python 目錄下。

  2. 如果依賴包含 C/C++ 擴充且編譯環境複雜,建議切換到容器鏡像模式。

Q2: Agent 啟動失敗,日誌顯示連接埠監聽錯誤或逾時。

A: 請檢查代碼:

  1. Web 服務是否監聽在 0.0.0.0 而非 127.0.0.1

  2. 代碼中監聽的連接埠號碼是否與控制台啟動連接埠中配置的一致。最佳實務是從 AGENT_PORT 環境變數動態擷取連接埠號碼。

Q3: 是否只有 Python 3.10 提供官方模板?其他語言如何開始?

A: 目前官方的 LangChain 樣本模板僅支援 Python 3.10。對於其他運行時(如 Node.js、Java),需要選擇高代碼模式並上傳自訂程式碼封裝或使用自訂鏡像。可參考官方 Python 樣本的邏輯,遷移到目標語言和架構中,核心是實現一個符合規範的 HTTP 服務。