0

[Open Source] #41 - Midday: Kiến trúc AI-native Finance và hệ thống Multi-agent thông minh với Next.js & Supabase


Trong thế giới tài chính doanh nghiệp, việc quản lý hóa đơn, dòng tiền và đối soát ngân hàng luôn là nỗi ám ảnh về sự thủ công. Midday xuất hiện như một "làn gió mới", không chỉ là một ứng dụng kế toán mà là một AI-native OS cho doanh nghiệp. Dự án phô diễn một kiến trúc hiện đại, tận dụng tối đa sức mạnh của Multi-agent AI để biến dữ liệu thô thành những hiểu biết (insights) giá trị.

Dưới góc độ kỹ thuật, Midday là một ví dụ mẫu mực về việc xây dựng ứng dụng quy mô lớn với Bun, Turborepo và kiến trúc Agentic Workflow.

Github: https://github.com/midday-ai/midday


🛠️ 1. Nền tảng công nghệ: Kỷ nguyên Bun và Type-safe Fullstack

Midday không sử dụng Node.js truyền thống mà đặt trọn niềm tin vào hệ sinh thái mới để tối ưu tốc độ:

  • Bun & Turborepo: Bun được dùng làm runtime và package manager chính, mang lại tốc độ cài đặt và thực thi vượt trội. Turborepo quản lý cấu trúc Monorepo giúp chia sẻ code giữa Web, Desktop (Tauri) và Mobile (Expo) một cách mượt mà.
  • Hono & tRPC: API chính được xây dựng trên Hono (siêu nhanh) và tRPC, đảm bảo tính an toàn kiểu dữ liệu (Type-safety) tuyệt đối từ Backend đến Frontend.
  • Supabase Stack: Tận dụng toàn diện PostgreSQL cho dữ liệu, Auth cho định danh, Storage cho hóa đơn và Realtime để cập nhật trạng thái giao dịch tức thì.
  • Trigger.dev: Một thành phần cực kỳ quan trọng dùng để quản lý các background jobs phức tạp như đồng bộ ngân hàng hàng giờ hoặc xử lý OCR hóa đơn mà không làm nghẽn main thread.

🏗️ 2. Trụ cột kiến trúc: Hệ thống Multi-agent và "Artifacts" UI

Khác với các ứng dụng tích hợp Chatbot đơn giản, Midday xây dựng một hệ thống Tác nhân chuyên biệt (Specialist Agents):

  • Kiến trúc Phân cấp (Triage System): Mọi yêu cầu của người dùng trước tiên sẽ đi qua một mainAgent. Agent này đóng vai trò "lễ tân", phân tích ý định (intent) và điều phối yêu cầu đến các agent chuyên môn như analyticsAgent, invoicesAgent hoặc transactionsAgent.
  • Handoff Mechanism: Kỹ thuật "bàn giao" cho phép các Agent chuyển đổi ngữ cảnh cho nhau. Ví dụ, khi bạn đang hỏi về hóa đơn nhưng lại muốn xem biểu đồ dòng tiền, invoicesAgent sẽ tự động bàn giao lại cho analyticsAgent.
  • Artifacts & Canvas UI: AI của Midday không chỉ trả về văn bản. Nó trả về dữ liệu cấu trúc (JSON Schema) để Frontend render thành các "Vật phẩm" (Artifacts) như biểu đồ, bảng cân đối ngay trong cửa sổ chat (tương tự Claude Artifacts).

🔄 3. Các kỹ thuật "Pro-level" trong mã nguồn

  1. Magic Inbox & OCR Automation: Sử dụng AI kết hợp với các worker của Trigger.dev, hệ thống tự động trích xuất dữ liệu từ hóa đơn (số tiền, ngày tháng, mã số thuế) và thực hiện Reconciliation (đối soát) tự động với các giao dịch ngân hàng thực tế từ Plaid/GoCardLess.

  2. Contextual Memory với Redis: Để AI không "bị ngáo" sau vài câu chat, Midday sử dụng Redis để lưu trữ bộ nhớ làm việc (working memory). Điều này giúp AI nhớ được bạn đang nói về dự án nào hoặc công ty nào trong suốt phiên làm việc.

  3. Read-after-write Consistency: Trong tài chính, dữ liệu phải chính xác. Midday sử dụng kỹ thuật cache layer thông minh để đảm bảo rằng ngay khi người dùng cập nhật một giao dịch, AI Agent sẽ "thấy" dữ liệu mới đó ngay lập tức thay vì đợi DB replication.


📊 4. Workflow: Luồng xử lý AI Agent thông minh

Sơ đồ dưới đây mô tả cách hệ thống xử lý một câu hỏi phức tạp từ người dùng: "Tháng này tôi đã chi bao nhiêu cho quảng cáo và hãy vẽ biểu đồ cho tôi?"

image.png


⚖️ 5. So sánh chiến lược

Tiêu chí Midday (AI-First) QuickBooks / Xero Excel / Manual
Nhập liệu Tự động hoàn toàn (OCR + Bank Sync) Thủ công / Bán tự động Thủ công 100%
Tương tác Hội thoại tự nhiên (AI Agent) Click menu phức tạp Phím tắt & Công thức
Insights Chủ động dự báo & Phân tích Phải tự xuất báo cáo Tự xây dựng Dashboard
Kiến trúc Modern Monorepo (Bun/tRPC) Legacy Cloud / Monolithic Local File

✅ Kết luận: Tại sao Midday là tương lai của Fintech?

Midday là minh chứng cho việc AI không còn là một tính năng "đính kèm" (add-on) mà là lõi của ứng dụng. Bằng cách kết hợp Agentic Workflow với một Tech Stack cực mạnh (Bun, Supabase, Trigger.dev), dự án đã xóa bỏ rào cản giữa dữ liệu tài chính khô khan và người dùng cuối.

Đối với các lập trình viên, Midday là một "kho báu" để nghiên cứu về:

  • Cách triển khai Multi-agent AI trong môi trường Production.
  • Cách quản lý Background Jobs quy mô lớn với Trigger.dev.
  • Cách xây dựng giao diện Canvas/Artifacts cho ứng dụng AI.

Hy vọng bản phân tích này mang lại cho bạn những góc nhìn mới về cách xây dựng ứng dụng AI-native. Đừng quên Upvote và Follow mình để đón xem những "kỳ quan" mã nguồn tiếp theo nhé!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí