初级测试也能做的本地Agent项目:从Tool Trace到离线回归,只需4张证据表

简介: Google Antigravity SDK新增本地模型支持,聚焦可验证的四大边界:数据离机、权限收敛、行为一致、安全降级。告别“伪离线”,用Trace断言与差分回归保障真实可信。

摘要:Google最新为Antigravity SDK加入本地模型支持。本文不做功能新闻复述,而是拆解本地Agent真正需要验证的四件事:数据是否离机、工具权限是否收敛、云端与本地行为是否一致、资源不足时能否安全降级。 月23日,Google宣布Antigravity SDK支持本地模型,首批重点适配Gemma 4 26B A4B和LiteRT。官方给出的吸引力很直接:不付API调用费、代码留在本机、断网也能运行,还能把云端模型当“架构师”,把具体代码审计和修复留给本地模型。

对开发者来说,这是一次部署方式升级;对测试工程师来说,却是一套新的质量边界。

因为“模型在本地”只说明推理发生在哪里,并不能自动证明:源码没有被其他组件上传、Agent没有越权读取目录、本地结果和云端结果一致、显存不足时系统没有悄悄切回云端。

先把“本地”拆成可验证的承诺
一个可发布的本地Agent至少包含四个承诺。

第一,数据边界。源代码、提示词和工具返回值不能离开被允许的设备边界。

第二,行为边界。Agent只能访问明确授权的工作目录和工具,不能因为本地运行就默认拥有整台电脑。

第三,质量边界。同一个退款审计任务切换本地模型后,允许措辞变化,但核心结论、工具顺序和业务约束不能漂移。

第四,降级边界。当显存不足、模型文件损坏或推理超时时,系统必须显式失败或进入经过审批的云端路径,不能静默换路由。

图片
Outcome通过,不代表本地执行可信
假设我们让Agent审计三个模块:auth.py、billing.py、database.py。最后它提交了三个补丁,全部pytest通过。如果只看Outcome Evaluation,这次任务可以记为成功。

但Behavioral Evaluation还会追问:

云端规划器是否读到了源码正文?
本地Agent是否访问了工作区以外的文件?
修复billing.py前是否先执行了复现用例?
是否出现网络连接或未声明的外部工具调用?
回归失败时是否停止提交,而不是继续改测试迎合补丁?
这就是Agent Harness的价值:模型负责生成动作,Harness负责决定哪些动作可执行、如何记录、何时终止。

用Trace做一条最小隐私断言
下面这段代码不评价回答写得漂亮不漂亮,只检查执行轨迹是否守住边界:

ALLOWED_ROOT = "/workspace/refund-service"

def assert_local_agent_trace(trace):
assert trace[0]["event"] == "task_started"
assert all(not e.get("network", False) for e in trace)

file_events = [e for e in trace if e["event"] in {"read_file", "write_file"}]
assert file_events, "Agent没有留下文件操作证据"
assert all(e["path"].startswith(ALLOWED_ROOT) for e in file_events)

writes = [e for e in trace if e["event"] == "write_file"]
tests = [e for e in trace if e["event"] == "pytest_finished"]
assert tests and tests[-1]["passed"] is True
assert max(e["ts"] for e in writes) < tests[-1]["ts"]

这段断言承担了三个业务判断:不联网、文件不越界、最后一次修改必须被回归测试覆盖。它比“结果里没有敏感信息”更可靠,因为后者只能看到输出,无法证明中间过程没有泄露。

混合架构最容易漏测的是路由
Google给出的演示采用“云端架构师+本地执行者”模式:云端模型只根据文件名和任务描述制定计划,本地Gemma实例完成漏洞复现、补丁编写、批判和回归。官方披露的这次录制运行中,云端消耗95个token,97.2%的token在本地离线执行。

这组数据是Google针对一次演示运行的作者自报结果,不是所有项目都能复现的Benchmark。测试时真正要验收的是路由规则,而不是照抄97.2%。

可以把路由合同写成数据表:

数据类型
允许云端
允许本地
失败策略
文件名、模块清单
是
是
记录Trace
源码正文
否
是
立即阻断
漏洞复现日志
否
是
本地保存
聚合质量指标
审批后
是
脱敏后上传

再补一组云端—本地差分回归
本地模型不需要逐字复刻云端答案,但必须守住业务不变量。以退款Agent为例,可以同时运行两条轨迹:

def behavior_signature(run):
return {
"tools": [x["tool"] for x in run["calls"]],
"refund_amount": run["result"]["refund_amount"],
"manual_review": run["result"]["manual_review"],
"network_calls": run["metrics"]["network_calls"],
}

def assert_equivalent(local_run, cloud_run):
local = behavior_signature(local_run)
cloud = behavior_signature(cloud_run)
assert local["refund_amount"] == cloud["refund_amount"]
assert local["manual_review"] == cloud["manual_review"]
assert local["tools"][:2] == ["get_order", "get_payment"]
assert local["network_calls"] == 0
这样,差分回归比较的是业务结果和关键路径,而不是自然语言表面相似度。

CI/CD门禁怎么落地
建议把本地Agent发布门禁拆成四层:

单元层:Tool Schema、路径白名单、错误码和超时。
轨迹层:禁止网络、禁止越权文件、关键工具调用顺序。
业务层:退款金额、审批条件、不可逆动作必须一致。
资源层:显存占用、首token延迟、任务完成率和降级行为。
每次升级模型文件、LiteRT、Antigravity SDK或策略配置,都运行同一份Evaluation Dataset。数据集至少包含正常任务、恶意提示、工作区外路径、断网、低显存和损坏模型六类样本。

