一、为什么要做「编程答疑智能体」?

写代码时最常遇到的场景是:运行报错,把终端或 IDE 的截图发出去,希望有人能快速指出原因和改法。人工答疑有延迟,而通用大模型虽然能聊代码,但往往缺少「看图识错」的稳定流程。

编程答疑智能体要解决的就是:用户上传报错截图 + 简短问题描述,系统自动完成「识别图中内容 → 理解报错 → 给出原因和解决建议」。要实现这一点,需要:

  • 多模态输入:同时支持文本 + 图片(尤其是代码/报错截图)
  • 稳定流程:先 OCR 再分析,而不是让模型「随口猜」
  • 可编排、可调试:用工作流把「识图 → 大模型分析 → 返回结果」串起来,每步都可检查输入输出

Coze 的工作流(Workflow)正好适合:用可视化节点把「开始 → OCR → 大模型 → 结束」连成一条流水线,再让智能体固定调用这条工作流,保证所有编程类问题都走同一套分析逻辑,回答更一致、可预期。

下面就以一个**「编程疑难机器人」**为例,说明如何用 Coze 工作流从零搭出这样一个智能体。


二、Coze 工作流:几句话理解

在 Coze 里:

  • 工作流(Workflow):按顺序执行多个节点,适合「输入 → 处理 → 输出」的自动化任务(例如:根据图片和问题生成解析报告)。
  • 节点:包括开始 / 结束大模型插件(如 OCR)、代码条件分支等。
  • 智能体:对外对话的「人设」,可以通过人设与回复逻辑指定:某些问题必须走某个工作流,而不是由模型自己随意回答。

我们要做的是:先搭一个「识图 + 分析报错」的工作流,再建一个智能体,让人设里写明「请使用工作流 code_excpetion,不要自己去回答」。这样,用户一发截图和问题,就会稳定地走「OCR → 大模型 → 返回」这条链路。


三、第一步:创建工作流并定义「开始节点」

在 Coze 中进入 工作流,新建一个工作流。在「编辑工作流」弹窗里填写:

  • 工作流名称:例如 code_excpetion(注意:名称会给人设里的「使用工作流」用)
  • 工作流描述:说明用途,例如:
    「你是一个解决编程问题的工作流,能从用户输入的描述信息以及图片信息,识别其中的内容,并分析错误原因。」

在这里插入图片描述

进入画布后,第一个要配置的是 开始 节点。它决定了:用户要提供哪些信息,工作流才能启动。

对「编程答疑」来说,需要两类输入:

  1. 用户输入内容content):文字描述,例如「这段代码为什么报错?」
    • 变量类型:str,可以设为非必填(仅图片也可以)
  2. 上传的图片image):报错截图或代码截图的 URL
    • 变量类型:str建议设为必填,因为我们要靠图片做 OCR

这样,后续节点就能从「开始」节点拿到 contentimage,用于 OCR 和大模型输入。

在这里插入图片描述


四、第二步:添加 OCR(图片转文字)节点

编程答疑的核心是「先看清图上写了什么」。所以要在「开始」后面加一个 OCR / 图片转文字 的节点。在 Coze 里可以是「Image2text」或名称类似的图片转文字插件。

在「添加节点」里搜索 OCR图片转文字,把该节点拖到画布上,并接在「开始」节点之后。

在这里插入图片描述

关键配置:OCR 节点需要一个输入——图片地址(一般是 URL)。在它的「输入参数」里,把 url 绑定为 开始节点的 image,即:从用户上传的图片 URL 读取内容。

在这里插入图片描述

OCR 识别完成后会输出结构化结果,通常包含:

  • code:状态码
  • data:识别结果(其中会有 resultswords 等,words 里常有 text 字段,即识别出的文字)
  • log_idmsg

这些输出会在下一步作为「图片内容」传给大模型。建议在右侧面板里点开 「OCR 的识别结果」 或「查看示例」,确认 data 的结构(例如 data.results[].words[].text),便于后面引用。

