DeepSeek Harness + 知识图谱:企业测试团队,正在长出一支“质量 FDE”

简介: 企业AI Agent落地后,测试团队面临核心挑战:如何验证Agent决策的准确性、可追溯性与合规性?本文提出“质量FDE”新范式——将客户现场的流程、权限、政策等转化为可复用的质量资产;结合DeepSeek Harness可观测轨迹、质量部署图谱与变更影响分析,推动测试从“答对题”升级为“交代清楚每一步”。

很多企业做完 AI Agent Demo 后,才遇到真正难的问题:为什么它给出了一条错误报价?它看过哪些资料?调用了哪个工具?这次变更究竟该回归哪些场景?

这不是 Prompt 再加两句约束就能解决的事。也不是“把历史文档喂进 RAG”就能解决的事。

我越来越确信,接下来企业测试团队的分水岭,会出现在一个看似跨界的方向上:测试团队要不要长出一支“质量 FDE(Forward Deployed Engineering)”能力。

这里的 FDE 不是让测试工程师去做售前,也不是让每个人都变成驻场交付。它指的是一种面向真实业务现场的工程职责:把客户现场的流程、权限、数据、例外和事故,翻译成可以反复验证、持续更新、可被产品复用的质量资产。

DeepSeek Harness、知识图谱和企业测试智能化建设,刚好在这里汇合。

一、企业最缺的不是“会回答的 Agent”,而是“能交代清楚的 Agent”
先看一个脱敏合成的业务场景。

一家设备运维 SaaS 正在给制造集团部署“工单报价 Agent”。现场工程师输入:

A 厂夜班产线的高温故障,客户是年度框架客户,设备已过保,能否直接报价并派工?

这条问题背后至少藏着五层事实:

客户合同里有年度折扣上限;
高温故障属于 P1,夜间派工需要值班经理确认;
过保设备的备件价格走另一张价目表;
A 厂的进场许可必须由客户侧安全员放行;
本周刚更新过“紧急工单自动派单”规则。
如果 Agent 只做相似度检索,很容易从旧版操作手册里找到“高温故障可自动派工”,再从普通客户价目表里拿到一个看似合理的价格。最终文本可能很流畅,甚至工具调用也都成功了;但它会同时犯下价格、权限和安全流程三个错误。

传统测试团队通常在上线前补一批问答集、接口用例和人工验收。可一旦 FDE 或业务实施团队到了客户现场,合同条款、部门权限、例外流程和本地化规则每天都在变,测试用例很快从“覆盖”变成“过期”。

OpenAI 对 FDE 的岗位描述中,把工作范围定义为从发现问题、技术范围界定、系统设计、构建到生产上线;其衡量标准还包括由评测驱动的反馈能否改变产品与模型路线图。OpenAI FDE 职责说明

这件事对测试的启发很大:测试不该只接收交付结果,而应把现场事实转成可复用的“质量合同”。

二、DeepSeek Harness 真正可贵的地方:它让 Agent 的过程变成可查询的证据
DeepSeek Harness(DSH)不是一款“更会写代码”的模型。官方的定义很克制:Agent = Model + Harness;Harness 负责让 Agent 理解环境、使用工具并在真实环境中持续工作。模型、工具、Skill、会话、沙箱、存储、循环、调度和 UI 都可以按插件替换或组合。DeepSeek Harness 官方介绍

对企业测试团队更重要的一点是:DSH 会把系统提示、工具调用及结果、子 Agent 调度、上下文注入等记录到追加式会话日志里,并支持围绕同一事件流做查看、搜索、分叉与回放。官方运行轨迹说明

这意味着,过去散在截图、聊天记录和口头复盘里的问题,开始有机会被规范成一条条质量证据:

这次报价到底引用了哪一版合同条款?
调 create_dispatch 前,是否查过客户进场许可?
模型是根据当前规则拒绝派单,还是工具超时后“猜了一个成功”?
这次发布改变了哪个 Skill、哪个提示模板、哪个权限插件?
DSH 仓库自身的测试支持包也提供了 session-log 快照、Agent loop 测试基座、可编排的 LLM mock 服务,以及对已记录模型流的回放能力。DSH test-support 说明 这不是说企业可以直接把内部流水线照搬过去;它提醒我们:Agent 的最终答复不能是唯一断言,运行轨迹也应该进入回归资产。

但要先划一条红线:DeepSeek Harness 仍处于 developer preview,官方明确提示会有兼容性破坏性变更。项目 README 所以它适合先在隔离的评测/试点环境里验证“轨迹如何被治理”,不适合因为一波热度就成为企业生产发布的唯一控制平面。

三、别再建“文档知识图谱”了:企业真正需要的是质量部署图谱
RAG 与知识图谱常被用来帮助 Agent 理解业务、生成更细的测试用例。那解决的是知识输入的问题。

