用途:为 Supervisor API 增加后台模式,适用于智能体任务可能超过 HTTP 超时限制的场景,例如复杂多工具工作流、大数据分析等。
主要能力:以 background=True、stream=False 异步提交请求,立即返回 response_id;随后按设定间隔轮询 responses.retrieve(id),跳过 queued/incomplete/in_progress 状态的条目,将已完成条目转换为流事件并模拟流式输出到前端;支持 MCP 工具的多轮审批流程。
使用方式:先运行 uv run quickstart 创建 MLflow 实验与 .env,并按 supervisor-api 技能完成基础配置。开始前用 AskUserQuestion 询问轮询间隔(2/10/30 秒),据此设置 agent_server/utils.py 中的 POLL_INTERVAL。新增 utils.py 提供 create_supervisor_client、poll_background_response、output_item_to_stream_events 等函数,使用 AsyncDatabricksOpenAI 且 use_ai_gateway=True;再更新 agent.py,改用异步 invoke/stream 处理器,传入 background=True、stream=False,并轮询转换输出。
限制:后台模式会回显全部历史输出条目,需跳过已回显项;in_progress 期间可能返回未完成条目(id 为 None),需按状态跳过以避免校验错误;轮询间隔影响响应速度与 API 负载。具体依赖版本与完整代码以官方资料为准。