12 小时构建 AI 气候决策引擎

大多数碳足迹应用都失败了。

它们只给你一个数字,给你一些笼统的建议。仅仅提高意识并不能改变行为。知道你的碳足迹是 8 吨二氧化碳,并不能告诉你下一步该怎么做。

我开发了 Climbit 来解决这个问题。它不是一个计算器,而是一个决策引擎。它只回答一个问题:我现在能采取的最佳行动是什么?

核心逻辑

大多数工具侧重于测量,而 Climbit 侧重于决策。该系统会分析你的:

  • 通勤
  • 家庭能源
  • 饮食
  • 旅行

它根据减碳量、成本、精力投入和相关性对行动进行排序。

工程拆分

我做了一个关键的选择:将数学计算与 AI 分离开来。

大语言模型不擅长数学,它们会产生数字幻觉。在 Climbit 中,AI 从不负责计算排放量。

工作流程如下:

  1. 你通过文本、语音或收据图片提供数据。
  2. Gemini 将数据提取为结构化的 JSON。
  3. 由 TypeScript 引擎执行实际的数学计算。
  4. AI 解释结果并为你提供个性化方案。

这保证了数据的准确性,并提供了个性化的体验。

技术栈

  • Next.js 15 and React 19
  • TypeScript and Tailwind CSS
  • Supabase and Clerk
  • Google Gemini 1.5 Flash
  • Vitest and Playwright

解决实际问题

构建这个应用需要解决一些棘手的技术问题:

  • 水合作用 (Hydration):Recharts 在服务端渲染时会导致错误。我通过将图表渲染延迟到客户端挂载 (mount) 时才进行,从而解决了这个问题。
  • 安全性:我实现了一个令牌桶速率限制器 (token bucket rate limiter)。这可以防止昂贵的 AI 端点被滥用。
  • 无障碍性 (Accessibility):我使用了语义化 HTML 和 ARIA 标签。无障碍性是一项基本要求,而不是事后才考虑的事情。

启示

AI 可以加速编码,但它无法取代架构设计。

我大部分时间都花在了:

  • 修复水合作用问题。
  • 验证边缘情况。
  • 加强安全性。
  • 提高可靠性。

Demo 与产品之间的区别就在于这些细节。人们需要的不是更多的气候数据,而是更好的气候决策。

Source: https://dev.to/divyanshu_sinha_72e579e28/-building-climbit-an-ai-climate-decision-engine-in-under-12-hours-3pnc

Optional learning community: https://t.me/GyaanSetuAi