← ClaudeAtlas

vision-subagentlisted

视觉子代理。当主模型不支持图像输入时,用 workflow 派生一个指定当前环境可用视觉模型的子代理,通过 read_image 查看或核验图片内容并结构化返回结论。适用于"需要看图、但主模型读不了图"的任何会话。
OrinVoss/dsh-math-team · ★ 8 · AI & Automation · score 78
Install: claude install-skill OrinVoss/dsh-math-team
# 视觉子代理(Vision Sub-agent) 当**主模型不支持图像输入**(`read_image` 会拒读,如纯文本模型)时,用 **`workflow` 派生一个指定视觉模型的子代理**来"看"图——它可以用 `read_image` 读取图片,再根据你的要求描述内容或审查质量并返回结论。 本 skill 是**全局可用**的看图方案,任何预设/会话/项目都可加载,不限定业务场景。 ## 触发条件(先判断,再决定用不用本 skill) **先试一下**:直接调 `read_image`,或查 `llm.resolveModelInfo(provider, model)` 的 `inputModalities`。 - ✅ **主模型支持图像**(`inputModalities` 含 `image`)→ **直接 `read_image` 读图即可,不必派子代理**(更快、少一层)。注意能力靠配置声明——若报 `does not declare image input`,先按本文末"图像能力靠配置声明"排查,可能只是配置漏声明。 - ❌ **主模型不支持图像**(`read_image` 拒读)→ 用本 skill 派生视觉子代理来看图。 - 🔀 **仍值得用子代理的两种情形**:① 想要**独立/隔离的看图结论**(不让主模型既产出又自查);② 想用**更便宜的视觉模型**替代主模型读图。 ## 原理 DeepSeek Harness 的 `workflow` 工具允许在 `agent()` 上独立指定 `provider` 与 `model`。只要选一个**当前部署里真正支持图像输入的模型**(其 `inputModalities` 含 `image`),派生的子代理就能用 `read_image` 读取并处理图片。 不同部署注册的视觉模型名可能不同,**不要硬编码模型名**,应先探测。 ## 如何找可用的视觉模型 用 `llm` 服务遍历各 provider 的模型,过滤出 `inputModalities` 含 `image` 的: ```js // 思路:遍历 provider -> resolveModelInfo -> 过滤 inputModalities 含 'image',得到 { provider, model } const vision = /* inputModalities 含 'image' 的 {provider, model} */ await agent(prompt, { provider: vision.provider, model: vision.model }) ``` **成本优先(重要)**:识图/看图是高频、轻量任务,**优先选择便宜的经济型视觉模型,不要使用贵的大模型**。具体原则: - **首选**:`deepseek-official/deepseek-flash`(DeepSeek V4.1 Flash,官方"快·高效·经济"定位,text+image)、`kimi-coding/kimi-for-coding`(K2.7 Code)、`kimi-coding/kimi-for-coding-highspeed` 等经济型视觉模型。 - **避免**:`kimi-coding/k3`、`k3-256k` 这类旗舰/大上下文模型——识图不需要它们的强推理与长上下文,成本不划算。除非便宜模型全部不可用且任务确需更强能力,才考虑它们。 - 换部署后先探测:按