Bỏ qua để đến Nội dung

Chia sẻ Workflow và hướng dẫn sử dụng workflow Quản Lý AI Agents N8N Openrouter

Workflow n8n này cho phép bạn trò chuyện với nhiều AI Agent trong cùng một cuộc hội thoại, thông qua: Gọi từng Agent bằng cú pháp @TênAgent trong tin nhắn (ví dụ: @Chad @Claude). Hoặc, nếu không dùng @, thì tự động gọi tất cả Agent theo thứ tự ngẫu nhiên.

Quy trình quản lý nhiều AI Agent trong cuộc hội thoại bằng n8n + OpenRouter

Workflow Multi-Agent Conversation giúp bạn trò chuyện với nhiều AI Agent trong cùng một luồng chat. Bạn có thể gọi từng Agent bằng @TênAgent hoặc cho tất cả Agent phản hồi theo thứ tự ngẫu nhiên. Tất cả Agent dùng model của OpenRouter và chia sẻ cùng một bộ nhớ hội thoại để hỗ trợ hội thoại nhiều vòng.

1. Tổng quan luồng hoạt động

  1. When chat message received
    Nhận tin nhắn người dùng (trường chatInput) và sessionId từ frontend hoặc hệ thống chat.
  2. Define Global Settings & Define Agent Settings
    Khai báo thông tin người dùng, system message chung và danh sách Agent (mỗi Agent có tên, model, system prompt riêng).
  3. Extract mentions
    Phân tích chatInput để tìm @TênAgent. Nếu có thì gọi đúng các Agent đó theo thứ tự xuất hiện, nếu không có thì gọi tất cả Agent sau khi xáo trộn.
  4. Loop Over Items
    Vòng lặp lần lượt đưa từng Agent vào node AI Agent, kết hợp First loop?, Set user message as input, Set last Assistant message as input để xác định prompt mỗi vòng.
  5. AI Agent + OpenRouter Chat Model + Simple Memory
    Gọi model tương ứng, truyền system message động và dùng sessionId làm khóa bộ nhớ để giữ ngữ cảnh 99 lượt.
  6. Set lastAssistantMessage + Combine and format responses
    Định dạng từng câu trả lời rồi gộp lại thành một khối văn bản duy nhất (ngăn cách bằng ---) trước khi trả về cho người dùng.

2. Chi tiết các node quan trọng

2.1 When chat message received

  • Loại: @n8n/n8n-nodes-langchain.chatTrigger
  • Đầu ra chính: json.chatInput, json.sessionId

2.2 Define Global Settings

  • Loại: Code
  • Nên chỉnh:
    • user.name, user.location, user.notes
    • global.systemMessage (quy tắc chung, ví dụ “luôn trả lời bằng tiếng Việt”, “đừng bịa thông tin”)

2.3 Define Agent Settings

  • Loại: Code
  • Mỗi Agent cần:
    • name: dùng trong @TênAgent
    • model: model hợp lệ trên OpenRouter
    • systemMessage: mô tả vai trò, giọng điệu, chuyên môn
  • Bạn có thể thêm/xóa Agent tùy nhu cầu.

2.4 Extract mentions

  • Loại: Code
  • Công dụng:
    • Tìm @TênAgent trong chatInput
    • Sắp xếp theo thứ tự xuất hiện
    • Khi không có @, tạo danh sách gồm tất cả Agent (đã xáo trộn)
  • Kết quả: một array, mỗi phần tử chứa name, model, systemMessage

2.5 Loop Over Items + First loop?

  • Loop Over Items: xử lý từng Agent trong danh sách
  • First loop?: nếu $runIndex == 0 → dùng tin nhắn gốc (chatInput của người dùng); ngược lại → dùng câu trả lời của Agent trước đó (Set lastAssistantMessage as input)

2.6 AI Agent + OpenRouter Chat Model + Simple Memory

  • OpenRouter Chat Model: model được lấy động từ Extract mentions
  • AI Agent: nhận chatInput, chèn thông tin ngày giờ, dữ liệu người dùng và system prompt riêng từng Agent
  • Simple Memory: sessionKey = $('When chat message received').first().json.sessionId, contextWindowLength = 99

2.7 Set lastAssistantMessage & Combine and format responses

  • Set lastAssistantMessage: định dạng mỗi câu trả lời thành **TênAgent**\n\nNội dung
  • Combine and format responses: nối tất cả đoạn trả lời bằng \n\n---\n\n, trả về một trường output

3. Các bước cấu hình

  1. Import workflow: dùng file 0009-multi-agente-ia.json trong n8n.
  2. Cấu hình OpenRouter API: mở node OpenRouter Chat Model, thêm credentials openRouterApi với API Key của bạn.
  3. Tùy chỉnh Define Global Settings:
    • Đổi user theo thông tin của bạn.
    • Sửa global.systemMessage cho phù hợp.
  4. Tùy chỉnh Define Agent Settings:
    • Thêm/sửa Agent (tên, model, system prompt).
    • Ví dụ Agent lập trình, Agent marketing, Agent chiến lược…
  5. Kết nối frontend:
    • Đảm bảo request vào workflow luôn gửi chatInput và sessionId.
    • Bật workflow sang trạng thái Active và kiểm tra thử.

4. Cách sử dụng

4.1 Gọi đích danh Agent

@Claude hãy giải thích vì sao nên dùng nhiều AI agent?
  • Chỉ Claude được gọi, kết quả trả về:
**Claude**:
[Nội dung trả lời...]

4.2 Gọi nhiều Agent cụ thể

@Chad @Gemma cùng brainstorm một concept marketing.
  • Thứ tự phản hồi: Chad trước (vì xuất hiện trước), rồi Gemma.

4.3 Không dùng @ → gọi toàn bộ Agent

Mình muốn xây app AI, hãy phân tích từ nhiều góc nhìn.
  • Tất cả Agent được gọi, thứ tự ngẫu nhiên.

5. Ưu điểm và hạn chế

Ưu điểm

  • Dễ mở rộng: chỉ cần chỉnh JSON để thêm/bớt Agent.
  • Linh hoạt: hỗ trợ gọi đích danh hoặc gọi toàn bộ Agent.
  • Tận dụng chung một node AI Agent + OpenRouter Chat Model, không phải tạo nhiều bản sao.
  • Có bộ nhớ hội thoại dựa trên sessionId, hỗ trợ đa vòng.

Hạn chế

  • Agent trả lời theo thứ tự, không chạy song song nên tổng thời gian phụ thuộc số Agent.
  • Người dùng chỉ thấy kết quả sau khi tất cả Agent hoàn tất.
  • Agent không thể tự kích hoạt lẫn nhau hay dùng công cụ riêng (chỉ chia sẻ nội dung vòng trước).

6. Gợi ý tùy biến thêm

  • Giảm/tăng contextWindowLength trong Simple Memory để điều chỉnh dung lượng ngữ cảnh.
  • Đổi định dạng phần trả lời trong Set lastAssistantMessage (ví dụ thêm icon, heading, trích dẫn).
  • Sửa cách ghép trong Combine and format responses nếu muốn dùng bullet, bảng hoặc định dạng Markdown khác.
  • Thêm logic riêng từng Agent (ví dụ nếu Agent = Dev thì gửi kèm code qua webhook khác).

7. Tóm tắt

Workflow Multi-Agent Conversation cung cấp khung làm việc linh hoạt để:

  • Quản lý nhiều AI Agent trong một hội thoại,
  • Điều khiển Agent bằng @Tên hoặc để tất cả phản hồi,
  • Kết hợp OpenRouter + n8n với cấu hình dễ quản trị.

Thao tác chính:

  1. Import file JSON.
  2. Thiết lập OpenRouter API Key.
  3. Chỉnh Define Global Settings và Define Agent Settings.

Ngay sau đó, bạn đã có một hệ thống đa trợ lý AI có ngữ cảnh, phù hợp cho brainstorm, phản biện đa chiều hoặc phân tích sâu từ nhiều vai trò chuyên gia.

Tải workflow