CMU开源Agentic Search日志数据:解构智能体行为,洞察搜索策略

CMU开源首个Agentic Search行为日志数据集,揭示智能体搜索行为模式,为智能体训练与系统设计提供数据基础。

原文标题:先解行为,再训Agent:CMU开源首份Agentic Search日志数据,把Agent拆开给你看

原文作者:机器之心

冷月清谈:

卡内基梅隆大学(CMU)的研究团队开源了首个Agentic Search行为日志数据集,该数据集包含超过1400万条搜索请求和约400万个会话,旨在填补对真实环境中智能体搜索行为缺乏系统刻画与分析的空白。研究团队提出了一个三层分析框架,包括会话意图、轨迹动作和检索信息采纳率(CTAR),利用大型语言模型进行会话切分和标签推断,从而揭示智能体搜索中普遍存在的下钻偏好、事实型任务中的重试循环,以及不同改写模式对历史检索信息依赖程度的显著差异。该研究为评估Agentic Search行为提供了大规模开源日志,并为智能体训练与系统设计提供了可复现的数据基础与可量化的行为信号。研究还提出了若干与系统设计直接相关的启示,例如将重复动作视作停滞信号、依据任务意图与轨迹模式自适应调整检索预算,以及通过检索信息采纳率监控智能体是否真正“读取并利用”检索结果。

怜星夜思:

1、文中提到Agentic Search在事实型任务中容易出现“重试循环”,你认为除了文中提到的中断重试循环的方法外,还有哪些更有效的方式来避免或解决这个问题?
2、文章中提出了CTAR指标来衡量Agent对于搜索到信息的利用程度,你认为CTAR指标是否足够全面?是否存在改进或补充的空间?
3、文章提到Agentic Search可以根据任务意图动态调整检索策略,你认为在实际应用中,如何准确识别用户的搜索意图?有什么技术难点和解决方案?

原文内容


在大模型驱动的 Agentic Search 日益常态化的背景下,真实环境中智能体 “如何发查询、如何改写、是否真正用上检索信息” 一直缺乏系统刻画与分析。


CMU 团队基于可重复检索平台 DeepResearchGym,从统一后端的半年真实流量中整理出 1400 万余条搜索请求、约 400 万个会话,在严格匿名化与清洗后,构建并于 Hugging Face 开源了首个 Agentic Search 行为日志数据集。


在此基础上,工作提出 “会话意图(Declarative / Procedural / Reasoning)→轨迹动作(专化 / 泛化 / 探索 / 重复)→检索信息采纳率(CTAR)” 三层分析框架,利用 LLM 进行会话切分与标签推断,刻画出智能体搜索中普遍存在的下钻偏好、事实型任务中的重试循环,以及不同改写模式对历史检索信息依赖程度的显著差异。


总体而言,该研究既为观察与评估 Agentic Search 行为提供了首个大规模开源日志,也为后续在智能体训练与系统设计中显式建模 “会不会搜” 提供了可复现的数据基础与可量化的行为信号。



  • 论文标题:Agentic Search in the Wild: Intents and Trajectory Dynamics from 14M+ Real Search Requests

  • 论文链接:



  • Hugging Face 开源数据集:DeepResearchGym Agentic Search Logs

  • 数据集链接:


01 从任务到行为:Agentic Search 的缺失一环


近年来,大型语言模型驱动的 Agentic Search 与 Deep Research 逐渐成为信息获取的重要形态,即系统不再只返回一页文件结果,而是通过智能体自动发起多轮检索、阅读文档、改写问题,再生成综合回答。


与之相对应,已有研究提出了多种基准任务和评测框架,用于衡量系统在问答、推理、工具调用等方面的性能。然而,这些评测大多基于构造好的题目和离散样本,缺乏对真实环境中智能体检索行为的系统观察与结构化分析


  • 多轮会话在实际使用中如何展开;

  • 不同任务类型下,智能体采用哪些检索策略;

  • 在多步改写过程中,检索证据信息在多大程度上真正影响了后续查询。


这篇 Agentic Search in the Wild: Intents and Trajectory Dynamics from 14M+ Real Search Requests 论文针对上述缺口,基于 DeepResearchGym(DRGym)平台提出了两方面贡献:


1. 从半年真实流量中整理出 超过 1400 万条 Agentic Search 请求、约 400 万个搜索会话,在严格匿名化与清洗之后,发布为 首个开源的 Agentic Search 行为日志数据集


2. 在此基础上,从 任务意图(intent) 与 检索轨迹(trajectory) 两个维度,系统分析智能体的搜索过程,并提出一个衡量 “是否利用检索到信息” 的指标 CTAR(Context-driven Term Adoption Rate)。



02 数据与平台:DRGym 日志概况


DRGym 是该团队搭建的一个面向研究用途的可重复检索平台(),对外提供统一的 /search API,后端基于密集检索,挂载在固定的 Web 语料快照上,例如 ClueWeb22、FineWeb 等。不同智能体可以以任意策略调用该接口,但所有请求都运行在统一的检索基础设施之上。


日志中的每条记录包含如下信息:


  • 查询文本 query_text;

  • 检索文档数量 num_of_docs(即 top-K);

  • 所用数据集 dataset(如 ClueWeb22 / FineWeb);

  • 检索预算相关参数 complexity;

  • 时间戳、匿名化 IP 等会话识别字段。


论文选取约半年时间窗口,得到来自横跨 25 个国家,近 600 个 IP 地址,超过 1400 万条请求日志,约 400 万个会话(session)。


这为验证日志是否具有广泛多元使用的多样性,而非某些基准题目的重复回放训练,作者从两方面进行了检查:


  • 使用文本向量表示(embedding)分析查询语义分布,结果显示查询覆盖的语义空间较为分散;

  • 将日志中的查询与若干常用 Agentic Benchmark 的题目进行语义匹配,重合比例极低。



隐私方面,日志经过了字段裁剪与匿名化处理:去除直接可识别信息,对自由文本进行 PII 清理,并重新生成会话级别的匿名 ID,最终在 Hugging Face 上公开。


03 从请求到会话:Session 切分方法


原始日志是时间顺序的请求流,要分析行为模式,需要先划分搜索会话。与传统人类 Web 日志不同,智能体请求往往高频且可并发,仅依赖固定时间阈值(例如 “间隔超过 30 分钟”)容易误分。


该工作采用了 语义 + 时间联合的 Sessionization 策略


1. 首先,基于一批相邻请求样本,通过 LLM 标注 “是否属于同一会话”,构建连续性标签;

2. 其次,使用查询的向量表示训练一个连续性判别模型,预测两条查询之间是否应归为同一 session;

3. 在线划分时,对同一匿名 IP 下的新查询,与当前所有活跃会话的末尾查询计算连续性分数,在分数与时间差均满足条件时并入对应会话,否则开启新会话。


这一策略最终得到约 400 万个 session。整体分布上:


  • 单轮会话仍然占据一定比例,但相当多的会话包含多步查询;

  • 大部分相邻请求的时间间隔在数秒到十几秒之内,体现出 agentic search 中 “高频、小步迭代” 的特征。



04 两层视角:任务意图与检索轨迹


在会话划分的基础上,论文从两层视角刻画 agentic search 过程:


  • 会话层面:Session Intent,即智能体在此次搜索中试图完成的任务类型;

  • 逐步步骤轨迹层面:Trajectory Move,即相邻两条查询之间的改写动作类型。


4.1 三类 Session Intent


作者沿用经典的 Web Search 目标分类,对多轮会话进行三类划分:


1. Declarative:陈述型 / 事实与知识检索

  • 典型问题包括 “是什么”“谁是”“列出……”。


2. Procedural:过程型 / 操作与步骤检索

  • 包括 “如何做”“如何修复”“完成某项任务的步骤” 等。


3. Reasoning:推理型 / 分析与比较检索

  • 包括 “为什么”“如何权衡”“多因素比较和规划” 等。


标注方式为,将一个 session 内全部查询串联,交由 LLM 进行意图分类,并在样本上用另一模型交叉验证,标签可靠性较高。


统计结果表明,日志中以陈述型任务为主,其次是推理型任务,过程型任务比例相对较小。不同意图下,会话长度与检索配置表现出明显差异,例如过程型任务更倾向一次性拉取更多文档,而推理型任务的查询文本往往更长、前后变化幅度更大。


不通过目标分类下的Query 样例


4.2 四类 Trajectory Move


在单个会话内部,相邻两条查询之间的变化被划分为四种改写动作:


1. Specialization(专化):增加约束,下钻到更具体的条件或子范围;

2. Generalization(泛化):去除约束,将查询放宽到更一般的描述;

3. Exploration(探索):在同一主题下转向新的侧面或子问题,例如从 “定位” 转向 “属性信息”;

