[Open Source] #73 - Jaaz: Trợ lý thiết kế AI đa phương thức với kiến trúc Multi-Agent, LangGraph và Infinite Canvas
Việc thiết kế đồ họa và sáng tạo nội dung đa phương tiện (ảnh, video) đang dịch chuyển mạnh mẽ từ các công cụ thủ công sang các trợ lý AI tự động. Tuy nhiên, hầu hết các giải pháp hiện nay (như Canva hay Manus) đều là hệ thống đóng và phụ thuộc hoàn toàn vào Cloud. Jaaz xuất hiện như một "kỳ quan" mã nguồn mở, cho phép bạn sở hữu một trợ lý thiết kế AI chạy hoàn toàn cục bộ, bảo mật dữ liệu tuyệt đối trên một khung vẽ vô hạn (Infinite Canvas).
Dưới góc độ kỹ thuật, Jaaz là một Case Study mẫu mực về việc kết hợp LangGraph để điều phối Agent và Excalidraw để xây dựng giao diện tương tác không gian.
Github: https://github.com/11cafe/jaaz
🛠️ 1. Nền tảng công nghệ: Sự giao thoa Python và JavaScript
Jaaz tận dụng sức mạnh của Python trong xử lý AI và tính linh hoạt của JavaScript trong xây dựng ứng dụng Desktop:
- AI Orchestration (LangGraph & LangChain): Thay vì dùng một Prompt đơn lẻ, Jaaz sử dụng LangGraph để xây dựng các State Machine (máy trạng thái) cho Agent. Điều này giúp Agent có khả năng lập kế hoạch, sửa sai và quản lý các luồng làm việc phức tạp.
- Infinite Canvas (Excalidraw): Lõi đồ họa của Jaaz dựa trên Excalidraw, cho phép người dùng vẽ, kéo thả, và sắp xếp các phần tử (ảnh, video, văn bản) trong một không gian không giới hạn.
- Real-time Communication (Socket.io): Sử dụng kết nối WebSocket hai chiều để stream trạng thái suy nghĩ của AI, tiến trình render ảnh (từ ComfyUI) và tiêm kết quả trực tiếp vào tọa độ trên Canvas.
- Local AI Integration: Hỗ trợ Ollama cho tư duy ngôn ngữ và ComfyUI cho việc tạo hình ảnh/video ngay trên máy tính cá nhân.
🏗️ 2. Trụ cột kiến trúc: Multi-Agent Swarm & Local-First
Kiến trúc của Jaaz không đi theo mô hình Chatbot truyền thống mà hướng tới một Hệ điều hành sáng tạo:
- Mô hình Cộng tác Agent: Hệ thống chia làm hai lớp chính:
- Planner Agent: Chịu trách nhiệm phân tích yêu cầu của người dùng và đưa ra Design Strategy (Chiến lược thiết kế).
- Image/Video Creator Agent: Chuyên trách việc vận hành các công cụ (Tools) như tạo ảnh bằng Flux, Stable Diffusion hoặc chỉnh sửa ảnh hiện có.
- Tư duy Local-first: Jaaz ưu tiên chạy mọi thứ tại local để đảm bảo quyền riêng tư. Tuy nhiên, nó vẫn hỗ trợ kiến trúc Hybrid, cho phép kết nối với các API mạnh mẽ bên ngoài (OpenAI, Claude, Midjourney) khi người dùng yêu cầu hiệu suất cao hơn.
🔄 3. Workflow: Quy trình từ Ý tưởng đến Khung vẽ (Sequence Diagram)
Sơ đồ dưới đây mô tả cách Jaaz điều phối các Agent để tạo ra một tác phẩm nghệ thuật trên Canvas:

⚡ 4. Các kỹ thuật "Pro-level" trong mã nguồn
- Dynamic Positioning Algorithm: Jaaz tích hợp thuật toán
find_next_best_element_positionđể phân tích các đối tượng hiện có trên khung vẽ và tìm khoảng trống phù hợp nhất để đặt kết quả AI, giúp bố cục không bị chồng chéo. - PNG Info Metadata Tracking: Khi AI tạo ảnh, Jaaz nhúng toàn bộ Prompt, Model và Seed vào Metadata của file PNG. Điều này cho phép người dùng kéo ảnh cũ vào lại Chat để AI có thể "đọc" lại bối cảnh và thực hiện các chỉnh sửa kế tiếp một cách chính xác.
- ComfyUI Workflow Automation: Dự án có khả năng phân tích file JSON API của ComfyUI và tự động chuyển đổi chúng thành các LangChain Tools. Nhờ đó, Agent có thể điều khiển bất kỳ workflow Stable Diffusion phức tạp nào mà người dùng tự định nghĩa.
- Human-in-the-loop (Xác nhận hành động): Đối với các tác vụ tiêu tốn nhiều tài nguyên hoặc tiền bạc (như tạo video), hệ thống tích hợp cơ chế
tool_confirmation, buộc Agent phải đợi người dùng bấm nút xác nhận mới được thực thi.
⚖️ 5. So sánh chiến lược
| Tiêu chí | Jaaz (Open Source) | Canva (SaaS) | Manus / GPT-4o |
|---|---|---|---|
| Quyền riêng tư | Tuyệt đối (Local-only) | Dữ liệu nằm trên Cloud | Dữ liệu nằm trên Cloud |
| Khả năng mở rộng | Rất cao (Tự viết Agent) | Bị giới hạn bởi tính năng | Bị giới hạn bởi API |
| Môi trường làm việc | Khung vẽ vô hạn (Infinite) | Layout cố định | Chatbox thuần túy |
| Chi phí | Miễn phí (Dùng phần cứng cá nhân) | Thu phí thuê bao | Thu phí thuê bao |
✅ Kết luận: Tại sao Jaaz là tương lai của thiết kế AI?
Jaaz không chỉ đơn thuần là một công cụ tạo ảnh; nó là một bài học về việc biến AI từ một công cụ chat thành một cộng tác viên thực thụ. Việc sử dụng LangGraph để quản lý trạng thái agent và Excalidraw để trực quan hóa kết quả đã tạo ra một trải nghiệm làm việc tự nhiên, nơi ranh giới giữa con người và máy móc được xóa nhòa.
Đối với các kỹ sư AI và Full-stack, nghiên cứu Jaaz sẽ giúp bạn hiểu sâu về:
- Cách xây dựng Stateful Multi-agent systems với LangGraph.
- Kỹ thuật đồng bộ hóa trạng thái giữa WebSockets và Canvas UI.
- Tư duy thiết kế ứng dụng Local-first AI hiệu năng cao.
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ề xu hướng AI Agent hiện nay. Đừng quên Upvote và Follow mình để theo dõi các "kỳ quan" mã nguồn tiếp theo nhé!
All Rights Reserved