← 返回 2026-04-21

面向跨会话个性化工具调用的潜在偏好建模 Latent Preference Modeling for Cross-Session Personalized Tool Calling

Yejin Yoon, Minseo Kim, Taeuk Kim 📅 2026-04-20 👍 4 2026-07-13 08:36
Benchmark LLM Agent Memory Mechanism Personalization Tool Use

提出 MPT 基准与 PREFINE 方法,将用户偏好建模为可修订的假设,以极少 token 解决工具调用中的潜在偏好推理问题。

前置知识

LLM Agent 与工具调用

LLM Agent 是基于大语言模型构建的自主系统,可通过调用外部 API(如查天气、订机票)来完成复杂任务。工具调用要求 agent 输出结构化的函数调用(如 GetFlights(origin="London", destination="Paris", flight_class="Economy")),每个参数必须有完整的具体取值,这被称为 schema-aligned(schema 对齐)的 API 调用格式。

本文核心问题就是工具调用中的参数缺失:当用户说"订一张机票"时,flight_class 等参数未被显式给出,agent 必须基于历史偏好补全,这是理解全文的起点。

潜在偏好(Latent Preference)

指未在对话中显式表达、但通过反复行为模式体现出的用户决策约束。例如用户总选便宜餐厅、免费景点、紧凑车型,这些行为背后隐含了"预算敏感"这一持久约束。潜在偏好不是某一具体选择,而是抽象的决策层级约束,需要从跨会话的嘈杂历史中聚合而来。

本文与传统个性化推荐最关键的区别就是:偏好不直接给在 profile 里,必须从交互历史推理出来。这是 PREFINE 的核心挑战,也是理解 Preference Recall/Induction/Transfer 三分法的基础。

Memory-Augmented Agent 与 RAG

Memory-Augmented Agent 通过显式的长期记忆模块存储过往交互,使 agent 在多轮/多会话间保持状态。RAG(Retrieval-Augmented Generation)是其中一种典型形式:把历史嵌入到向量库,测试时检索 top-k 相似片段拼接到 prompt 中。其他代表方法包括 Mem0(事实抽取+覆写)和 LangMem(LLM 结构化重写)。

本文 PREFINE 属于这一家族,但把"记忆内容"从具体事实提升到抽象约束,并提出 generate-verify-refine 循环更新机制——理解这些对比方法的差异是看懂 PREFINE 创新点的前提。

Self-Refinement 与 Self-Verification

Self-Refinement 范式让 LLM 先生成候选答案,再用 LLM 作为批评者评估,发现不足后让原 LLM 重写(Madaan et al. 2023 提出 REFINE)。Self-Verification 是其中关键模块,给出可结构化的通过/拒绝判断与改进意见。多次迭代能让输出逐步逼近期望形式。

PREFINE 显式借鉴这一思想,把"generator→verifier→refine"循环应用在偏好记忆更新上,去掉过具体、证据不足的假设,保留跨会话一致且可迁移的抽象约束。

研究动机

在 LLM 驱动的 agent 应用中,用户提出请求时常常省略关键细节(如"订一张去巴黎的机票"省略舱位),导致 API 调用参数欠完整,必须借助过往行为推断。已有方法多假设用户偏好是显式可用的:要么以 user profile 形式预定义,要么通过单条指令反复声明,要么局限在受限域内重复同一动作。然而真实场景更复杂——用户从不提供 profile,且行为横跨十几个领域(餐饮、机票、酒店、租车、景点),信号稀疏且异构。例如在 Schema-Guided Dialogue(SGD)数据中,预算相关证据分散在 price_range、average_star、car_type、free_entry 等异构槽位中;单看任一领域都无法独立推断偏好。

本文的目标是本文构建一个用于评测"多会话 + 历史驱动 + 隐式偏好推理"能力的基准 MPT,并提出在测试时无需额外训练即可工作的记忆增强方法 PREFINE,最终目标是用尽可能少的 token 把欠完整 API 参数补全为正确值,同时保持对动态工具 schema 的迁移能力。

与已有工作不同的是,已有工具调用基准(BFCL、τ-bench、Nexus 等)几乎都把 agent 看作"无状态决策器",只用当前会话做规划与失败恢复;而个性化工具调用相关工作(Moghe et al. 2024、Personalized Tool Calling)则把偏好当作静态约束输入。本文切入的是这两个极端的中间地带:偏好既不显式给出,也不是单次决定就能锁死的,而是从跨会话的嘈杂历史中持续累积、更新、可修订的潜在假设。

核心方法

