Cloudflare Agents: Giám sát từng suy nghĩ của AI Agent
Cloudflare ra mắt Agent Tracing giúp bạn trực quan hóa suy nghĩ, hành động và chi phí của AI Agent song song với hạ tầng hệ thống.
Tưởng tượng bạn thuê một trợ lý riêng để lên kế hoạch du lịch. Họ không thể lập tức dịch chuyển bạn đến điểm hẹn chỉ trong một nốt nhạc. Họ sẽ phải tra cứu chuyến bay, kiểm tra xem phòng khách sạn còn trống không, so sánh giá cả, viết lịch trình nháp, và có thể phải hỏi ý kiến một đồng nghiệp bản địa để xin đề xuất quán ăn ngon.
Nếu họ thất bại và chỉ nói một câu đơn giản: “Xin lỗi, không còn phòng trống”, chắc chắn bạn sẽ muốn biết lý do. Họ đã tìm sai ngày? Họ kiểm tra nhầm khách sạn? Hay họ đã tốn quá nhiều thời gian chỉ để lặp đi lặp lại việc kiểm tra một chuyến bay duy nhất?
Việc xây dựng các ứng dụng AI Agent (tác nhân trí tuệ nhân tạo) cũng giống hệt như thế. Khi một Agent thất bại, nó vẫn có thể trả về mã trạng thái HTTP 200 OK như không có chuyện gì xảy ra. Nhưng thực chất bên dưới, nó có thể đã chọn sai công cụ (tool), truyền dữ liệu cũ cho subagent, hoặc bị kẹt trong một vòng lặp vô hạn đầy tốn kém.
Trước đây, việc nhìn thấu “suy nghĩ” bên trong một Agent là cực kỳ khó khăn. Hôm nay, Cloudflare đã chính thức công bố Cloudflare Agents, mở đầu bằng tính năng Agent Tracing để giải quyết triệt để bài toán này.
Vấn đề của chiếc “Hộp Đen” AI Agent#
Các công cụ giám sát ứng dụng truyền thống (APM) hoạt động rất tốt đối với các website thông thường. Chúng cho bạn biết khi nào truy vấn cơ sở dữ liệu bị chậm hoặc khi nào một API call bị lỗi. Nhưng AI Agent lại hoạt động theo cách khác. Chúng không chỉ chạy code tuyến tính, mà đưa ra các quyết định tự chủ trong một vòng lặp:
graph TD
User([Yêu cầu từ người dùng]) --> Agent[AI Agent Worker]
subgraph "Cloudflare Agents Dashboard"
Agent --> |"1. Suy nghĩ (Reasoning)"| Thought["Thought / Messages Tab"]
Agent --> |"2. Gọi công cụ (Action)"| Tool["Tool Execution / Traces Tab"]
Tool --> |"Đọc trạng thái"| D1[(Cơ sở dữ liệu D1)]
Tool --> |"Lấy dữ liệu"| Fetch[API bên ngoài]
Agent --> |"3. Bàn giao cho Subagent"| Subagent[Subagent Worker]
end
Agent --> Response([Kết quả cuối cùng])
Nếu một Agent đưa ra quyết định sai lầm, việc chỉ nhìn vào thời gian phản hồi của cơ sở dữ liệu sẽ không thể giúp bạn biết tại sao nó lại quyết định thực hiện truy vấn đó ngay từ đầu. Bạn cần theo dõi được luồng tư duy của Agent: các lượt gọi mô hình (model calls), các tham số truyền vào công cụ, lịch sử prompt, và chi phí sử dụng token thực tế.
Giới thiệu Cloudflare Agents#
Cloudflare vốn đã là một nền tảng mạnh mẽ để chạy các tác nhân AI: họ có môi trường chạy serverless (Workers), các giải pháp lưu trữ trạng thái (Durable Objects, KV, D1), và khả năng chạy mô hình LLM trực tiếp (Workers AI).
Giờ đây, Cloudflare Agents liên kết tất cả các thành phần đó lại với nhau thành một nền tảng quan sát (observability) hợp nhất. Nền tảng này bổ sung một bảng điều khiển Agents chuyên dụng trong Cloudflare Dashboard với hai chế độ xem trực quan:
1. Tab Messages (Xem lại cuộc hội thoại)#
Bảng này hoạt động như một “hộp đen ghi lại chuyến bay” cho các lượt trao đổi của Agent. Nó trực quan hóa:
- Các chỉ thị hệ thống (system instructions) và yêu cầu từ người dùng.
- Suy nghĩ thầm kín (thinking process/reasoning) của mô hình LLM.
- Các công cụ cụ thể được gọi kèm theo tham số đầu vào và kết quả đầu ra.
- Các lượt bàn giao hoặc ủy thác công việc cho subagent.
[!NOTE] Yếu tố bảo mật được thiết lập sẵn. Nếu bạn làm việc với dữ liệu nhạy cảm, các framework như Think, Flue và AI SDK cho phép bạn tắt tính năng lưu trữ nội dung thông qua các tùy chọn
storeMessagesvàstoreTools.
2. Tab Traces (Lược đồ dạng thác nước Waterfall)#
Tab này hiển thị dòng thời gian chi tiết của request, kết hợp logic cấp cao của Agent với hiệu năng của hạ tầng bên dưới. Bạn có thể thấy:
- Thời gian LLM dành ra để suy nghĩ.
- Truy vấn D1 hoặc KV nào được kích hoạt bởi công cụ nào.
- Cách các lượt gọi subagent được lồng ghép ngay dưới agent cha.
Hướng dẫn kích hoạt Agent Tracing#
Việc thiết lập vô cùng đơn giản.
Bước 1: Bật tính năng Tracing trong wrangler.jsonc#
Thêm cấu hình giám sát vào file thiết lập Worker của bạn:
{
"observability": {
"enabled": true,
"head_sampling_rate": 1
}
}jsonBước 2: Tích hợp vào mã nguồn#
Tùy thuộc vào framework bạn sử dụng, việc tích hợp chỉ tốn vài dòng code:
A. Đối với Think và Flue Framework#
Các framework này hỗ trợ sẵn telemetry cho Agent. Chúng sẽ tự động gửi thông tin về agent, cuộc hội thoại, lượt gọi model và tool thông qua các tích hợp có sẵn.
B. Đối với Vercel AI SDK#
Nếu bạn đang sử dụng Vercel AI SDK, hãy bọc nó bằng adapter của Cloudflare:
import { wrapAISDK } from '@cloudflare/ai-sdk-opentelemetry'; // [!code focus]
import { generateText } from 'ai';
// Bọc phần khởi tạo mô hình của bạn
const ai = wrapAISDK(yourModelProvider); // [!code focus]tsC. Đối với Custom Harness (Mã nguồn tự viết)#
Nếu bạn tự viết hệ thống Agent riêng, bạn có thể tự kích hoạt các span thủ công bằng cách tuân theo quy chuẩn Generative AI semantic conventions của OpenTelemetry.
[!TIP] Cloudflare hiện đang phát triển tính năng hỗ trợ OpenTelemetry gốc bên trong Workers. Khi hoàn thành, bất kỳ framework nào sử dụng chuẩn OTel GenAI đều có thể hoạt động ngay lập tức mà không cần adapter riêng của Cloudflare.
Chi phí và Lộ trình Beta#
- Trong giai đoạn Beta: Tính năng Agent Tracing hoàn toàn miễn phí.
- Từ ngày 1 tháng 10 năm 2026: Chi phí sẽ được tính gộp trực tiếp vào gói Workers Observability:
- Workers Free: Gồm 200,000 sự kiện/ngày (lưu trữ trong 3 ngày).
- Workers Paid: Gồm 20 triệu sự kiện/tháng, sau đó tính phí $0.60 cho mỗi triệu sự kiện phát sinh (lưu trữ trong 7 ngày).
Agent tracing mới chỉ là bước khởi đầu. Tầm nhìn dài hạn của Cloudflare là tạo ra một vòng lặp phản hồi, nơi dữ liệu trace có thể được đưa ngược lại vào quy trình phát triển để xây dựng nên các AI Agent tự hoàn thiện và tự nâng cấp theo thời gian.