🔄 Tóm tắt nhanh: Trong bài học trước, bạn đã xây dựng agent nghiên cứu đầu tiên của mình với prompt hệ thống và vòng lặp suy luận. Nhưng agent đó bị giới hạn bởi những gì mô hình AI đã biết. Bây giờ, hãy cung cấp cho các agent những khả năng thực sự — những công cụ cho phép chúng tương tác với thế giới.
Các công cụ biến đổi agent
Nếu không có công cụ, agent chỉ là một chatbot tinh vi — nó có thể suy luận về dữ liệu huấn luyện của mình nhưng không thể truy cập thông tin mới, thực hiện những phép tính hoặc tương tác với các hệ thống.
Với các công cụ, một agent có thể:
Tìm kiếm thông tin hiện tại trên web
Thực thi code để phân tích dữ liệu
Đọc và ghi file
Gọi API để tương tác với các dịch vụ
Truy vấn cơ sở dữ liệu
Điều khiển trình duyệt để điều hướng các trang web
Các công cụ là thứ biến "Tôi nghĩ câu trả lời có thể là..." thành "Tôi đã tìm kiếm và đây là những gì tôi tìm thấy".
Cấu trúc của một công cụ cho agent
Mỗi công cụ có 4 thành phần:
Tên — Một định danh rõ ràng (ví dụ: web_search, run_code, read_file)
Mô tả — Khi nào và tại sao agent nên sử dụng công cụ này. Điều này rất quan trọng — người dùng sẽ đọc phần này để quyết định có sử dụng công cụ hay không.
Tham số — Các đầu vào mà công cụ cần (truy vấn tìm kiếm, code cần chạy, đường dẫn file)
Giá trị trả về — Những gì công cụ trả về (kết quả tìm kiếm, đầu ra code, nội dung file)
Ví dụ định nghĩa công cụ:
📍 Nơi dán: Mở ChatGPT (chat.openai.com), Claude (claude.ai) hoặc Gemini (gemini.google.com) và bắt đầu một cuộc trò chuyện mới.
📋 Cách sao chép prompt này: Nhấp vào bất kỳ đâu bên trong khối màu xám, nhấn Cmd+A sau đó Cmd+C (Mac) hoặc Ctrl+A sau đó Ctrl+C (Windows). Hoặc sử dụng biểu tượng sao chép xuất hiện.
CÔNG CỤ: web_search
MÔ TẢ: Tìm kiếm thông tin hiện tại trên web. Sử dụng khi bạn cần thông tin thực tế, giá cả, sự kiện gần đây hoặc bất kỳ dữ liệu nào có thể đã thay đổi kể từ khi bạn được đào tạo. KHÔNG sử dụng cho các câu hỏi kiến thức tổng quát mà bạn có thể trả lời từ trí nhớ.
THAM SỐ:
- truy vấn (chuỗi): Truy vấn tìm kiếm. Hãy cụ thể. Bao gồm ngày tháng hoặc khoảng thời gian khi cần thiết.
KẾT QUẢ TRẢ VỀ: Một danh sách tối đa 10 kết quả, mỗi kết quả bao gồm: tiêu đề, URL, đoạn trích và ngày xuất bản.
✏️ Cách điền thông tin chi tiết của bạn: Thay thế mỗi [] và trình giữ chỗ trong ngoặc vuông bằng thông tin cụ thể từ tình huống thực tế của bạn. Thông tin đầu vào mơ hồ sẽ tạo ra kết quả mơ hồ — hãy cụ thể.
👀 Những gì bạn sẽ thấy: Trong vòng vài giây, AI sẽ trả về một phản hồi có cấu trúc dựa trên câu hỏi ở trên. Hãy đọc kỹ và coi đó là bản nháp, không phải là câu trả lời cuối cùng.
📌 Nên làm gì với kết quả: Lưu phản hồi vào file Notes. Chọn gợi ý có hiệu quả cao nhất và thực hiện theo trong tuần này — đừng cố gắng làm tất cả cùng một lúc.
⚠️ Nếu kết quả không phù hợp: Nếu các gợi ý có vẻ chung chung, hãy dán nội dung sau: "Hãy cụ thể hơn với ngữ cảnh thực tế của tôi. Bỏ những lời khuyên chung chung." Nếu nó bỏ qua các chi tiết quan trọng bạn đã cung cấp, hãy hỏi: "Bạn đã bỏ sót [X] trong ngữ cảnh của tôi — hãy thực hiện lại với điều đó làm ràng buộc chính."
✅ Kiểm tra nhanh: Tại sao mô tả công cụ lại quan trọng đối với hiệu suất của agent?
Agent đọc mô tả để quyết định có nên sử dụng công cụ hay không và khi nào. Mô tả mơ hồ ("tìm kiếm thông tin") dẫn đến việc sử dụng quá mức hoặc sử dụng sai. Mô tả chính xác ("tìm kiếm trên web để biết thông tin hiện tại; không sử dụng cho kiến thức chung") giúp agent đưa ra quyết định thông minh về thời điểm thích hợp sử dụng từng công cụ.
Các loại công cụ thiết yếu
Công cụ truy xuất thông tin — Lấy dữ liệu từ các nguồn bên ngoài
Tìm kiếm trên web: tìm kiếm thông tin hiện tại
Trình đọc tài liệu: trích xuất văn bản từ PDF, tài liệu Word, bảng tính
Truy vấn cơ sở dữ liệu: lấy dữ liệu có cấu trúc
Trình gọi API: lấy dữ liệu từ các dịch vụ (thời tiết, giá cổ phiếu, profile CRM)
Công cụ xử lý — Chuyển đổi và phân tích dữ liệu
Trình thực thi code: chạy Python/JavaScript để tính toán, phân tích dữ liệu, tạo biểu đồ
Trình phân tích văn bản: tóm tắt, trích xuất, so sánh tài liệu
Trình định dạng dữ liệu: chuyển đổi giữa các định dạng (CSV sang JSON, dữ liệu thô sang bảng)
Công cụ hành động — Biến mọi thứ thành hiện thực
Trình gửi email: soạn thảo và gửi email
Trình ghi file: tạo tài liệu, báo cáo, xuất khẩu
Trình cập nhật hệ thống: sửa đổi bản ghi trong CRM, công cụ dự án, cơ sở dữ liệu
Trình điều khiển trình duyệt: điều hướng trang web, điền biểu mẫu
Công cụ đánh giá — Kiểm tra chất lượng và độ chính xác
Trình kiểm tra tính chân thật: xác minh các tuyên bố dựa trên các nguồn đáng tin cậy
Máy tính: xác nhận kết quả toán học
Trình xác thực: kiểm tra đầu ra dựa trên các tiêu chí đã định
Thiết kế công cụ của bạn
Nguyên tắc về công cụ tối thiểu cần thiết: Chỉ cung cấp cho agent những gì nó cần.
Tôi đang xây dựng một agent cho [nhiệm vụ]. Hãy giúp tôi thiết kế bộ công cụ tối thiểu:
YÊU CẦU NHIỆM VỤ:
- Agent cần thu thập thông tin gì?
- Cần xử lý hoặc phân tích dữ liệu gì?
- Agent cần thực hiện những hành động nào?
- Agent xác minh công việc của mình như thế nào?
Đối với mỗi công cụ cần thiết:
1. Tên và mô tả công cụ
2. Khi nào agent nên sử dụng công cụ đó
3. Khi nào agent KHÔNG nên sử dụng công cụ đó
4. Tham số và giá trị trả về
5. Các trường hợp lỗi và cách agent nên xử lý chúng
Chuỗi công cụ: Kết hợp các công cụ
Các tác vụ thực tế của agent yêu cầu nhiều công cụ theo trình tự:
Tác vụ nghiên cứu và báo cáo:
web_search → Tìm các bài báo liên quan
read_document → Trích xuất dữ liệu chính từ các bài báo đã tìm thấy
run_code → Phân tích và so sánh dữ liệu
write_file → Tạo báo cáo cuối cùng
Tác vụ đường dẫn dữ liệu:
read_file → Load dữ liệu thô từ CSV
run_code → Làm sạch, chuyển đổi và phân tích
run_code → Tạo hình ảnh trực quan
send_email → Gửi báo cáo kèm biểu đồ cho các bên liên quan
Agent quyết định chuỗi công cụ một cách linh hoạt dựa trên những gì nó tìm thấy ở mỗi bước. Nếu tìm kiếm trên web trả về file PDF, nó sẽ thêm bước đọc tài liệu. Nếu dữ liệu có lỗi, nó sẽ thêm bước làm sạch.
✅ Kiểm tra nhanh: Người dùng yêu cầu agent "tóm tắt báo cáo tài chính mới nhất từ URL này." Theo dõi chuỗi công cụ tối thiểu. (1) không cần web_search — bạn đã có URL; (2) trình đọc tài liệu/PDF load file; (3) run_code có thể trích xuất bảng nếu báo cáo dày đặc; (4) mô hình tóm tắt từ văn bản đã trích xuất. Bỏ qua bước 1 là một bước đi khôn ngoan — mỗi công cụ không cần thiết đều là một cơ hội cho sự lựa chọn sai lầm.
Xử lý lỗi công cụ
Các công cụ bị lỗi. API bị sập, tìm kiếm trả về dữ liệu rác, file bị lỗi định dạng. Agent của bạn cần các chiến lược dự phòng:
Thiết kế xử lý lỗi cho bộ công cụ của agent:
CÔNG CỤ: [liệt kê các công cụ của bạn]
Đối với mỗi công cụ, hãy xác định:
1. Các chế độ lỗi phổ biến (hết thời gian chờ, kết quả trống, lỗi định dạng, xác thực hết hạn)
2. Hành động dự phòng đầu tiên (thử lại với các tham số đã sửa đổi, thử công cụ thay thế)
3. Hành động dự phòng thứ hai (sử dụng kết quả được lưu trong bộ nhớ cache, ước tính với dữ liệu có sẵn)
4. Kích hoạt chuyển giao (khi nào nên ngừng thử và yêu cầu người dùng trợ giúp)
5. Cách agent nên ghi nhật ký lỗi để gỡ lỗi
Một agent mạnh mẽ sẽ thử các phương án thay thế trước khi từ bỏ. Nếu tìm kiếm trên web thất bại, hãy thử một truy vấn khác. Nếu cách đó không hiệu quả, hãy kiểm tra xem dữ liệu được lưu trong bộ nhớ cache có sẵn hay không. Chỉ nên chuyển vấn đề cho người dùng khi đó là biện pháp cuối cùng.
Thực tiễn tốt nhất khi sử dụng công cụ
Hãy nêu rõ tiêu chí lựa chọn công cụ. Đừng chỉ liệt kê các công cụ — hãy cho agent biết khi nào nên sử dụng từng công cụ và khi nào không.
Giới hạn số lượng công cụ mỗi bước. Agent không nên gọi 5 công cụ cùng lúc. Một hoặc hai công cụ mỗi chu kỳ suy luận sẽ giúp mọi thứ dễ quản lý hơn.
Xác thực kết quả đầu ra của công cụ. Agent nên kiểm tra xem kết quả của công cụ có hợp lý trước khi sử dụng chúng. Một tìm kiếm trên web trả về kết quả về một chủ đề khác nên được loại bỏ và chạy lại.
Ghi nhật ký mọi thứ. Mọi lệnh gọi công cụ và kết quả đều phải được ghi nhật ký. Khi có sự cố xảy ra, nhật ký sẽ cho bạn biết chính xác vị trí xảy ra lỗi.
Bài tập: Xây dựng một agent sử dụng công cụ
Mở rộng agent nghiên cứu của bạn từ Bài học 3 với các định nghĩa công cụ rõ ràng:
Xác định 3-4 công cụ mà agent của bạn cần (tìm kiếm trên web, đọc tài liệu, chạy code)
Viết mô tả công cụ đầy đủ với hướng dẫn khi nào nên sử dụng và khi nào không nên sử dụng
Thêm logic chuỗi công cụ vào prompt hệ thống của bạn ("Sau khi tìm kiếm, hãy đọc đầy đủ các kết quả liên quan nhất")
Thêm các quy tắc xử lý lỗi cho mỗi công cụ
Kiểm tra agent với một tác vụ yêu cầu ít nhất hai công cụ khác nhau
So sánh kết quả với agent của bạn trong Bài học 3. Định nghĩa công cụ làm cho agent đáng tin cậy và có khả năng hơn.
Những điểm chính cần ghi nhớ
Các công cụ biến những agent từ chatbot tinh vi thành các hệ thống tự động có khả năng
Mỗi công cụ cần 4 thành phần: tên, mô tả, tham số và giá trị trả về
Mô tả công cụ là phần quan trọng nhất — nó hướng dẫn quyết định của agent về thời điểm và cách sử dụng từng công cụ
Sử dụng bộ công cụ tối thiểu khả thi — ít công cụ hơn có nghĩa là ít lựa chọn sai hơn
Chuỗi công cụ kết hợp nhiều công cụ theo trình tự, với agent quyết định chuỗi một cách linh hoạt
Xây dựng khả năng xử lý lỗi vào mỗi công cụ: Chiến lược dự phòng, cách tiếp cận thay thế và các yếu tố kích hoạt chuyển giao
Câu 1:
Khi người dùng cần xử lý file CSV và tạo biểu đồ, họ nên sử dụng công cụ nào?
GIẢI THÍCH:
Đây là một chuỗi công cụ: Công cụ đọc file truy cập dữ liệu, sau đó công cụ thực thi code (chạy Python hoặc JavaScript) xử lý các số liệu và tạo biểu đồ. Người dùng thường kết hợp nhiều công cụ với nhau, đầu ra của mỗi công cụ trở thành đầu vào của công cụ tiếp theo.
Câu 2:
Điều gì tạo nên một mô tả công cụ tốt cho AI agent?
GIẢI THÍCH:
Agent sử dụng mô tả công cụ để quyết định sử dụng công cụ nào và như thế nào. Mô tả như "Tìm kiếm thông tin hiện tại trên web. Sử dụng khi bạn cần dữ liệu, thông tin thực tế hoặc các sự kiện gần đây. Đầu vào: Chuỗi truy vấn tìm kiếm. Đầu ra: danh sách kết quả với tiêu đề, URL và đoạn trích" giúp người dùng lựa chọn công cụ thông minh hơn.
Câu 3:
Tại sao bạn nên cung cấp cho agent bộ công cụ tối thiểu cần thiết cho nhiệm vụ của nó?
GIẢI THÍCH:
Mỗi công cụ là một điểm lựa chọn. Một agent với 20 công cụ phải quyết định sử dụng công cụ nào ở mỗi bước — và nó có thể lựa chọn sai. Một agent với 5 công cụ được lựa chọn kỹ càng sẽ mắc ít lỗi hơn. Hãy bắt đầu với bộ công cụ tối thiểu cần thiết và chỉ thêm công cụ khi agent thực sự cần đến chúng.
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây: