บทนำ
คุณเคยเห็นมันเกิดขึ้นแล้ว บริษัทประกาศนโยบายใหม่ คนดังแสดงความคิดเห็นที่ก่อให้เกิดการโต้แย้ง ข่าวที่ไม่มีใครคาดคิดเกิดขึ้น โซเชียลมีเดียระเบิดขึ้น และผลที่ตามมาก็แผ่ขยายออกไปในแบบที่ไม่มีใครคาดเดาได้
จะเป็นอย่างไรหากคุณสามารถเห็นว่าสถานการณ์หนึ่งๆ จะดำเนินไปอย่างไรก่อนที่จะเกิดขึ้นจริงในโลกแห่งความเป็นจริง
MiroFish คือแพลตฟอร์มจำลองสถานการณ์ AI แบบหลายเอเจนต์ที่ตอบคำถาม "จะเกิดอะไรขึ้นถ้า" เกี่ยวกับโซเชียลมีเดีย แพลตฟอร์มนี้สร้างโลกดิจิทัลคู่ขนานที่ซึ่งเอเจนต์ AI หลายร้อยตัวที่มีบุคลิก ความทรงจำ และรูปแบบพฤติกรรมที่แตกต่างกัน สามารถโต้ตอบกันได้อย่างอิสระ คุณอัปโหลดข้อมูลเริ่มต้น—เช่น บทความข่าว ร่างนโยบาย หรือเอกสารวิจัย—และ MiroFish จะจำลองว่ากลุ่มเป้าหมายต่างๆ อาจมีปฏิกิริยาอย่างไรเมื่อเวลาผ่านไป
คำอธิบายนี้จะครอบคลุมถึงสิ่งที่ MiroFish ทำ, การจำลองสถานการณ์แบบหลายเอเจนต์ทำงานอย่างไร และคุณอาจนำไปใช้เมื่อใด
MiroFish แก้ปัญหาอะไรได้บ้าง?
ช่องว่างในการคาดการณ์
โซเชียลมีเดียเคลื่อนไหวอย่างรวดเร็วและตอบสนองในรูปแบบที่คาดเดาไม่ได้ เครื่องมือวิเคราะห์แบบดั้งเดิมมองย้อนกลับไปในอดีต:
- การวิเคราะห์ความรู้สึก (Sentiment analysis) บอกคุณว่าผู้คนคิดอะไร ในตอนนี้
- การติดตามเทรนด์ (Trend monitoring) แสดงให้เห็นว่าอะไรเป็นที่นิยม ในวันนี้
- ตัวชี้วัดการมีส่วนร่วม (Engagement metrics) วัดสิ่งที่ เกิดขึ้นไปแล้ว
เครื่องมือเหล่านี้ไม่มีเครื่องมือใดที่ช่วยให้คุณเห็นว่า อาจจะ เกิดอะไรขึ้น หากคุณเผยแพร่ประกาศนั้น ออกรายงานฉบับนั้น หรือตอบสนองต่อข้อโต้แย้งนั้น
ทางเลือก: โลกดิจิทัลคู่ขนาน
MiroFish ใช้วิธีการที่แตกต่างออกไป แทนที่จะวิเคราะห์โซเชียลมีเดียจริง มันสร้างเวอร์ชันจำลองขึ้นมา:
- สร้างกราฟความรู้ จากเอกสารต้นฉบับของคุณ
- ดึงเอนทิตี (บุคคล, องค์กร, สื่อ) และเปลี่ยนให้เป็นเอเจนต์ AI
- กำหนดบุคลิกภาพ ตามข้อมูลที่ดึงมา (ระดับกิจกรรม, น้ำหนักอิทธิพล, จุดยืน)
- เรียกใช้การจำลองสถานการณ์ ที่ซึ่งเอเจนต์โพสต์ แสดงความคิดเห็น และตอบสนองตลอดหลายชั่วโมงหรือหลายวันในการจำลอง
- วิเคราะห์ผลลัพธ์ เพื่อดูว่าเรื่องเล่าก่อตัวขึ้นอย่างไร เสียงใดมีอิทธิพล และการเคลื่อนไหวตอบโต้ใดเกิดขึ้น
ลองนึกภาพว่ามันเป็นเครื่องจำลองการบินสำหรับสถานการณ์บนโซเชียลมีเดีย
MiroFish ทำงานอย่างไร: ขั้นตอนการทำงานห้าขั้นตอน
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Step 1 │ ──► │ Step 2 │ ──► │ Step 3 │ ──► │ Step 4 │ ──► │ Step 5 │
│ Ontology │ │ GraphRAG │ │ Env │ │ Simulation │ │ Report │
│ Generation │ │ Build │ │ Setup │ │ Run │ │ Generation │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
ขั้นตอนที่ 1: การสร้าง Ontology
ระบบจะวิเคราะห์เอกสารข้อมูลและข้อกำหนดการจำลองของคุณ จากนั้นใช้ LLM เพื่อสร้าง ontology ที่กำหนดเอง ซึ่งจะกำหนดสิ่งต่างๆ ดังนี้:
- ประเภทของเอนทิตี 10 ประเภท (เช่น นักเรียน, ศาสตราจารย์, มหาวิทยาลัย, สื่อ, หน่วยงานราชการ)
- ประเภทของความสัมพันธ์ 10 ประเภท (เช่น ทำงานให้กับ, แสดงความคิดเห็นเกี่ยวกับ, ตอบสนองต่อ)
- คุณสมบัติ สำหรับแต่ละประเภท
ontology บังคับใช้โครงสร้างสองระดับ: 8 ประเภทเฉพาะตามเนื้อหาของคุณ และอีก 2 ประเภทสำรอง (บุคคล และ องค์กร) เพื่อรองรับสิ่งที่ไม่เข้าข่ายที่อื่น
ขั้นตอนที่ 2: การสร้าง GraphRAG
เอกสารของคุณจะถูกแบ่งเป็นส่วนๆ (500 ตัวอักษร โดยมีส่วนที่ซ้อนทับกัน 50 ตัวอักษร) และส่งไปยัง Zep Cloud เป็นชุดๆ ระบบจะดำเนินการดังนี้:
- สร้างกราฟเดี่ยวที่มี ID เฉพาะ
- ตั้งค่า ontology แบบกำหนดเอง
- ส่งชุดข้อความเพื่อดึงเอนทิตีและความสัมพันธ์
- รอให้ Zep ประมวลผลแต่ละตอน
- ดึงกราฟสุดท้ายที่มีโหนดและขอบ
ผลลัพธ์: กราฟความรู้ที่มีเอนทิตีหลายร้อยหรือหลายพันรายการที่เชื่อมโยงกันด้วยความสัมพันธ์
ขั้นตอนที่ 3: การตั้งค่าสภาพแวดล้อม
ตัวสร้างการกำหนดค่าการจำลองจะวิเคราะห์กราฟความรู้และสร้างพารามิเตอร์เอเจนต์โดยละเอียด:
- การกำหนดค่าเวลา ตามรูปแบบเขตเวลาของจีน (ชั่วโมงเร่งด่วน 19-22 น., ชั่วโมงเงียบ 0-5 น.)
- การกำหนดค่าเหตุการณ์ ด้วยโพสต์เริ่มต้นและหัวข้อที่กำลังมาแรง
- การกำหนดค่ากิจกรรมของเอเจนต์ (จำนวนโพสต์ต่อชั่วโมง, ความล่าช้าในการตอบสนอง, น้ำหนักอิทธิพล)
- การกำหนดค่าแพลตฟอร์ม สำหรับ Twitter และ Reddit ที่มีเกณฑ์การแพร่กระจายที่แตกต่างกัน
ขั้นตอนที่ 4: การรันการจำลอง
เอเจนต์จะตื่นขึ้นตามตารางกิจกรรมและเริ่มโพสต์ แสดงความคิดเห็น และตอบสนอง ระบบจะทำการจำลองแบบขนานบน Twitter และ Reddit โดยบันทึกทุกการกระทำลงในไฟล์ JSONL แบบเรียลไทม์
การจำลอง 72 ชั่วโมงโดยทั่วไปจะสร้างการกระทำหลายพันรายการบนทั้งสองแพลตฟอร์ม
ขั้นตอนที่ 5: การสร้างรายงาน
Report Agent ใช้เครื่องมือดึงข้อมูลหลักสามอย่างเพื่อวิเคราะห์สิ่งที่เกิดขึ้น:
- InsightForge: การค้นหาเชิงลึกที่แยกคำถามออกเป็นคำค้นย่อย
- PanoramaSearch: มุมมองที่ครอบคลุมทั้งหมด รวมถึงข้อเท็จจริงทางประวัติศาสตร์ที่หมดอายุ/ไม่ถูกต้อง
- InterviewAgents: การสัมภาษณ์แบบเรียลไทม์กับเอเจนต์ที่ใช้งานอยู่ผ่าน IPC
รายงานฉบับสุดท้ายจะแสดงให้เห็นถึงวิวัฒนาการของเรื่องเล่า, ช่วงเวลาสำคัญ, ผู้มีอิทธิพล และการเคลื่อนไหวตอบโต้
AI Agent ใน MiroFish คืออะไร?
เอเจนต์แต่ละตัวใน MiroFish คือเอนทิตี AI อิสระที่มี:
| คุณสมบัติ | คำอธิบาย | ตัวอย่าง |
|---|---|---|
| อัตลักษณ์ | ชื่อ, ชื่อผู้ใช้, ประวัติส่วนตัว | “@ZhangWei_Student” |
| บุคลิก | บุคลิกภาพและภูมิหลัง | “นักศึกษาระดับบัณฑิตศึกษาที่วิจัยจริยธรรม AI” |
| ระดับกิจกรรม | ความถี่ในการโพสต์ (0.0-1.0) | 0.8 = มีกิจกรรมสูงมาก |
| ชั่วโมงที่ใช้งาน | เวลาที่ออนไลน์ | [8, 9, 10, 11, 18, 19, 20, 21, 22, 23] |
| ความล่าช้าในการตอบสนอง | ความเร็วในการตอบสนอง (นาที) | 5-30 นาที |
| น้ำหนักอิทธิพล | ความน่าจะเป็นที่ผู้อื่นจะเห็นโพสต์ของพวกเขา | 0.8 (ต่ำ) ถึง 3.0 (สูง) |
| จุดยืน | ตำแหน่งต่อหัวข้อ | สนับสนุน, คัดค้าน, เป็นกลาง, ผู้สังเกตการณ์ |
| ความทรงจำ | การกระทำและการโต้ตอบที่ผ่านมา | จัดเก็บในกราฟ Zep Cloud |
เอเจนต์ตัดสินใจได้ด้วยตนเอง พวกเขาเลือกเวลาที่จะโพสต์ สิ่งที่จะแสดงความคิดเห็น และวิธีการตอบสนอง โดยอิงจากบุคลิกภาพและสถานะปัจจุบันของการจำลอง
คุณสามารถจำลองอะไรได้บ้าง?
การประกาศข่าวและนโยบาย
อัปโหลดร่างนโยบายหรือบทความข่าว ดูว่ากลุ่มผู้มีส่วนได้ส่วนเสียต่าง ๆ ตอบสนองอย่างไร:
- เสียงใดที่ขยายข้อความนี้?
- มีคำวิพากษ์วิจารณ์อะไรบ้างที่เกิดขึ้น?
- เรื่องเล่าพัฒนาไปอย่างไรในช่วง 24-72 ชั่วโมง?
การวิจัยทางวิชาการ
อัปโหลดเอกสารวิจัย จำลองการตอบรับจากนักวิชาการและสาธารณะ:
- ผลการวิจัยใดได้รับความสนใจ?
- ความเข้าใจผิดอะไรเกิดขึ้นบ้าง?
- การตอบสนองของผู้เชี่ยวชาญและคนทั่วไปแตกต่างกันอย่างไร?
สถานการณ์วิกฤต
อัปโหลดรายงานเหตุการณ์หรือข้อมูลพื้นฐาน ทดสอบกลยุทธ์การตอบสนอง:
- เรื่องเล่าจะเปลี่ยนไปอย่างไรหากคุณตอบสนองทันทีเทียบกับการรอ?
- เรื่องเล่าโต้แย้งอะไรบ้างที่เกิดขึ้น?
- อินฟลูเอนเซอร์คนใดที่เป็นผู้ขับเคลื่อนการสนทนา?
การวิเคราะห์วรรณกรรมและประวัติศาสตร์
อัปโหลดนวนิยายหรือข้อความทางประวัติศาสตร์ สำรวจสถานการณ์ "จะเกิดอะไรขึ้นถ้า":
- ตัวละครอาจมีปฏิกิริยาอย่างไรต่อเหตุการณ์ที่นอกเหนือจากตอนจบเดิม?
- ผลลัพธ์ทางเลือกใดที่สมเหตุสมผล?
- ความสัมพันธ์ใดที่ขับเคลื่อนจุดสำคัญของโครงเรื่อง?
อะไรทำให้ MiroFish แตกต่าง?
ความฉลาดแบบฝูง ไม่ใช่เอเจนต์เดี่ยว
เครื่องมือ AI หลายตัวใช้เอเจนต์เดียวในการจำลอง "ผู้ใช้" แต่ MiroFish ใช้เอเจนต์หลายร้อยตัวที่มีบุคลิกภาพที่แตกต่างกัน สิ่งนี้สร้างพฤติกรรมที่เกิดขึ้นเอง—เรื่องเล่าและการเคลื่อนไหวที่เกิดขึ้นจากการโต้ตอบ ไม่ใช่จากสคริปต์ที่ตั้งโปรแกรมไว้ล่วงหน้า
การจำลองสองแพลตฟอร์ม
Twitter และ Reddit ทำงานคู่ขนานกันด้วยกลไกที่แตกต่างกัน:
- Twitter: การแพร่กระจายของไวรัลอย่างรวดเร็ว, ผลกระทบสูงจากอินฟลูเอนเซอร์
- Reddit: การสนทนาแบบเธรด, เรื่องเล่าที่ขับเคลื่อนโดยชุมชน
การเปรียบเทียบทั้งสองแพลตฟอร์มแสดงให้เห็นว่ากลไกของแพลตฟอร์มส่งผลต่อผลลัพธ์อย่างไร
กราฟความรู้เชิงเวลา
ความสัมพันธ์ใน MiroFish มีข้อมูลเมตาเกี่ยวกับเวลา:
valid_at: เมื่อความสัมพันธ์มีผลบังคับใช้invalid_at: เมื่อความสัมพันธ์ไม่มีผลบังคับใช้expired_at: เมื่อถูกแทนที่
สิ่งนี้ช่วยให้คุณสามารถติดตามว่าความสัมพันธ์พัฒนาไปอย่างไร ไม่ใช่แค่สถานะปัจจุบันเท่านั้น
การสัมภาษณ์เอเจนต์แบบสด
คำถาม
เอเจนต์ 12 (นักศึกษา)
สิ่งนี้ให้ข้อมูลเชิงลึกเชิงคุณภาพที่เหนือกว่าตัวชี้วัดเชิงปริมาณ
ภาพรวมสถาปัตยกรรมทางเทคนิค
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ External │
│ (Vue.js) │ ◄─► │ (FastAPI) │ ◄─► │ Services │
│ │ │ │ │ │
│ - Graph builder │ │ - REST API │ │ - Zep Cloud │
│ - Simulation │ │ - Subprocess │ │ - LLM API │
│ monitor │ │ management │ │ - OASIS │
│ - Report viewer │ │ - JSONL stream │ │ Framework │
└─────────────────┘ └─────────────────┘ └─────────────────┘
สถาปัตยกรรมฝั่ง Backend
- Python FastAPI สำหรับปลายทาง REST
- OASIS Framework สำหรับการจำลองเอเจนต์
- Zep Cloud สำหรับการจัดเก็บและดึงกราฟความรู้
- SQLite สำหรับฐานข้อมูลสถานะการจำลอง
สถาปัตยกรรมฝั่ง Frontend
- Vue.js 3 สำหรับ UI แบบโต้ตอบ
- WebSocket สำหรับการอัปเดตแบบเรียลไทม์
- D3.js สำหรับการแสดงภาพกราฟ
การออกแบบ API ด้วย Apidog
แบ็กเอนด์ของ MiroFish มีปลายทาง (endpoints) มากกว่า 40 รายการ ครอบคลุมบริการหลัก 5 อย่าง:
| บริการ | ปลายทาง | วัตถุประสงค์ |
|---|---|---|
| สร้างกราฟ | 8 | การสร้าง Ontology, การอัปโหลดเป็นชุด, การตรวจสอบสถานะ |
| ตัวอ่านเอนทิตี | 4 | การกรองเอนทิตี, การเลือกประเภท, การส่งออก |
| ตัวสร้างการกำหนดค่า | 6 | การสร้างการกำหนดค่าเวลา/เหตุการณ์/เอเจนต์/แพลตฟอร์ม |
| ตัวรันการจำลอง | 12 | เริ่ม, หยุด, ตรวจสอบ, สัมภาษณ์, การจัดการสถานะ |
| ตัวสร้างรายงาน | 5 | การดึงข้อมูล, การวิเคราะห์, การสร้างสรุป |
Apidog ถูกใช้ในการออกแบบปลายทางทั้งหมด, การจำลองการตอบสนองสำหรับการพัฒนาส่วนหน้า, และการสร้างเอกสาร API สิ่งนี้ช่วยให้ตรวจจับความไม่ตรงกันของ Schema ได้ตั้งแต่เนิ่นๆ และทำให้ทีมทำงานร่วมกันได้อย่างสอดคล้องกันตลอดการพัฒนา
คุณควรใช้ MiroFish เมื่อใด?
กรณีการใช้งานที่เหมาะสม
- การวางแผนสถานการณ์: “จะเกิดอะไรขึ้นถ้าเราประกาศ X ในสัปดาห์หน้า?”
- การวิเคราะห์ผู้มีส่วนได้ส่วนเสีย: “กลุ่มต่างๆ จะตอบสนองต่อ Y อย่างไร?”
- การติดตามเรื่องเล่า: “มีข้อโต้แย้งใดเกิดขึ้นต่อต้าน Z?”
- การตรวจสอบงานวิจัย: “สมมติฐานของเราเกี่ยวกับพฤติกรรมของกลุ่มเป้าหมายยังคงใช้ได้อยู่หรือไม่?”
- การสำรวจเพื่อการศึกษา: “บุคคลสำคัญทางประวัติศาสตร์เหล่านี้อาจตอบสนองต่อเหตุการณ์ปัจจุบันอย่างไร?”
กรณีการใช้งานที่ไม่เหมาะสม
- การคาดการณ์ที่แม่นยำ: MiroFish แสดงผลลัพธ์ที่เป็นไปได้ ไม่ใช่การรับประกันอนาคต
- การตรวจสอบแบบเรียลไทม์: เป็นการจำลองสถานการณ์สมมติ ไม่ได้ติดตามโซเชียลมีเดียสด
- การวิเคราะห์ขนาดเล็ก: ระบบจะโดดเด่นเมื่อมีเอเจนต์หลายร้อยตัว; ไม่จำเป็นสำหรับการสำรวจง่ายๆ
- ปรากฏการณ์ที่ไม่ใช่ทางสังคม: มันจำลองพลวัตของโซเชียลมีเดีย ไม่ใช่ระบบเศรษฐกิจหรือกายภาพ
เริ่มต้นใช้งาน MiroFish
ข้อกำหนด
- Python 3.10+
- Node.js 18+
- Zep Cloud API key
- LLM API access (OpenAI-compatible)
เริ่มต้นอย่างรวดเร็ว
# Clone the repository
git clone https://github.com/666ghj/MiroFish.git
cd MiroFish
# Install dependencies
pip install -r requirements.txt
npm install
# Configure environment
cp .env.example .env
# Edit .env with your API keys
# Start the backend
python backend/app/main.py
# Start the frontend
npm run dev
การจำลองครั้งแรก
- อัปโหลดเอกสาร: ไฟล์ PDF, TXT หรือ MD ที่มีแหล่งข้อมูลของคุณ
- กำหนดข้อกำหนดการจำลอง: คุณกำลังสำรวจคำถามอะไร?
- สร้าง ontology: ให้ระบบวิเคราะห์และเสนอประเภทของเอนทิตี
- สร้างกราฟความรู้: ดึงเอนทิตีและความสัมพันธ์
- กำหนดค่าและรัน: ตั้งค่าระยะเวลาการจำลองและเริ่มต้น
- ตรวจสอบและสัมภาษณ์: ดูการกระทำแบบเรียลไทม์, สัมภาษณ์เอเจนต์
- สร้างรายงาน: รับสรุปสิ่งที่เกิดขึ้น
การจำลองครั้งแรกโดยทั่วไปจะใช้เวลา 30-60 นาทีตั้งแต่ต้นจนจบ
คำถามที่พบบ่อย
การจำลองมีความแม่นยำแค่ไหน?
MiroFish สร้างสถานการณ์ที่เป็นไปได้โดยอิงจากข้อมูลนำเข้าและโมเดลพฤติกรรม ลองคิดว่าเป็นการสำรวจความเป็นไปได้ ไม่ใช่การทำนายผลลัพธ์ที่เฉพาะเจาะจง คุณค่าอยู่ที่การเปิดเผยพลวัตที่คุณอาจไม่เคยคาดคิดมาก่อน
MiroFish สามารถจำลองเอเจนต์ได้กี่ตัว?
ระบบสามารถจัดการเอเจนต์ได้ 50-200 ตัวได้อย่างสบายๆ การจำลองขนาดใหญ่ขึ้น (500+ ตัว) เป็นไปได้ แต่ต้องใช้ทรัพยากรคอมพิวเตอร์มากขึ้นและใช้เวลาในการประมวลผลนานขึ้น
ฉันสามารถปรับแต่งพฤติกรรมของเอเจนต์ได้หรือไม่?
ได้ คุณสามารถปรับเปลี่ยนรูปแบบกิจกรรม, น้ำหนักอิทธิพล และการกระจายจุดยืนได้ ผู้ใช้ขั้นสูงสามารถแก้ไขการตั้งค่าเอเจนต์ได้โดยตรงก่อนที่จะรันการจำลอง
MiroFish รองรับสถานการณ์ที่ไม่ใช่ภาษาจีนหรือไม่?
การกำหนดค่าเขตเวลาเริ่มต้นได้รับการปรับให้เหมาะสมกับพฤติกรรมโซเชียลมีเดียของจีน คุณสามารถปรับแต่งรูปแบบกิจกรรมสำหรับภูมิภาคอื่นได้โดยการปรับเปลี่ยนการกำหนดค่าเวลา
ข้อมูลของฉันเป็นส่วนตัวหรือไม่?
เอกสารจะถูกประมวลผลภายในเครื่องและส่งไปยัง Zep Cloud เพื่อดึงเอนทิตี Zep จะเก็บรักษาข้อมูลตามข้อกำหนดในการให้บริการของพวกเขา สำหรับข้อมูลที่ละเอียดอ่อน ควรพิจารณาใช้ฐานข้อมูลกราฟในเครื่องเป็นทางเลือก
บทสรุป
MiroFish สร้างโลกดิจิทัลคู่ขนานที่คุณสามารถทดสอบสถานการณ์บนโซเชียลมีเดียก่อนที่จะเกิดขึ้นจริงในโลกแห่งความเป็นจริง ด้วยการจำลองเอเจนต์ AI หลายร้อยตัวที่มีบุคลิกภาพและรูปแบบพฤติกรรมที่แตกต่างกัน มันเผยให้เห็นเรื่องเล่าที่เกิดขึ้นเอง การเคลื่อนไหวตอบโต้ และผู้มีอิทธิพลที่เครื่องมือวิเคราะห์แบบดั้งเดิมพลาดไป
ไม่ว่าคุณจะกำลังวางแผนการประกาศนโยบาย วิจัยพฤติกรรมของกลุ่มเป้าหมาย หรือสำรวจสถานการณ์ "จะเกิดอะไรขึ้นถ้า" ในวรรณกรรม MiroFish นำเสนอเลนส์ใหม่ในการทำความเข้าใจพลวัตทางสังคมที่ซับซ้อน
