Hành Trình Xây Dựng "Điệp Viên AI": Tìm Thấy "Cứu Tinh" Với ADK!
Lê Lân
0
Hướng Dẫn Xây Dựng AI Agent Tìm Phim Với ADK: Bước Đột Phá Trong Phát Triển Agent
Mở Đầu
Việc phát triển AI agents đã trở thành một xu hướng quan trọng trong lĩnh vực trí tuệ nhân tạo. Tuy nhiên, không phải lúc nào hành trình tạo ra một agent hiệu quả cũng dễ dàng, đặc biệt với những người mới bắt đầu.
Từ những ngày đầu năm, tôi đã làm việc với nhiều framework và thư viện khác nhau trong việc phát triển AI agents. Quá trình này không thiếu những thử thách và học hỏi liên tục. Bài viết này sẽ chia sẻ trải nghiệm của tôi với các công cụ phổ biến như LangGraph, Agno, và đặc biệt là ADK (Agent Development Kit) đến từ Google, cùng hướng dẫn từng bước để bạn có thể tự tạo một agent đơn giản phục vụ tìm phim theo thể loại và thập kỷ.
Tổng Quan Về Các Công Cụ Phát Triển AI Agents
LangGraph: Tạo Luồng Dữ Liệu Cơ Bản
Ưu điểm: Dễ dàng thiết lập các luồng công việc đơn giản
Nhược điểm:
Khi kết nối nhiều node, cấu trúc nhanh chóng trở nên phức tạp
Tài liệu tham khảo gây nhầm lẫn do có nhiều cách định nghĩa agent khác nhau
Agno: API Thân Thiện Với Người Dùng
Ưu điểm: API đơn giản, dễ hiểu với tài liệu hướng dẫn tốt
Nhược điểm: Hiệu năng giảm khi xây dựng hệ thống đa agent, gây khó khăn trong mở rộng
ADK (Agent Development Kit): Giải Pháp Toàn Diện Của Google
ADK được Google hỗ trợ và cung cấp tài liệu đầy đủ, đội ngũ phát triển hoạt động tích cực với các bản cập nhật hàng tuần. Đây là lựa chọn tốt nhất để tránh những vấn đề phổ biến trong phát triển agent.
ADK hỗ trợ lập trình với Python và có bản mới cho Java. Trong hướng dẫn này, chúng ta tập trung vào Python để tận dụng sự đơn giản và phổ biến.
Bắt Đầu Với ADK: Xây Dựng Agent Tìm Phim
1. Cài Đặt Môi Trường
pip install google-adk
Thiết lập khóa API trong biến môi trường (sử dụng Gemini trong Google AI Studio):
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=PASTE_YOUR_ACTUAL_API_KEY_HERE
2. Cấu Trúc Thư Mục
parent_folder/
└── movie_finder_agent/
├── __init__.py
├── agent.py
└── .env
Trong __init__.py, thêm dòng:
from . import agent
3. Định Nghĩa Công Cụ (Tool) Tìm Phim
MOVIES = [
{"title": "The Matrix", "genre": "Sci-Fi", "year": 1999},
genre (str): Thể loại phim, ví dụ "Sci-Fi", "Romance", "Crime"
decade (int): Năm bắt đầu của thập kỷ, ví dụ 1990, 2000
Returns:
str: Chuỗi chứa các tên phim phù hợp, hoặc thông báo không tìm thấy
"""
results = []
year_range = range(decade, decade + 10)
for movie in MOVIES:
if genre and movie["genre"] == genre and movie["year"] in year_range:
results.append(movie["title"])
ifnot results:
return"No matching movies found."
return"\n".join(results)
Chú ý: Một tool trong ADK chính là một hàm Python bình thường mà agent có thể gọi để lấy dữ liệu hoặc thực thi một tác vụ cụ thể.
4. Định Nghĩa Agent
from google_adk import Agent
root_agent = Agent(
name="root_agent",
model="gemini-2.5-flash-preview-04-17",
description="Answers questions from the user",
instruction="You are a helpful assistant that can answer questions about movies.",
tools=[find_movies],
)
Các thuộc tính agent:
Thuộc tính
Ý nghĩa
name
Tên định danh cho agent
model
Phiên bản mô hình (có thể dùng LiteLLM nếu không phải Google)
description
Mô tả ngắn gọn chức năng của agent
instruction
Hướng dẫn và lệnh cho agent
tools
Danh sách các công cụ (hàm) agent có thể gọi
5. Chạy Agent Trên Giao Diện Web
adk web
Sau khi chạy, bạn sẽ thấy bảng điều khiển thử nghiệm (testing dashboard):
Ở đây, bạn có thể nhập câu hỏi như: "I'm looking for a sci-fi movie in the 90s.". Agent sẽ tự động gọi hàm tìm kiếm phim với các tham số chính xác và trả về kết quả.
Ví dụ chi tiết về tham số truyền vào tool:
Kết quả trả về từ tool:
Chỉ trong vòng chưa đầy 5 phút, bạn đã tạo xong một AI agent với ADK, sử dụng code và prompt cực kỳ đơn giản và trực quan.
Hiểu Rõ Về Agent Và LLM: Phân Biệt Quan Trọng
Agent Không Chỉ Là Một LLM
LLM (Large Language Model) là mô hình được huấn luyện trên dữ liệu lớn với chi phí tính toán cao.
Agent là lớp runtime được xây dựng trên LLM, bổ sung công cụ (tools), bộ nhớ (memory) và logic để thực thi tác vụ phức tạp.
Agent có khả năng tư duy, ghi nhớ và hành động bằng cách:
Phân tích câu hỏi
Gọi tool để lấy câu trả lời
Lưu trữ kết quả để sử dụng sau này như bộ nhớ ngắn hạn
Hiệu Năng Agent Thấp Hơn Ứng Dụng Chat
Do agent làm việc nhiều bước và tích hợp công cụ nên hiệu năng thường chậm hơn so với các ứng dụng chat đơn giản như ChatGPT hay Gemini.
Kết Luận
Trong bài viết này, bạn đã được hướng dẫn chi tiết cách xây dựng một AI agent đơn giản để tìm phim dựa trên thể loại và thập kỷ sử dụng ADK - một framework mạnh mẽ, dễ tiếp cận và được Google hỗ trợ. Qua ví dụ thực tế, bạn cũng hiểu rõ hơn về sự khác biệt giữa agent và LLM, cũng như ưu nhược điểm của các công cụ phát triển agent phổ biến hiện nay.
Hãy bắt tay vào thử nghiệm với ADK để tạo ra những agent hữu ích cho riêng bạn! Nếu bạn muốn phần tiếp theo của tutorial với các kiến trúc multi-agent hoặc tích hợp đa công cụ, đừng quên để lại phản hồi nhé!