GPT-5.5 在 OfficeQA Pro 基准上拿下了新的最高分,Databricks 随即宣布将其接入企业级 Agent 工作流。这件事的意义不在于分数本身——OfficeQA Pro 测试的是模型在真实办公场景下处理多步骤、多文档、多工具协作问题的能力,而这恰好是企业 Agent 最吃力的地方。分数刷新说明模型底座够硬,Databricks 的动作说明集成管道已经就绪,两者合在一起,企业终于有了一条从"模型能力"到"业务落地"的短路。
OfficeQA Pro 为什么值得盯
OfficeQA Pro 不是那种"问一句答一句"的简单问答集。它模拟的是真实办公环境里的复合任务:跨多份文档提取信息、调用日历/邮件/数据库等工具、在长上下文里保持逻辑连贯。模型要在十几个步骤里不跑偏、不遗漏、不幻觉,才算过关。
GPT-5.5 在这个基准上刷新纪录,意味着它在三个关键维度上有实质性提升:
- 长上下文执行力——多文档场景下指令跟随更稳定,不会在第七步突然忘掉第一步的约束。
- 工具调用准确率——Agent 需要反复选工具、填参数、处理返回值,GPT-5.5 的函数调用错误率显著下降。
- 幻觉抑制——办公数据里数字、人名、日期容不得瞎编,新模型在这类硬事实上的表现更可靠。
这三点恰好是企业 Agent 落地时最常卡住的瓶颈。
Databricks 的 Agent 工作流架构
Databricks 的 Agent 工作流不是"给模型加个 prompt 就跑",而是围绕 Mosaic AI 平台搭了一套工程骨架:
- Model Serving——统一托管 GPT-5.5 及自研模型,按路由规则分发请求,支持多模型 A/B 测试。
- Vector Index + Unity Catalog——企业数据先入向量索引,权限通过 Unity Catalog 细粒度管控,Agent 查数据时不会越界。
- Evaluation & Guardrails——内置 MLflow-based Agent 评估框架,上线前可批量跑 OfficeQA Pro 类测试;运行时有输入/输出护栏拦截敏感泄露。
- Orchestration——LangGraph / Databricks 自研编排器串联工具节点,支持条件分支、并行调用、失败重试。
GPT-5.5 进入这套架构后,企业可以把它当作"主推理引擎",外围挂自研小模型做专项判断,形成大小模型协作的 Agent 拓扑。
实操:在 Databricks 上搭一个 GPT-5.5 驱动的办公 Agent
下面给出一个最小可运行的示例,演示如何在 Databricks 环境里用 GPT-5.5 构建一个能查内部文档、写邮件摘要的 Agent 工作流。假设你已有 Databricks 工作区、Unity Catalog 权限,且 GPT-5.5 已通过 Model Serving 上线。
第一步:注册 GPT-5.5 到 Model Serving
# 在 Databricks CLI 中注册外部模型端点
databricks external-models create-endpoint \
--name gpt-5.5-proxy \
--model-provider openai \
--model-name gpt-5.5 \
--task chat-completion
端点创建后,Databricks 会生成一个内部 URL,所有 Agent 调用走这个 URL,不再直连 OpenAI,方便加护栏和做审计。
第二步:定义工具函数
from databricks.sdk.runtime import dbutils
from langchain_core.tools import tool
@tool
def search_internal_docs(query: str, top_k: int = 3) -> list[dict]:
"""在 Unity Catalog 管控的向量索引中检索内部文档片段。"""
# 假设向量索引已建好,名为 main.hr_docs_index
results = dbutils.vector_search.search(
index_name="main.hr_docs_index",
query_text=query,
num_results=top_k,
)
return [{"content": r.text, "source": r.metadata["doc_id"]} for r in results]
@tool
def summarize_email_thread(thread_id: str) -> str:
"""根据邮件线程 ID 生成摘要。实际项目中这里会调用邮件 API。"""
# 伪代码——真实场景接入 Exchange / Gmail API
mock_thread = f"邮件线程 {thread_id} 的内容占位符"
return f"摘要:{mock_thread} — 关键决策点已提取"
第三步:组装 Agent
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
# 通过 Databricks Model Serving 的内部 URL 调用 GPT-5.5
llm = ChatOpenAI(
model="databricks-gpt-5.5-proxy",
base_url="https://models.databricks.internal/serving-endpoints/gpt-5.5-proxy/invocations",
api_key=dbutils.secrets.get(scope="agent_keys", key="databricks_token"),
)
prompt = ChatPromptTemplate.from_messages([
("system", "你是企业办公助手。用中文回答。先查内部文档,再综合给出结论。如果涉及敏感数据,标注 [内部-仅限查看]。"),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
tools = [search_internal_docs, summarize_email_thread]
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
第四步:跑一次真实任务
result = executor.invoke({
"input": "上季度华东区域销售复盘报告里,渠道转化率最高的三个动作是什么?给相关邮件线程各写一条摘要。"
})
print(result["output"])
运行前需要确认:
- main.hr_docs_index 里确实有相关文档数据。
- databricks_token 已存入 Secrets scope。
- 如果邮件 API 未接入,summarize_email_thread 返回的是占位符,替换为真实 API 调用即可。
第五步:评估——上线前跑基准测试
from databricks.agents import evaluate
# 用内置评估框架对 Agent 做批量测试
eval_result = evaluate(
agent=executor,
eval_dataset="main.agent_eval_officeqa_subset", # 自建或导入 OfficeQA Pro 子集
metrics=["accuracy", "tool_call_success_rate", "hallucination_rate"],
)
print(eval_result.summary())
这一步是 Databricks Agent 工作流区别于"裸调 API"的关键——上线前有量化评估,上线后有护栏兜底。
落地前想清楚的三件事
-
数据权限比模型能力更先决。 Unity Catalog 管住了向量索引的访问边界,但 Agent 的工具调用链可能绕过索引直连数据库。上线前逐条审查工具的权限路径,确保 Agent 不会因为"能调 API"就看到不该看的数据。
-
成本控制需要双模型策略。 GPT-5.5 做主推理,但分类、格式化、简单检索等环节用小模型(如 Databricks DBRX 或 Llama 3 轻量版)就够了。在 Model Serving 里配路由规则,让简单请求走便宜模型,复杂推理才上 GPT-5.5。
-
评估不能只看离线分数。 OfficeQA Pro 证明的是模型潜力,真实业务里的 Agent 还会遇到工具超时、数据缺失、用户输入模糊等离线测试覆盖不到的情况。建议在灰度期收集真实对话日志,每周跑一次
evaluate对齐离线和在线表现。
GPT-5.5 + Databricks Agent 工作流的组合,把"模型够强"和"工程够稳"两件事压到了同一个平台上。剩下的活儿——定义业务边界、接真实数据源、做持续评估——才是决定 Agent 能不能从 demo 变成生产力的分水岭。