这篇要讨论的是另一层:上线时,谁和谁发生了依赖,哪条证据支持了哪次放行,某项变化会让哪些用例失效。

我把它叫作“质量部署图谱(Quality Deployment Graph)”。它不是把所有 Word、PRD、代码和会议纪要都塞进图数据库,而只保留会影响交付决策的少量对象和关系:

节点
需要记录什么
典型关系
业务能力
“高温故障报价”“夜间派工”
依赖、变更、覆盖
业务政策
合同折扣、派单阈值、审批规则
约束、适用、替代
工具与权限
get_contract
、create_dispatch、权限范围
调用、禁止、需要审批
评测用例
输入、硬约束、夹具、断言、版本
覆盖、证明、失效
Harness 运行
Prompt 版本、工具轨迹、上下文来源、结果
证据、观察到、复现
发布与事故
变更集、灰度范围、线上事件
改变、触发、回流
关键不是“节点多”,而是每条关系都要带三类元数据:来源、版本、生效范围。例如一条“夜间派单需审批”的边,必须能追到合同附件第几版,适用于哪些客户,何时开始生效。没有这三项,图谱只会把过期知识包装得更像真相。

LightRAG 的思路值得参考:它同时管理图结构和向量表示,以双层检索把局部实体事实与全局关系上下文结合;同时强调增量更新与选择性删除,以适应动态数据。LightRAG 项目说明 这和企业测试的真实诉求非常接近——我们既要能回答“合同 X 的折扣上限是什么”,也要能追到“这条规则变化会影响哪些报价、权限和评测”。

另一方面,Microsoft GraphRAG 的主仓库已经进入维护模式,更适合把它当作图增强检索的设计参考,而不是不加判断地当作唯一选型。Microsoft GraphRAG 仓库状态 2026 年的重点不在于押中某个 GraphRAG 名字,而在于你的图谱能否随着发布、事故和政策变更而持续校正。

四、把“变更影响分析”从经验判断,变成一条可执行的选测计划
设想报价 Agent 的一个改动:研发把“读取客户合同”的工具从同步 API 换成缓存读,并修改了夜间派单 Skill。

传统做法往往是群里问一句:“这次改动影响哪些用例?”然后 QA 凭经验拉一轮回归。问题不在于 QA 不够懂,而是证据没有被组织起来:谁能证明这个缓存没有读到旧合同?谁能证明修改派单 Skill 不会绕过经理审批?

质量部署图谱可以把“选测”分成两个动作:

从发布变更出发,找到受影响的能力、政策、权限和工具;
找到覆盖这些对象的评测用例,并检查其夹具和规则版本是否仍然新鲜。
下面的代码不是“画图式伪代码”。它展示了一个落地时很有价值的接口:让发布门禁从图中取回必须执行、但当前没有新鲜证据的评测项。图存储可以是 Neo4j,也可以是你们已有的配置库;重点是关系和版本,而不是数据库名字。

from dataclasses import dataclass
from neo4j import Driver

@dataclass(frozen=True)
class RequiredEval:
capability: str
protected_asset: str
risk: str
eval_ids: tuple[str, ...]

IMPACT_QUERY = """
MATCH (release:Release {id: $release_id})-[:CHANGES]->(cap:Capability)
MATCH path = (cap)-[*1..4]->(asset)
WHERE ALL(rel IN relationships(path) WHERE type(rel) IN
['CALLS', 'READS', 'DECIDES_ON', 'ENFORCED_BY', 'REQUIRES_APPROVAL'])
AND (asset:Policy OR asset:Tool OR asset:Permission)
OPTIONAL MATCH (eval:EvalCase)-[:COVERS]->(asset)
OPTIONAL MATCH (eval)-[:PASSED_IN]->(build:Build {id: $baseline_build})
WITH cap, asset,
collect(DISTINCT CASE WHEN build IS NOT NULL THEN eval.id END) AS fresh_evals
RETURN cap.id AS capability,
asset.id AS protected_asset,
coalesce(asset.risk, 'P2') AS risk,
[item IN fresh_evals WHERE item IS NOT NULL] AS eval_ids
ORDER BY CASE coalesce(asset.risk, 'P2')
WHEN 'P0' THEN 0 WHEN 'P1' THEN 1 ELSE 2 END
"""

def required_evals(driver: Driver, release_id: str, baseline_build: str) -> list[RequiredEval]:
with driver.session() as session:
rows = session.run(
IMPACT_QUERY,
release_id=release_id,
baseline_build=baseline_build,
)
return [
RequiredEval(
capability=row["capability"],
protected_asset=row["protected_asset"],
risk=row["risk"],
eval_ids=tuple(row["eval_ids"]),
)
for row in rows
]