4. Repetition(重复):语义基本不变的轻微改写或直接重试,例如改写语序、替换同义表达。


类似的这些标签基于 LLM 对查询对的判别结果获得,并结合向量相似度和检索结果重叠进行验证。整体来看,智能体呈现出明显的 “下钻偏好”(Drill-down Bias):专化与探索使用频率较高,泛化相对稀少,而在许多事实型会话的后期,重复动作显著增多,形成 “重试循环”。


案例1:事实型会话的后期形成“重试循环”


另一方面,智能体也表现出一定的 “重置 - 再细化”(Reset-then-Refine)模式,如下图可见,智能体先在一个宽泛主题上做专化(例如从 “拿破仑战役” 收窄到 “1796 年意大利战役”),随后通过去掉这些约束做一次泛化(得到更短、更宽泛的查询),再沿着另一个侧面重新专化(切换到 “埃及远征” 等新的细化方向)。


从查询长度的变化也能看出这一点,即专化通常会拉长查询,而泛化则会缩短查询。整体上,泛化在这里更像是一种轻量级回溯,用来在不同细化分支之间切换,而不是持续性地将查询维持在宽泛层级。


案例2:“重置-再细化”的步骤循环


05 Agent 对于搜索到信息的具体利用:

CTAR 指标


在多轮检索中,关键问题之一是:新的查询在多大程度上受到了既有检索信息的影响。由于日志中没有点击、停留时间等显性交互信号,论文提出了一个简单的间接度量:CTAR(Context-driven Term Adoption Rate)


计算方法概括如下:


  • 对相邻查询对 q_k → q_{k+1} 进行分词与停用词过滤;

  • 找出 q_{k+1} 中首次出现的 “新词”;

  • 在上一步或累积至今的历史检索结果中检查这些新词是否以词面形式出现;

  • CTAR 即为 “在上下文中出现的新词占全部新词的比例”。


这个指标带来的核心发现包括:


1. 整体 CTAR 超过一半


 大约一半以上的新词可以在之前检索到的文档中找到。这表明,在相当多的步骤中,智能体并非完全凭空提出新的条件,而是从已有获取信息中采纳术语和约束。


2. 不同 Trajectory Move 的 CTAR 存在显著差异


 专化和探索动作的 CTAR 明显高于平均水平,说明这两类改写更依赖已有文档信息;重复动作的 CTAR 则较低,通常对应表述上的微调或重试,而非基于新信息的策略调整。


3. 历史上下文具有额外贡献


 只看上一轮检索结果时,CTAR 较低;将更早步骤的文档一并纳入后,CTAR 稳定提升,说明部分新词来源于更早的检索信息,智能体在一定程度上会 “回溯” 历史上下文。



需要强调的是,CTAR 仅刻画 “新词在检索信息中的可追溯性”,并不直接等价于因果利用;但由于定义简单且易于解释,适合作为衡量 “是否参考检索上下文” 的粗粒度指标。


06 对 Agentic Search 系统设计的启示


基于上述行为分析与 CTAR 指标,论文在结尾讨论了若干与系统设计直接相关的启示:


1. 重复动作可视为潜在 “停滞信号”


 在大量陈述型会话中,随着 Agent 步骤推进,重复改写的占比明显提高,其检索结果高度重叠且 CTAR 较低。这种模式可以视为系统进入 “原地重试” 的信号。在工程上,可以基于重复率、结果重叠度和 CTAR 等联合特征,检测并中断重试循环,强制触发泛化或探索策略,或切换到更高配置的工具链。


2. 检索预算应随任务意图与轨迹自适应调整


 日志表明,现有许多智能体将检索深度 K 写死为有限几个固定值,在同一会话内几乎不做调整。然而,不同意图和轨迹状态对检索策略的需求显然不同,即过程型任务更依赖一次性较宽的文档覆盖,推理型任务则往往更需要多轮细化与验证。因此,更合理的设计是,先对会话意图进行识别,再结合当前轨迹(如是否处于探索阶段、是否陷入重试)动态调整 top-K、上下文长度与工具组合,而非采用全局统一配置。


3. 将 CTAR 等 “信息采纳率” 指标纳入系统监控


 CTAR 在不同改写类型之间具有明显区分度,在专化和探索步骤中,CTAR 高时往往对应基于检索信息的实质推进,而重复步骤中 CTAR 较低则更可能反映策略停滞。

 因此,可以将 CTAR 一类指标纳入系统的观测与调度逻辑:当长时间观测到 CTAR 偏低或在特定模式下急剧下降时,触发算法层或工作流层面的干预与重规划。


