LlamaIndex Agents: Cách xây dựng và triển khai AI Agent

Xây dựng các AI agent thông minh với LlamaIndex bằng cách kết hợp khả năng suy luận mạnh mẽ, tích hợp công cụ và truy xuất dữ liệu. Tìm hiểu cách hoạt động của các agent trong LlamaIndex và khám phá cách Kimi API có thể đóng vai trò là backend LLM đáng tin cậy để vận hành các ứng dụng AI linh hoạt, có nhận thức về ngữ cảnh.

12 phút đọc2026-08-13
Hướng dẫn LlamaIndex Agents cho người mới bắt đầu

Cho dù bạn đang xây dựng ứng dụng AI hay tự động hóa các tác vụ phức tạp, việc giúp một AI agent hoạt động với đúng dữ liệu và công cụ có thể là một thử thách. Các hệ thống AI đơn giản thường gặp khó khi cần suy luận, truy xuất thông tin, hoặc xử lý tác vụ từ nhiều nguồn khác nhau. Các agent của LlamaIndex giúp việc này dễ dàng hơn bằng cách kết nối các mô hình AI với công cụ, dữ liệu và hệ thống truy xuất để xử lý tác vụ hiệu quả hơn. Hãy đọc bài viết này để tìm hiểu cách xây dựng và triển khai workflow agent LlamaIndex nhằm tạo ra các ứng dụng AI thông minh và linh hoạt hơn.

LlamaIndex agent là gì?

LlamaIndex agent là một hệ thống AI có thể suy luận về một tác vụ và quyết định các bước cần thiết để hoàn thành nó. Nó có thể chia một yêu cầu phức tạp thành các tác vụ nhỏ hơn, chọn công cụ, và sử dụng dữ liệu bên ngoài khi cần. Agent cũng có thể ghi nhớ các bước trước đó và sử dụng thông tin đã truy xuất để cải thiện phản hồi. Điều này cho phép chúng xử lý các tác vụ đòi hỏi nhiều hơn một phản hồi hỏi-đáp đơn giản.

Các agent của LlamaIndex hoạt động như thế nào?

Các agent của LlamaIndex giúp các ứng dụng LLM vượt ra khỏi việc hỏi đáp đơn giản, cho phép mô hình suy luận về tác vụ, chọn công cụ và hoàn thành các workflow nhiều bước. Thay vì tuân theo một pipeline cố định, agent sẽ tự động quyết định các hành động cần thiết dựa trên mục tiêu của người dùng và các khả năng hiện có.

Một workflow agent LlamaIndex tiêu biểu tuân theo quy trình sau:

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

Hiểu mục tiêu của người dùng

Khi agent nhận được một yêu cầu, LLM bên dưới sẽ phân tích tác vụ, ngữ cảnh hiện có và các công cụ được kết nối để xác định cách tiếp cận tốt nhất.

Với các truy vấn đơn giản, agent có thể tạo phản hồi trực tiếp. Với các tác vụ phức tạp, nó có thể chia yêu cầu thành các bước nhỏ hơn và quyết định thao tác nào là cần thiết.

Chọn và sử dụng công cụ

Công cụ mở rộng khả năng của agent vượt ra ngoài LLM. Các agent của LlamaIndex có thể kết nối với các hàm Python tùy chỉnh, query engine, API, cơ sở dữ liệu và hệ thống truy xuất thông qua các công cụ như FunctionToolQueryEngineTool.

Ví dụ, một agent có thể dùng công cụ tìm kiếm để thu thập thông tin, công cụ cơ sở dữ liệu để truy xuất bản ghi, hoặc một hàm tùy chỉnh để thực hiện phép tính.

Thực thi tác vụ qua một agent loop

Sau khi chọn một công cụ, agent thực hiện hành động, quan sát kết quả và quyết định bước tiếp theo. Vòng lặp suy luận - hành động này giúp agent xử lý được các quy trình phức tạp đòi hỏi nhiều bước thao tác.

Reason → Act → Observe → Repeat

Nếu nhiệm vụ chưa hoàn tất, agent có thể tiếp tục gọi các công cụ hoặc điều chỉnh cách tiếp cận cho đến khi tạo ra câu trả lời cuối cùng.

Quản lý ngữ cảnh và quy trình làm việc

