BazaarLinkBazaarLink
登入
← 所有文章
發布時間 2026-04-30 · · 作者:BazaarLink · Multi-Agent · AI Agent · API Key 管理 · LangChain · CrewAI

Multi-Agent 系統的 API Key 管理:程式化核發、預算隔離與費用追蹤

Orchestrator + Research + Code + QA + Report 五個 agent 怎麼管理 API Key?用一把 Management API Key 呼叫 POST /v1/keys 批量核發,每個 agent 一把、各有獨立花費上限,費用清楚歸戶。

Multi-Agent 系統的 API Key 管理問題

當你從「一個 AI 功能」升級到「多個 Agent 協作」,API Key 管理會迅速失控。

典型的 Multi-Agent 系統可能有:

  • Orchestrator Agent:分配任務、協調其他 agent
  • Research Agent:搜尋資料、整理摘要
  • Code Agent:撰寫和審查程式碼
  • QA Agent:測試和驗證輸出
  • Report Agent:產出最終報告

如果每個 Agent 用同一把 Key,你就無法追蹤哪個 Agent 在燒錢。如果每個 Agent 用不同的 Provider Key,你就要管理 5 個不同的 dashboard 和帳單。

更根本的問題是:Agent 怎麼取得 API Key?

在自動化程度高的系統裡,Agent 需要在執行時動態取得憑證——不是由人類複製貼上,而是透過程式自動完成。

Agent 取得 API Key 的兩種做法

做法 A:Agent 自己註冊。 註冊端點在網站主機 bazaarlink.ai 上,不需要登入:

curl -X POST https://bazaarlink.ai/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"name": "ResearchAgent"}'

回應含 api_key(只出現一次)、claim_token(7 天內讓人類認領帳號)與 base_url。這樣註冊出來的是未付費帳戶,使用 auto:free,受一般速率與每日上限限制,同一個 IP 的註冊次數有上限(超過回 HTTP 429)。需要付費模型時,可改用 POST https://bazaarlink.ai/api/v1/agents/register/x402 以 OKX x402 付款註冊;平台收儲值手續費,入帳額度低於付款金額。

做法 B:管理金鑰核發。 要替每個 Agent 綁預算上限與到期時間,用這個做法。流程是「人類授權一次,程式核發無數次」:登入後到 /keys 建立一把 Management API Key,之後由 orchestrator 用它替每個 Agent 核發專屬金鑰。一般的 sk-bl- 金鑰打不了金鑰管理端點,這是刻意的權限分離。

import os

import httpx

MGMT_KEY = os.environ["BAZAARLINK_MANAGEMENT_KEY"]  # 人類建立,只放在 orchestrator
BASE_URL = "https://api.bazaarlink.ai/v1"

def provision_agent_key(agent_name: str, monthly_budget_usd: float) -> str:
    response = httpx.post(
        f"{BASE_URL}/keys",
        headers={"Authorization": f"Bearer {MGMT_KEY}"},
        json={
            "name": agent_name,
            "limit": monthly_budget_usd,
            "limit_reset": "monthly",
        },
        timeout=30,
    )
    response.raise_for_status()
    return response.json()["key"]  # 明文只會出現這一次

# 批量建立 agent keys,各自有獨立預算
orchestrator_key = provision_agent_key("Orchestrator", 50.0)
research_key     = provision_agent_key("ResearchAgent", 30.0)
code_key         = provision_agent_key("CodeAgent", 40.0)
qa_key           = provision_agent_key("QAAgent", 20.0)
report_key       = provision_agent_key("ReportAgent", 10.0)

這樣每個 Agent 有:

  • 獨立 API Key(費用可分開追蹤)
  • 獨立月預算上限,上限用盡回 HTTP 402(某個 Agent 失控不影響其他 Agent)
  • 可選的 expires_at 到期時間,適合 CI 的臨時金鑰

回應裡的 key 欄位是唯一一次看得到明文的機會,請當場交給 Agent 或寫入祕密管理系統。

Multi-Agent 費用監控

