Theo dấu Agent AI: Cách tự động ghi log hành động và chi phí token trên n8n

Viewed 10

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:

  1. Tải file workflow: Log_Agent_Outputs.json
  2. 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ề.
  3. Lấy Mẫu Google Sheet: Tải Google Sheet Agent Logs.xlsx và upload lên Google Drive của bạn.
  4. 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.
  5. 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.

Workflow theo dấu Agent AI

Hệ thống này bao gồm các thành phần chính:

  1. Trigger (Telegram Trigger): Nhận đầu vào cho Agent từ tin nhắn Telegram[cite: 2].
  2. AI Agent Node (AI Agent): Trung tâm xử lý yêu cầu, sử dụng model openai/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").
  3. 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.
  4. 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ệu intermediateSteps, 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).
  5. 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. Node Log dành cho các lần chạy thành công, node Errors dành cho các lần chạy lỗi, ghi lại cả thông báo lỗi.
  6. 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.
  • 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ọi Send 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.
    • 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.
  • 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.

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ệu intermediateSteps. 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 trong messageLog > 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:

  1. Trích xuất hành động (Steps): Lặp qua intermediateSteps, lấy ra thông tin action.tool, action.toolInput, observation.
  2. Trích xuất thông tin token: Lặp qua intermediateSteps, đi sâu vào action.messageLog để lấy usage.prompt_tokens, usage.completion_tokens, usage.total_tokens, usage.cost, response_metadata.model_name.
  3. 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 LogErrors (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)
  • 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ảng steps 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ảng tokens 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ết actions 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.

0 Answers

Powered by Answer - the open-source software that powers Q&A communities.
Made with love © 2025 AI & Automation (vnROM).