Các agent của LlamaIndex duy trì ngữ cảnh liên quan trong suốt quá trình thực thi, giúp chúng quản lý các nhiệm vụ nhiều bước và sử dụng kết quả từ các bước trước. Với các ứng dụng phức tạp hơn, nhà phát triển có thể dùng workflow và kiến trúc multi-agent để điều phối nhiều agent, mỗi agent đảm nhận một vai trò hoặc nhiệm vụ cụ thể.

Ví dụ:

Research Agent
       ↓
Analysis Agent
       ↓
Writing Agent

Điều này giúp các react agent của LlamaIndex phù hợp với các ứng dụng như trợ lý nghiên cứu AI, hệ thống kiến thức doanh nghiệp, và các quy trình xử lý dữ liệu tự động.

Các thành phần cốt lõi của agent LlamaIndex

Multi-agent của LlamaIndex kết hợp nhiều thành phần để biến một LLM thành một hệ thống có thể suy luận, sử dụng các hàm bên ngoài và duy trì ngữ cảnh. Mỗi thành phần đảm nhận một vai trò khác nhau, nhưng chúng phối hợp với nhau để giúp agent xử lý nhiệm vụ hiệu quả hơn. Dưới đây là một số thành phần cốt lõi của nó:

LLM: Bộ máy suy luận của agent

LLM đóng vai trò là bộ máy suy luận chính, diễn giải yêu cầu của người dùng và quyết định bước tiếp theo cần làm. Nó có thể phân tích ngữ cảnh hiện có và xác định nên trả lời trực tiếp hay sử dụng một công cụ. LlamaIndex hỗ trợ nhiều nhà cung cấp LLM khác nhau, cho phép nhà phát triển chọn mô hình phù hợp với nhu cầu ứng dụng của mình. Vì vậy, LLM chính là yếu tố kiểm soát việc ra quyết định và tạo phản hồi của agent.

Công cụ: Mở rộng khả năng của agent

Các công cụ cho phép agent thực hiện những hành động vượt ra ngoài việc tạo văn bản. Chúng có thể là các hàm Python đơn giản hoặc các công cụ chuyên biệt để làm việc với API, query engine và các dịch vụ bên ngoài khác. Agent quyết định công cụ nào cần dùng và cung cấp đầu vào cần thiết dựa trên yêu cầu của người dùng. Kết quả từ công cụ sau đó sẽ được thêm vào cuộc hội thoại để agent có thể sử dụng ở bước tiếp theo.

Memory: Duy trì ngữ cảnh

Memory cho phép các agent của LlamaIndex lưu giữ thông tin liên quan trong khi thực hiện một nhiệm vụ. Theo mặc định, agent sử dụng ChatMemoryBuffer, giúp lưu giữ lịch sử hội thoại trong suốt quá trình thực thi. Nhà phát triển cũng có thể tùy chỉnh cấu hình memory, ví dụ như đặt giới hạn token dựa trên ứng dụng. Điều này giúp agent duy trì ngữ cảnh và xử lý các nhiệm vụ cần nhiều bước.

Các loại agent của LlamaIndex

LlamaIndex cung cấp nhiều loại agent khác nhau để xử lý nhiệm vụ dựa trên mức độ suy luận, sử dụng công cụ và khả năng kiểm soát cần thiết. Hãy cùng xem các loại chính và sự khác biệt giữa chúng:

Loại AgentCách hoạt độngTính năng chínhTrường hợp sử dụng phù hợp
FunctionAgentSử dụng khả năng gọi hàm (function-calling) của các LLM hiện đại để lựa chọn và thực thi các công cụ được định nghĩa trước dựa trên yêu cầu của người dùng. Gọi công cụ (tool calling) gốc Đầu vào và đầu ra có cấu trúc Thực thi công cụ đáng tin cậy Triển khai đơn giản Trợ lý AI Quy trình tự động hóa doanh nghiệp Ứng dụng dựa trên API Agent hướng nhiệm vụ
ReActAgentSử dụng phương pháp Reasoning + Acting, trong đó agent lặp đi lặp lại việc suy luận về một nhiệm vụ, thực hiện hành động, quan sát kết quả và tiếp tục cho đến khi hoàn thành. Suy luận từng bước Lựa chọn công cụ động Xử lý các nhiệm vụ nhiều bước Giải quyết vấn đề linh hoạt Trợ lý nghiên cứu Trả lời câu hỏi phức tạp Khai thác dữ liệu Quy trình làm việc mở
CodeActAgentCho phép agent giải quyết nhiệm vụ bằng cách sinh và thực thi mã khi việc suy luận dựa trên mã hiệu quả hơn. Sinh và thực thi mã Giải quyết vấn đề bằng lập trình Phù hợp với các nhiệm vụ tính toán Phân tích dữ liệu Quy trình khoa học Trợ lý lập trình
Hệ thống đa agentSử dụng nhiều agent chuyên biệt phối hợp, phân công nhiệm vụ và cùng nhau hoàn thành các quy trình phức tạp. Phối hợp giữa các agent Phân công nhiệm vụ Chuyên môn hóa vai trò Quy trình có khả năng mở rộng Quy trình nghiên cứu tự động Quy trình doanh nghiệp Quy trình kinh doanh phức tạp

Các loại agent này giúp nhà phát triển linh hoạt lựa chọn cách tiếp cận phù hợp cho từng nhiệm vụ và quy trình làm việc khác nhau. Sau khi chọn được loại agent, bước tiếp theo là kết nối nó với một backend LLM đủ mạnh để hỗ trợ khả năng suy luận và sử dụng công cụ. Hãy cùng xem cách xây dựng AI agent với LlamaIndex và Kimi API.

Cách xây dựng AI Agent bằng LlamaIndex và Kimi API?

Kết nối LlamaIndex với một LLM API mang lại cho agent khả năng suy luận cần thiết để hiểu yêu cầu và chọn đúng hành động. Các bước sau đây hướng dẫn cách thiết lập một AI agent với LlamaIndex và Kimi API, từ việc cấu hình mô hình đến chạy agent:

Bước 1: Điều kiện tiên quyết

Trước khi bắt đầu, hãy đảm bảo bạn có những thứ sau:

  • Đã cài đặt Python 3.9+

  • Một Kimi API Key hợp lệ từ Moonshot AI Platform

  • Có kiến thức cơ bản về agent LlamaIndex và các khái niệm RAG

Bước 2: Cài đặt các thành phần phụ thuộc

Ví dụ ban đầu sử dụng llama-index-llms-ollama. Hãy thay thế bằng llama-index-llms-openai để kết nối với API tương thích OpenAI của Kimi. Giữ nguyên package embedding HuggingFace để dùng embedding cục bộ, miễn phí.

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

Bước 3: Cấu hình biến môi trường

Lưu Kimi API key của bạn một cách an toàn bằng biến môi trường. Đừng gắn cứng key vào trong script.

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

Trên Windows (PowerShell):

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

Bước 4: Tạo agent cơ bản với Kimi API

Tạo một file tên là starter_kimi.py. File này thay thế LLM Ollama bằng Kimi nhưng vẫn giữ nguyên logic agent và các định nghĩa tool.

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())

Chạy script:

python starter_kimi.py

Kết quả mong đợi:

The answer to 1234 * 4567 is 5635678.

Bước 5: Thêm lịch sử chat (context)

Để cho phép hội thoại nhiều lượt, hãy truyền vào một đối tượng Context. Agent sẽ giữ được bộ nhớ qua các lần gọi.

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)

Bước 6: Thêm khả năng RAG với Kimi API

Nâng cấp agent với khả năng truy xuất tài liệu. Bước embedding vẫn chạy cục bộ, còn bước sinh nội dung sẽ được xử lý qua Kimi.

  1. Chuẩn bị dữ liệu mẫu

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. Script agent hỗ trợ RAG đầy đủ

Tạo file 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())

Chạy script:

python starter_kimi_rag.py
python starter_kimi_rag.py

Bước 7: Lưu trữ RAG Index

Để tránh phải xử lý lại tài liệu mỗi lần chạy, hãy lưu chỉ mục vector xuống đĩa.

# 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()

Xử lý sự cố

Nếu bạn gặp vấn đề khi thiết lập agent, một số lỗi thường gặp có thể ảnh hưởng đến xác thực, kết nối, cài đặt package, hoặc tốc độ embedding. Bảng dưới đây liệt kê các lỗi phổ biến nhất cùng cách khắc phục, giúp bạn nhanh chóng xử lý sự cố trong quá trình thiết lập:

