Mazorca:用Gemma 4打造可可园的离线AI农艺师

墨西哥开发者用 Gemma 4 构建离线可可园 AI 助手 Mazorca,解决无信号环境下的病害识别与周管理规划。
Mazorca 是一个运行在本地 Ollama 上的离线农艺助手,专为墨西哥塔巴斯科州无手机信号的可可园设计。它通过手机拍照巡园,由 Gemma 4 模型生成诊断卡,采用两步诊断策略——先中性观察、再诊断,并由服务器执行硬性规则约束,以避免视觉模型的误报。系统零依赖、数据本地化,兼顾隐私与部署简便。商业模式为农户免费,合作社、巧克力制造商和农技顾问为规模化报告付费。开发者自测显示场景描述准确但计数为近似值,霜荚腐病检测尚待验证,整体定位为观察辅助工具而非诊断工具。
当AI走进墨西哥的可可园
在墨西哥塔巴斯科州卡德纳斯,一位种植可可的开发者用 Gemma 4 构建了一个名为 Mazorca 的离线农艺助手。这个项目的起点很朴素:他家 3 公顷的可可园面临一个真实且紧迫的问题——moniliasis(霜荚腐病)。这种由 Moniliophthora roreri 引起的病害,如果不能在感染初期及时发现并移除病荚,会带走相当大比例的收成。
然而,当地大多数小农户没有每周上门的技术员,树冠下通常也没有手机信号。Mazorca(西班牙语意为"可可荚")正是为这个场景设计的:一部手机、一台笔记本电脑,在没有网络的树下完成病虫害识别和一周管理规划。

