展示Kalceo如何将复杂的建筑行业流程分解为原子任务,由Claude Agent舰队驱动,从MVP设计到生产部署的完整案例。
这篇文章记录了 Kalceo 的开发过程。它是 Ekioo Agent 舰队研发项目之一。除了 Kalceo,Ekioo 还开发了 Bloomii(建设性新闻媒体)和 KittyClaw(负责调度所有 Agent 的看板编排系统),并持续记录一支自主 AI Agent 舰队如何在生产环境中运作。
建筑行业至今仍然依赖电子邮件和 Excel 表格。手艺人和小型建筑公司要花费数小时手工编写报价单、跟进客户并追踪付款情况。市面上并非没有工具,但它们要么过于复杂,要么是为流程规范的中型企业设计的,并不适合单打独斗的瓷砖工或抹灰工。
Kalceo 源于一个简单的观察:制作一份报价单应该只需要 10 分钟,而不是两个小时。
MVP 的范围被刻意控制得很窄——第一个版本不包含会计模块、银行集成和电子签名。它只做几件事:创建报价单、将其转换为发票、生成 PDF,然后通过电子邮件发送给客户。这是产品从第一天起便具备实用价值所需的最低限度功能。
Kalceo 使用了与 Ekioo.com 本身相同的基础设施:由 KittyClaw 充当编排看板,一支由专业 Claude Agent 组成的舰队逐一处理 Ticket。
MVP 的范围规划始于一份粗略的功能清单,之后再将其细化为原子化 Ticket。每个 Ticket 都有明确的范围,例如:“创建报价单输入表单”“根据 HTML 模板生成 PDF”“通过 Brevo 用电子邮件发送报价单”。不含糊,也不跨越多个关注点。边界清晰时,Agent 的表现最好。
每项功能的工作流如下:
<!-- Ticket box --> KittyClaw Ticket 待办 → 负责人 <!-- Arrow 1 --> <!-- Dispatcher box --> 调度 Lain / 自动化 → 启动 Agent <!-- Arrow 2 --> <!-- Agent box --> Claude Agent 程序员 QA 测试员 内容作者 <!-- Arrow 3 --> <!-- PR / Review box --> PR → 审查 Owner 合并 → 生产环境 Kalceo MVP——按 Ticket 执行的工作流
每个 Agent 都在自己隔离的 git worktree 中工作。它会创建分支、开发功能、提交代码并发起 PR。Owner(也就是我)负责审查和合并。Agent 完成工作后,对应 Ticket 会在 KittyClaw 中进入“审查”状态。
在几周时间里,这支舰队完成了 MVP 的核心功能:
身份验证——注册、登录和账户管理
服务目录——每家公司都可以创建自己可复用的报价条目
创建报价单——添加条目、计算总额(税前/VAT/含税),以及管理状态(草稿、已定稿、已发送、已接受、已拒绝)
通过浏览器打印导出 PDF(由服务器生成可直接打印的 HTML 页面)
导出 DOCX,以便在 Word 中编辑
程序员 Agent 负责了大部分后端功能(JavaScript、Cloudflare Workers + D1)。QA 测试员编写了集成测试,并发现了总额计算中的多个 bug,尤其是数量带小数时的舍入问题。
对于边界明确的任务,Agent 的表现非常出色。只要给出范围清晰的 Ticket(例如“根据 Quote Razor component 生成 PDF”),通常一次往返就能完成。Agent 会阅读现有代码,提出与现有实现保持一致的方案,并产出可以测试的结果。
隔离的 worktree 结构也让并行开发变得更简单:两到三个功能可以同时推进,互不干扰。
Agent 有时会忽略副作用,复杂业务逻辑中尤其如此。最明显的例子就是总额计算:第一版能够正确处理整数数量的舍入,但在数量为小数时存在一个不易察觉的 bug(例如 1.5 个单位 × 单价),会导致税前总额出现几分钱的误差。QA 测试员发现了这个问题,程序员随后进行了修复——但这也说明了为什么人工审查依然不可或缺。
不同功能之间还出现过 UI 回归问题。一个 Agent 添加组件,另一个 Agent 修改布局,最后 CSS 在两边都没有测试到的角落里出了问题。为此,我们引入了一条简单规则:每个 PR 在进入“审查”状态之前,都必须附上受影响页面的截图。
Kalceo MVP 已经在 kalceo.fr 上线。我们还开展了数周的 Facebook 广告活动,目标受众是法国建筑行业的手艺人和微型企业。
早期反馈证实了这个问题确实存在:注册用户的确是建筑行业中的个体经营者或微型企业,他们仍然使用 Excel 或 Word 管理报价单。他们反馈的主要阻力是如何导入现有服务目录——这已经被明确列为 V2 的改进项。
其余 backlog 主要围绕两个方向展开:自动跟进客户(报价单发出 X 天后仍未收到回复时,自动发送提醒邮件),以及会计数据导出(导出为兼容法国主流会计软件的格式)。
如果只是一个人的项目,Kalceo 不可能在这样的时间范围内诞生。并不是因为这些功能难以编写,而是因为所有基础工作的总和——身份验证、数据模型、PDF 生成、电子邮件、测试和部署——如果利用业余时间完成,需要耗费数月。
有了 Agent 舰队,工作方式就不同了:你把时间花在界定 Ticket 范围、审查 PR,以及决定哪些功能应该纳入 MVP、哪些不应该。基础工作则交给 Agent。这并不意味着“不会出错”,但它意味着你可以快速迭代、快速修复,并将注意力放在产品而非代码上。
这才是真正的转变:效率提升并不是因为 Agent 编码更快,而是因为执行过程中的阻力已经消失,因此你能够更快地做出决策。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。