Vấn đềNguyên nhânGiải pháp
AuthenticationErrorAPI key không hợp lệ hoặc bị thiếuKiểm tra xem KIMI_API_KEY đã được export đúng cách hay chưa
Connection timeoutĐộ trễ mạng đến api.moonshot.aiTăng request_timeout lên 300.0 hoặc cao hơn
ModuleNotFoundErrorThiếu packageChạy lại pip install llama-index-llms-openai
Embedding chạy chậm trên CPUMô hình Hugging Face đang chạy trên CPUDùng một mô hình nhỏ hơn hoặc bật gia tốc GPU

Lợi ích khi sử dụng Kimi API

Sau khi agent được kết nối và hoạt động, sự kết hợp giữa LlamaIndex và Kimi API mang lại nhiều lợi ích thực tiễn cho việc xây dựng các ứng dụng AI mạnh mẽ. Dưới đây là một số lợi ích chính khi dùng Kimi API cùng với các agent của LlamaIndex:

  • Xây dựng AI agent thông minh hơn: Kimi API tăng cường cho các agent của LlamaIndex khả năng hiểu ngôn ngữ và lập luận mạnh, giúp agent lựa chọn tool, xử lý thông tin và hoàn thành công việc hiệu quả hơn.

  • Cải thiện việc truy xuất và phân tích dữ liệu: Khi kết hợp với framework dữ liệu của LlamaIndex, Kimi có thể làm việc với các tài liệu và cơ sở tri thức riêng để tạo ra các câu trả lời chính xác hơn, có ngữ cảnh.

  • Cho phép quy trình AI linh hoạt: LlamaIndex kết nối agent với các tool, API và query engine, còn Kimi mang lại khả năng suy luận cần thiết để quyết định khi nào và cách nào nên sử dụng các khả năng này.

  • Hỗ trợ các ứng dụng AI phức tạp: Với khả năng hiểu ngữ cảnh dài và khả năng agent, Kimi API kết hợp với LlamaIndex phù hợp để xây dựng các trợ lý nghiên cứu, agent tri thức và ứng dụng phân tích tài liệu.

Ứng dụng thực tế của các agent LlamaIndex

Các agent LlamaIndex có thể được dùng cho nhiều nhiệm vụ khác nhau, nơi AI cần lập luận, truy cập thông tin và hành động. Khả năng kết nối LLM với tool và dữ liệu giúp chúng hữu ích trong nghiên cứu, kinh doanh, phân tích và hỗ trợ khách hàng. Dưới đây là một số ứng dụng thực tế:

  • Trợ lý nghiên cứu AI

Một trợ lý nghiên cứu AI có thể tìm kiếm trong tài liệu, truy xuất thông tin liên quan và giúp trả lời các câu hỏi phức tạp. Nó có thể chia một nhiệm vụ nghiên cứu thành các bước nhỏ hơn và sử dụng các tool khác nhau khi cần. Điều này giúp việc phân tích lượng lớn thông tin và chuẩn bị các câu trả lời chi tiết trở nên dễ dàng hơn.

  • Agent tri thức doanh nghiệp

Một agent tri thức doanh nghiệp có thể kết nối nhân viên với các tài liệu, cơ sở dữ liệu và cơ sở tri thức nội bộ. Nó có thể truy xuất thông tin công ty liên quan và đưa ra câu trả lời dựa trên dữ liệu kinh doanh có sẵn. Điều này giúp nhân viên tìm thông tin nhanh hơn mà không cần tìm kiếm thủ công qua nhiều hệ thống.

  • Agent phân tích dữ liệu

Một agent phân tích dữ liệu có thể làm việc với các bộ dữ liệu và sử dụng tool để xử lý, phân tích và diễn giải thông tin. Nó có thể thực hiện các phép tính, nhận diện các mẫu và giúp giải thích kết quả một cách đơn giản. Điều này khiến nó hữu ích cho các nhiệm vụ như báo cáo, khai thác dữ liệu và phân tích kinh doanh.

  • Agent chăm sóc khách hàng

Một agent dịch vụ khách hàng có thể truy cập thông tin sản phẩm, câu hỏi thường gặp và các tài nguyên hỗ trợ để trả lời câu hỏi của khách hàng. Nó có thể sử dụng các công cụ để truy xuất thông tin liên quan và xử lý yêu cầu dựa trên ngữ cảnh có sẵn. Điều này giúp tự động hóa các công việc hỗ trợ thường ngày, đồng thời mang lại phản hồi nhanh hơn và nhất quán hơn.

Kết luận

Các agent của LlamaIndex mang lại một cách thực tế để xây dựng các hệ thống AI có thể suy luận, sử dụng công cụ và làm việc với thông tin liên quan. Tính linh hoạt của chúng khiến chúng trở nên hữu ích khi tạo ra các ứng dụng vượt xa những cuộc hội thoại đơn giản. Với backend LLM phù hợp, các agent này có thể được điều chỉnh cho nhiều nhiệm vụ và quy trình làm việc khác nhau. Hãy thử Kimi API với LlamaIndex để xây dựng và kiểm thử AI agent của riêng bạn. Khám phá Kimi và xem bạn có thể tạo ra được gì với nó.

Câu hỏi thường gặp

Các agent của LlamaIndex có yêu cầu mô hình tùy chỉnh không?
Không, các agent của LlamaIndex không yêu cầu mô hình tùy chỉnh. Chúng có thể hoạt động với các nhà cung cấp LLM được hỗ trợ, bao gồm cả các mô hình có khả năng gọi hàm hoặc gọi công cụ (tool-calling). Bạn có thể chọn mô hình dựa trên nhu cầu của ứng dụng, chẳng hạn như khả năng suy luận, chi phí hoặc độ dài context. Điều này giúp LlamaIndex trở nên linh hoạt cho cả các ứng dụng agent đơn giản và phức tạp.
Các agent của LlamaIndex có phù hợp cho các ứng dụng production không?
Có, các agent của LlamaIndex có thể được dùng cho các ứng dụng production khi được thiết kế, kiểm thử và giám sát đúng cách. Nhà phát triển có thể kết nối agent với các công cụ, bộ nhớ, nguồn dữ liệu và workflow để hỗ trợ các công việc thực tế của doanh nghiệp. Các hệ thống production cũng cần có cơ chế xử lý lỗi, bảo mật, giám sát và giới hạn quyền truy cập công cụ phù hợp. Cách thiết lập phù hợp phụ thuộc vào độ phức tạp của ứng dụng và yêu cầu về độ tin cậy. Bằng cách tích hợp Kimi API, nhà phát triển có thể xây dựng các ứng dụng agent LlamaIndex tận dụng được khả năng suy luận mạnh và xử lý context dài cho các workflow production phức tạp hơn.
Các agent của LlamaIndex xử lý các lệnh gọi công cụ thất bại như thế nào?
Khi một lệnh gọi công cụ thất bại, agent có thể sử dụng kết quả trả về hoặc thông tin lỗi để quyết định bước tiếp theo. Tùy theo cách thiết kế workflow, agent có thể thử lại hành động đó, chọn một công cụ khác, hoặc đưa ra phản hồi mà không hoàn thành thao tác đó. Nhà phát triển cũng có thể thêm cơ chế xử lý lỗi tùy chỉnh khi xây dựng các agent workflow ở cấp độ thấp hơn. Điều này giúp agent xử lý các lỗi công cụ bất ngờ mà không làm dừng toàn bộ tác vụ.
Có thể bạn cũng sẽ thích
LangChain Deep Agents: Tính năng, Khả năng & Hướng dẫn thiết lập
LangChain Deep Agents: Tính năng, Khả năng & Hướng dẫn thiết lập
2026-08-14
Hướng dẫn n8n AI Agent: Xây dựng và tự động hóa workflow
Hướng dẫn n8n AI Agent: Xây dựng và tự động hóa workflow
2026-08-13
Cài đặt Claude Code: Hướng dẫn đầy đủ cho Windows & Mac
Cài đặt Claude Code: Hướng dẫn đầy đủ cho Windows & Mac
2026-08-12
Cách kết nối API bên ngoài với Roo Code
Cách kết nối API bên ngoài với Roo Code
2026-08-12
Tích hợp Droid API: Cách kết nối các model AI bên ngoài
Tích hợp Droid API: Cách kết nối các model AI bên ngoài
2026-08-12