
走到现场去
排队、拣货动线、交接班、断网的收银台。用十件现场工具确认:把画面放在人站立的位置,它得扛住什么。
Vol. 8
horizon
build
- 一个文件夹就是应用 — 包里没有代码我们做了无人店铺店主用的应用。源码是四个 JSON,没有编译。顺着路由走到第二个画面,改一段文字画面就变 — 构建不会运行。只是变的只有画面,商品照旧。那个分岔就是这一篇的主题。DEV
- 把依据摆在答案旁边 — 接一个会去问设备的 LLM站在机器前的人用话来问,LLM 就去调用设备的工具来答。要紧的不是答案,而是这个答案究竟查了什么才出来的,要和答案一起显示在画面上。一个工具都没调用的答案,会被标出来。mcp_client + mcp_llm 的全部接线、运行日志、4 张真实渲染截图。DEV
- 换掉传感器,控制照旧 — 不把一座温室建两遍的办法温室控制器之所以贵,真正的原因是传感器和控制在代码里一对一咬死了。让节点自己声明自己、规则按种类而不是按型号来写,换一只温度传感器就没有代码要改。用同一个服务端、同一套规则真跑了两座不同温室的记录。DEV
field
- 一个应用两家店 — 第二家店要是变成改代码,你就输了同一个收银画面被两家咖啡店共用。价格、营业时间、菜单都不同,一家含税报价,另一家在收银台另加。包里没有任何一家店名的一个字符,而验证用一行 grep 守住这一点。DEV
- 依据跟着日期一起来 — 截止日看板不存的东西2026-06 我们刊了一篇税务截止日看板的文章。那篇没说日期是哪来的。这次我们自己做了 — 这块看板一个截止日都不存。只拿着规则每次现算,被周末顺延的日子它就说被顺延了。DEV
- 收银台不在的时候 — 补上我们留着的一个洞从创刊号起,这本杂志就一直写着「从未测过离线行为」。这次我们中途把收银进程杀掉,又接了三单。「不丢」和「不重复收」是相反方向的失败,所以两边都检查。DEV
- 没人在做的那个决定 — 交接班漏掉的一件事交接班里丢掉的不是被忘掉的那一条。是整周每次交接都出现、却没人动手的那一条。把「重抄」改成「继续挂着」之后,它被顺延过多少次,自己就数出来了。DEV
- 凭什么它在最上面 — 一个人干活的人的画面2026-06 我们刊了一篇个体经营者把多个角色汇到一个画面上的文章。把所有东西汇到一个画面,那不过是个列表。难的是一个人去信这份列表 — 所以每一项出来时都带着出处,排序规则也写在画面上。DEV
- 走的顺序 — 订单上写的顺序不是仓库的顺序订单按客人下单的顺序来,而拣货的人按货架摆放的顺序走。我们没有去主张这两者不同,而是把两条路线都算出来一起摆到画面上。106 步和 82 步。DEV
- 门外的队 — 两个画面看同一条队排队管理,就是两个人在两个位置看同一条队。门口和柜台一旦各自开始记自己的数字,接下来就是和客人吵架。我们做了两个画面,从柜台叫走一桌,然后重新拍了没人碰过的门口画面。DEV
- 司机一个按钮都不按 — 计价器、OBD、收款收进同一块仪表盘车里有四台终端,把它们接起来的最后还是司机的手。车门一开计价器就走,车送出来的车速帧变成车费,到站后收款自己出现在乘客屏上。整趟车里人按下的按钮只有乘客那一次「支付」。全部源码、运行日志、8 张真实渲染截图。DEV
- 定价只发生在一处 — 标签和账本为什么在收档时对不上按重量卖的店,总有一天会在收档时差出几百块。因为价格被算了两次:一次为了让客人能付而取整,印在标签上;一次从原始重量重算,进了账本。两个都说得通,而且互相不等。DEV
- 不做覆盖 — 继承来的笔记本要有用,得先做到这个2026-05 我们刊了一篇继承父亲工作笔记本的文章。继承来的记录,难的不是读,而是无从得知谁在什么时候知道了什么。这次我们自己做了 — 这里什么都不覆盖。被证明是错的那一行原样留着,而当初为什么那样想,也读得出来。DEV