```html IdleWheels开源AI交接检查演示 IdleWheels开源AI交接检查演示
印度办公室楼下的停车场,每天早上9点停满摩托车和汽车,一直到傍晚6点没人碰。一位父亲看着这片停车场说了句话:这些车就这么停到下班,总该有人靠它们赚点钱。
![]()
这句话成了IdleWheels的起点。按这个思路算,一辆车每天有9个小时完全闲置,而三条街外可能正好有人需要这几个小时——去学校、去面试、去医院。把车睡着的时段租出去,看起来是最顺理成章的副业。
但真正动手的人,五分钟内就会撞上真正的难题。不是预约流程,是这句话:
车主说"侧面多了一道新划痕",租客说"那道划痕本来就在"。每一单租赁最后都卡在这个争执上。谁也证明不了什么,于是谁都不信谁,于是谁都不租。
IdleWheels的做法是把这场争执交给AI来判。
三步走完一单
第一步,车主登记车辆、所在区域和空闲时段,比如9:30到5:30。不确定收多少钱,点一下"问Gemma",它会给出一个建议时价。
第二步,租客选日期和时间段发请求,费用提前显示清楚,比如7小时×35卢比=245卢比。车主接受之前,双方手机号互相隐藏;接受之后,预约内打开聊天,商量取车细节。
第三步是交接检查,也是整个产品最核心的部分。取车时拍4张照片:车头、左侧、右侧、车尾;还车时同样4张。跑在车主自己笔记本上的开源模型Gemma 3逐对比较,只列出新增的损伤,并标注严重程度和置信度。判定结果直接落进预约聊天,双方都能把完整报告存成PDF。
整个纠纷流程就这些。不吵架,两张照片加一双不站队的外眼。
让AI判断,别让它算数
定价功能的第一版很朴素:把车给Gemma看,问它每小时收多少。三辆差不多的摩托车,它报出了95卢比、180卢比、600卢比。一小时600卢比租一辆摩托车,这个价格应该配个司机再送杯茶。
小模型不擅长算术,更不擅长保持一致性。于是作者把工作拆成两半:Gemma只做它擅长的部分,看车并归类为经济、标准或高端;算钱交给一张费率表。费率参考了本月海得拉巴的真实自驾租赁价格(Royal Brothers、Zoomcar、Revv等),IdleWheels定得略低一些——邻居的摩托车没有公司背书、没有保险套餐、没有道路救援,不该收一样的价。
这是这一周最好的一课:让AI做判断,别让它做算术。
小模型怎么学会"说实话"
让一个小模型诚实地比较两张照片,才是真正的工作量。作者用了三个办法。
先描述,再判断。每次请求把取车和还车照片一起发过去,用JSON结构强制Gemma先描述第一张,再描述第二张,最后才列出变化。Ollama按顺序填字段,判定就建立在模型刚看过的东西上,而不是猜。
告诉它忽略什么。相隔几小时拍的两张照片永远对不上,光线变了、影子移了、反光偏了。提示词明确要求Gemma忽略这些,外加灰尘。
允许它说"不知道"。Gemma可以回答unsure,也会在两张照片拍的不是同一视角时给出提示。一个会凭空编造损伤的纠纷工具,比没有工具更糟。
技术栈上,前端是纯HTML、CSS和JavaScript,没有构建步骤;一个极小的Node.js服务器只带一个依赖pg,把车辆信息、预约和聊天存进Render Postgres。AI从不在服务器上跑,照片从浏览器直接到车主自己的笔记本,服务器只看到文字判定,比如"新增划痕,左侧面板,轻微"。
这个设计不只是为了隐私。副业利润薄,一单赚245卢比,付不起每次交接都调一次API的费用。跑在车主已有笔记本上的开源模型,让这层信任机制的成本归零。
作者自己列出的局限
- 笔记本上的4B模型可能漏掉发丝级划痕,也可能被反光骗过去。它是第二双眼睛,不是法官。
- 身份验证目前只有一个名字、一个手机号和一个存在浏览器里的密钥。真要上线,需要OTP验证。
- 法律层面,在印度用私人注册车辆(白牌)收费出租,需要商业注册和相应保险。IdleWheels目前是信任层的演示,现实中最快的落地路径是持牌租赁店——它们每天都在经历一模一样的划痕争执。
这个点子来自作者的父亲,代码在一个咖啡因充足的上午写完。父亲已经问起了他的分成。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.