指南 · 工作台上的 AI
在板子上用 AI, 没有编造的答案。
通用聊天机器人无论有没有读过你的板子,回答方式都一样。这里讲的正是改变这一点的方法:每一句断言都来自一次查询,每一类数据都按它真正知道的东西来处理,而输出的形状就是证据本身,不是一段话。
打开一块板子试试01失败之处
通用聊天机器人在板子上为什么会栽
随便找一个通用模型,问它在一块它从没见过的笔记本主板上输入保险丝在哪。它会回答。 它会给你一个位号、一个位置,以及和它答对时一模一样的语气。
这不是换个提示词就能修好的毛病。语言模型产出的是最合理的下文,而在板子上,「合理」 很廉价:位号长得都差不多,各家厂商的供电轨名字也大同小异,而 C29 几乎存在于有史以来 每一块板子上。模型没有任何机制说出「我没找到」,因为它体内没有任何东西真的去看过。
在工作台上,代价不是一个尴尬的回答,而是一颗本来好好的、被你拆下来的元件。
02规则
那条改变一切的规则:它只能从查询结果里说话
解决办法是架构上的,不是对话上的。智能体说出的每一个元件,都必须来自一次针对你真正解析过的 板子、或者从你真正的原理图建出的电气图的工具调用。不来自它的训练,也不来自它对这段对话的记忆。
在 WrenchBoard 里有两层来兜住这件事。工具本身从不编造:查一个未知位号,它返回「未找到」 并给出最接近的候选,这迫使智能体从真实存在的里面选,或者回头问你。而在输出这一侧,任何形如 位号的词都会与已解析的板子核对,所以板子上不存在的词到你面前时,是标着「正在核对」的, 而不是被当作事实陈述。
这就是「帮上忙的助手」和「自信地搞错的助手」之间的全部差别,而且这一点在你评估任何工具时都能测: 问它一个你板子上根本不存在的元件。 有据可依的工具会说它找不到,聊天机器人则会描述给你听。
03数据
每一类数据回答的是不同的问题
这是几乎所有人都会弄错的地方,因为把每个文件都当成「粘进去的上下文」实在太顺手了。 每种格式承载的是不同的真相,一旦被压平成文本,它的价值就没了。
- Boardview 懂几何。焊盘在哪,哪些焊盘共用一条网络,板子另一面是什么。它不知道这些是干什么的。
- 原理图 懂拓扑。谁给谁供电,这条塌了会带塌哪条,某个引脚本该是什么。它不知道你该把表笔放哪。
- 你刚拍的照片 懂当下。腐蚀、返修过的芯片、上一个师傅飞的线。这些在任何文档里都没有。
- 规格书或维修手册 懂意图。这颗料被设计成做什么,出厂时预期能测到什么。
- 网络 懂集体经验。这个型号有个爱坏的稳压器,某一批的焊盘不行。有用,无法核实,应当当作线索而不是事实。
一个把这五者当成同一团无差别文本的智能体,只会给你一个平均水平的回答。而把它们分开的智能体 可以交叉:原理图说这条网络应该是 3.3 V,boardview 说最近的焊盘在这里,你的照片说这块焊盘已经腐蚀, 于是该测什么一下子就清楚了。
04看
「看」是一种工具,不是一段文字
一页原理图不是能当文本读的东西。信息在版面里:哪条线从哪个引脚出来,哪个标签落在哪根线上。 所以智能体拿到的不是这一页的转写,而是可以去看它,并且能给自己取景,像你把放大镜在纸质 原理图上挪动那样,放大到某一页的某个区域。照片也一样:它取它需要的那块,而不是眯着眼睛盯着整块板。
这也是为什么答案永远不该是「大概在 CPU 附近」。它应该是一页、一个区域、一个元件。
×4
05在工作台
实际怎么用
给它症状,不要给它你的诊断。「没反应,没有灯,插着 20 V 适配器」比「我觉得 PMIC 挂了」值钱得多。 后者会把搜索范围缩到你的假设上,而那恰恰是你本来想让它去验证的东西。
它让你测什么就测什么,按它给的顺序测。 顺序不是随意的:每一次测量都是为了砍掉故障树上最大的一支。 打乱顺序,你就白丢了这次淘汰。
失败要报得和成功一样准确。「0 V」和「OL」是两个不同的事实,一个失败的流程步骤给智能体的信息, 比一个通过的还多。
去反驳它。 一个有据可依的智能体可以被一次测量反驳,并且应当因此改排序。如果你的那个拿着第一个假设 跟你的万用表较劲,那你用的不是诊断工具,你是在跟自动补全吵架。
06闭环
一次读数不是一句回话,而是一行数据
板子和对话是同一个房间。 在检视器里点任意一个焊盘,它就会以一枚芯片的形式 进入你的下一条消息,F2 pin 1 (BAT1FUSED)。你从不需要手打元件号,智能体也从不需要 猜你说的是哪个 F2;而当它的某个视图给出一个测量项时,那个按钮会把目标直接交回给它。 这部分常被当成演示里的小把戏:其实两半本来就是接通的,所以在板子上取到的读数会直接 落进智能体的上下文,不经过你的键盘。
你说「F2 读 OL」,一个有数据支撑的智能体不会只是点头同意。它会调用一个工具把这次读数写下来: 测了什么、测在哪个元件或哪根引脚上、原本期望是多少,以及引擎自己判定的故障模式,开路、短路、 失效还是劣化。这次读数成为这台机器维修日志里的一行,挂在它被测的那个对象上。
由此有三件事,合起来就是「工具」胜过「聊天窗口」的全部理由。
下一次排序会读到它。 再要一次假设,观察数据会跟着一起进去。顺序变了,是因为事实变了, 不是因为你坚持。排序本来就是干这个的。
下一次会话也会读到它。 日志是可查询的,所以六个月前见过的板子不用从零开始, 同一型号上出现同样症状的下一块板子也不用。
而且没有任何东西需要重新录入。 你在工作台上做的那次测量,就是报告里印出来的那一次、 流程里被勾掉的那一次、知识库保留的那一次。你只录了一遍。
这一部分在演示里看不见,却决定一个智能体在工作台上到底有没有用:工具和数据是同一个东西。 一张能按网络回答的原理图电气图、一套能按症状回答的规则库、一本能写能重读的日志、 一个能被指点也能在上面测量的 boardview。没有这些,模型只能猜。接上这些,它才能测量, 也才能被推翻。
读数随你的下一条消息一起送出
BAT1FUSED · 0 V · 14:02 你不用再打一遍,助手回答前就已经读到它。
07模型
那模型还剩下什么
留意一下,在这整套里模型并没有在做什么。它没有记住你的板子,没有从照片里认出它,也没有回忆起 训练里见过的某次维修。它在选择下一个该调用哪个工具、读回来的是什么、以及什么值得去测。知识活在 电气图里、规则里和日志里。模型带来的是推理。
这也是为什么一个回答不该长得像聊天记录:预期值对着实测值,带概率的假设排名,带步骤的检测流程。要证据的形状,不是闲聊的形状。
看它干活
同一个智能体,在一块真实的板子上
这不是样机图,而是工作台本身和它的界面,运行在从引擎导出的 MNT Reform 设备包上:487 个真实元件、2066 个真实焊盘。下面每一步都是引擎在这块板上给出的真实回答:从这台设备针对该症状的规则,到输入保险丝 F1 背后的原理图图谱,再到它供电的那条板上网络。下面看看助手如何处理一块上不了电的板子。
八次工具调用,每一次都是引擎在这块板上的真实回答,没有一个元件是凭记忆说出来的。
常见问题
常见问题解答
我直接把原理图丢给 ChatGPT 不行吗?
可以,它也会回答。问题在于,无论它有没有真的读过你的板子,它的回答方式都一样。通用模型没有办法告诉你它没找到 C29,于是它会产出一个看起来很合理的 C29。在板子上,一个看似合理的回答会让你赔上一颗好元件和一个下午。改变结果的不是更强的模型,而是一个只能从工具查询结果里说话的模型。
所谓「有据可依」,具体是什么意思?
意思是智能体给你看的每一个位号,都来自针对你那块已解析的板子或原理图电气图的一次工具调用,绝不来自它的记忆。当一个位号无法被验证时,它会显示为正在核对,而不是被断言,而且核对是在整句话完成后才确认的。这个保证写在引擎里,不在提示词里。
文件的种类为什么这么重要?
因为每一种回答的是不同的问题。Boardview 知道焊盘在哪,不知道它是干什么的。原理图知道什么连到什么,不知道该把表笔放哪。照片知道你的板子今天长什么样,包括没人记录过的腐蚀。规格书知道这颗料本该做什么。一个把这四样都当成「要读的文本」的智能体,恰恰扔掉了它们各自有用的地方。
是不是每次都该用最深的推理档位?
不。而且这不是省钱的问题。对一个只需一次查询的问题用深档,会得到一段建立在单一事实上的长回答,读起来比它实际更笃定。深度值得用在板子不好对付的时候:一个症状有好几种可能成因、一条轨在带载时塌掉、一次已经失败过的维修。
AI 会取代我的手艺吗?
不会。它取代的是你在几十页 PDF 里翻找那唯一一条要紧网络所花的时间。你照样测,照样看表,照样做决定。智能体的任务,是让你下一次测量恰好是能砍掉最多分支的那一次。
它现在还差在哪?
差在文档里没有的一切。一块既没有原理图也没有 boardview 的板子,只能靠你的照片、你的测量和通用电子知识,这是真实的帮助,但薄得多。它也看不出冷焊,闻不到焦味。而且除非有人记录下来,它不会知道这一批板子有个已知的脆弱焊盘。