def assert_release_has_evidence(plan: list[RequiredEval]) -> None:
missing = [
f"{item.capability} → {item.protected_asset} ({item.risk})"
for item in plan
if item.risk in {"P0", "P1"} and not item.eval_ids
]
if missing:
raise AssertionError(
"高风险变更缺少当前基线的回归证据:\n- " + "\n- ".join(missing)
)
它解决的是一个很具体的问题:不再因为“全量跑不动”就靠感觉删用例,也不再因为怕漏而把所有用例都跑一遍。

这里有个容易被忽略的细节:PASSED_IN 不能只表示“历史上跑过”。它必须绑定本次的 Policy 版本、工具版本和测试夹具版本。否则你会得到最危险的假象——一堆绿色历史用例,证明的却是上一版合同和上一版派单流程。

五、Harness 轨迹怎么进测试?别只断言“回答正确”
回到夜间派工场景。下面是一份从 Harness 追加式日志标准化出来的运行事件。字段并不绑定 DSH 的内部 API;企业落地时,应先把会话日志映射为自己的稳定事件契约,避免框架升级把评测资产一起拖垮。

from collections.abc import Iterable

def tool_calls(events: Iterable[dict], name: str) -> list[dict]:
return [
event for event in events
if event["type"] == "tool.result" and event["tool"] == name
]

def event_index(events: list[dict], predicate) -> int:
return next(i for i, event in enumerate(events) if predicate(event))

def assert_night_dispatch_run(run: dict) -> None:
"""保护年度框架客户的夜间派工:业务事实、调用顺序和副作用都要验证。"""
events = run["events"]

contract = tool_calls(events, "get_contract")
assert contract and contract[-1]["output"]["customer_tier"] == "FRAMEWORK"
assert contract[-1]["output"]["policy_version"] == "contract-2026-09-01"

price = tool_calls(events, "get_spare_price")
assert price and price[-1]["input"]["pricebook"] == "OUT_OF_WARRANTY"

approval_idx = event_index(
    events,
    lambda event: event["type"] == "tool.result"
    and event["tool"] == "request_manager_approval"
    and event["output"]["status"] == "PENDING",
)
dispatches = tool_calls(events, "create_dispatch")

# 有待审批时,Agent 可以生成报价草案,但不能产生不可逆的派工副作用。
assert not dispatches, "P1 夜间工单在审批前不得自动派工"
assert run["final"]["status"] == "NEEDS_APPROVAL"
assert approval_idx < event_index(
    events,
    lambda event: event["type"] == "final.answer",
)

这段断言比“最终答案里有没有出现‘请审批’”多了三层保护:

事实层:读到的是当前合同和正确价目表;
轨迹层:先拿到审批状态,再给用户答复;
副作用层:在审批通过前,没有实际创建派工单。
这才是企业 Agent 评测和普通聊天问答评测的差别。文本可以有多种等价表达;但合同版本、审批顺序、工具副作用和权限边界,不能模糊处理。

六、测试团队怎样成为“质量 FDE”,而不是又多背一套平台
很多团队一听到知识图谱、可观测、评测和 FDE,就会马上启动一个半年期大项目:建统一知识库、接所有文档、做万能助手、让所有测试数据都进图。

我更建议反过来,按照“一个高风险流程、三个月、四类资产”推进。

阶段
做什么
交付物
不做什么
0—30 天
选一条有真实损失的流程,如报价、审批、售后派工
质量合同、10—20 条 P0/P1 评测、人工维护的小图谱
不做全公司知识图谱
31—60 天
在隔离环境接入 Harness,统一事件信封与回放夹具
可重放轨迹、工具 mock、变更影响选测
不让 Agent 直连生产写操作
61—90 天
把评测接到灰度和发布评审,收集一次真实异常
发布门禁、事故复盘模板、可复用组件
不把 LLM Judge 当唯一放行人
这个过程里,FDE/实施团队提供现场语义:真正的例外、角色、风险和业务结果;测试团队负责把这些东西变成质量合同、图谱关系、可回放轨迹和上线证据;平台团队把稳定的模式沉淀成 Skill、工具包装、规则和模板。

三者的边界一旦清楚,才会形成正循环:客户现场不是一次性定制的黑洞,而是产品能力和测试资产的来源。

结语:下一代测试团队的护城河,是把现场经验固化成“可放行的证据”
DeepSeek Harness 提供了一个很重要的启示:真正的 Agent 工程不只关心模型最后说了什么,也关心它看见了什么、调用了什么、经历了什么,并且能否被重新检查。

知识图谱也不该只用来让回答“更聪明”。在企业测试团队里,它更应该回答:这项变化牵动了谁?哪些证据仍然有效?哪条风险必须阻断上线?

