给 AI Agent 加上「交易成本」,它才更像真人

用 LLM 模拟人类行为这件事,这两年被翻来覆去地试。给模型一个 persona,说「你是一个 35 岁、年收入 8 万欧、住阿姆斯特丹的租房族」,然后问它「如果政府给你 5000 欧元的节能改造补贴,你会不会同意翻新你的房子?」模型大概率会理性地算一笔账,然后给一个干净利落的回答。

但真实世界里的人不是这么决策的。

荷兰代尔夫特理工大学的一篇新论文(arXiv:2607.24341)把这个问题摆到了台面上。他们提出的核心概念叫「感知交易成本」(Perceived Transaction Cost, PTC)——就是那些让人在实际做决定时犹豫、拖延、放弃的隐性摩擦力:填表太麻烦、不知道找谁施工、怕被坑、怕工期太长影响生活、邻居没动自己也不想动。

这些「摩擦」才是决定政策能不能落地的真正变量,但绝大多数 LLM 模拟都把它们忽略了。

研究团队拿荷兰租房市场做了真实测试。他们收集了 1,068 名荷兰市民的问卷数据,总共约 40,548 组问答对,然后用这些数据去训练和评估不同模型——GPT-3.5-turbo、Ministral-8B-Instruct、Llama-3.1-8B-Instruct,方法上对比了纯 Prompt 提示、有监督微调(SFT)和 GRPO 强化学习。

结果并不意外,但很有说服力:把 PTC 信息写进 persona 描述之后,所有模型在所有设定下的表现都变好了。当模型知道「这个人觉得填表很烦」或者「这个人担心施工质量」,它模拟出来的决策就更贴近真实问卷数据。

大部分 LLM 模拟做的是「人口统计学画像」——年龄、收入、教育水平、租房还是自有。PTC 方法加了一层「行为摩擦画像」:这个人对信息获取的耐心如何、对行政手续的容忍度多高、对不确定性的厌恶程度怎样。两者加起来,模型才知道一个人在面对政策时到底会怎么动。

这篇论文最实在的贡献是一个可操作的框架——把政策、目标人群、相关的摩擦变量编码进 agent 的 context,然后让模型在不同干预方案之间做「预演」。对政策制定者、地产运营商、做用户增长的产品经理都有实际参考价值。

这篇工作也有明显的边界。样本只来自荷兰,文化差异和制度差异会显著影响「交易成本」的具体构成。模型用到的还是 8B 参数级别的中小模型,更大模型的效果没有对比。而且「感知交易成本」本身就是一个需要通过问卷或访谈来采集的数据——它不是一个可以从公开数据里自动推导出来的变量。

但方向是对的。如果你一直在用 LLM agent 做用户行为模拟,却总觉得结果太「干净」、不像真人,那问题可能不在于模型不够大,而在于没有给它足够多的实际摩擦力。

代码已经在 GitHub 开源了(github.com/xiaweijie1996/socialagent),可以跑跑看——下次写 persona 的时候,多问一句:它知道自己做这件事有多麻烦吗?