← Writing

human-simulation · Vietnamese · 8 min

🇺🇸 Read in English

Mô phỏng hành vi người dùng với AI: Từ Markov đến LLM Persona

March 2, 2026

Từ chuỗi Markov đơn giản đến 25 tác nhân AI tự tổ chức tiệc Valentine — đây là hành trình kỹ thuật của một trong những bài toán thú vị nhất trong Data Science: dạy máy tính hiểu con người.

Năm 2023, một nhóm nghiên cứu tại Stanford đặt 25 tác nhân AI vào một thị trấn giả lập và nói với một trong số họ: "Hãy tổ chức một bữa tiệc Valentine." Không có kịch bản nào được viết sẵn. Không có luật nào quy định ai phải mời ai. Cuối cùng, các tác nhân tự lan truyền lời mời, hỏi nhau đi cùng, và phối hợp thời gian tham dự — hành vi xã hội nổi lên từ những quy tắc đơn giản.

Đó là khoảnh khắc chứng minh: LLM không chỉ tạo ra văn bản, chúng có thể đóng vai con người đủ thuyết phục để nghiên cứu hành vi xã hội. Câu hỏi với chúng ta — những người làm Data Science — là: kỹ thuật này hoạt động như thế nào, và khi nào thì nên dùng nó?

Mô phỏng hành vi người dùng là gì, và tại sao nó quan trọng?

Mô phỏng hành vi người dùng (human behavior simulation) là việc xây dựng các hệ thống có thể tái tạo cách con người ra quyết định, phản ứng, và tương tác — trong một môi trường có kiểm soát, không cần người thật.

Nghe có vẻ học thuật, nhưng ứng dụng rất thực tế. Bạn muốn biết liệu giao diện checkout mới có làm tăng tỷ lệ chuyển đổi không? Thay vì chạy A/B test tốn vài tuần và ảnh hưởng đến khách hàng thật, bạn có thể chạy thử trên người dùng ảo trước. Bạn muốn kiểm tra xem một chính sách kiểm duyệt mới trong cộng đồng online có hiệu quả không? Social Simulacra (2022) đã làm điều này: tạo ra hàng nghìn thành viên ảo với hành vi đa dạng, để các nhà thiết kế stress-test chính sách trước khi đưa vào thực tế. Hay rộng hơn — trong nghiên cứu Epidemic Modeling with Generative Agents (2023), từng tác nhân công dân-ảo tự lý luận về việc có nên đeo khẩu trang hay không, và mô hình tái tạo được các làn sóng dịch bệnh thực tế.

Nguyên tắc chung: mô phỏng hành vi người dùng là tương đương với mô phỏng vật lý trong kỹ thuật — bạn kiểm tra thiết kế trong môi trường an toàn, rẻ hơn, trước khi đưa ra thế giới thật.

Bốn thế hệ kỹ thuật

1. Rule-based agents — điểm xuất phát

Cách tiếp cận đầu tiên đơn giản nhất: viết thủ công các quy tắc IF-THEN. if tồn_kho < 10: đặt_hàng_lại. Chatbot ELIZA năm 1966 hoạt động theo cơ chế này — nhận dạng từ khóa, trả lời theo kịch bản.

Ưu điểm: hoàn toàn có thể giải thích, tất định, nhanh. Nhược điểm: không thể tổng quát hóa ra ngoài những gì đã được code, và chi phí bảo trì tăng nhanh khi hệ thống phức tạp hơn. Phù hợp nhất cho các quy trình tuân thủ (compliance) hoặc mô phỏng chuỗi cung ứng với cây quyết định đã biết trước.

2. Statistical models — chuỗi Markov và bạn bè

Bước tiến quan trọng: thay vì viết tay, ta học hành vi từ dữ liệu. Chuỗi Markov (Markov chain) mô hình hóa hành vi như một chuỗi chuyển đổi trạng thái có xác suất. Với dữ liệu clickstream, bạn có thể ước tính: khả năng người dùng chuyển từ trang sản phẩm sang giỏ hàng là 30%, từ giỏ hàng sang thanh toán là 60%, và từ thanh toán sang rời khỏi là 25%.

Hidden Markov Models (HMM) đi xa hơn — mô hình hóa cả các trạng thái ẩn như "đang trong chế độ duyệt thông thường" vs. "có ý định mua". Survival models (Cox, Weibull) cho biết khi nào người dùng sẽ churn hay mua hàng.

Nhóm này có nền toán học chắc, dễ giải thích, và phù hợp cho bài toán như customer lifetime value, A/B test simulation, hay mô hình hóa traffic website. Giới hạn: giả định Markov (quá khứ xa không quan trọng bằng trạng thái hiện tại) làm chúng vật lộn với các động học xã hội phức tạp.

3. ML-based approaches — học từ lịch sử hành vi

Sequence models như LSTM hay Transformer học trực tiếp từ log hành vi lịch sử — dự đoán hành động tiếp theo dựa trên toàn bộ chuỗi hành động trước đó. Behavioral cloning huấn luyện model để nhân bản quá trình ra quyết định của con người từ các bản ghi demonstration.

Ưu điểm: có thể nắm bắt các pattern phi tuyến phức tạp, scale tốt với dữ liệu. Nhược điểm: black-box, cần lượng dữ liệu có nhãn lớn, và không generalize sang tình huống hoàn toàn mới — nếu sản phẩm của bạn chưa từng tồn tại, không có lịch sử hành vi để học từ đó.

4. LLM persona agents — thế hệ mới nhất

Đây là nơi mọi thứ trở nên thú vị. Ý tưởng cốt lõi: cung cấp cho LLM một mô tả persona chi tiết (nhân khẩu học, tính cách, mục tiêu, bối cảnh) và để nó lý luận về những gì người đó sẽ làm.

Kiến trúc được thiết lập bởi nghiên cứu Generative Agents của Park et al. (2023) gồm ba thành phần:

  • Memory stream: Lưu trữ ngoài toàn bộ kinh nghiệm của tác nhân dưới dạng ngôn ngữ tự nhiên, truy xuất qua vector search khi cần.
  • Reflection: Định kỳ tổng hợp ký ức thành các nhận thức cấp cao hơn — từ "Klaus đã hỏi tôi về deadline" → "Klaus đang căng thẳng về công việc".
  • Planning: Chuyển đổi nhận thức và mục tiêu thành lịch trình và hành động cụ thể.

Ưu điểm: xử lý được tình huống mới hoàn toàn (LLM có thể generalize), tạo ra chuỗi lý luận bằng ngôn ngữ tự nhiên, không cần dữ liệu hành vi lịch sử để định nghĩa persona. Nhược điểm: hallucination, chi phí per-query cao, kết quả phụ thuộc nhiều vào base model và prompt.

Công cụ thực tế để bắt đầu

TinyTroupe — từ Microsoft Research

TinyTroupe là Python library cho phép tạo TinyPerson agents — persona được định nghĩa bằng background, tính cách, và mục tiêu. Thiết kế có chủ ý là "tiny" (đơn giản hóa so với Generative Agents đầy đủ) để nhanh và tiết kiệm chi phí cho các use case kinh doanh.

Bạn có thể pip install tinytroupe và chạy synthetic focus group trong vài giờ. Các use case chính: focus group ảo cho product research, mô phỏng quyết định mua hàng trước khi A/B test, kiểm tra hành vi chatbot với nhiều loại người dùng khác nhau.

AgentSims — sandbox mã nguồn mở

AgentSims (2023) là open-source sandbox có GUI, cho phép xây dựng và đánh giá mô phỏng agent mà không cần code nhiều. Hỗ trợ pluggable memory systems, planning modules, và tool-use. Điểm vào dễ tiếp cận nhất cho ai muốn thực nghiệm mà không muốn tự xây framework từ đầu.

Ví dụ cụ thể: Mô phỏng hành trình mua hàng

Giả sử một công ty e-commerce muốn kiểm tra xem luồng checkout mới — với đề nghị upsell một click — có hiệu quả với các phân khúc khách hàng khác nhau không.

Cách truyền thống: A/B test trên người dùng thật — tốn vài tuần, ảnh hưởng trực tiếp đến trải nghiệm khách hàng thật.

Cách dùng TinyTroupe:

Bước 1 — Định nghĩa personas:

  • Nguyễn Văn A, 32 tuổi, Hồ Chí Minh, làm marketing, cẩn thận trong chi tiêu, nghiên cứu kỹ trước khi mua
  • Trần Thị B, 45 tuổi, Hà Nội, chủ doanh nghiệp nhỏ, ưu tiên tiện lợi hơn giá, ít thời gian
  • Lê Văn C, 22 tuổi, sinh viên, hay mua bốc đồng, nhạy cảm với social proof và giảm giá

Bước 2 — Thiết lập môi trường: Mô tả trang checkout, đề nghị upsell (thêm bảo hành 3 tháng với giá 15% sản phẩm), và các tín hiệu tin cậy có mặt trên trang.

Bước 3 — Chạy mô phỏng: Mỗi persona agent lý luận qua đề nghị. Nguyễn Văn A hỏi thêm về điều kiện bảo hành, đọc kỹ, do dự vì giá. Trần Thị B chọn bảo hành ngay lập tức ("tiết kiệm thời gian sau này"). Lê Văn C bỏ qua bảo hành nhưng click vào phần "khách hàng cũng mua".

Bước 4 — Trích xuất insights: Tổng hợp phản hồi để ước tính tỷ lệ chấp nhận theo phân khúc, xác định điểm ma sát (agent hỏi gì? copy nào gây nhầm lẫn?), và điều chỉnh thiết kế trước khi A/B test thật.

# Pseudocode minh họa — xem TinyTroupe docs để biết API chính xác
from tinytroupe.agent import TinyPerson
from tinytroupe.environment import TinyWorld
 
# Định nghĩa persona
nguyen = TinyPerson("Nguyen Van A")
nguyen.define("age", 32)
nguyen.define("occupation", "marketing professional")
nguyen.define("personality", "analytical, budget-conscious, researches before buying")
nguyen.define("goal", "make a good purchase decision without overspending")
 
# Thiết lập môi trường
world = TinyWorld("E-commerce checkout page", [nguyen])
world.broadcast(
    "You are on the checkout page for a laptop. "
    "There is an offer to add a 3-month warranty for 15% extra. "
    "The page shows 4.2-star reviews. What do you do?"
)
 
# Chạy mô phỏng
world.run(1)
nguyen.listen_and_act()
print(nguyen.get_actions())

Những giới hạn cần biết trước khi tin vào kết quả

Mô phỏng LLM persona nghe hấp dẫn, nhưng có một số vấn đề cơ bản mà practitioners cần hiểu rõ.

Hallucination và confabulation hành vi: Một persona được định nghĩa là "cẩn thận trong chi tiêu" vẫn có thể chấp nhận upsell đắt tiền nếu framing của prompt kích hoạt một reasoning pattern khác. Không có gì đảm bảo agent lý luận giống người thật.

Phụ thuộc vào base model: The Silicon Society Cookbook (2026) chỉ ra rằng thay GPT-4 bằng Claude hay Llama — với cùng persona và prompt — cho ra các hành vi xã hội nổi lên khác nhau về chất. Kết quả mô phỏng không thể chuyển sang model khác mà không cần validation lại.

Khoảng trống validation: Phần lớn công bố trong lĩnh vực này validate trên các câu hỏi survey được giữ lại (dễ "ăn gian") thay vì so với dữ liệu hành vi thực tế theo thời gian — loại validation đắt tiền và hiếm có. Silicon Society Cookbook (2026) gọi đây là vấn đề trung tâm chưa được giải quyết của cả lĩnh vực.

Stereotype hóa persona: LLM được huấn luyện trên dữ liệu internet mang theo các stereotype nhân khẩu học. Persona "phụ nữ lớn tuổi ở nông thôn" có thể cho ra hành vi dựa trên stereotype hơn là sự đa dạng cá nhân thực tế. SPIRIT (2026) cố gắng giải quyết điều này bằng cách ground persona trong dữ liệu mạng xã hội cá nhân — nhưng điều đó lại kéo theo vấn đề quyền riêng tư.

Câu hỏi quyết định cho DS practitioners: Tôi cần behavioral fidelity hay behavioral plausibility? Ước tính quy mô thị trường cần plausibility (đủ thuyết phục về hướng đi). Đánh giá tác động chính sách cần fidelity (gần với thực tế đo được). Hai yêu cầu này dẫn đến lựa chọn tool và phương pháp khác nhau.

Hướng đang đi