在这里插入图片描述


五、第三步:添加大模型节点,串联「图片内容 + 用户问题」

接下来加一个 大模型 节点,负责根据「OCR 结果 + 用户问题」做异常报错分析

  • 输入要接两条信息:
    1. image_content:来自 Image2text(OCR)节点的 data(即图片中识别出的文字/结构)
    2. text:来自 开始节点的 content(用户的问题或补充说明)

这样大模型就能同时看到「图上写了什么」和「用户想问什么」。

在这里插入图片描述

提示词建议

  • 系统提示词
    分析异常报错原因
  • 用户提示词(用变量把上面两个输入塞进去):
    请根据{{image_content}} 图片内容,以及用户问题{{text}} 回答。

这样,模型会明确知道自己的任务是「根据图片内容 + 用户问题,分析报错原因并回答」。

在这里插入图片描述


六、第四步:结束节点与发布

最后加一个 结束 节点,把大模型的最终回复作为工作流的返回值。

在结束节点的配置里,选择「返回变量」,将变量值设为 大模型节点的 output。这样,调用该工作流时,返回的就是大模型生成的那段「报错原因 + 解决建议」的文本。

在这里插入图片描述

画布上完整链路就是:开始(content, image) → Image2text(url=image) → 大模型(image_content, text) → 结束(output)

保存后点击 试运行,可以本地验证整条链路。

在这里插入图片描述

试运行前需要准备好:

  • 图片:一张真实的报错/代码截图(可先上传到图床,例如 Gitee 等,拿到 URL)
  • 问题:一句用户描述,如「请分析这个报错原因」

例如使用你提供的示例图片地址:
https://gitee.com/quyixiao/image_test/raw/main/div0.jpg

在试运行里填入「图片 URL」和「用户问题」,运行后即可在每一步节点上查看输入/输出,方便排查 OCR 是否识别正确、大模型是否收到了完整内容。

在这里插入图片描述

确认结果符合预期后,点击 发布,工作流就可以被智能体调用了。

在这里插入图片描述


七、第五步:新建智能体并绑定工作流

工作流发布后,去 智能体 里新建一个机器人,例如命名为 「编程疑难机器人」

人设与回复逻辑 里写清楚行为规则,例如:

  • 请使用工作流 code_excpetion,不要自己去回答。

这样,只要用户的问题适合「编程/报错分析」,就会优先走你刚搭建的「识图 + 分析」流程,而不是模型自己随意发挥。code_excpetion 即你之前发布的工作流名称,在「工作流」列表里选它即可。

在这里插入图片描述

预览与调试 里,上传一张带编程异常的截图,并输入问题(例如「这段代码为什么报错?」),即可看到智能体调用工作流后的完整回答:包括异常类型、触发位置(文件与行号)、核心原因与解决思路。

在这里插入图片描述


八、小结:你得到了什么

通过「工作流 + 智能体」的组合,你得到的是:

  1. 一条可复用的「编程答疑」流水线:开始(文本+图片) → OCR → 大模型分析 → 结束(文本回答),每步都可调、可看输入输出。
  2. 一个对外可用的「编程疑难机器人」:用户只需发截图和问题,由人设保证走 code_excpetion 工作流,回答风格和逻辑更稳定。
  3. 基于 Coze 的扩展空间:后续可以在同一工作流里加「代码」节点、条件分支(例如先判断是否包含报错再分析),或接入知识库、插件,做成更强的编程助手。

如果你也想做一个「看截图就能分析报错」的智能体,不妨从在 Coze 里建一条「开始 → OCR → 大模型 → 结束」的最小工作流开始,再绑到智能体上,按需迭代提示词和节点即可。


本文基于 Coze 工作流与智能体能力,结合多模态输入(文本 + 图片)与 OCR 插件,实现从报错截图到原因分析的一键式编程答疑流程。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