Bài viết dựa trên chia sẻ của Nate Herk trong video How I Auto Track AI Agent Actions and Token Usage
Khi làm việc với các Agent AI (trí tuệ nhân tạo), đặc biệt là khi tích hợp chúng vào các quy trình tự động hóa, một trong những thách thức lớn nhất là làm sao để theo dõi chúng hoạt động hiệu quả và kiểm soát chi phí. Không giống như phần mềm truyền thống với logic rõ ràng, Agent AI có thể đưa ra quyết định dựa trên nhiều bước suy luận phức tạp, sử dụng nhiều công cụ và tiêu tốn lượng token khó lường trước. Đây là lúc khái niệm "LLM observability" (khả năng quan sát mô hình ngôn ngữ lớn) trở nên cực kỳ quan trọng. Việc giám sát chặt chẽ hoạt động, lượng token sử dụng và chi phí liên quan là điều cần thiết để quản lý và tối ưu hóa Agent AI hiệu quả.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách Nate Herk xây dựng một hệ thống tự động bằng n8n để theo dõi toàn bộ hoạt động của Agent AI. Hệ thống này sẽ giúp bạn có cái nhìn rõ ràng về:
- Những hành động (actions) mà Agent đã thực hiện (ví dụ: gọi công cụ nào, với dữ liệu gì).
- Lượng token đã tiêu thụ cho từng bước và tổng cộng.
- Chi phí thực tế liên quan đến từng lần thực thi.
- Các lỗi phát sinh trong quá trình hoạt động.
Hãy cùng khám phá cách thiết lập hệ thống giám sát mạnh mẽ này cho các Agent AI của bạn trong n8n!
Tại sao cần theo dõi Agent AI và chi phí Token?
Agent AI, như được cấu hình trong workflow ví dụ sử dụng mô hình openai/gpt-4.1-mini
qua OpenRouter và tương tác với các công cụ như Gmail, Airtable, Google Calendar, hoạt động dựa trên nhiều bước suy luận. Quá trình này có thể dẫn đến một số vấn đề:
- Thiếu minh bạch: Khó biết chính xác Agent đã làm gì để đưa ra kết quả cuối cùng. Nó đã gọi Gmail hay Airtable? Với tham số gì?
- Chi phí leo thang: Mỗi lần gọi API LLM (như GPT-4.1 Mini) hay sử dụng công cụ đều tiêu tốn token và phát sinh chi phí. Nếu không kiểm soát, chi phí có thể tăng vọt.
- Khó gỡ lỗi: Khi Agent gặp lỗi (ví dụ: không kết nối được OpenRouter) hoặc đưa ra kết quả không mong muốn, việc truy tìm nguyên nhân trở nên phức tạp nếu không có lịch sử hoạt động chi tiết.
- Tối ưu hóa hiệu suất: Để cải thiện Agent, bạn cần biết những bước nào tốn nhiều token nhất, model nào được sử dụng, hoặc công cụ nào thường xuyên gặp sự cố.
Do đó, việc triển khai một hệ thống theo dõi tự động là giải pháp tối ưu để giải quyết những thách thức trên.
Giải pháp: Hệ thống tự động theo dõi Agent AI bằng n8n
Cách cài đặt Template
Để giúp bạn dễ dàng triển khai hệ thống này, bạn hãy làm theo các bước sau:
- Tải file workflow: Log_Agent_Outputs.json
- Import vào n8n: Vào giao diện n8n của bạn, chọn "Import" > "From File" và tải lên file
.json
vừa tải về. - Lấy Mẫu Google Sheet: Tải Google Sheet Agent Logs.xlsx và upload lên Google Drive của bạn.
- Cấu hình Node Google Sheets trong n8n: Mở workflow vừa import trong n8n. Tìm đến các node Google Sheets (cả ở nhánh thành công và nhánh lỗi).
- Kết nối tài khoản Google của bạn (Credentials).
- Chọn đúng bảng tính (Sheet) và trang tính (Spreadsheet) mà bạn vừa tạo bản sao ở bước 5. Các cột thường đã được đặt tên sẵn trong template để khớp với cấu hình node.
- Tích hợp vào Agent của bạn: Sao chép các node xử lý log (Code nodes, Google Sheets nodes) và logic phân nhánh (success/error) từ workflow template vào workflow chứa Agent AI hiện có của bạn. Đảm bảo kết nối đúng các đầu ra/đầu vào. Đừng quên cấu hình node AI Agent của bạn để bật "Return Intermediate Steps" và "Continue (using error output)".
Sau khi hoàn tất các bước này, hệ thống theo dõi Agent AI của bạn sẽ sẵn sàng hoạt động.
Hệ thống này bao gồm các thành phần chính:
- Trigger (
Telegram Trigger
): Nhận đầu vào cho Agent từ tin nhắn Telegram[cite: 2]. - AI Agent Node (
AI Agent
): Trung tâm xử lý yêu cầu, sử dụng modelopenai/gpt-4.1-mini
và các công cụ được kết nối (Gmail, Airtable, Google Calendar). Node này được cấu hình để xuất ra các bước trung gian (intermediateSteps
) và xử lý lỗi theo nhánh riêng (onError: "continueErrorOutput"
). - Error Handling: Workflow tự động phân nhánh dựa trên kết quả của node
AI Agent
- một nhánh cho thành công và một nhánh cho lỗi. - Code Nodes (
Clean Up
,Clean_Up
): Hai node này (một cho nhánh thành công, một cho nhánh lỗi) sử dụng mã JavaScript để xử lý dữ liệuintermediateSteps
, trích xuất thông tin chi tiết về các hành động (steps
), thông tin token (tokens
), và tính toán tổng chi phí (total_cost
). - Google Sheets Nodes (
Log
,Errors
): Ghi lại toàn bộ thông tin đã xử lý vào một bảng tính Google Sheets. NodeLog
dành cho các lần chạy thành công, nodeErrors
dành cho các lần chạy lỗi, ghi lại cả thông báo lỗi. - Response Nodes (
Response
,Error Response
): Gửi kết quả hoặc thông báo lỗi trở lại người dùng qua Telegram.
Ví dụ hoạt động (dựa trên workflow):
Giả sử bạn gửi yêu cầu qua Telegram: "Tìm email của Nate trong danh bạ Airtable và gửi lời chào."
Telegram Trigger
nhận tin nhắn.AI Agent
(sử dụng GPT-4.1 Mini) xử lý:- Gọi công cụ
Get Contacts
(Airtable) để tìm email của Nate. - Gọi công cụ
Send Email
(Gmail) để soạn và gửi email.
- Gọi công cụ
- Workflow n8n sẽ đi theo nhánh thành công:
- Node
Clean Up
xử lýintermediateSteps
để lấy ra:- Hành động: Gọi
Get Contacts
, GọiSend Email
. - Thông tin token: Lượng token dùng cho mỗi bước, model
openai/gpt-4.1-mini
. - Tổng chi phí: Tính toán dựa trên thông tin token.
- Hành động: Gọi
- Node
Log
ghi các thông tin trên (Timestamp, Workflow Name, Input, Output, Actions, Tokens, Total Cost) vào Google Sheets. - Node
Response
gửi kết quả cuối cùng (ví dụ: "Đã gửi email cho Nate") về Telegram.
- Node
- Nếu
AI Agent
gặp lỗi (ví dụ: API OpenRouter bị lỗi), workflow sẽ đi theo nhánh lỗi:- Node
Clean_Up
xử lý (nếu cóintermediateSteps
trước khi lỗi). - Node
Errors
ghi thông tin lỗi (Timestamp, Workflow Name, Input, Output="ERROR", Error Message, Actions, Tokens, Total Cost) vào Google Sheets. - Node
Error Response
gửi thông báo lỗi về Telegram.
- Node
Kết quả là bạn có một bảng log chi tiết trong Google Sheets, nơi bạn có thể xem lại lịch sử hoạt động, chi phí và lỗi của Agent AI bất cứ lúc nào.
Cách hoạt động: Phân tích chi tiết Quy trình n8n
Bật "Return Intermediate Steps" trong AI Agent Node
Đây là trái tim của hệ thống logging này. Trong node AI Agent
của workflow, tùy chọn "Options" > "Return Intermediate Steps" đã được kích hoạt.
- Khi bật: Node này không chỉ trả về kết quả cuối cùng (
output
), mà còn xuất thêm trường dữ liệuintermediateSteps
. Trường này chứa chi tiết từng bước Agent thực hiện, bao gồm lệnh gọi công cụ, tham số, phản hồi từ công cụ, và quan trọng là thông tin về lượng token và chi phí cho bước đó (thường nằm trongmessageLog > kwargs > response_metadata > usage
). Chính nhờ dữ liệu này mà chúng ta có thể log lại chi tiết hành động và token/chi phí.
Cấu hình xử lý lỗi (Error Handling)
Trong phần Settings của node AI Agent
, tùy chọn "Continue on Fail" (tương đương onError: "continueErrorOutput"
trong JSON) đã được bật.
Thiết lập này tạo ra hai nhánh đầu ra từ node AI Agent
:
- Nhánh trên (main output): Dành cho các lần chạy thành công.
- Nhánh dưới (error output): Dành cho các lần chạy thất bại.
Điều này cho phép workflow xử lý và log riêng biệt cho từng trường hợp, đảm bảo không bỏ sót thông tin dù Agent thành công hay thất bại.
Sử dụng node Code để xử lý dữ liệu (Clean Up
, Clean_Up
)
Dữ liệu intermediateSteps
rất chi tiết nhưng cần được "dọn dẹp". Các node Code (Clean Up
cho nhánh thành công, Clean_Up
cho nhánh lỗi) thực hiện nhiệm vụ này. Mã JavaScript bên trong các node này thực hiện:
- Trích xuất hành động (Steps): Lặp qua
intermediateSteps
, lấy ra thông tinaction.tool
,action.toolInput
,observation
. - Trích xuất thông tin token: Lặp qua
intermediateSteps
, đi sâu vàoaction.messageLog
để lấyusage.prompt_tokens
,usage.completion_tokens
,usage.total_tokens
,usage.cost
,response_metadata.model_name
. - Tính tổng chi phí (Total Cost): Khởi tạo biến
totalCost = 0
, sau đó cộng dồn giá trịusage.cost
từ mỗi bước có thông tin chi phí.
Kết quả là các node Code này xuất ra một đối tượng JSON chứa các mảng steps
, tokens
đã được định dạng và biến totalCost
.
Thiết lập chi tiết: Cấu hình Node Google Sheets (Log
, Errors
)
Các node Log
và Errors
(loại Google Sheets, thao tác Append) ghi dữ liệu đã xử lý vào bảng tính Google Sheets:
- Timestamp:
{{$now.format('D hh:mm a')}}
(Lấy thời gian hiện tại và định dạng) - Workflow:
{{$workflow.name}}
(Lấy tên workflow hiện tại) - Input:
{{$('Telegram Trigger').item.json.message.text}}
(Lấy text từ node Telegram Trigger) - Output:
- Nhánh thành công (Node
Log
):{{$('AI Agent').item.json.output}}
(Lấy output từ node AI Agent) - Nhánh lỗi (Node
Errors
):"ERROR"
(Giá trị cố định)
- Nhánh thành công (Node
- Error Message (Chỉ ở node
Errors
):{{$('AI Agent').item.json.error}}
(Lấy thông báo lỗi từ đầu ra lỗi của node AI Agent) - Actions:
{{JSON.stringify($json.steps, null, 2)}}
(Lấy mảngsteps
từ node Code trước đó và chuyển thành chuỗi JSON dễ đọc) - Tokens:
{{JSON.stringify($json.tokens, null, 2)}}
(Lấy mảngtokens
từ node Code trước đó và chuyển thành chuỗi JSON dễ đọc) - Total Cost:
{{$json.total_cost}}
(Lấy tổng chi phí từ node Code trước đó)
Lưu ý: Việc sử dụng JSON.stringify()
với tham số null, 2
giúp định dạng dữ liệu JSON trong ô Google Sheet có thụt đầu dòng, dễ đọc hơn.
Lợi ích của việc log vào Google Sheets
Với cấu trúc log này, Google Sheets trở thành một trung tâm giám sát mạnh mẽ, cho phép bạn:
- Xem lịch sử chi tiết từng lần chạy.
- Phân tích chi phí theo từng workflow, model, hoặc công cụ.
- Nhanh chóng xác định các lỗi thường gặp.
- Dễ dàng chia sẻ và báo cáo tình hình hoạt động của Agent.
Xử lý lỗi và các trường hợp đặc biệt
Như đã đề cập, workflow này phân biệt rõ:
- Lỗi Agent AI: Kích hoạt nhánh lỗi, log
errorMessage
. - Lỗi Công cụ: Workflow vẫn đi theo nhánh thành công, nhưng
output
của Agent hoặc chi tiếtactions
sẽ phản ánh lỗi từ công cụ. Hệ thống vẫn log lại hành động và chi phí.
Điều này đảm bảo bạn có cái nhìn toàn diện về mọi vấn đề có thể xảy ra.
Việc triển khai hệ thống theo dõi Agent AI tự động bằng n8n mang lại khả năng kiểm soát và minh bạch vượt trội. Nó giúp bạn làm chủ chi phí, hiểu rõ hành vi của Agent, và đưa ra quyết định cải tiến dựa trên dữ liệu thực tế được ghi lại một cách có cấu trúc. Bằng cách cấu hình đúng các node và tận dụng intermediateSteps
, bạn có thể xây dựng một giải pháp giám sát mạnh mẽ, biến "hộp đen" AI thành một quy trình rõ ràng và dễ quản lý hơn.