System Architecture: Overview & Stack
Để xây dựng một hệ thống đánh giá năng lực AI-First có khả năng tự vận hành (autonomous), bền vững (durable) và tối ưu hóa chi phí, Hanoi Agents sử dụng bộ công nghệ Cloudflare Stack chạy serverless hoàn toàn.
1. Bản đồ tổng thể kiến trúc đề xuất
User / Event / Schedule
│
▼
Hono API Worker (API Routing & Webhooks)
│
▼
Cloudflare Agents SDK (Stateful Agent Core)
├── Decide next action (Quyết định hành động)
├── Call LLM (Gọi mô hình AI)
├── Call tools (Gọi công cụ hỗ trợ)
├── Read/write state (Lưu trữ bộ nhớ tạm)
└── Trigger workflow (Kích hoạt quy trình dài)
│
▼
Cloudflare Workflows (Durable Multi-step Processing)
├── Step 1: Collect data
├── Step 2: Analyze
├── Step 3: Generate task
├── Step 4: Evaluate result
├── Step 5: Retry / revise
└── Step 6: Publish / notify2. Storage & Infrastructure Layer
Dự án không dựng server truyền thống hoặc sử dụng các hệ quản trị database cồng kềnh. Thay vào đó, toàn bộ dữ liệu được lưu trữ trên các giải pháp serverless phân tán của Cloudflare:
- D1 (Structured business data): Lưu trữ cơ sở dữ liệu quan hệ (SQL) cho các thực thể tĩnh và nghiệp vụ (danh sách học viên, khung năng lực, đề bài tập, lịch sử nộp bài).
- Durable Objects (Agent state, session, coordination): Hạt nhân lưu trữ trạng thái đồng thời của từng thực thể Agent. Mỗi học viên là một Durable Object riêng biệt, bảo toàn bộ nhớ và trạng thái WebSocket.
- Vectorize (Embeddings, semantic search, RAG): Cơ sở dữ liệu Vector của Cloudflare, lưu trữ các vector nhúng của tài liệu học tập, câu trả lời tự luận và rubric để thực hiện tìm kiếm ngữ nghĩa nhanh chóng.
- R2 (Documents, images, large files): Hệ thống lưu trữ đối tượng tương thích S3, dùng để chứa các file code bài nộp, file ảnh chụp bằng chứng từ camera của học viên.
- KV (Cache, configuration, lightweight lookup): Bộ nhớ lưu trữ Key-Value phân tán tốc độ cao để lưu cache cấu hình hệ thống, token hoặc dữ liệu tĩnh ít thay đổi.
- Queues (Asynchronous jobs & event buffering): Hàng đợi xử lý bất đồng bộ, hấp thụ tải khi có hàng ngàn sự kiện nộp bài cùng lúc từ frontend đẩy về backend.