LlamaIndex Agents:如何建構與部署 AI Agent

透過結合強大的推理能力、工具整合與資料檢索功能,使用 LlamaIndex 打造智能 AI agent。了解 LlamaIndex agent 的運作原理,並探索 Kimi API 如何作為可靠的 LLM 後端,驅動靈活且具情境感知能力的 AI 應用程式。

閱讀時長:12分鐘2026-08-13
LlamaIndex Agents 新手教學

無論你是在建構 AI 應用程式還是自動化複雜任務,讓 AI agent 能夠使用正確的資料和工具都可能是一項挑戰。當簡單的 AI 系統需要進行推理、擷取資訊,或處理來自不同來源的任務時,往往會遇到困難。LlamaIndex agent 透過將 AI 模型與工具、資料及檢索系統連接起來,讓任務處理更有效率。閱讀本文,了解如何建構並部署 LlamaIndex agent 工作流程,打造更聰明、更靈活的 AI 應用程式。

什麼是 LlamaIndex agent?

LlamaIndex agent 是一種能夠針對任務進行推理,並決定完成任務所需步驟的 AI 系統。它可以將複雜的請求拆解成較小的任務,選擇工具,並在需要時使用外部資料。agent 還能記住先前的步驟,並利用擷取到的資訊來改善回應。這讓它們能夠處理不只是簡單問答的任務。

LlamaIndex agent 如何運作?

LlamaIndex agent 讓 LLM 應用程式不再侷限於簡單的問答,能夠對任務進行推理、選擇工具,並完成多步驟的工作流程。agent 不會遵循固定的流程,而是根據使用者的目標與可用的能力,動態決定所需採取的行動。

一個典型的 LlamaIndex agent 工作流程遵循以下步驟:

User request
      ↓
Understand the task
      ↓
Select tools
      ↓
Execute actions
      ↓
Process results
      ↓
Return final response

理解使用者目標

當 agent 收到請求時,底層的 LLM 會分析任務、可用的上下文以及已連接的工具,以確定最佳的處理方式。

對於簡單的查詢,agent 可能會直接產生回應。對於複雜的任務,它可以將請求拆解成較小的步驟,並決定需要哪些操作。

選擇並使用工具

工具能將 agent 的能力擴展到 LLM 本身之外。LlamaIndex agent 可以透過 FunctionToolQueryEngineTool 等工具,連接自訂的 Python 函式、查詢引擎、API、資料庫及檢索系統。

例如,agent 可以使用搜尋工具來收集資訊,使用資料庫工具來檢索記錄,或使用自訂函式來執行計算。

透過 agent 迴圈執行任務

選定工具後,agent 會執行該動作、觀察結果,並決定下一步該做什麼。這種推理-行動迴圈讓 agent 能夠處理需要多個操作的複雜工作流程。

Reason → Act → Observe → Repeat

如果任務尚未完成,agent 可以持續呼叫工具或調整其處理方式,直到產生最終答案。

管理上下文與工作流程

LlamaIndex agent 在整個執行過程中會保留相關的上下文,這有助於它們管理多步驟任務,並利用先前步驟的結果。對於更複雜的應用程式,開發者可以使用工作流程與多 agent 架構來協調多個 agent,讓每個 agent 負責特定的角色或任務。

例如:

Research Agent
       ↓
Analysis Agent
       ↓
Writing Agent

這使得 LlamaIndex react agent 適用於 AI 研究助理、企業知識系統及自動化資料工作流程等應用程式。

LlamaIndex agent 的核心組件

LlamaIndex 多 agent 結合了多個組件,將 LLM 轉變為一個能夠推理、使用外部函式並維持上下文的系統。每個組件都扮演不同的角色,但它們共同運作,協助 agent 更有效地處理任務。以下是其中一些核心組件:

LLM:agent 的推理引擎

LLM 是主要的推理引擎,負責解讀使用者的請求,並決定接下來該怎麼做。它可以分析可用的上下文,並判斷是要直接回答,還是使用工具。LlamaIndex 支援不同的 LLM 供應商,讓開發者可以根據應用程式的需求選擇模型。因此,LLM 控制著 agent 的決策與回應生成。

工具:擴展 agent 的能力

工具讓 agent 能夠執行超越單純產生文字的動作。它們可以是簡單的 Python 函式,也可以是用於處理 API、查詢引擎及其他外部服務的專用工具。agent 會根據使用者的請求決定使用哪個工具,並提供所需的輸入。工具的執行結果之後會加入對話中,讓 agent 能在下一步中使用。

記憶:維持上下文

記憶讓 LlamaIndex agent 能夠在完成任務的過程中保留相關資訊。預設情況下,agent 會使用 ChatMemoryBuffer,在執行過程中保留可用的對話歷史。開發者也可以自訂記憶設定,例如根據應用程式設定 token 上限。這有助於 agent 維持上下文,並處理需要多個步驟的任務。

LlamaIndex agent 的類型

LlamaIndex 根據所需的推理程度、工具使用方式及控制程度,提供不同類型的 agent 來處理任務。讓我們來看看主要的類型以及它們之間的差異:

Agent 類型運作方式主要特色最佳應用場景
FunctionAgent利用現代 LLM 的函式呼叫能力,依據使用者請求選擇並執行預先定義的工具。 原生工具呼叫 結構化輸入與輸出 可靠的工具執行 實作簡單 AI 助理 業務自動化工作流程 以 API 為基礎的應用程式 任務導向型 agent
ReActAgent採用 Reasoning + Acting(推理 + 行動)方式,agent 會反覆對任務進行推理、採取行動、觀察結果,並持續進行直到完成。 逐步推理 動態選擇工具 可處理多步驟任務 靈活的問題解決能力 研究助理 複雜問答 資料探索 開放式工作流程
CodeActAgent當以程式碼進行推理更有效時,讓 agent 透過產生並執行程式碼來解決任務。 程式碼產生與執行 以程式方式解決問題 適用於運算類任務 資料分析 科學運算工作流程 程式設計助理
多 Agent 系統運用多個各具專長的 agent 協作,彼此分配任務並共同完成複雜的工作流程。 Agent 協作 任務分配 角色專門化 可擴展的工作流程 自動化研究流程 企業工作流程 複雜業務流程

這些 agent 讓開發者能夠靈活地為不同的任務與工作流程選擇合適的方式。選定 agent 類型後,下一步就是將其連接到具備足夠能力的 LLM 後端,以支援其推理和工具使用能力。讓我們來看看如何使用 LlamaIndex 和 Kimi API 建構 AI agent。

如何使用 LlamaIndex 和 Kimi API 建構 AI agent?

將 LlamaIndex 連接到 LLM API,能賦予 agent 理解請求、選擇正確行動所需的推理能力。以下步驟說明如何使用 LlamaIndex 和 Kimi API 設定 AI agent,從設定模型到執行 agent 的完整流程:

步驟 1:先決條件

開始之前,請確認你已具備以下條件:

  • 已安裝 Python 3.9 以上版本

  • Moonshot AI Platform 取得有效的 Kimi API Key

  • 對 LlamaIndex agents 與 RAG 概念有基本了解

步驟 2:安裝依賴套件

原始範例使用 llama-index-llms-ollama。請將其替換為 llama-index-llms-openai,以連接至 Kimi 相容 OpenAI 的 API。保留 HuggingFace embedding 套件,用於本地、免費的嵌入運算。

pip install llama-index llama-index-llms-openai llama-index-embeddings-huggingface

步驟 3:設定環境變數

使用環境變數安全地儲存你的 Kimi API key,切勿將其寫死在程式碼中。

export KIMI_API_KEY = "your-kimi-api-key-here"

在 Windows(PowerShell)上:

$env:KIMI_API_KEY = "your-kimi-api-key-here"

步驟 4:使用 Kimi API 建立基本 agent

建立一個名為 starter_kimi.py 的檔案。此步驟會將 Ollama LLM 替換為 Kimi,同時保留相同的 agent 邏輯與工具定義。

from llama_index.core.agent.workflow import FunctionAgent; import os
from llama_index.llms.openai import OpenAI; import asyncio
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import Settings


# Configure global settings

Settings.llm = OpenAI(
    model="kimi-latest",  # Or: kimi-k2, kimi-k2.5, etc.
    api_key=os.getenv("KIMI_API_KEY"),
    api_base="https://api.moonshot.ai/v1",
    temperature=0.3,
    request_timeout=120.0,
)

Settings.embed_model = HuggingFaceEmbedding(
    model_name="BAAI/bge-base-en-v1.5"
)


# Define a calculator tool

def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b


# Create the agent

agent = FunctionAgent(
    tools=[multiply],
    llm=Settings.llm,
    system_prompt="You are a helpful assistant that can multiply two numbers.",
)


async def main():
    response = await agent.run("What is 1234 * 4567?")
    print(str(response))


if __name__ == "__main__":
    asyncio.run(main())

執行腳本:

python starter_kimi.py

預期輸出:

The answer to 1234 * 4567 is 5635678.

步驟 5:新增對話歷史(上下文)

為啟用多輪對話,請傳入一個 Context 物件。agent 將在多次呼叫之間保留記憶。

from llama_index.core.workflow import Context


# Create context

ctx = Context(agent)


# Run agent with context

response = await agent.run("My name is Logan", ctx=ctx)
print(response)

response = await agent.run("What is my name?", ctx=ctx)
print(response)

步驟 6:使用 Kimi API 新增 RAG 功能

為 agent 加入文件檢索功能。嵌入步驟仍在本地執行,而生成則透過 Kimi 進行。

  1. 準備範例資料

mkdir data
wget https://raw.githubusercontent.com/run-llama/llama_index/main/docs/examples/data/paul_graham/paul_graham_essay.txt -O data/paul_graham_essay.txt
  1. 完整支援 RAG 的 agent 腳本

建立 starter_kimi_rag.py

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings; import os
from llama_index.core.agent.workflow import AgentWorkflow; import asyncio
from llama_index.llms.openai import OpenAI
from llama_index.embeddings.huggingface import HuggingFaceEmbedding

# Global settings
Settings.embed_model = HuggingFaceEmbedding(model_name="BAAI/bge-base-en-v1.5")
Settings.llm = OpenAI(
    model="kimi-k3",
    api_key=os.getenv("KIMI_API_KEY"),
    api_base="https://api.moonshot.ai/v1",
    temperature=0.3,
)

# Load documents and build index
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()

# Define tools
def multiply(a: float, b: float) -> float:
    """Useful for multiplying two numbers."""
    return a * b

async def search_documents(query: str) -> str:
    """Useful for answering natural language questions about Paul Graham's essay."""
    response = await query_engine.aquery(query)
    return str(response)

# Create enhanced agent
agent = AgentWorkflow.from_tools_or_functions(
    [multiply, search_documents],
    llm=Settings.llm,
    system_prompt="""You are a helpful assistant that can perform calculations
    and search through documents to answer questions.""",
)

async def main():
    response = await agent.run(
        "What did the author do in college? Also, what's 7 * 8?"
    )
    print(response)

if __name__ == "__main__":
    asyncio.run(main())

執行腳本:

python starter_kimi_rag.py
python starter_kimi_rag.py

步驟 7:持久化 RAG 索引

為避免每次執行時重新處理文件,請將向量索引持久化儲存至磁碟。

# Save the index
index.storage_context.persist("storage")

# Later, load the index
from llama_index.core import StorageContext, load_index_from_storage

storage_context = StorageContext.from_defaults(persist_dir="storage")
index = load_index_from_storage(storage_context)
query_engine = index.as_query_engine()
# Save the index
index.storage_context.persist("storage")

# Later, load the index
from llama_index.core import StorageContext, load_index_from_storage

storage_context = StorageContext.from_defaults(persist_dir="storage")
index = load_index_from_storage(storage_context)
query_engine = index.as_query_engine()

疑難排解

在設定 agent 過程中,若遇到問題,通常會與驗證、連線、套件安裝或嵌入速度有關。下表列出最常見的錯誤及其解決方式,方便你快速排除設定問題:

問題原因解決方法
AuthenticationErrorAPI 金鑰無效或缺失確認 KIMI_API_KEY 已正確匯出
Connection timeout連接 api.moonshot.ai 的網路延遲request_timeout 提高到 300.0 或更高
ModuleNotFoundError缺少套件重新執行 pip install llama-index-llms-openai
在 CPU 上進行嵌入運算速度緩慢Hugging Face 模型在 CPU 上執行改用較小的模型,或啟用 GPU 加速

使用 Kimi API 的優勢

一旦 agent 連接並正常運作,LlamaIndex 與 Kimi API 的組合能為建構功能完善的 AI 應用程式提供多項實用優勢。以下是搭配 LlamaIndex agents 使用 Kimi API 的幾個主要優點:

  • 打造更智慧的 AI agent: Kimi API 憑藉強大的語言理解與推理能力,強化 LlamaIndex agents,協助 agent 更有效地選擇工具、處理資訊並完成任務。

  • 提升資料檢索與分析能力: 結合 LlamaIndex 的資料框架,Kimi 能運用私有文件與知識庫,生成更準確、貼合上下文的回應。

  • 打造靈活的 AI 工作流程: LlamaIndex 將 agent 與工具、API、查詢引擎連接起來,而 Kimi 則提供判斷何時及如何運用這些功能所需的智慧。

  • 支援複雜的 AI 應用程式: 憑藉長上下文理解與 agent 能力,Kimi API 搭配 LlamaIndex 適合用來建構研究助理、知識型 agent 以及文件分析應用程式。

