29 天,一个 91k 行的 ERP,零开发者

发布: (2026年5月3日 GMT+8 16:15)
10 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我将为您翻译成简体中文并保持原有的格式、Markdown 语法以及技术术语不变。

Introduction

一个四月的早晨,差八点,安托万靠进我的办公室。
七十三岁,曾任导演三十年,九月退休。他没有坐下;每当他带着真正的问题来时从不坐下。手扶在门框上,七个字:

« Michel, combien vaut la maison aujourd’hui, dis‑moi ? » — Michel,今天这房子值多少钱,告诉我?

我给了他一个毫无意义的答案。他点了点头。

« Évidemment. Bon, on avance. » — 显然。好,继续吧。

他走了出去。问题仍然悬在空气中。

房子

他所说的这所学校是 L’Atelier Palissy,一所独立的美术学院,成立于二十五年前,围绕严格的陶瓷实践而创立。如今,它在巴黎及其大巴黎地区的六个校区,为数百名学生——包括初学者和高级学员——教授素描、绘画、造型、雕塑和写生。

  • Antoine 在那里工作了三十年;我最近接任了校长职务。
  • 他的问题包含了所有其他问题:我们在传递什么? 它值多少钱? 我们该如何表达而不自我编造故事?

为什么我构建了这个工具

我发现唯一不撒谎的办法是 编写计算它的工具。本系列解释了为什么这个问题让我熬了四周夜,以及当你不知道如何干净利落地回答时,你会在自制 ERP 中归档些什么。

  • 我们已经用了 Excel、Sage 和活页夹 运营了二十年。
  • 一种更依赖人与人而非流程的亲近文化,拥有 Qualiopi 认证(法国职业培训的国家质量标签),受众从转行的员工到七十岁开始做陶艺的退休人士。
  • 受过艺术史训练、不是开发者、四十多岁的我,时而灵感迸发——假设为 ADHD——这就是为什么 决策在四十八小时内翻转,项目能够整夜坚持。其余时间,我让事情随波逐流。这是一种节奏,而非方法。

ERP 失误

  1. Monday – 在巴黎的会议室,我与一家知名的欧洲 ERP 供应商签订了一个 五位数的套餐(年度许可证,默示续约)。大家都在微笑。
  2. Three days later – 再次阅读合同时,我看到技术附件,其中定制开发的计费表是 按生成的代码行数计费
  3. 我给供应商打了电话。客户经理礼貌而迂回地解释说,这在各处都是一样的。我挂断电话时才迟迟明白,这个指标 在衡量代码的同时也在生成代码,而我们刚刚买下了一个其价格随自身扩散而增长的对象。

DIY 方案

DayAction
星期六第一次打开 Claude Code
星期日晚构建了一个 Supabase schema、三个 Next.js 路由和一个认证页面。并无惊人之处——仅证明该替代方案可以在一个周末完成。
星期一上午 (签约后八天)已经有东西在运行。商业套餐正处于退款谈判中,仍未结束。
二十九天后该系统——我出于兴趣且开玩笑地称之为 Rembrandt——累计 91 000 行 TypeScript、过去四周 377 次提交16 条书面的架构决策、以及 54 次会话 已记录在记忆中。

我列出这些数字并不是为了炫耀;后续内容将展示它们 并不像表面看起来那样,并且需要一些度量手段才能把它们转化为资产,而不是奖杯式的计数。

我现在写下这篇的三个理由(这样我就不必再回来看了)

  1. 让错误变得有用
    我编写了一个估值仪表板,却被它欺骗了三周,部署了一个在沉默中超时的 Sentry 定时任务,误把数据模型的分歧当成了不情愿的同事。这些都不会出现在人们通常发布的、用来炫耀自己懂行的帖子里。我宁愿写下另一半。

  2. 与 DEV.to 社区一起学习,而不是出售方法
    我没有任何可售的东西——没有付费工作坊,也没有辅导。即使我出售,也会是一个糟糕的捷径,因为没有相伴的实践经验,这条路是难以读懂的。提出更好视角的评论会被阅读,有时会融入下一篇文章。

  3. 重要的澄清

    • 名字是虚构的,学校是虚构的,情节可能被重新组合。
    • Antoine、Françoise、Gaspard 在本质上存在,但不涉及其民事身份。
    • 正在与供应商进行商业谈判,某些情节涉及我不必公开的人物。
    • 所有内容都是真实的,意味着它们确实发生过;但没有任何内容是对话的逐字记录。
    • 任何在生产环境中使用大语言模型(LLM)的人都知道,你不可能把每个细节都证明出来,这正是必须记录方法的原因。

系列结构

四个章节共二十四篇文章

  1. 估值 – 在编写一行代码几乎不花钱的时代,如何衡量一个定制技术对象的价值。
  2. 可发布的架构决策 – 四周内十六个,其中三个因敏感财政原因保持私密。
  3. 生产环境中的事故与修复 – 短篇、易消化的故事。
  4. 元:Claude Code 工作流CLAUDE.mdMEMORY.md、ADRs、hooks,我最终对需要框架的快速学徒的理解。

阅读顺序建议

  • 如果你刚开始,先阅读**#3** – 关于为何 LOC × day‑rate 模型在 AI 时代已失效的转折点。
  • 然后阅读**#7** – “一个订阅 = N 个席位”的商业模型,展示了其具体形态。
  • 其余内容可以随意顺序阅读。

演员阵容

  • Françoise 保管账本、房子、便利贴和活页夹。与我们共事二十年,活力十足,判决简短,标志性台词 « elle va pas nous emmerder, celle‑là » — “她最好别给我们添麻烦”。她在伦勃朗前摇摆,她的摇摆是对的。

  • Antoine 是前任导演,七十三岁,九月退休。是屋子的父亲形象,几乎不重复提同一个问题。

« Évidemment. »显然。
« Vous êtes sûr ? »你确定吗?
« Bon, on avance. »好,继续前进。

  • Gaspard – 长期 IT 承包商。他的角色在本系列中逐渐淡出,逐步由 Claude Code 与我接手。他严谨、技术性强,言辞简练。是每篇帖子背后默默进行的戏剧。

  • HélèneCatherineÉtienne(会计)– 在剧情需要时出现。

征求反馈

我对这篇出版物感兴趣的是我以前未见过的视角。
当你想象一位非开发者的导演在四周内使用 Claude Code 编写自己的 ERP 时,你最想直接得到回答却从未被提及的问题是什么? 那个能让你留下来的问题。

在评论中说出来。 我会阅读、记住,如果它比文章本身更有说服力,我会把它塞进后面的文章里。

代码与示例

包含代码的文章会在伴随的仓库中打开它们的代码片段(MIT 许可证,像其他内容一样已匿名化):

  • 仓库:
  • 在其中您会找到:
    • 估值摘录
    • 联系 × 课程建模
    • 四层 CLAUDE.md 模板

接下来

我为什么编写了一个模块来告诉我 Rembrandt 的价值。

0 浏览
Back to Blog

相关文章

阅读更多 »

我觉得 Ruby 不够动态…

介绍 诚然,这更像是个人随笔,而不是技术文章。过去几年里,我已经成为了 Crystal 的信徒之一。Loo...

DAG 工作流引擎

DAG 工作流引擎:一个面向生产的 DAG(有向无环图)工作流引擎,由 YAML DSL 驱动。验证、执行并可视化工作流,支持…

代码是一种商品。判断不是。

价值转移:AI 能编写代码——高质量代码、整洁代码、高速代码。这并不使开发变得简单;它改变了真正价值所在的位置。当代码…