Gemini 3 Flash 代理化视觉

结合视觉推理和代码执行,将答案建立在视觉证据之上。

大多数人工智能视觉的工作方式就像瞥一眼。你上传一张图片,模型看一眼,然后给出它的最佳猜测。

有时这个猜测是错误的,因为文字太小、表格太密集,或者细节隐藏在模型从未放大查看的角落里。

谷歌刚刚通过 Gemini 3 Flash 中的代理化视觉(Agentic Vision)改变了这一点。

模型不再进行一次静态的扫描,而是将每张图片都视为需要调查的问题。它会观察,编写 Python 代码来裁剪和操作它所看到的内容,运行该代码,再次查看结果,并持续进行,直到真正得到答案。

这并不是一个微小的功能更新。它改变了你可以可靠地要求视觉模型做的事情。

1、代理化视觉的实际作用

核心概念是一个循环:思考、行动、观察。

模型接收你的图片和提示。它会形成一个计划。然后,它编写并执行 Python 代码来操作图片、放大到特定区域、绘制注释或对提取的数据运行计算。该代码的输出被反馈到模型的上下文中。现在它可以以更好的信息再次查看。它不断迭代,直到得到一个基于事实的答案。

一个具体的例子:你发送一张设备面板的照片,角落里有一个微小的序列号。标准视觉模型眯着眼并产生一些数字的幻觉。代理视觉检测到文字太小,编写代码来裁剪那个角落,放大它,清晰地读取它,并返回实际的序列号。

这种差异并不微妙。谷歌报告称,启用代码执行后,视觉基准测试的准确性持续提高 5–10%。对于细粒度的任务,差距要大得多。

2、这对开发者为何重要

如果你构建了任何使用 AI 处理图片的东西,你就会知道这些痛点。收据扫描错误地读取总额。文档处理在密集的表格中丢失数据。质量检查错过了高分辨率图像中的缺陷。

代理视觉攻击了所有这些问题,因为模型现在可以做一名细心的人类会做的事情:放大、测量、注释、计算,并在回答之前进行验证。

有三个类别特别突出:

放大和检查。 模型检测到细节太小时,会自动裁剪并以更高的分辨率重新检查区域。远处的仪表、微小的标签、设备上的序列号、照片背景白板上的文字。所有这些变得可读,因为模型可以编写几行 Python 来放大相关区域。

视觉数学和绘图。 模型不再尝试概率性地推理图片中的数字,而是提取数据并在 Python 中运行真实的计算。汇总收据上的行项目。解析密集的表格并生成 Matplotlib 图表。通过绘制边界框并编程计算来计算对象。数学是确定性的,不是猜测的。

图像注释。 模型可以直接在图片上绘制。边界框、箭头、标签。问"这个组件应该放在哪里?",你会得到一个显示答案的注释图片,而不仅仅是文字描述。

3、一个现实世界的例子

PlanCheckSolver.com 是一个验证建筑计划是否符合合规代码的平台,它集成了代理视觉,准确性提高了 5%。他们的工作流程:Gemini 3 Flash 接收高分辨率建筑计划,编写 Python 来裁剪特定部分(屋顶边缘、建筑退让、结构细节),将这些裁剪图附加回上下文,并在面前有视觉证据的情况下对代码合规性进行推理。

这就是模式。高分辨率输入、目标检查、基于事实的推理。它之所以有效,是因为模型并没有试图一次性理解所有内容。

它在系统地调查重要的部分。

4、如何使用它

API 很简单。你将代码执行配置为工具,模型处理其余部分。

from google import genai
from google.genai import types
import requests
image_url = "https://example.com/equipment-panel.jpg"
image_bytes = requests.get(image_url).content
image = types.Part.from_bytes(
    data=image_bytes, mime_type="image/jpeg"
)
client = genai.Client()
response = client.models.generate_content(
    model="gemini-3-flash-preview",
    contents=[
        image,
        "Read the serial number on the bottom-right panel."
    ],
    config=types.GenerateContentConfig(
        tools=[types.Tool(
            code_execution=types.ToolCodeExecution
        )]
    ),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    if part.executable_code:
        print(part.executable_code.code)
    if part.code_execution_result:
        print(part.code_execution_result.output)

关键的一行是 tools=[types.Tool(code_execution=types.ToolCodeExecution)]。这个单一的配置将被动视觉转变为代理视觉。模型根据任务决定何时以及如何使用代码执行。

你还可以检查模型的中间步骤。响应包括 executable_code 部分,显示模型编写的确切 Python 代码,以及 code_execution_result 部分,显示输出。这对于调试和理解模型的推理链很有用。

5、变得有趣的地方

当前的实现使用 Python 代码执行作为主要工具。但谷歌已经表示,更多工具即将到来,包括网络搜索和反向图片搜索。愿景是模型将拥有完整的视觉调查工具包。

想一想在这种背景下反向图片搜索意味着什么。上传一张陌生组件的照片,模型不仅描述它看到的东西。它搜索匹配的图像,识别制造商和零件号,并返回该信息以及其视觉分析。

另一个方向是隐式触发。目前,代码执行是一个显式的工具配置。谷歌的路线图建议使这些行为自动化,模型自己决定何时放大、注释或计算,而无需你启用它。

6、这个模式告诉我们什么

代理化视觉是一个更广泛转变的一部分:AI 模型变得越来越像工作流,而不像查找函数。模型不是在一次扫描中返回一个答案。它运行一个过程,有多个步骤、中间输出和自我纠正。

这是在编码代理(迭代代码、测试、修复循环)、研究代理(搜索、阅读、综合、再次搜索)以及现在的视觉中出现的相同模式。能够规划和执行多步骤调查的模型总是会优于单次射击的模型。

对于任何在视觉 AI 上构建产品的人来说,实际的启示是明确的:可靠性的底线显著提高了。以前需要自定义预处理流水线(裁剪、增强、OCR)的任务现在可以由模型自己在推理过程中即时处理。

工具越来越好。人工智能视觉中"演示质量"和"生产质量"之间的差距变得小多了。


原文链接: Gemini Flash Can Now Look at a Photo and Write Actual Code to Understand It

汇智网翻译整理,转载请标明出处