PREFINE 把"用户偏好"视作关于 API 参数选择的潜在、可修订假设,并用一个 generate–verify–refine 循环在每个新会话结束后维护这份假设。具体来说,在第 T+1 个会话来临时,agent 把当前会话对话 $s_{T+1}$、当前已执行的工具调用 $a_{T+1}$ 与上一会话保留的记忆 $M_T$(即上一轮被验证通过的偏好假设文本)一起输入 generator,让它提出若干候选偏好假设 $h^{(1)}, h^{(2)}, \ldots$;verifier 依据四项准则评估每个候选是否通过;不通过则把反馈送回 generator 改写,循环上限三次。这种"渐进抽象"的设计动机是:单看一个会话只能得到过具体或证据不足的猜测,必须叠加多个会话的相互一致信号才能蒸馏出可复用的横跨域约束。

和 RAG/Mem0/LangMem 的本质区别在于记忆内容与更新方式。RAG 存储原始语句片段(utterances),记忆永不更新;Mem0 抽取事实三元组并可覆写,但仍是字面事实;LangMem 用 LLM 把记忆重写成结构化事实。它们都没有跨域抽象和假设可信度校验。PREFINE 的记忆不是单条事实,而是一个单独的、可被整段替换的"潜在偏好约束文本",且更新不是简单的追加/覆写,而是基于 verifier 反馈的迭代精炼——把"过具体"或"证据不足"的猜测改写成"语义抽象+跨域一致+可执行"的形式。

方法步骤详情

PREFINE 一次工作流包含四步:(1) 输入聚合。读取当前会话对话 $s_{T+1}$、用户在该会话触发的工具调用 $a_{T+1}$(含各参数取值),以及上一轮保留的偏好假设 $M_T$;时间、地址等瞬时槽位被显式排除以避免和偏好混淆。(2) Generator 提出假设。LLM 根据"preference reasoning is holistic and non-decompositional"的指令输出形如 $$\texttt{"implicit\_pref": "Prefer budget-friendly options"}$$ 的 JSON,给出抽象级别的判断而非槽位列表。(3) Verifier 四项判定:Evidence Support(必须有多个相互一致的会话支撑)、Abstaction Quality(不能只是某槽位取值的复述,需跨域泛化)、Actionability(必须能影响未来 API 参数选择)、Temporal Consistency(与最近稳定行为不矛盾)。不通过则在反馈中标注 over-specificity、hallucination、lack of abstraction、non-actionability 中之一。(4) Refine 与提交。Generator 根据反馈改写假设,最多迭代三次;通过的那条直接替换 $M_T$ 成为 $M_{T+1}$,作为下一会话决策的记忆输入。推理阶段则把当前查询 $q$ 与 $M_{T+1}$ 一同喂给工具调用模型,让模型在 schema grounding 层把抽象约束翻译为具体参数值。

技术新颖性

PREFINE 的技术新颖性体现在三点:(a) 双重抽象层——记忆层只存抽象约束,schema grounding 在推理时完成,因此记忆可在槽位名/参数取值变化的 API 间迁移(GPT-5 在动态 schema 下 P-EM 从 3.75% 跃升到 47.00%);(b) 假设形式化——把"偏好"显式建模为可被接受或拒绝的命题,并用生成对抗式的 verifier 评估,而不是仅靠 embedding 相似度检索;(c) 持续验证机制——Verifier 四准则可被视为对"潜在偏好"的可证伪约束,避免传统记忆系统中"事实越多越好"的累积偏差。

Overview of MPT construction
Figure 2: Overview of MPT construction
PREFINE's generate-verify-refine loop
Figure 3: PREFINE's generate-verify-refine loop
Illustration of the three preference modeling types in MPT
Figure 7: Illustration of the three preference modeling types in MPT
Prompt templates for the PREFINE generator and verifier
Figure 9: Prompt templates for the PREFINE generator and verifier

实验结果