07 结语:从第一份开源日志

到 Agentic IR 的 “常识层” 认识


整体来看,这篇工作完成了三件具有基础设施意义的事情:


1. 提供首个开源的 Agentic Search 行为日志数据集


基于 DRGym 平台采集并清洗的 1400 万 + 请求、约 400 万会话,在经过匿名化处理后,在 Hugging Face 平台公开,为后续研究提供了可复现的行为数据基础。


2. 提出面向 Agentic Search 的 “意图–轨迹–信息利用” 分析框架


通过三类 Session Intent、四类 Trajectory Move 以及 CTAR 指标,从结构和内容两个维度刻画智能体搜索过程,为后续的行为建模、策略比较和训练目标设计提供了分析工具。


3. 将若干经验性观察固化为可量化的设计建议


具体包括,将重复改写视作停滞信号、依据任务意图与轨迹模式自适应检索预算,以及通过检索信息采纳率监控智能体是否真正 “读取并利用” 检索结果。


对于从事信息检索与智能体系统研究的读者,这份数据与框架为理解和改进 agentic search 提供了新的切入点;对于工程实践者,则可以据此审视现有系统的行为模式,并据实引入新的监控和控制机制。


作者简介:


本论文第一作者为卡内基梅隆大学计算机学院语言技术研究所硕士研究生 Jingjie Ning,研究方向聚焦信息检索、DeepResearch、Query 理解与强化、推荐系统 Benchmark 等工作。Jingjie Ning 师从 Jamie Callan 教授及 Chenyan Xiong 教授。在卡内基梅隆大学前,Jingjie 曾在腾讯任职 Senior Data Scientist。个人主页:



© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


从更学术的角度来看,我认为可以引入**马尔可夫决策过程(MDP)**的思想。将智能体的搜索过程建模成一个MDP,状态是当前的搜索状态,动作是改写查询,奖励是搜索结果的相关性。如果智能体一直在几个状态之间循环,并且奖励一直没有显著提升,那就可以判断为陷入了重试循环。当然,实际应用中需要考虑计算复杂度和数据稀疏性问题。

与其纠结于如何精确地衡量“理解程度”,不如换个思路,关注搜索结果的多样性。如果智能体每次搜索都返回类似的结果,即使它的CTAR很高,也可能只是在重复利用相同的信息。所以可以尝试引入一些鼓励探索的机制,比如增加随机性、引入新数据源等,让智能体接触到更丰富的信息,从而提升最终效果。

如果用“游戏”来类比,Declarative像“找茬游戏”,Procedural像“攻略游戏”,Reasoning像“解谜游戏”。所以我觉得,策略的关键在于引导方式。Declarative要引导用户精准提问,Procedural要引导用户按部就班,Reasoning要引导用户深入思考。甚至可以根据用户的历史行为,为他们推荐不同的“游戏难度”。

除了中断重试循环,我觉得可以尝试引入一些“随机性”。比如,在查询改写时,不要总是选择概率最高的词,而是有一定的概率选择一些不那么常见的词,说不定能带来意想不到的结果。另外,也可以尝试引入外部知识库,给Agent提供更多的背景知识,帮助它更好地理解问题。

CTAR 就像在看学生考试,只检查学生有没有抄书上的原话,但没检查学生是不是真的理解了书的内容。个人觉得可以借鉴知识追踪(Knowledge Tracing)的思想,建立一个智能体的“知识状态”模型,跟踪智能体在搜索过程中学习到的知识。 然后,可以通过以下方式来评估智能体对信息的利用情况: 1. 知识增益: 智能体在搜索过程中,知识状态的提升程度。 2. 知识应用: 智能体是否能够利用学到的知识来解决新的问题。 3. 行为预测: 智能体的行为是否符合其知识状态? 例如,如果智能体已经学习了某个概念,那么它应该能够正确地使用这个概念来生成查询。

任务意图识别可以利用自然语言理解技术,对用户的查询进行语义分析,判断用户的目标是获取信息、完成任务还是进行推理。在轨迹状态判断方面,可以监控智能体的查询历史,分析查询之间的相似度、检索结果的重叠度以及CTAR等指标的变化趋势。例如,如果查询之间的相似度很高,且检索结果的重叠度也很高,那么可能表明智能体陷入了重试状态。