LlamaIndex agents 的實際應用場景

LlamaIndex agents 可用於各種需要 AI 進行推理、存取資訊並採取行動的任務。它們能將 LLM 與工具、資料連接起來的能力,使其在研究、商業、分析與客戶服務等領域都能發揮作用。以下是一些實際應用範例:

  • AI 研究助理

AI 研究助理能搜尋文件、擷取相關資訊,並協助回答複雜問題。它可以將研究任務拆解成較小的步驟,並在需要時使用不同的工具。這使得分析大量資訊、準備詳盡回應變得更容易。

  • 企業知識型 agent

企業知識型 agent 能將員工與內部文件、資料庫及知識庫連接起來。它可以擷取相關的公司資訊,並根據現有的業務資料提供答案。這有助於員工更快找到所需資訊,不必手動搜尋多個系統。

  • 資料分析 agent

資料分析 agent 能處理資料集,並運用工具進行處理、分析與解讀資訊。它可以進行計算、識別模式,並以簡單易懂的方式協助解釋結果。這使其適用於報告、資料探索與商業分析等任務。

  • 客服 agent

客服 Agent 可以存取產品資訊、常見問題與支援資源,以回應客戶的提問。它能運用工具擷取相關細節,並根據可用的上下文處理各種請求。這有助於自動化常規支援工作,同時提供更快速且一致的回應。

結論

LlamaIndex agent 提供了一種實用的方式,用來建構能夠推理、使用工具並處理相關資訊的 AI 系統。它們的靈活性使其適合用於打造超越簡單對話的應用程式。搭配合適的 LLM 後端,這些 agent 可以調整以適應不同的任務與工作流程。試試搭配 Kimi API 與 LlamaIndex,打造並測試屬於你自己的 AI agent。探索 Kimi,看看你能用它創造出什麼。

常見問題

LlamaIndex agent 需要自訂模型嗎?
不需要,LlamaIndex agent 不需要自訂模型。它們可以使用受支援的 LLM 供應商,包括提供函式或工具呼叫能力的模型。你可以根據應用程式的需求選擇模型,例如推理能力、成本或上下文長度。這使得 LlamaIndex 在簡單和進階 agent 應用程式中都具備靈活性。
LlamaIndex agent 適用於生產環境的應用程式嗎?
是的,只要經過適當的設計、測試與監控,LlamaIndex agent 可用於生產環境的應用程式。開發者可以將 agent 與工具、記憶、資料來源及工作流程連接起來,以支援實際的業務任務。生產系統還應包含適當的錯誤處理、安全性、監控以及對工具存取的限制。合適的設定取決於應用程式的複雜度和可靠性需求。透過整合 Kimi API,開發者可以建構具備強大推理能力和長上下文處理能力的 LlamaIndex agent 應用程式,以應對更複雜的生產工作流程。
LlamaIndex agent 如何處理失敗的工具呼叫?
當工具呼叫失敗時,agent 可以利用回傳的結果或錯誤資訊來判斷下一步該怎麼做。根據工作流程的設計,它可能會重試該動作、選擇其他工具,或在未完成該操作的情況下提供回應。開發者在建構較底層的 agent 工作流程時,也可以加入自訂的錯誤處理機制。這有助於 agent 在遇到意外的工具失敗時,仍能管理任務而不中斷整個流程。
相關推薦
LangChain Deep Agents:功能、能力與設定指南
LangChain Deep Agents:功能、能力與設定指南
2026-08-13
n8n AI Agent 指南:建立並自動化工作流程
n8n AI Agent 指南:建立並自動化工作流程
2026-08-13
安裝 Claude Code:Windows 與 Mac 完整指南
安裝 Claude Code:Windows 與 Mac 完整指南
2026-08-12
如何將外部 API 連接到 Roo Code
如何將外部 API 連接到 Roo Code
2026-08-12
Droid API 整合:如何連接外部 AI 模型
Droid API 整合:如何連接外部 AI 模型
2026-08-12
LlamaIndex Agents 指南:打造更智慧的 AI 應用程式