Skip to content

Thực chiến: nền tảng Agent kiểu Dify

Tổng quan

Project thực chiến này yêu cầu bạn dựa trên 1 PRD thật, làm từ 0 một nền tảng Agent mô phỏng trải nghiệm core của Dify. Bạn sẽ build user console, admin backend và platform backend, implement các function core như quản lý Agent, hội thoại, log và knowledge base.

Đây là phần thực chiến tổng hợp Stage 2. Khác project single-page hoặc single-function trước đó, project này yêu cầu bạn build 1 sản phẩm AI có "cảm giác platform" — gồm nhiều role, nhiều module, persistent data và chuỗi call model.

Kiến thức tiền đề

Trước khi bắt đầu, bạn nên đã nắm:

Mục tiêu học

Sau project bạn sẽ:

  1. Đọc và hiểu 1 PRD thật, extract được task list
  2. Design kiến trúc page và data model cho nền tảng Agent
  3. Implement chuỗi đầy đủ: tạo Agent, hội thoại, ghi log
  4. Dùng AI hỗ trợ phát triển sản phẩm dạng platform
  5. Hoàn thành end-to-end debug, deliver 1 prototype platform AI

Giới thiệu project

Product bạn cần build là nền tảng Agent kiểu Dify, gồm 2 hệ con:

Hệ conTrách nhiệm
User consoleTạo Agent, cấu hình Prompt, mở hội thoại, xem log, quản lý knowledge base
Admin backendXem data user, tình hình dùng resource platform, thống kê call

Backend cần hỗ trợ các năng lực core: quản lý Agent, quản lý session, lưu message, call model, ghi log call, kết nối knowledge base.

PRD Entry

PRD project trên GitHub: Xem PRD

Phần 1: Phân tích nhu cầu

1.1 Đọc PRD

Mở doc PRD, tập trung trả lời:

  • Agent, session, log, knowledge base — cái nào vào MVP?
  • Danh sách page và routing đã chốt chưa?
  • Boundary call model và ghi log là gì?
  • Multi-tenant và workflow phức tạp tạm chưa làm?

WARNING

Chưa rõ các câu trên thì đừng viết code. Hiểu nhu cầu không rõ là nguyên nhân phổ biến nhất dẫn tới rework.

1.2 Xác nhận kiến trúc hệ thống

Dựa PRD vẽ ra kiến trúc tổng thể:

mermaid
flowchart TD
  prd["PRD"] --> app["User console"]
  prd --> admin["Admin backend"]
  app --> auth["Auth"]
  app --> agent["Cấu hình Agent"]
  app --> chat["Hội thoại session"]
  chat --> llm["Call model"]
  chat --> db["Database"]
  app --> kb["Kết nối knowledge base"]
  admin --> logs["Log call & overview platform"]
  logs --> db

Phần 2: Dựng khung project

2.1 Gen page frontend

Prompt mẫu:

text
Dựa PRD hiện tại, gen cho tôi khung frontend nền tảng Agent kiểu Dify.

Yêu cầu:
1. User side gồm: login, danh sách Agent, cấu hình Agent, page hội thoại, page log, page knowledge base
2. Admin side gồm: trang chủ backend, overview user, overview dùng resource
3. Đầu tiên chỉ gen structure page và mock data, chưa nối API thật
4. Style như platform AI hiện đại

2.2 Verify structure page

Check từng item:

  • [ ] Entry user console và admin backend có tách riêng không
  • [ ] Page danh sách Agent, cấu hình, hội thoại, log, knowledge base có đầy đủ không
  • [ ] Trang chủ admin, page overview user truy cập được
  • [ ] Mock data hiện được trạng thái UI cơ bản

Phần 3: Iterate dev

3.1 Đẩy từng module

Trên nền khung, đẩy từng module theo thứ tự:

  1. Auth: đăng ký, login, phân role
  2. Quản lý Agent: tạo, sửa, xoá, cấu hình Prompt
  3. Function hội thoại: tạo session, gửi/nhận message, call model
  4. Ghi log: thời gian, token usage, ghi lỗi
  5. Kết nối knowledge base (bonus): upload doc, retrieval, inject kết quả
  6. Admin backend: data user, dùng resource, thống kê call

Mỗi module xong, dùng bảng dưới self-check:

CheckCách verify
Nhất quán pageSố page, function khớp PRD
Vòng lặp APIAPI agents, chat, logs, knowledge có đầy đủ không
Phân quyềnUser có chỉ quản lý được agent và session của mình không
Nhất quán dataData messages, logs, documents có khớp không
Demo đượcCó demo được chuỗi "tạo agent → hội thoại → xem log" hoàn chỉnh không

3.2 Kết nối knowledge base (bonus)

Nếu muốn thêm năng lực knowledge base, có thể cho mỗi Agent 1 "công tắc knowledge base":

  • Bật: retrieve fragment kiến thức trước, rồi cùng câu hỏi user gửi tới model
  • Tắt: trả lời theo mode hội thoại bình thường

V1 chưa cần RAG phức tạp, chỉ cần "thấy được kết quả retrieve, giải thích được chuỗi call" là đủ.

Phần 4: Debug & online

4.1 Test end-to-end

Ít nhất verify các scenario:

  • Đăng ký → tạo Agent → cấu hình Prompt → mở hội thoại → xem log
  • Admin login → xem data user → xem thống kê call

Check trước khi deploy:

  • [ ] Tất cả API core đã có verify login
  • [ ] Permission check ownership Agent đã pass
  • [ ] Record session, record log thực sự lưu DB
  • [ ] Model Key dùng env var, không hardcode
  • [ ] Error message thấy được ở frontend, không chỉ ở console

4.2 Deploy

Deploy project lên môi trường internet. Tutorial tham khảo: Git và GitHub workflow, Cách deploy web app.

Sản phẩm bàn giao

Cuối project bạn cần submit:

  • [ ] Link demo online truy cập được
  • [ ] Link repo source code (kèm README)
  • [ ] Doc PRD
  • [ ] Screenshot page chính (quản lý Agent, hội thoại, log, trang chủ admin)
  • [ ] Video demo 60s (cover tạo Agent → hội thoại → xem log)

README ít nhất gồm: giới thiệu project, mô tả kiến trúc, tech stack, các bước start local, danh sách env var, mô tả API.

Tiêu chuẩn chấm điểm

ChiềuCơ bảnNâng cao
Hoàn thiện platform3 page agents / chat / logs dùng đượcCó nav rõ và design language thống nhất
Vòng lặp businessTạo được Agent và hội thoại thậtHỗ trợ chuyển nhiều Agent và session lịch sử
Data & trackingMessage và log call query đượcCó dashboard thống kê token / thời gian
Permission & securityChỉ user login mới truy cập API coreCheck ownership resource đầy đủ
Engineering deliverDeploy được, demo được, README rõKết nối knowledge base và giải thích được kết quả retrieve

Check trước khi submit

Nhìn lại lần cuối trước submit

Tài liệu tham khảo