Giới thiệu
Bạn đã từng chứng kiến điều đó xảy ra. Một công ty công bố chính sách mới. Một người nổi tiếng đưa ra tuyên bố gây tranh cãi. Một tin tức bất ngờ xuất hiện. Mạng xã hội bùng nổ, và những hậu quả lan rộng theo những cách không ai lường trước được.
Điều gì sẽ xảy ra nếu bạn có thể thấy một kịch bản diễn ra như thế nào trước khi nó xảy ra trong thế giới thực?
MiroFish là một nền tảng mô phỏng AI đa tác nhân, trả lời các câu hỏi "điều gì sẽ xảy ra nếu" về mạng xã hội. Nó tạo ra một thế giới song song kỹ thuật số nơi hàng trăm tác nhân AI với tính cách, ký ức và kiểu hành vi riêng biệt tương tác tự do. Bạn tải lên tài liệu gốc—một bài báo, một bản dự thảo chính sách, một bài nghiên cứu—và MiroFish mô phỏng cách các đối tượng khác nhau có thể phản ứng theo thời gian.
💡 Nhóm MiroFish đã xây dựng và thử nghiệm tất cả các API mô phỏng bằng Apidog. Từ việc thiết kế các điểm cuối xây dựng đồ thị đến xác thực phản hồi API phỏng vấn, Apidog đóng vai trò là nguồn đáng tin cậy duy nhất cho hợp đồng backend/frontend trong suốt quá trình phát triển.
Bài viết này tập trung vào cách MiroFish hoạt động, các bước triển khai mô phỏng đa tác nhân, và các tình huống sử dụng thực tiễn.
MiroFish giải quyết vấn đề gì?
Khoảng cách dự đoán
Mạng xã hội thay đổi nhanh chóng và phản ứng khó lường. Các công cụ phân tích truyền thống chỉ phản ánh dữ liệu quá khứ:
- Phân tích cảm xúc: Cho bạn biết mọi người nghĩ gì bây giờ
- Giám sát xu hướng: Theo dõi xu hướng hiện tại
- Số liệu tương tác: Đo lường những gì đã xảy ra
Không công cụ nào giúp bạn kiểm thử trước điều gì có thể xảy ra nếu bạn công bố thông báo, phát hành báo cáo hoặc phản hồi tranh cãi.
Giải pháp: Thế giới song song kỹ thuật số
MiroFish tiếp cận khác biệt bằng cách xây dựng mô phỏng:
- Xây dựng đồ thị tri thức từ tài liệu nguồn
- Trích xuất thực thể (người, tổ chức, truyền thông) thành tác nhân AI
- Gán tính cách dựa trên thông tin trích xuất (hoạt động, ảnh hưởng, quan điểm)
- Chạy mô phỏng: các tác nhân đăng bài, bình luận, phản ứng theo thời gian mô phỏng
- Phân tích kết quả: xem các câu chuyện nổi bật, tiếng nói chiếm ưu thế, phong trào phản đối
Hãy xem MiroFish như một "flight simulator" cho kịch bản mạng xã hội.
MiroFish hoạt động như thế nào: Quy trình làm việc 5 bước
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Bước 1 │ ──► │ Bước 2 │ ──► │ Bước 3 │ ──► │ Bước 4 │ ──► │ Bước 5 │
│ Tạo Ontology│ │ Xây dựng │ │ Thiết lập │ │ Chạy │ │ Tạo │
│ (Ontology) │ │ GraphRAG │ │ Môi trường│ │ Mô phỏng │ │ Báo cáo │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
Bước 1: Tạo Ontology
Hệ thống dùng LLM phân tích tài liệu đầu vào và yêu cầu mô phỏng để tạo ontology tuỳ chỉnh:
- 10 loại thực thể (ví dụ: Sinh viên, Giáo sư, Đại học, Cơ quan truyền thông, Cơ quan chính phủ)
- 10 loại quan hệ (ví dụ: LÀM_VIỆC_CHO, BÌNH_LUẬN_VỀ, PHẢN_HỒI_ĐỐI_VỚI)
- Thuộc tính cho từng loại
Ontology gồm 8 loại cụ thể dựa trên nội dung, cộng 2 loại dự phòng (Person, Organization).
Bước 2: Xây dựng GraphRAG
- Chia nhỏ tài liệu thành các đoạn (500 ký tự, chồng lấp 50 ký tự)
- Gửi batch đến Zep Cloud
- Hệ thống:
- Tạo một đồ thị mới với ID duy nhất
- Thiết lập ontology
- Gửi văn bản để trích xuất thực thể/quan hệ
- Chờ Zep xử lý
- Lấy đồ thị hoàn chỉnh (nút + cạnh)
Kết quả: Đồ thị tri thức kết nối hàng trăm/thậm chí hàng nghìn thực thể.
Bước 3: Thiết lập môi trường
- Cấu hình thời gian: mô hình hoá múi giờ (ví dụ: giờ cao điểm 19-22h)
- Cấu hình sự kiện: các post ban đầu, chủ đề nóng
- Hoạt động tác nhân: số post/giờ, độ trễ phản hồi, trọng số ảnh hưởng
- Cấu hình nền tảng: Twitter/Reddit, ngưỡng lan truyền khác nhau
Bước 4: Chạy mô phỏng
Các tác nhân hoạt động theo lịch cá nhân, đăng bài, bình luận, phản ứng. Mô phỏng song song trên Twitter và Reddit, lưu mọi action vào file JSONL thời gian thực. Một phiên bản 72h có thể tạo hàng nghìn hành động.
Bước 5: Tạo báo cáo
Tác nhân Báo cáo sử dụng 3 công cụ truy xuất:
- InsightForge: Truy vấn chuyên sâu, phân rã câu hỏi
- PanoramaSearch: Toàn cảnh sự kiện (cả đã hết hạn/không hợp lệ)
- InterviewAgents: Phỏng vấn tác nhân trực tiếp qua IPC
Báo cáo tổng kết sự phát triển câu chuyện, những tiếng nói ảnh hưởng, khoảnh khắc quan trọng, các phong trào phản đối.
Các tác nhân AI trong MiroFish là gì?
Mỗi tác nhân là một thực thể AI độc lập với các thuộc tính:
| Thuộc tính | Mô tả | Ví dụ |
|---|---|---|
| Danh tính | Tên, username, tiểu sử | “@ZhangWei_Student” |
| Tính cách | Lý lịch, style | “Sinh viên cao học nghiên cứu đạo đức AI” |
| Mức độ hoạt động | Tần suất đăng bài (0.0-1.0) | 0.8 = rất năng động |
| Giờ hoạt động | Khung giờ online | [8,9,10,11,18,19,20,21,22,23] |
| Độ trễ phản hồi | Tốc độ phản ứng (phút) | 5-30 phút |
| Trọng số ảnh hưởng | Tác động bài đăng | 0.8 (thấp) đến 3.0 (cao) |
| Quan điểm | Lập trường về chủ đề | Ủng hộ, phản đối, trung lập, quan sát |
| Bộ nhớ | Lưu trữ hành động trước đó | Lưu trong đồ thị Zep Cloud |
Tác nhân tự quyết định hành động, thời điểm đăng, nội dung, và cách phản hồi dựa trên tính cách và trạng thái mô phỏng.
Bạn có thể mô phỏng điều gì?
Tin tức & thông báo chính sách
- Tải bản dự thảo chính sách hoặc bài báo
- Xem nhóm bên liên quan phản ứng ra sao:
- Ai khuếch đại thông điệp?
- Những chỉ trích nào xuất hiện?
- Câu chuyện phát triển trong 24-72h như thế nào?
Nghiên cứu học thuật
- Tải bài nghiên cứu
- Mô phỏng tiếp nhận của học giả và công chúng:
- Phát hiện nào nổi bật?
- Hiểu lầm nào phát sinh?
- Phản ứng chuyên gia vs người bình thường?
Kịch bản khủng hoảng
- Tải báo cáo sự cố/tài liệu nền
- Kiểm tra chiến lược phản hồi:
- Phản hồi ngay vs chờ đợi có khác biệt gì?
- Ai là người thúc đẩy các câu chuyện đối lập?
Phân tích văn học & lịch sử
- Tải lên tiểu thuyết hoặc văn bản lịch sử
- Mô phỏng các tình huống "what-if":
- Nhân vật phản ứng thế nào với sự kiện mới?
- Kết cục nào hợp lý nếu thay đổi tình tiết?
Điều gì làm cho MiroFish khác biệt?
Trí tuệ bầy đàn thay vì tác nhân đơn lẻ
Khác với nhiều công cụ AI mô phỏng "một người dùng", MiroFish mô phỏng hàng trăm tác nhân với tính cách riêng biệt, tạo ra tương tác nổi bật và các phong trào tự phát thay vì kịch bản lập trình cứng.
Mô phỏng hai nền tảng song song
- Twitter: Lan truyền nhanh, người ảnh hưởng tác động lớn
- Reddit: Thảo luận theo luồng, cộng đồng dẫn dắt
- So sánh giúp đánh giá ảnh hưởng khác biệt của từng nền tảng.
Đồ thị tri thức theo thời gian
Quan hệ có metadata thời gian:
-
valid_at,invalid_at,expired_at - Theo dõi sự phát triển và thay đổi quan hệ theo dòng thời gian.
Phỏng vấn tác nhân trực tiếp
Có thể phỏng vấn tác nhân trong/sau mô phỏng, ví dụ:
Câu hỏi
Tác nhân 12 (Sinh viên)
Cách này tạo insight định tính, bổ sung cho số liệu định lượng.
Tổng quan kiến trúc kỹ thuật
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ Dịch vụ │
│ (Vue.js) │ ◄─► │ (FastAPI) │ ◄─► │ Bên ngoài │
│ │ │ │ │ │
│ - Xây dựng đồ thị│ │ - REST API │ │ - Zep Cloud │
│ - Giám sát │ │ - Quản lý │ │ - LLM API │
│ mô phỏng │ │ tiến trình con│ │ - OASIS │
│ - Trình xem │ │ - Luồng JSONL │ │ Framework │
│ báo cáo │ │ │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
Ngăn xếp Backend
- Python FastAPI: Xây dựng REST API
- OASIS Framework: Mô phỏng agent
- Zep Cloud: Lưu trữ/truy xuất đồ thị tri thức
- SQLite: Lưu trạng thái mô phỏng
Ngăn xếp Frontend
- Vue.js 3: UI phản ứng
- WebSocket: Cập nhật real-time
- D3.js: Trực quan hóa đồ thị
Thiết kế API với Apidog
Backend có hơn 40 endpoint chia thành 5 dịch vụ chủ chốt:
| Dịch vụ | Số endpoint | Mục đích |
|---|---|---|
| Xây dựng đồ thị | 8 | Tạo ontology, upload hàng loạt, kiểm tra trạng thái |
| Trình đọc thực thể | 4 | Lọc, chọn loại, xuất thực thể |
| Tạo cấu hình | 6 | Tạo cấu hình thời gian/sự kiện/tác nhân/nền tảng |
| Chạy mô phỏng | 12 | Start/stop, giám sát, phỏng vấn, quản lý trạng thái |
| Tạo báo cáo | 5 | Truy xuất, phân tích, tạo tóm tắt |
Apidog được sử dụng để thiết kế, kiểm thử endpoint, giả lập response cho frontend, và tạo tài liệu API. Nhờ đó, nhóm phát hiện lỗi schema sớm và thống nhất hợp đồng backend/frontend.
Khi nào bạn nên sử dụng MiroFish?
Trường hợp nên dùng
- Lập kế hoạch kịch bản: “Điều gì sẽ xảy ra nếu công bố X?”
- Phân tích stakeholder: “Các nhóm sẽ phản ứng thế nào với Y?”
- Theo dõi phát triển câu chuyện: “Lập luận phản bác xuất hiện như thế nào?”
- Kiểm thử giả thuyết nghiên cứu: “Hành vi khán giả có thật như dự đoán?”
- Khám phá giáo dục: “Nhân vật lịch sử phản ứng ra sao với sự kiện hiện đại?”
Trường hợp không nên dùng
- Dự đoán chính xác tương lai: Chỉ mô phỏng khả năng, không đảm bảo kết quả thực
- Giám sát real-time: Không theo dõi mạng xã hội trực tiếp
- Phân tích quy mô nhỏ: Không tối ưu cho khảo sát đơn giản
- Hiện tượng phi xã hội: Không dùng cho mô hình kinh tế/vật lý
Bắt đầu với MiroFish
Yêu cầu
- Python 3.10+
- Node.js 18+
- API key Zep Cloud
- API LLM (tương thích OpenAI)
Hướng dẫn cài đặt nhanh
# Clone repository
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
# Cài đặt phụ thuộc
pip install -r requirements.txt
npm install
# Cấu hình môi trường
cp .env.example .env
# Sửa .env với API key của bạn
# Khởi động backend
python backend/app/main.py
# Khởi động frontend
npm run dev
Chạy mô phỏng đầu tiên
- Tải tài liệu nguồn: PDF, TXT, MD
- Xác định yêu cầu mô phỏng: Câu hỏi/kịch bản bạn muốn kiểm tra
- Tạo ontology: Để hệ thống đề xuất loại thực thể
- Xây dựng đồ thị tri thức: Tự động trích xuất thực thể và quan hệ
- Cấu hình & chạy mô phỏng: Đặt thời lượng, bắt đầu mô phỏng
- Giám sát & phỏng vấn tác nhân: Theo dõi action real-time, phỏng vấn agent
- Tạo báo cáo: Nhận tổng kết kết quả
Một mô phỏng cơ bản thường mất 30-60 phút.
Các câu hỏi thường gặp
Độ chính xác của mô phỏng?
MiroFish không dự đoán tương lai cụ thể, mà khám phá các kịch bản khả thi dựa trên dữ liệu và mô hình hành vi. Giá trị của nó là làm nổi bật các động lực bất ngờ.
Số lượng tác nhân tối đa?
Hệ thống xử lý tốt 50-200 agent. Mô phỏng lớn hơn (500+) cần nhiều tài nguyên và thời gian hơn.
Có thể tùy chỉnh hành vi agent không?
Có. Bạn chỉnh các thuộc tính hoạt động, trọng số ảnh hưởng, quan điểm. Người dùng nâng cao có thể sửa file config agent trước khi chạy.
Hỗ trợ kịch bản ngoài Trung Quốc?
Cấu hình mặc định tối ưu cho múi giờ Trung Quốc, nhưng bạn có thể chỉnh lại hoạt động agent cho các khu vực khác bằng cách sửa config thời gian.
Dữ liệu có riêng tư không?
Tài liệu xử lý cục bộ, gửi đến Zep Cloud để trích xuất thực thể. Zep lưu dữ liệu theo điều khoản dịch vụ. Nếu tài liệu nhạy cảm, có thể thay bằng database graph cục bộ.
Kết luận
MiroFish xây dựng thế giới song song kỹ thuật số để bạn thử nghiệm các kịch bản mạng xã hội trước khi chúng xảy ra. Bằng mô phỏng hàng trăm agent AI với profile riêng biệt, bạn sẽ phát hiện các câu chuyện nổi bật, phong trào đối lập, tiếng nói ảnh hưởng mà các công cụ phân tích truyền thống không nhìn thấy.
Nếu bạn cần lên kế hoạch thông báo chính sách, kiểm thử hành vi khán giả, hoặc khám phá kịch bản "what-if" trong văn học—MiroFish mang lại góc nhìn mới cho động lực xã hội phức tạp.
Top comments (0)