在 MPT(265 多会话、2020 会话、39884 turn)上的对比实验揭示三个主要发现。第一,"基线模型能 Recall 但不能 Induction/Transfer":以 GPT-5 为基线,context-guided 下 Preference Recall P-EM 51.20%,但 Preference Transfer 仅 23.94%;context-free 设置下 F1 从 Recall 的 70.50 降到 Transfer 的 23.85,下降幅度远超其他任务,说明传统"检索+记忆"范式难以从跨域信号中蒸馏抽象约束。第二,PREFINE 一致提升八款推理模型:context-guided 下 Preference Recall 平均 P-EM 提升 13.11 个百分点,Induction 提升 6.88 个百分点,Transfer 提升 2.87 个百分点;context-free 下 Transfer F1 提升 5.20 个百分点。在 Preference Transfer 这种极端泛化场景中,GPT-5 + PREFINE 把 context-guided P-EM 从 32.42% 提升到 37.95%、context-free F1 从 55.13% 提升到 61.81%。第三,token 效率极高:PREFINE 平均每条对话只用 23.28 tokens,是完整对话历史的 1.24%,且随会话数累积几乎不变(十个会话后仍约 20–25 token),相比 LangMem/Mem0/RAG 有 80%+ 的 token 压缩;同时偏好驱动的"动作空间对齐"让平均预测参数数量与真实值的绝对偏差从 0.77 降到 0.56(context-guided)和 1.08 降到 0.77(context-free),约 28% 的减少,说明模型减少了对幻觉参数的过度预测。第四,跨 schema 迁移有效:在完全未见过的 7 个新 API 域(GetCampground、GetCityTour 等)上,GPT-5 context-guided P-EM 从 3.75% 提升到 47.00%,Gemini-3-Flash 也保持类似增益,验证了"记忆抽象、推理落地"设计的有效性。

Comparison of memory-augmented methods in terms of content and memory update mechanisms
Table 1: Comparison of memory-augmented methods in terms of content and memory update mechanisms
Example of preference modeling with PREFINE via the generate-verify-refine loop
Table 2: Example of preference modeling with PREFINE via the generate-verify-refine loop
Performance comparison between baselines and PREFINE under context-guided and context-free query settings
Table 3: Performance comparison between baselines and PREFINE under context-guided and context-free query settings
Full API schema for MPT
Table 4: Full API schema for MPT
Full preference-to-argument mapping with identical slot values grouped
Table 5: Full preference-to-argument mapping with identical slot values grouped
Statistics of MPT
Table 6: Statistics of MPT
Examples of context-guided and context-free queries in MPT
Table 7: Examples of context-guided and context-free queries in MPT
Extended API schema and preference mappings used in the dynamic-schema evaluation
Table 8: Extended API schema and preference mappings used in the dynamic-schema evaluation
Versions and release dates of the LLMs used in our experiments
Table 9: Versions and release dates of the LLMs used in our experiments
Comparison of PREFINE with a refinement budget of 3 vs. 10 iterations
Table 15: Comparison of PREFINE with a refinement budget of 3 vs. 10 iterations
Performance under dynamic schemas
Table 16: Performance under dynamic schemas
Average number of predicted API arguments per model under Base prompting and PREFINE
Figure 4: Average number of predicted API arguments per model under Base prompting and PREFINE
Memory footprint comparison across methods
Figure 5: Memory footprint comparison across methods
Domain-wise distribution of preference groups per example and API call frequency per example
Figure 6: Domain-wise distribution of preference groups per example and API call frequency per example
查看结构化数据
任务指标本文基线提升
Preference Recall (context-guided) - OA-F1 Overall F1 over all arguments 59.18 (PREFINE avg) 44.37 (Base avg) / 53.19 (Best per-model) 约 +15.8 pct point 提升,平均相对增益最显著 (Gemini-3-Flash 65.76→67.18, GPT-5 61.42→63.98)
Preference Induction (context-guided) - OA-F1 Overall F1 over all arguments 54.08 (PREFINE avg) 44.81 (Base avg) 约 +9.3 pct point;GPT-5: 64.01→64.80; GPT-5-mini: 61.78→65.16
Preference Transfer (context-guided) - P-EM Preference Exact Match on under-specified arguments GPT-5 + PREFINE 26.19; Gemini-3-Flash + PREFINE 18.81 Base GPT-5: 23.94; Base Gemini-3-Flash: 14.62 GPT-5: +2.25 pct point; Gemini-3-Flash: +4.19 pct point(Preference Transfer 是最困难任务,相对提升仍稳健)
Preference Recall (context-free) - F1 F1 over preference-driven completions 64.51 (PREFINE avg) 53.19 (Base avg) 约 +11.3 pct point;GPT-5: 70.50→78.41; Gemini-3-Flash: 73.55→77.75
Memory Token Footprint Tokens consumed per dialogue 23.28 tokens (1.24% of full history) 全对话历史约 1880 tokens; RAG 检索 top-5 约消耗数百 token 相对完整 prompt 节省 98.76%; 比其他 memory baseline 再降 80%+;且不随会话数增长(10 会话后仍约 20-25 token)
Action-Space Alignment (context-guided) Predicted-arg-count 偏差绝对值 0.56(GT = 3.84) 0.77(Base Prompting) 偏差降低 28.1%,显著减少幻觉参数和遗漏必需参数
Dynamic Schema Generalization (GPT-5 context-guided P-EM) Preference Exact Match on under-specified args 47.00 Base 3.75; RAG 3.00; LangMem 8.75 几乎 +43 pct point 的绝对飞跃,证明 schema-agnostic 记忆可重新锚定到新 API