它是怎么工作的
拍照巡园与诊断卡片
使用者带着手机在园中逐地块拍照。每张照片经过本地运行的 Gemma 4 模型分析后,生成一张诊断卡,内容包括:
- 观察到的具体发现(霜荚腐病、黑荚病、丛枝病、过熟荚、遮荫过度、修剪需求、杂草、积水)
- 每项发现的置信度等级
- 健康荚与受影响荚的数量统计
- 最多四条可操作的实践建议
关键的设计细节是:诊断卡以"Lo que la IA ve"(AI 所见)开头。这个安排让农户能一眼判断模型看的是不是和自己看到的是同一件事——如果模型的观察与实际情况不符,用户可以立即发现。
7天地块报告与周计划
除了单张照片的诊断,Mazorca 还会为每个地块生成7天报告,包含照片、问题清单、受影响荚的比例,以及与上周相比的走势(上升、下降或持平)。这部分不依赖模型计算,是确定性的,因此数据本身是可靠可复现的。
周行动计划则由本地模型基于这份报告生成,并可通过 ElevenLabs 朗读成西班牙语语音——对于在烈日下更愿意听而不是读的农户来说,这个功能有实际意义。
此外还包含切豆测试(估算发酵良好、紫色、板硬或发霉的豆子比例)、CSV 导出(可带给合作社或技术员)等功能。
为什么需要两步诊断
这里有一个值得关注的技术设计。如果直接用提示词告诉视觉模型"这是可可园,寻找病荚",模型会被"预热",即使在健康植株上也会找出生病迹象。
Mazorca 的解决方案是两步调用:
- 中性观察:提示词完全不提可可、病害或农业,只描述场景、数人、报告是否可见果实及估计数量。
- 诊断:接收第一步的观察结果,且不能与之矛盾。
之后,服务器执行硬性规则而不是信任模型:如果观察中没有任何果实可见,所有关于荚的发现和计数都会被移除;如果计数远超观察估计值,则会被按比例缩减。
这一设计还涉及视觉语言模型(VLM)的提示词偏置问题。当提示中明确指定目标类别时,模型倾向于在图像中“找到”符合描述的物体,即使实际不存在。这种过度联想在通用图像描述任务中通常无害,但在农业诊断中会直接导致误报和错误施药。中性观察步骤的本质是让模型先执行开放式描述,把“所见”与“所判”在推理链上分离,使后续诊断有可对照的事实基线。服务器端的硬性规则则进一步充当了确定性校验层,用逻辑约束弥补模型概率输出的不可靠性,这正是将 AI 从“神秘黑箱”转化为“可审计工具”的关键工程手段。
工程细节
项目采用零依赖 Node 实现,仅使用 node:* 模块,无需 npm install,可以通过 U 盘复制到一台旧笔记本上使用。前端是墨西哥西班牙语的离线 PWA,使用高对比度配色以适应直射阳光下的阅读。
照片在上传前通过 <canvas> 重新编码,同时移除了 EXIF/GPS 信息,确保农场位置不会离开手机。所有模型文本通过 textContent 插入,避免注入风险。
针对 Ollama 不同构建版本可能返回 501 或静默忽略 format 参数的问题,项目将 JSON schema 也放入提示词中,即使 JSON 被 markdown 包裹也能提取,并有一次重试机会。
霜荚腐病(moniliasis) 是中美洲和南美洲可可种植区最具破坏性的真菌病害之一,由 Moniliophthora roreri 引起。它主要侵染可可荚,初期表现为不明显的褐色斑点,随后迅速扩展为白色孢子层,最终导致荚果腐烂。关键难点在于:感染初期几乎无症状,一旦孢子层出现,病害已在园区内扩散。因此,及时巡园、早期识别并移除病荚是防控的核心手段。对使用本文所述离线助手的小农户而言,这种每周一次的系统性巡查配合本地 AI 识别,恰好能弥补缺少专业植保人员的结构性短板。
三层付费逻辑:农户免费用,谁为数据买单
Mazorca 的商业模式值得细看。开发者坦承:个体农户不会先付费,因为许多人按公斤计酬,利润微薄。付费方是那些已经在为实地访问付费的角色:
- 可可合作社与收购中心:需要对数十名成员进行一致监测,更偏好按地块的周度 CSV 而非 WhatsApp 照片。合作社年度许可加一台廉价笔记本或迷你 PC 作为"田间盒子",成本低于多雇一名技术员。
- 直接采购并拥有可持续性或可追溯性项目的巧克力制造商:需要来自采购地区的良好农业实践证据。
- 推广技术员和农艺顾问:当生产者发送结构化周报而非随机照片时,一名技术员可以覆盖更多农场。
农户免费使用,需要规模化数据的一方支付部署、支持和 Kestra 报告的费用。
开源在这里不是理念,是前提
对于可可园这个场景,开源和创新不是哲学讨论,而是产品能否成立的条件:
田间无信号。 封闭视觉 API 需要在拍照时刻有连接,而开放权重模型可以在树下的手机热点旁跑在笔记本上。
农场数据留在农场。 对于向中间商售豆的小农户来说,地块照片、产量和病害水平是敏感的。本地推理意味着除了可选的音频计划文本外,没有任何数据离开笔记本。
零边际成本。 每个农场每周走一圈是 30 到 60 张照片。按图计费会让服务数百名成员的合作社商业模式崩溃;本地推理的成本只是一台笔记本的电费。
可替换、可审计。 当更好的模型出现,或合作社在自己的病害照片上微调了一个模型,切换只是一个环境变量。提示词、归一化和安全规则都是公开的,技术员可以准确读到这个工具被告知了什么、被禁止说什么。
需要区分的是,开放权重模型与开源模型并不等同。开放权重仅指模型参数可下载并在本地运行,而训练数据、代码和训练流程未必公开。对于可可园场景,实际起决定作用的是开放权重带来的离线推理能力:无需网络即可在本地完成识别,数据不出设备,且可以随硬件升级自由替换模型。至于代码和提示词的开源,则额外赋予了合作社或技术员审计和微调的能力,使整个系统在田间部署中真正可控、可复现。
开发者自己的实测结果
开发者本人就是第一个用户。他用自家 3 公顷的可可园照片测试,给出了诚实的反馈:
- 场景描述表现良好(林下植被、遮荫、收获堆、豆桶、树干上的幼荚),"AI 所见"让错误易于发现。
- 计数是近似估计而非精确盘点。
- 一次真实的失误:它把他打开的可可壳堆误读为"地上的过熟荚"。这是一个合理的视觉错误,也恰恰说明了为什么每个发现都要带置信度,并提示用户与技术员确认。
- 霜荚腐病尚未验证:正值收获后时期,没有活跃霜荚腐病的照片。在新荚长出时检测自家荚上的病害是下一步测试。
- 一次纠正:早期提示词暗示可可壳堆会导致霜荚腐病。这不正确——健康荚的壳不会致病,但如果混入病荚则可能传播孢子。开发者修正了提示词,现在只建议将壳堆远离树木摊开或堆肥。
Mazorca 明确定位为观察辅助工具而非诊断工具,不替代技术员或实验室。但它已经为开发者提供了此前没有的、每周结构化的地块视图。
从实测反馈中可以看到一个更普遍的规律:当前视觉语言模型在“描述性任务”上已相当可用,但在“计数和度量”任务上仍不可靠。林下植被、收获堆、豆桶等场景描述准确,说明模型对整体构图和物体类别有良好感知;但将开放的可可壳堆误读为“地上的过熟荚”,则暴露了模型在细粒度区分和上下文推理上的局限。这类错误在农业场景中代价很高——若农户据此误判病情并采取错误措施,可能造成不必要的损失。因此,开发者将 Mazorca 定位为“观察辅助工具”,强调置信度和人工复核,是符合当前技术成熟度的务实选择。
运行方式
ollama pull gemma4:e4b-it-qat
git clone https://github.com/gartox/mazorca && cd mazorca
npm start
在笔记本上打开 http://127.0.0.1:3000,或用连接到同一热点的手机打开笔记本的局域网 IP。模型可通过 MAZORCA_MODEL 环境变量替换,Ollama 默认超时为 180 秒。Kestra 流程为可选组件,默认禁用。
相关推荐

LLaMA-Factory实战:零代码微调大模型全流程
本文介绍LLaMA-Factory开源微调工具,涵盖其60.1K Star项目背景、支持的模型与算法、本地与云服务器部署选择,以及CUDA环境安装步骤,帮助零基础开发者快速上手大模型微调。

曾鸣深度复盘:OpenAI为何难成终局赢家?公司制度将消亡
曾鸣在张晓骏商业访谈录中深度复盘AI终局:模型公司只是基础设施,OpenAI、Anthropic难成最终赢家;下一战役是Agent入口标准之争;公司制度将因AI重构而消亡,只有使命驱动的企业能穿越周期。

OpenHands v1.28.0:OpenCode与PI成内置Agent,密钥可对话申请
OpenHands 21天连推5个版本,v1.27.0将OpenCode与PI写入内置Agent列表,v1.28.0支持对话内申请密钥。本文梳理ACP协议接入方式、凭证复用规则、模型列表变更及升级建议。