跳到主要内容

AI Agent 如何在任务执行中动态切换模型、Skill 与提示词

长任务开始后,最初选择的模型、Skill 或提示词不一定始终适合后续阶段。资料整理需要速度和上下文容量,复杂分析更依赖推理质量,最终交付又可能需要不同的写作方法。

传统做法是停止任务、创建新会话、重新上传材料,再手工说明已经完成了什么。这样容易丢失计划、文件引用和已经确认的上下文。

xAgent 允许用户在同一个 Agent 会话中调整模型、请求策略、提示词、常驻 Skill、常驻 Tool 和密钥选择。修改保存后,后续执行步骤使用新的会话配置,不需要删除会话或重新开始整个任务。

什么是任务执行中的热切换

热切换是指保留当前会话、历史消息、计划、任务状态和工作区产物,只调整当前会话接下来如何执行。

它不代表强行修改一个已经发送给模型的请求,也不会在 Tool 执行到一半时替换它。新配置从后续模型请求或后续执行步骤开始生效。

为什么不同阶段需要不同配置

阶段更关注的能力
资料读取与整理速度、上下文容量、文件处理稳定性
复杂分析与决策推理质量、约束遵循和验证能力
内容撰写结构、表达、语言风格和受众适配
文件生成输出格式以及 Tool 与 Skill 配合
外部发送连接状态、审批和目标确认

让一个模型和一套方法承担全部阶段不一定最经济,也不一定能获得最佳结果。

动态切换模型

用户可以在 Agent 会话的高级设置中选择当前会话后续使用的模型,并按需要调整会话级模型策略。

模型切换后:

  • 当前会话历史仍然保留。
  • 后续模型请求读取新的会话模型配置。
  • 上下文预算按照新模型的配置重新判断。
  • Tool、Skill、计划和工作区文件仍属于原会话。

如果某次模型请求已经发出,当前请求仍由原模型完成。对于已经绑定模型的独立执行步骤,也会先保持本次执行的一致性,再让新配置影响后续未绑定的调用。

因此,模型热切换的准确含义是“不停止会话即可切换后续模型”,而不是在同一个流式响应生成到一半时更换模型。

适合切换模型的情况

  • 当前模型的上下文不足以处理现有材料。
  • 初步整理已经完成,需要更强模型进行复杂判断。
  • 推理阶段结束,希望用更适合写作的模型生成报告。
  • 当前模型 Tool Calling 不稳定。
  • 当前模型供应商暂时不可用。

切换前应确认新模型支持任务所需能力,特别是 Tool Calling、视觉输入和足够的上下文长度。

动态调整 Skill

xAgent 支持两类 Skill 选择:

  • 常驻 Skill:由用户在高级设置中选择,作为当前会话持续使用的方法基线。
  • 按需 Skill:Agent 在执行过程中发现和加载,并可在不再适用时卸载。

高级配置只展示用户明确设置的常驻 Skill。Agent 在任务执行过程中通过 skill_findskill_load 等核心能力自主发现和加载的 Skill,属于当前会话的运行时能力,不会回写到高级配置,也不会显示为常驻 Skill。

Skill 选择或内容变化后,xAgent 会在后续上下文装配时重新读取当前用户真正可用的 Skill 内容。缓存会根据实际 Skill 内容变化重新生成,不会因为名称相同而永久使用旧版本。

用户可以在分析阶段加入研究 Skill,在交付阶段切换到报告 Skill,也可以更新个人 Skill 后继续在原会话中验证新版本。

加载 Skill 只改变后续方法指导,不会自动获得 Tool 权限,也不会自动执行 Skill 中描述的动作。

动态调整提示词

用户可以在高级设置中修改当前会话的 Agent Prompt。例如:

从现在开始,先给出证据和不确定性,再给出结论。最终结果面向管理层,避免使用开发术语。

保存后,xAgent 会更新当前会话的提示词事实,并刷新后续请求使用的稳定提示词前缀,无需清空历史或重启服务。

部分子 Agent 还可以通过受控能力修正自己的提示词,但只能修改当前会话的角色提示词正文,不能借此同时改写 Tool、Skill、密钥或其他安全配置。

提示词修改不会改写历史消息,也不会让以前的结果自动重新计算。需要新结果时,应要求 Agent 按新规则重新检查或生成。

Tool 和密钥也可以调整

高级设置还允许用户维护当前会话的常驻 Tool 和可引用密钥名称。

与 Skill 相同,高级配置中显示的 Tool 都是用户明确选择的常驻 Tool。Agent 通过 tool_findtool_load 等核心能力按需发现和加载的 Tool 只在会话运行时生效,不会自动出现在高级配置中。

  • 新增常驻 Tool 后,后续请求会根据当前可用状态装配相应 Tool。
  • 移除常驻 Tool 不会撤销已经执行完成的外部操作。
  • Tool 是否真正可调用仍受 MCP、连接器、运行状态、权限和审批策略影响。
  • 密钥设置只选择允许引用的密钥名称,真实值不会进入模型上下文。

只在某个阶段临时需要的能力,可以使用动态 Tool 发现与加载,不必永久设为常驻 Tool。

哪些内容会保留

动态调整会话能力时,会话历史、用户补充信息、计划、任务状态、工作区文件、会话附件、稳定文件引用、已完成 Tool 结果以及主/子会话关系都会保留。

新模型或新 Skill 可以继续使用这些事实,但仍应重新验证关键结论,不能因为历史中出现过某个结果就默认它在新阶段仍然正确。

一个分阶段示例

用户需要完成一份行业研究报告:

  1. 使用速度较快、上下文较大的模型读取材料。
  2. 加载研究整理 Skill,建立来源和证据清单。
  3. 材料准备完成后,在同一会话切换到推理能力更强的模型。
  4. 调整提示词,要求明确区分事实、推断和不确定性。
  5. 加载报告生成 Skill,把研究结果制作成 HTML 报告。
  6. 使用原工作区文件复查,不需要重新上传材料。

整个任务仍属于同一个会话,但不同阶段可以使用更合适的模型和方法。

如何安全地微调当前任务

  1. 先保存当前阶段可复用的产物或状态说明。
  2. 每次优先只修改一个主要变量。
  3. 修改提示词时写清楚“从现在开始”的规则。
  4. Skill 只加载与当前阶段准确匹配的能力。
  5. 切换模型后先执行一个可验证的小步骤。
  6. 对重要结果重新检查,不假设新旧模型判断完全一致。

热切换的边界

  • 不会中途替换已经发送的单次模型请求。
  • 不会中断并改写正在执行的 Tool 调用。
  • 不会修改已经生成的历史消息和文件。
  • 不会绕过 Tool 权限、工作区边界或审批策略。
  • 不会把 Skill 变成模型训练或参数更新。
  • 上下文压缩期间,部分会话配置操作可能暂时冻结。

热切换的价值是保留任务连续性,同时让后续步骤使用更合适的配置,而不是让已经进行中的每个内部动作都能被无条件替换。

相关概念

下一步操作