局限与改进

作者承认两点限制。第一,preference group 仍以 SGD 的预算/旅行两类为主(58 个 API-参数对、2 个偏好组),更细致的偏好类型(如时间偏好、品牌偏好)需要在未来扩展。第二,PREFINE 仅在测试时工作,没有训练过程,因此对底层 generator/verifier LLM 的能力敏感——以 Gemma-3-12B 为推理底座时 context-free Preference Transfer F1 仅 8.45(Base 为 10.46),说明小型模型难以有效利用摘要化的偏好。我观察到:(i) 当 base LLM 已经在 Base Prompting 下"过度保守"(如 R1-Distill-Llama-8B 在 context-guided 下预测参数数比基线还少,3.34→2.85),PREFINE 的"动作空间窄化"会进一步压低 EA-F1(出现 trade-off 现象);(ii) context-guided 与 context-free 是分开优化的两个独立指标,但训练中一个偏好假设可能在两种查询下表现不均衡——目前缺乏对这一不对称性的诊断。

独立分析的弱点

独立分析观察到三点弱项。其一,验证-精炼循环最多 3 次,依据是附录 C.5 显示从 3 次扩到 10 次仅对 Preference Transfer 提升 0.034,但当偏好证据非常稀缺时(如 Transfer 任务),单次循环就卡死风险仍存在;当 generator 持续提出相似但都被 reject 的假设,会浪费三轮调用却没有 fallback 策略。其二,Schema-Agnostic 是双刃剑:把记忆做成纯文本约束虽然利于迁移,但完全依赖推理时模型的 schema grounding 能力,对中小模型(R1-Distill-Qwen-7B)效果差,context-free Preference Transfer F1 仅 13.18,远低于 GPT-5 类大模型的 27.64。其三,单条偏好假设 $M_T$ 是字符串而非向量,无法被并行检索或批量对比;当用户实际有多条相互冲突的偏好(如预算敏感但偶尔奢华消费)时,单字符串表达会强行收敛到其中一条,造成系统性偏差。改进方向:为弱底座模型加 schema-aware hint;在 $M_T$ 旁引入置信度/版本号;允许多候选记忆并依据上下文路由。

未来方向

作者在结论中明确提出三条延伸方向:(1) 扩展偏好分类法到预算/旅行之外的属性(如时间偏好、品牌忠诚度、社交偏好),并相应扩展 MPT;(2) 处理偏好本身的演化(用户在生命周期内可能改变倾向),当前 $M_T$ 只能被覆盖或拒绝,缺乏"旧偏好降权、新偏好优先"的显式机制;(3) 研究更长更嘈杂的交互序列,MPT 当前平均 7.6 会话/对话,多月级别的真实部署需要新基准。基于成果还可延伸:(a) 把 PREFINE 的 generate-verify-refine 范式迁移到"个人 agent 跨任务规划"或"医疗/法律咨询"等高风险领域,其中错误的事实级记忆会带来更大危害;(b) 与 RLHF/RLAIF 结合,让 verifier 也能从用户反馈中学习,进一步压低 token 用量。

复现评估

复现友好性较好:作者在 huggingface 上发布 MPT 数据集(HYU-NLP/MPT),并在 GitHub 公开 PREFINE 完整代码(HYU-NLP/PRefine),论文附 25 页附录详细说明 prompt 模板(Figure 9/10)、LLM 版本(Table 9,涵盖 8 个推理模型 + 4 个记忆构造模型共 32 种组合)、schema 映射(Table 4/5/8)和人类验证(19 标注者,Fleiss' κ budget 0.701/travel 0.880)。计算需求:8 个推理 + 4 个 generator LLM 中部分为商业 API(GPT-5/4o-mini/Gemini-3-Flash)但都有明确的 model identifier 和 reasoning effort 配置,开源模型 CodeGemma-7B、Gemma-3-12B、R1-Distill-Llama-8B/7B 均可在单卡 A100 上跑通;困难点在于闭源模型的版本快照(gemini-3-flash-preview、gpt-5-2025-08-07 等)会随时间被替换,附录 C 提供了完整的数值结果可直接验证。最大潜在复现难度是:偏好标注(58 对映射)需要约 19 人的主观判断,原始标注不可重放。