质量门可以写成:高风险越权为0;敏感数据网络外发为0;关键业务不变量100%通过;P95延迟和失败率不得超过基线阈值。性能可以权衡,越权不能平均。

传统测试能力怎么迁移
接口测试里的鉴权,迁移成Agent工具权限;接口调用链日志,迁移成Tool Trace;数据驱动测试,迁移成Evaluation Dataset;回归流水线,迁移成Continuous Evaluation;故障演练,迁移成本地模型加载失败和路由切换测试。

所以,本地Agent并没有让测试岗位变轻。它只是把过去藏在云端API里的风险,搬到了模型文件、显存、工作目录、网络策略和Harness里。

下一步最值得做的,不是先买一台大显存机器,而是选一个退款或代码审计场景,先写出“什么数据不能离机、什么工具不能调用、什么结果必须一致”的断言。能把这些断言接进pytest和CI/CD,你就已经开始做真正的AI测试开发了。

相关文章
|
21小时前
|
人工智能 自然语言处理 测试技术
客服Agent查到了别人的订单:接口全通过,测试到底漏了哪一步?
本文揭示客服Agent“查错单”事故根源:接口正常≠行为正确。聚焦MCP场景下测试升级,提出用3个行为断言+4类回归用例,从工具发现、选择、参数映射到失败停止,确保Agent调用合法、精准、可控。
|
21小时前
|
人工智能 JSON 架构师
AI+Swagger:一键生成500条pytest接口用例
本文分享AI驱动接口测试的实战经验:87个接口,手工测试需3天,AI+Clean Swagger仅3小时完成529条pytest用例。核心不在模型多强,而在Swagger是否规范(OpenAPI 3.0、operationId唯一、字段示例/枚举/校验完备)。AI负责智能补全测试场景,人专注审核断言与业务逻辑,实现高效、可持续的自动化回归。
|
消息中间件 缓存 安全
抱歉,Xposed真的可以为所欲为——终 · 庖丁解码(下)
Xposed的使用不难,API也就那些,难点是: 逆向弄清楚Hook APP的方法调用流程,怎么调,参数都是干嘛的等。 经过反复练习,逆向Hook一个普通的APP(非企业级加固)写出可用的Xposed插件早已驾轻就熟(主要是磨时间),但有一个顾虑一直萦绕心间:不知道Xposed底层的具体实现原理。Tips:Xposed通常只能 Hook java层 及 应用资源的替换,有两个实现版本:4.4前的Dalvik虚拟机实现 和 5.0后ART虚拟机实现,本文针对后者进行分析,同时搭配 Android 5.1.1_r6 源码食用。
2342 0
|
8天前
|
SQL 人工智能 安全
Agent Harness 又要多一层?Jev 开始接管这些高频判断
Jev作为新型System One Model,专司Agent中高频、明确的判断任务(如工具路由、技能筛选、上下文过滤、安全守门与执行复核),将LLM从繁重决策中解放,推动Agent架构向“规则+决策模型+LLM+工具”多层协同演进。
|
21天前
|
机器学习/深度学习 人工智能 自然语言处理
2026测试Skill大爆发:从“会写脚本”到“会设计智能体”
2026年测试行业正经历结构性变革:手工测试需求降47%,全栈测开增340%。“熟悉MCP协议”“具备Skill封装与工程化能力”已成硬性门槛,而非加分项。测试核心正从“写脚本”跃迁为“设计智能体”——验证对象由功能转向AI决策能力,底层资产从用例库升级为可复用Skill库。
|
7天前
|
编解码 API 开发工具
GPT Image 2.5 API 实战教程:Python 调用实现图片生成与编辑
OpenAI Images API接入GPT-Image-2.5需选模型:Flare(快,适合草稿/批量)、Sunburst(精,适合精细编辑/交付)。调用`generate`或`edit`,结果从`b64_json`解码保存。支持PNG/WebP透明输出,尺寸、画质可调,需注意权限与计费细节。
|
29天前
|
人工智能 测试技术 定位技术
从0到1打造测试用例生成智能体:RAG+知识图谱实战全记录
本文揭秘如何用“RAG+知识图谱+智能体”三合一方案破解AI测试用例乱编难题:RAG负责精准检索文档,知识图谱建模业务关系(如“订单取消→库存回滚”),智能体融合二者驱动大模型生成高覆盖、可验证的用例。实战中人工审核通过率从32%跃升至89%,让AI不再瞎编,而是照着“业务地图”精准行走。
|
虚拟化
解决ESXI不支持USB移动硬盘
解决方式: 采用PCI设备直通方式分配给虚拟子机使用。前提: ESXI主机需支持PCI设备直通功能。(亲测技嘉H61、H81不支持如下图示)在技嘉H110和B250亲测成功 实验环境 主机:技嘉B250M主板系统:ESXI 6.0U3PCI转USB卡: IT-CEO PCI-E转USB3.0双口扩展卡 操作过程 使用vSphere Client连接到ESXi主机,在"配置→高级设置→编辑直通",在"将设备标记为可直通"对话框中,勾取插入的PCI转USB设备。
17746 0
|
5月前
|
人工智能 数据可视化 BI
企业智能体能否替代财务人员?专家深度解读
大模型与企业智能体正推动财务数字化转型,自动记账、报税等重复工作已可自动化。但AI无法替代财务人员的战略决策、风险把控与业务协同能力。本文厘清人机边界,倡导“赋能而非替代”,助力财务人转向高价值分析与决策岗位。
586 2
|
NoSQL Redis Docker
Docker中Redis数据迁移到本地
Docker中Redis数据迁移到本地
785 1

热门文章

最新文章