跳转到主要内容
委派任务给 Agent

管理会话

会话创建后,可通过状态机、工具调用审批和中断机制控制执行流程,并在任务完成后归档或删除。

状态机

会话状态显示在页面顶部。下表给出每个状态的触发条件、下一状态与可执行的操作:
状态触发条件下一状态可执行操作
idle(可交互:stop_reasonnull / end_turn / retries_exhausted会话刚创建(null)、一轮处理结束(end_turn)或重试耗尽(retries_exhausted收到消息 → running;归档或删除 → terminated发送消息、挂载文件、归档、删除
idlestop_reason=requires_action触发 always_ask 工具审批,等待裁决收齐裁决 → runninginterrupt → 结束本批审批提交审批(tool_approval_response)、中断(interrupt);不能用普通消息直接继续
running收到消息,智能体开始处理完成 → idle;触发审批 → idlerequires_action);不可恢复错误 → terminated中断
terminated归档、删除,或不可恢复错误终态,不可恢复查看事件历史;新建会话继续
会话处于 idle 时,session_status 事件(及 GET /sessions/{session_id})携带 stop_reason 说明原因。stop_reason 仅在会话状态为 idle 时用于判断交互状态:刚创建且尚无结束原因时为 null,其余取 end_turnretries_exhaustedrequires_actionrunning 时为 nullterminated 是终态,客户端不应依赖或解释其 stop_reason。客户端应按下表把四种 idle 投影映射到界面操作,判断可交互性时以「是否为 requires_action」为准,而非仅看 idle
stop_reason含义可发送普通消息审批 / 中断
null会话刚创建、尚未处理允许无待审批
end_turn模型主动结束本轮允许无待审批
retries_exhausted重试耗尽,本轮结束允许无待审批
requires_action存在待裁决的 always_ask 审批,携带 pending_batch_id / pending_call_ids禁止(单独发送会得到 pending_tool_approval_unresolved提交审批 / 发送 interrupt
  • 可交互 idlenull / end_turn / retries_exhausted:均不存在审批屏障,可直接发送普通消息开始新一轮。
  • requires_action:只能提交审批或发送 interrupt;逐条裁决后仍为该状态,pending_call_ids 缩减为剩余项,全部收齐后才回到 running。此时单独发送普通消息不会继续处理,会得到 pending_tool_approval_unresolvedinterrupt + 普通 message 的合法组合按会话事件流定义处理。
按状态驱动界面时,请以 stop_reason 而非仅 idle 判断可交互性:只有 requires_action 禁用普通消息、启用审批/中断;其余可交互 idlenull / end_turn / retries_exhausted)均放行新一轮消息。切勿把 retries_exhausted 当作永久禁聊。
会话运行期间可通过 API 动态挂载、查询与卸载文件资源,详见 运行时挂载资源 API

工具调用

智能体根据系统提示词和当前消息自主决定何时调用哪个工具。全部工具(内置、MCP、技能)均在会话绑定的运行环境中执行,调用过程通过事件面板实时可见。

调用流程

  1. 智能体决策:模型输出工具调用指令,事件面板显示工具调用事件,含工具名与参数。
  2. 审批分支:
    • always_allow 工具:直接进入执行,不阻塞。
    • always_ask 工具:产生 tool_approval_request,会话进入 idlestop_reason=requires_action)等待裁决。同批全部裁决收齐后,获批(allow)调用才执行;仅提交部分裁决时会话保持 requires_action,本批任何 always_ask 工具都不执行。deny 的调用不执行,返回 is_errortrue 的工具输出,deny_message 作为错误内容回传给模型。审批仅覆盖 always_ask 集合,always_allow 工具可能在审批完成前先执行。
  3. 执行:在沙箱中运行工具,输出回传给模型。
  4. 回复或继续:模型基于工具输出决定回复或发起下一次工具调用。

归档与删除

会话支持归档和删除两种操作:
  • 归档:状态变为 terminated(终态),事件历史保留可查。适用于已完成的会话。
  • 删除:硬删除,会话元数据、事件历史、内部拷贝的资源全部清除,不可恢复。如需保留事件历史请改用归档。
通过 API 归档会话,详见 归档 Session API
curl -X POST "https://dashscope.aliyuncs.com/api/v1/agentstudio/sessions/sesn_xxx/archive" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY"
通过 API 删除会话:
curl -X DELETE "https://dashscope.aliyuncs.com/api/v1/agentstudio/sessions/sesn_xxx" \
  -H "Authorization: Bearer $DASHSCOPE_API_KEY"

下一步