而 FDE 工程的价值,不在于把每个客户现场都做成一套独立项目,而在于把现场发现持续反哺为可复用能力。测试团队如果能接住这件事,就不再只是“AI 上线前的最后一道关”,而会成为企业 AI 交付能否规模化的质量中枢。

对正在做企业 Agent 私有化部署、内训或平台建设的团队来说,第一步不是选一个最热的框架,而是挑一条业务损失清晰的高风险流程,建立第一份可追溯、可回放、可放行的质量合同。

相关文章
|
20天前
|
人工智能 缓存 前端开发
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
DeepSeek Harness + DeepSeek V4 Pro 项目实战保姆级教程!手把手带你从零安装开源 AI 编程工具,开发架构图、知识讲解网站、3D 网页游戏、全栈 AI 应用 4 个项目,覆盖运行模式选择、插件安装与开发,看看能不能对标 Claude。
13231 90
DeepSeek Harness 首发实测 + 入门教程,夯爆了!梁神我错了
|
8天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
3天前
|
缓存 人工智能 API
阿里云Qwen3.8‑Flash完整能力解析:模型特性、API调用实操与计费规则深度拆解
在AI应用快速落地的当下,开发者与企业选型大模型API,不再只单纯关注评测榜单分数,推理速度、上下文长度、多模态能力、工具调用稳定性以及实际调用成本,共同决定项目能否平稳上线。Qwen3.8‑Flash作为新一代多模态混合专家模型,主打高性能推理与低成本开销,面向编程开发、智能Agent工作流、超长文档解析、图文混合理解等高频场景,提供托管API服务,权重同时开放可供本地部署,兼容主流接口协议,能够无缝接入各类开发工具链。很多开发者在接入过程中,容易混淆普通按量Token计费、缓存计费、各类订阅计划之间的差异,造成实际账单超出预估。本文从模型底层架构、核心功能能力、适用场景、API调用实操、完
801 0
|
13天前
|
Web App开发 人工智能 API
16 个超火的 DeepSeek Harness 插件,大肥鱼已经落后 N 个版本了。。。
DeepSeek Harness 精选插件推荐合集,从图片识别、浏览器操控、多 Agent 协作到手机远程控制,一口气带你看完 DSH 社区热门的十几个插件,覆盖技能扩展、UI 界面增强、整活玩法三大类,让你的鲸鱼变得更强。
1792 4
|
14天前
|
人工智能 Java BI
【AI】DeepSeek Harness 安装、运行、管理插件
本文介绍了如何运行DeepSeek开源的Agent框架DeepSeek Harness(dsh)。主要内容包括:使用nvm安装适配的Node版本;通过代理加速克隆GitHub源码;使用pnpm安装依赖并启动项目;配置DeepSeek API Token;安装扩展功能的插件。该框架自带Web界面,支持模型适配、文件编辑等插件化功能
1969 1
|
人工智能 JavaScript 开发工具
DeepSeek Harness 本地安装与使用指南
DeepSeek Harness(DSH)是DeepSeek AI开源的Agent运行框架,支持本地文件操作、命令执行与工具调用。基于Cordis插件架构,具备高扩展性与强可控性,适合开发者搭建可控Agent环境或开展模型基准测试。当前为开发者预览版,需Node.js环境,推荐先用`npx @deepseek-ai/dsh web`快速体验。
5230 0
|
9天前
|
人工智能 Linux iOS开发
Ollama使用教程:Ollama官网下载、Ollama本地部署大模型(2026最新)
Ollama 是一款免费开源的本地大模型运行工具,支持在 Windows/macOS/Linux 上离线运行 Qwen、DeepSeek、Llama 等主流开源模型,数据不出本机、隐私安全。提供 OpenAI 兼容 API,命令行一键拉取/运行/管理模型,无需联网,无调用限制,是开发者与 AI 爱好者部署本地 AI 助手的理想选择。(239 字)
|
16天前
|
人工智能 JavaScript 测试技术
保姆级教程:DeepSeek Harness从安装到跑通测试,30分钟上手
DeepSeek Harness是DeepSeek开源的AI Agent运行时,主打“一行命令安装、5分钟跑通”。它让模型真正动手干活——读代码、跑测试、分析失败、生成修复方案。本文手把手教你30分钟从零上手,覆盖安装、配置、实测及避坑指南,助你快速掌握下一代AI编程范式。
|
6天前
|
人工智能 监控 测试技术
Qwen3.8-Flash 来了,100万上下文、Agent、Coding 都加强了
8月26日,通义千问发布Qwen3.8-Flash-Next:125B参数、每Token仅激活6B,原生支持26万Token、可扩展至100万上下文;Coding、Agent与工具调用能力显著增强,面向真实软件工程任务,推动大模型从“回答问题”迈向“完成工作”。