CodexQA

Industry & PracticeHeadlines & Launches

ADK 评测里的用户模拟:用目标代替逐轮脚本

CodexQA 团队3 min read

Google 在 2025 年 11 月 7 日把用户模拟放进 ADK 评测。你给高层目标和轮次上限,模拟器在本地生成多轮用户发言,测试看意图是否达成,而不是逐句脚本。

ADK 评测里的用户模拟

Dima Melnyk,产品经理,Cloud AI。Sita Lakshmi Sangameswaran,高级开发者关系工程师,Cloud AI。2025 年 11 月 7 日。

智能体天生是对话式的。用户可能要追问、改先前的请求,并在需要时补充信息。可是为这种多轮对话手工编写测试,又脆又费时间。你写几十对 user_input 和 expected_output,智能体行为只要稍微一变它们就坏,测试维护变成烦人的杂务。

他们宣布 Agent Development Kit(ADK,智能体开发工具包)里的一项功能:用户模拟(User Simulation)。它让你离开对一条僵硬实现路径的测试,改为评测智能体是否真的达成了用户的意图。

用户模拟器是什么

核心上,用户模拟器是一个由大模型驱动的用户提示生成器。这第一版直接做进 ADK 评测框架,可以在本地跑。你给它一个高层目标,它就动态生成对话里的用户一侧,去追求这个目标。它不是单独的服务,是 ADK 里的一个工具,你在本地跑,以便形成快的、可迭代的内环。

它怎么工作

1. 定义一段对话场景

你提供的不是僵硬的逐轮脚本,而是一个 ConversationScenario。这是一个简单的 JSON 对象,有两部分:

  1. starting_prompt:一段固定的、用来开头的提示。
  2. conversation_plan:一段自然语言指引,告诉模拟器它的目标。

页面举的例子是一个带工具的智能体,工具用来掷骰子和检查质数。仓库:https://github.com/google/adk-python/tree/main/contributing/samples/hello_world

页面上的示例 JSON 在文本抓取里是空的,这里不补写页面没有留下的字段。

跑评测时,模拟器会动态处理来回对话,直到 conversation_plan 完成。页面也给了一段可能生成的对话示例,抓取到的正文是空的,这里不补写。

注意 conversation_plan 定义的是一串目标。它不规定用户的原话,也不规定智能体的预期原话。它只关心结果:先得到一次掷骰,再对那个结果做一次质数检查。因此测试能扛住智能体对话风格或内部逻辑上的小改动。

2. 配置模拟

你用一份 EvalConfig 文件直接控制模拟器的行为,按自己的测试需要微调。

可以配置的关键参数:

  • 模型:指定背后支撑用户模拟器的模型,例如 gemini-2.5-flash。
  • 模型配置:指定模型选项,例如思考行为。
  • 轮次预算:设置用户与智能体交互的最大次数(max_allowed_invocations),到了就结束对话,避免无限循环。

自定义行为:除了上面的参数,你可以覆盖默认系统提示,以改变模拟器的人物设定。这样可以测试智能体如何对付不同类型的用户,例如困惑的用户或更挑剔的用户。他们计划很快通过 EvalConfig 支持人物设定配置。覆盖默认系统提示的代码位置:https://github.com/google/adk-python/blob/dea7668d1a0c457260b5a0d763a48346bcdebe97/src/google/adk/evaluation/llm_backed_user_simulator.py#L42C1-L42C34

页面上的配置文件示例在抓取里是空的,这里不补写。

3. 运行评测

场景和配置就位后,可以跑评测,得到交互的详细分解。页面上的运行命令块在抓取里是空的,这里不补写。

这对开发者意味着什么

用户模拟的这一初始版本,聚焦于解决编写和维护多轮测试的眼前苦工。它帮助你:

  • 大幅减少编写测试的时间:不再写复杂的逐轮脚本,改为定义简单的高层目标。
  • 做出更扛改动的测试:关注意图而不是一条特定对话路径,这样你每次重构提示词,测试不会都坏。
  • 建立可靠的回归套件:快速生成一大批测试用例,做成安全网,在回归到达生产之前抓住它们。

他们认为,稳健的、面向目标的模拟,是做出可靠、可信的 AI 智能体的基础能力。这个功能是更大愿景的第一步:为智能体的整个生命周期提供一套完整的模拟能力。核心团队把这个功能做出来的人是 Ankur Sharma、Keyur Joshi、Pierre Thodoroff、Sebastian Caldas 和 Xiaowei Li。他们期待看到你做出来的东西,并欢迎你开始用时的反馈。

开始用:ADK 文档 https://google.github.io/adk-docs/evaluate/user-sim/ ,Colab 教程 https://github.com/google/adk-samples/blob/main/python/notebooks/evaluation/user_simulation_in_adk_evals.ipynb 。

出处:Dima Melnyk,Sita Lakshmi Sangameswaran,Announcing User Simulation in ADK Evaluation,2025-11-07,https://developers.googleblog.com/en/announcing-user-simulation-in-adk-evaluation ,CC BY 4.0。

Found it useful? Pass it on

WeChat

Scan with WeChat to open it on your phone and forward it.

Subscribe via RSS

Submit a correction