本文根據 Arize Phoenix 官方倉庫 README 整理,資料核對於 2026-10-11。命令取自官方 README,沒有在本機運行驗證。
適用於誰
- 搜「arize phoenix 是什麼」「arize phoenix 使用」的人;
- 做了一個智能體或 RAG 應用,回答不對時只能靠打印日誌猜原因的人;
- 想知道一次請求裏到底調用了幾次模型、檢索到了什麼、每一步花了多少時間和 token 的人。
結論先說
- Phoenix 是 Arize 開源的 AI 可觀測性平台,官方定位是用於實驗、評測和排查問題,可以自己部署。
- 核心是追蹤(Tracing):把應用運行時的每一步記錄下來,包括每次模型調用的輸入輸出、每次工具調用、每次檢索。
- 基於 OpenTelemetry 和 OpenInference,官方強調與廠商和語言無關。
- 本地兩步跑起來:
pip install arize-phoenix,然後phoenix serve。 - 不用自己埋點:它對主流的智能體框架和模型 SDK 有現成的集成。
- 許可證是 Elastic License 2.0,使用前留意條款。
一、六項功能
| 功能 | 做什麼 |
|---|---|
| Tracing(追蹤) | 用基於 OpenTelemetry 的埋點,記錄大模型應用的運行過程 |
| Evaluation(評測) | 用大模型給應用的表現打分,包括回答質素和檢索質素 |
| Datasets(數據集) | 創建帶版本的樣例集,用於實驗、評測和微調 |
| Experiments(實驗) | 比較提示詞、模型、檢索方式改動前後的效果 |
| Playground | 迭代提示詞、對比模型、調參數,並且可以重放追蹤到的模型調用 |
| Prompt Management(提示詞管理) | 給提示詞做版本、打標籤、測試改動 |
這六項連起來是一個閉環:線上的調用被追蹤下來 → 挑出有問題的樣例存進數據集 → 在 Playground 裏改提示詞 → 用實驗對比新舊版本 → 用評測量化效果。
二、為什麼需要追蹤
一個智能體回答一個問題,背後可能是:一次檢索、三次模型調用、兩次工具調用。最後答錯了,原因可能在任何一步:
- 檢索回來的片段就不相關;
- 片段是對的,但模型沒用上;
- 模型決定調用工具時參數填錯了;
- 工具返回了錯誤,模型把錯誤當成了結果。
只看最終回答是分不清的。追蹤把每一步的輸入、輸出、耗時都擺出來,像看程序的調用棧一樣。追蹤裏的一條完整記錄叫 trace,其中的每一步叫 span。
三、安裝與啟動
bash
pip install arize-phoenix
phoenix serve
啟動後在瀏覽器裏打開終端打印出來的地址。官方 README 裏的連結指向本機的 6006 端口。
Docker:官方鏡像在 Docker Hub 上,名稱是 arizephoenix/phoenix。運行參數見官方文檔。
四、把應用接上去
README 給了一條自動配置的命令,它會檢測你用的框架並接好追蹤:
bash
npx @arizeai/phoenix-cli setup
已經裝了 Phoenix 的話,等價的寫法是 px setup。
手動接入則是在應用裏安裝對應的埋點包並指向 Phoenix 的地址,README 沒有給出最小代碼,具體步驟見官方的 Tracing 文檔。相關的子包:
| 包 | 作用 |
|---|---|
arize-phoenix-otel | 對 OpenTelemetry 的輕量封裝,帶有適配 Phoenix 的預設設定 |
arize-phoenix-client | 訪問 Phoenix REST API 的輕量客戶端 |
arize-phoenix-evals | 評測工具,包括 RAG 相關性等 |
@arizeai/phoenix-otel、@arizeai/phoenix-client、@arizeai/phoenix-evals | 上面三個的 TypeScript 版本(evals 標註為 alpha) |
@arizeai/phoenix-cli | 命令行,用來獲取追蹤、數據集和實驗 |
也就是說,生產環境裏的應用只需要裝輕量的埋點包,不需要裝完整的 arize-phoenix。
五、支持哪些框架和廠商
README 列出的集成:
- 框架:OpenAI Agents SDK、Claude Agent SDK、LangGraph、Vercel AI SDK、Mastra、CrewAI、LlamaIndex、DSPy;
- 模型廠商:OpenAI、Anthropic、Google GenAI、Google ADK、AWS Bedrock、OpenRouter、LiteLLM 等。
本站介紹過的幾個框架都在其中:《OpenAI Agents SDK 教學》、《Claude Agent SDK 快速上手》、《Vercel AI SDK 是什麼》、《Mastra 是什麼》。
因為底層是 OpenTelemetry,沒有現成集成的系統也可以按標準自己上報。
六、給編程智能體用
README 裏有專門面向編程智能體的部分:
- MCP 伺服器:Phoenix 實例自帶一個遠程 MCP 端點,在實例地址後面加
/mcp,可以接到 Claude Code、Cursor 等支持 MCP 的客戶端。接上之後,可以直接讓編程智能體去查追蹤記錄、分析失敗的調用; - Skills:倉庫的
.agents/skills/裏提供了phoenix-cli、phoenix-evals、phoenix-tracing三個技能。
MCP 的接法見《Claude Code MCP 配置教學》。
七、用它排查問題的基本思路
- 先找到那條出問題的 trace,按時間或輸入內容定位;
- 從後往前看:最終回答是哪次模型調用產生的,它當時的完整輸入是什麼;
- 檢查輸入裏的每一部分:系統提示詞對不對、檢索到的片段相不相關、工具返回了什麼;
- 定位到出問題的那一步,再決定是改提示詞、改檢索,還是改工具的說明和返回格式;
- 把這個案例存進數據集,改完之後用它來驗證,之後也作為迴歸用例。
檢索不相關時怎麼調,見《Dify 知識庫搭建教學》裏的排查表;只想批量對比提示詞,用更輕量的《promptfoo 使用教學》。
八、數據與許可
- 追蹤數據裏有用戶輸入和模型輸出的原文。自己部署時,這些數據在你的機器上;要注意誰能訪問 Phoenix 的介面,以及是否需要對敏感內容做脫敏;
- 遙測:README 說明預設會收集基礎的網頁分析數據,可以用環境變量
PHOENIX_TELEMETRY_ENABLED=false關閉;同時聲明不收集追蹤數據和評測結果; - 許可證:Elastic License 2.0(ELv2)。它和 MIT、Apache 這類寬鬆許可不同,對把軟件作為託管服務提供給第三方等用法有限制。公司內部自用一般不受影響,但要對外提供服務時請先閱讀條款;
- 託管選項:README 提到 Arize 另有託管平台 Arize AX,使用相同的埋點方式。
常見問題
Q:和 promptfoo 是一類工具嗎?
側重點不同。promptfoo 是「上線前用一批固定用例批量對比」;Phoenix 的核心是「運行時把每一步記錄下來」,在此基礎上再做評測和實驗。兩者可以一起用。
Q:只在開發時用,還是也能用在生產環境?
兩種都可以。開發時在本機啟動,邊調邊看;生產環境需要單獨部署並規劃存儲,見官方的部署文檔。
Q:會不會拖慢我的應用?
追蹤基於 OpenTelemetry,數據通常是異步上報的。具體的性能影響和採樣配置,以官方文檔為準。
Q:必須用它的評測功能嗎?
不必。很多人只用追蹤這一項,就已經能解決大部分「不知道哪一步出了問題」的情況。
參考資料
- Arize-ai/phoenix(官方倉庫與 README):https://github.com/Arize-ai/phoenix
0 條評論
還沒有評論,來搶沙發~