Từ 25 tác nhân trong thị trấn Smallville của Stanford năm 2023, lĩnh vực đang di chuyển nhanh về hướng hạ tầng quy mô lớn. S-Researcher (2026) là platform hỗ trợ đến 100,000 agent LLM đồng thời để tự động hóa nghiên cứu xã hội học — thay thế các nghiên cứu dọc tốn kém bằng synthetic populations có thể query theo yêu cầu.

Tốc độ scale không còn là bottleneck. Bottleneck hiện tại là validation: làm thế nào để biết con người ảo có thực sự hành xử như con người thật? Đây là câu hỏi mà các DS practitioners làm việc trong lĩnh vực này cần bắt đầu đặt ra — không phải "simulation có thể làm gì?" mà là "làm sao tôi biết simulation của mình đang đúng?"

Phương pháp tốt nhất hiện tại vẫn là tiếp cận bổ sung: dùng Markov chains và sequence models cho những gì có dữ liệu lịch sử, thêm LLM personas cho các tình huống mới hoàn toàn hoặc khi cần chuỗi lý luận bằng ngôn ngữ tự nhiên. Chúng không cạnh tranh — chúng bù trừ cho nhau ở những chỗ khác nhau.

Sai Lầm Thường Gặp

  • Tin vào kết quả simulation mà không validate với dữ liệu thật. Behavioral plausibility (nghe có lý) khác với behavioral fidelity (khớp với hành vi thực tế đo được). Dùng simulation để generate hypotheses, không phải để ra quyết định cuối cùng mà không có real-world validation.
  • Expect kết quả nhất quán khi đổi base model. Cùng persona và prompt trên GPT-4 vs. Claude vs. Llama cho ra hành vi xã hội nổi lên khác nhau về chất. Nếu bạn switch model, cần validate lại kết quả từ đầu.
  • Dùng LLM personas cho bài toán mà statistical models đủ và rẻ hơn. Với bài toán có dữ liệu lịch sử đủ và hành vi không quá novel, Markov chains hay sequence models thường nhanh hơn, rẻ hơn, và dễ giải thích hơn.
  • Không kiểm tra stereotype trong persona output. LLM được train trên internet text mang theo demographic stereotypes. Với các persona dựa trên nhóm dân số cụ thể, cần xem xét output có bị stereotype hóa không thay vì phản ánh individual variation thực tế.
  • Dùng kết quả synthetic focus group trực tiếp để ra quyết định lớn. Simulation tốt nhất là hypothesis generator để thu hẹp design space trước khi A/B test — không phải thay thế hoàn toàn real-world experiment.

Tóm tắt:

  • Bốn thế hệ kỹ thuật: Rule-based → Markov/Statistical → ML sequence models → LLM persona agents — mỗi thế hệ giải quyết giới hạn của thế hệ trước
  • LLM personas mạnh nhất với tình huống mới hoàn toàn và khi cần chuỗi lý luận ngôn ngữ tự nhiên; statistical models tốt hơn khi có dữ liệu lịch sử đủ
  • TinyTroupe và AgentSims là công cụ thực tế để bắt đầu ngay không cần build framework từ đầu
  • Bottleneck hiện tại là validation: behavioral fidelity khó đo và hiếm được validate đúng cách trong research
  • Cách tiếp cận tốt nhất là kết hợp: dùng statistical models cho dữ liệu có sẵn, thêm LLM personas cho tình huống mới — chúng bổ sung chứ không thay thế nhau
multi-agentshuman-simulationllmbasics

Nguồn tham khảo

  1. Generative Agents: Interactive Simulacra of Human Behavior — arXiv
  2. Social Simulacra: Creating Populated Prototypes for Social Computing Systems — arXiv
  3. LLM Agents Grounded in Self-Reports Enable General-Purpose Simulation of Individuals — arXiv
  4. Persona-Based Simulation of Human Opinion at Population Scale (SPIRIT) — arXiv
  5. AgentSims: An Open-Source Sandbox for Large Language Model Evaluation — arXiv
  6. TinyTroupe — Microsoft Research GitHub
  7. Epidemic Modeling with Generative Agents — arXiv
  8. The Silicon Society Cookbook: Design Space of LLM-based Social Simulations — arXiv
  9. LLM Agents as Social Scientists: S-Researcher — arXiv