重试循环,本质上是Agent在小范围内找不到答案的一种困境。想象一下,一个学生解题,反复用同一种方法,结果当然还是一样。解决办法也类似,一是跳出舒适区,尝试其他方法(如文章中提到的策略),二是寻求外部帮助(比如更强大的工具链)。更进一步,是不是可以训练Agent具备“元认知”能力,让它自己判断是否陷入了重试循环,并主动寻求突破?

可以加入对文档质量的评估,如果新词出现在高质量的文档中,那么CTAR的权重应该更高。#CTAR指标

CTAR 只是一个起点,要全面评估 Agent 的理解和应用,还需要考虑“推理深度”。Agent 是否能够基于搜索结果进行逻辑推理,得出新的结论?这才是更高级的信息利用方式。

针对“重试循环”,我觉得可以尝试引入知识图谱。如果Agent在检索初期就能较为准确地定位到相关实体,那么后续的Query改写就可以围绕这些实体展开,避免在语义相近的Query上反复试错。再或者,可以考虑给Agent增加一个“记忆”模块,记录历史检索结果和尝试过的Query,避免重复探索。

准确识别用户搜索意图确实是个挑战。简单的问题可以通过关键词匹配,但复杂的问题往往需要理解用户的深层需求。我觉得可以结合Query理解和用户画像。一方面,利用NLP技术对Query进行语义分析,识别用户的核心需求和潜在意图;另一方面,结合用户的历史行为数据,构建用户画像,推断用户的兴趣偏好和知识背景。然后,综合考虑这两个因素,做出更准确的意图判断。

不要忘了利用上下文信息!在多轮对话中,用户的意图可能会随着对话的进行而发生变化。所以,我们需要结合用户的历史Query和Agent的回复,综合判断用户的当前意图。比如,如果用户一开始询问“北京的天气”,后来又询问“北京的景点”,那么我们可以推断用户可能想了解北京的旅游信息,从而调整后续的检索策略。

从系统设计的角度,可以考虑引入A/B测试。针对不同的Query改写策略和检索参数,进行线上A/B测试,观察用户行为数据(比如点击率、停留时间等),从而选择最优的策略组合,并不断迭代优化。这样可以避免过度依赖人工经验,更加科学地提升检索效果。

从用户体验的角度来看,最终还是要看Agent给出的答案是否能够满足用户的需求。所以,可以将CTAR与用户反馈结合起来,构建一个更完善的评估体系。例如,可以设计一个用户满意度调查问卷,询问用户对Agent给出的答案是否满意,是否解决了他们的问题。然后将用户反馈与CTAR等指标进行关联分析,找出最能提升用户满意度的策略组合。

我有一个比较“玄学”的想法,既然是Agent,那就应该模拟人类的思维过程。人在遇到问题时,如果一直找不到答案,可能会选择暂时放弃,换个时间再尝试。那么,我们是否可以为Agent设置一个“冷却”时间,让它在连续多次失败后暂停检索,过一段时间再重新开始,也许会有新的发现。

我更倾向于使用主动学习的方法。一开始,我们可以先用一些简单的规则或模型进行意图识别,然后根据用户的反馈不断调整和优化模型。比如,如果用户对Agent给出的答案不满意,我们可以追问用户:“您是想了解哪方面的信息?”,然后将用户的回答作为新的训练数据,用于改进意图识别模型。这种方法可以不断适应用户的需求变化,提升意图识别的准确率。

CTAR作为一个初步的指标,衡量“新词在检索信息中的可追溯性”的确有其价值。但正如作者自己也承认的,它并不直接等价于因果利用。举个例子,新词出现在检索结果中,可能是因为巧合,也可能Agent只是简单地复制粘贴,并没有真正理解其含义。所以我觉得可以引入一些语义分析的技术,判断Agent是否真正理解了检索结果,并将其融入到后续Query中。比如,可以计算新Query和历史检索结果的语义相似度,或者使用一些NLP模型来判断Query的流畅性和逻辑性。

我觉得CTAR过于关注词汇层面的重叠,忽略了更深层次的语义关联。有时候,Agent可能会使用不同的词汇来表达相同的含义,或者对检索结果进行概括和总结。为了更全面地衡量Agent对信息的利用程度,可以考虑引入一些基于知识图谱的推理技术。例如,如果Agent在Query中使用了某个实体的属性,而该属性可以通过知识图谱从历史检索结果中推导出来,那么就可以认为Agent有效地利用了检索信息。