用 BazaarLink 的報表 API,隨時查詢每個 Agent 的消耗:

def get_agent_usage(org_id: str, mgmt_key: str, year: int, month: int) -> list[dict]:
    response = httpx.get(
        f"https://bazaarlink.ai/api/orgs/{org_id}/reports/by-member",
        headers={"Authorization": f"Bearer {mgmt_key}"},
        params={"year": year, "month": month},
    )
    return response.json()

# 輸出範例:
# [
#   {"name": "Orchestrator",  "spend": 12.50, "tokens": 450000},
#   {"name": "ResearchAgent", "spend": 28.30, "tokens": 890000},
#   {"name": "CodeAgent",     "spend": 35.10, "tokens": 1100000},
# ]

與 LangChain / CrewAI 整合

無論你用什麼 Agent framework,只需要換掉 base_url 和 api_key:

# LangChain
from langchain_openai import ChatOpenAI

# 每個 Agent 用自己的 Key
research_llm = ChatOpenAI(
    base_url="https://api.bazaarlink.ai/v1",
    api_key=research_key,
    model="openai/gpt-4o",
)

# CrewAI
from crewai import Agent
from langchain_openai import ChatOpenAI

research_agent = Agent(
    role="Senior Researcher",
    llm=ChatOpenAI(
        base_url="https://api.bazaarlink.ai/v1",
        api_key=research_key,
        model="anthropic/claude-sonnet-4.6",
    ),
)

結論:Multi-Agent 需要 Multi-Key 管理

需求解法
Agent 動態取得 KeyAgent 自己 POST https://bazaarlink.ai/api/v1/agents/register,或管理金鑰呼叫 POST /v1/keys
批量核發 + 預算一把 Management Key,核發時帶 limit + limit_reset
費用按 Agent 拆分每個 Agent 獨立 Key
某個 Agent 失控個別預算上限,自動 429
月底成本報告By-member 報表匯出 CSV

Multi-Agent 架構的複雜度在 Orchestration,不應該再被 API Key 管理拖累。BazaarLink 讓每個 Agent 有獨立的憑證和預算,同時在一個 dashboard 看到全局費用。

FAQ

AI Agent 可以自己取得 API Key 嗎?

可以。Agent 可以自己呼叫 POST https://bazaarlink.ai/api/v1/agents/register(在 bazaarlink.ai 主機上)領到 API Key,領到的是未付費帳戶,使用 auto:free;需要付費模型可改用 OKX x402 付款註冊(有平台儲值手續費)。如果要替每個 Agent 綁花費上限,則由人類建立一把 Management API Key,再用 POST /v1/keys 程式化核發。

為什麼每個 Agent 要用獨立的 Key?

獨立 Key 帶來三個好處:(1) 費用按 Agent 拆分,知道哪個 Agent 最耗錢;(2) 每個 Agent 有獨立月預算上限,某個 Agent 失控不影響其他;(3) 出問題時可單獨撤銷該 Key 而不中斷整個系統。

BazaarLink 支援 LangChain 和 CrewAI 嗎?

完全支援。LangChain 的 ChatOpenAI、CrewAI 的 Agent llm 參數都接受 base_url 與 api_key 設定,把 base_url 改成 https://bazaarlink.ai/api/v1 就能呼叫所有主流模型,不需要修改 framework 程式碼。

立即體驗 BazaarLink

台幣計費・統一發票・主流 AI 模型・OpenAI 相容 API

免費註冊 / 登入企業採購洽詢
相關文章
Claude Code · Claude Code 更新 · changelog · mods · 權限規則
Claude Code 2.1.289 更新整理:27 項變更、權限規則修補與 mods 穩定性
Claude Code · Claude Code mods · plugin · TypeScript · AI 編程工具
Claude Code 開放 Mods:用 TypeScript 改行為、改介面、換功能
聯網搜尋 · AI agent · LLM · Hermes Agent
Hermes Agent 聯網搜尋:用 BazaarLink 模型加 :online
客服
客服
您好!有什麼可以協助?
請留下訊息,我們會盡快回覆。