一家年经常性收入 200 万欧元的医疗 SaaS 如何实现 100% 智能体编程
We run 100% agentic coding at a €2M ARR healthcare SaaS
我们发现了什么
我们在一家年经常性收入 200 万欧元的医疗 SaaS 中实现 100% 智能体编程。标题:一家年经常性收入 200 万欧元的医疗 SaaS 如何实现 100% 智能体编程 URL 来源:https://agenticprime.ai/issues/agentic-coding-healthcare-saas/ 发布时间:2026-07-05 Markdown 内容:appointmed 智能体编程工作流背后的运营模式:我们如何规划工作、监督智能体、审查代码,以及让人类承担发
- 来源:Hacker News(发现于 2026-07-19)
- 证据等级:D · 发现产品或需求信号,暂未获得可核验的商业证据。
- 商业模式:Subscription SaaS
- 主题:开发者工具
- 初筛评分:40.6/100 · 收录 1 次
证据,比故事更重要。
规则清洗与初筛,未经人工商业核验。原文语境、实际客户和付费情况仍需自行验证。
引用与数字披露
来源类型(原作者自述/第三方测算/媒体转引)需采集端标注,本版尚未落字段。
- 作者
- 未标注
- 抓取日期
- 来源类型
- 未标注
- 币种
- 未标注
- 口径
- 未标注
- 披露主体
- 未标注
- 披露日期
- 未标注
中文辅助译文(全文)
2026年7月5日
我们如何在一家 €2M ARR 的医疗 SaaS 中实现 100% 智能体编程
appointmed 智能体编程工作流背后的运营模型:我们如何塑形任务、监督智能体、审查代码,并让发布风险由人来承担。
关于智能体编程最常见的误解是:它取代了工程判断。事实并非如此。
在 appointmed——一家拥有约 3,500 家客户、年经常性收入约 €2M 的医疗 SaaS——生产代码默认由智能体编写。我们并没有停止做工程,只是“打字”这件事转移了,责任的归属始终不变。
有趣的部分并不是智能体能够生成代码——这一点人人都见过。有趣的部分在于:一旦围绕智能体的系统足够精确——工单、仓库、测试、审查、发布纪律——智能体就可以承担真正的实现工作。学习发生在那套外围系统里,这正是 AgenticPrime 存在的原因。
什么是 100% 智能体编程
生产变更通过智能体实现,而不是一行一行手动键入。智能体并不决定“应该存在什么”。产品方向、架构、权衡、审查深度和发布风险由人拥有。智能体拿到的是实现任务。
跳过这一条,智能体编程就变成玩具演示或危险的捷径。守住这一条,它就成为一种运营模型。
循环很简单:塑形上下文,让智能体实现,用测试验证,审查意图,谨慎发布,再把学习转化为下一个更好的工作流。
一个最近的变更
举一个具体的例子,来自我写这篇文章的几天前。我们在登录流程中加入了账户锁定功能:在足够多次失败尝试之后,账户会自动锁定。小功能,大约一百行代码,但涉及安全。
智能体实现了它,看起来好像完成了。拉取请求上的两个 AI 审查员产生了分歧,并且各自以不同方式指出了其中的错误。
第一处,是一个计数 bug。统计失败尝试次数的检查先读取当前计数,再写入新计数,分两步完成。同一瞬间到达的两次尝试可能都读到旧的数字,从而绕过上限。修复办法是把计数合并为一个原子步骤,使并发尝试无法在“读”和“写”之间溜过去。
第二处,是相反方向的失败。如果检查变慢,它可能在完成前被中断,而被中断的安全检查当时被当作硬性拒绝处理。于是我们这边的一个慢瞬间就会开始锁定合法用户。修复办法是对检查加上一个“快速失败、超时放行”的短期限:如果检查无法在规定时间内给出答案,诚实用户应被放行,而不应为我们系统的延迟受罚。
同样是这一百行代码:一个是让不该进的人进来的 bug,一个是把该进的人挡在外面的 bug。两个都在发布前被捕获,然后用测试钉住,防止它们悄然复发。
重点不是速度。重点是,它一次产出了表面上可信、却在两个方向上都微妙错误的东西;让它从“看起来可信”变成“真正安全”的,是围绕它建立的分层审查。
工单是第一个接口
与智能体的第一个接口不是聊天框,而是任务。
糟糕的任务塑形会产生糟糕的智能体工作。模糊的验收标准、隐藏的产品上下文、缺失的文件、不明确的约束、未说出的边缘情形——所有这些都会变成高昂的成本。智能体会做出一个看似合理的选择,而“看似合理”并不等于“正确”。
因此,工作在智能体启动之前就已经开始。对于生产任务,我希望工单能回答:
究竟应当改变什么行为?
哪些部分应当保持不变?
哪些文件、路由、命令或工作流可能是相关的?
如果出错,真正的用户风险是什么?
在我们宣布完成之前,应当存在哪些证据?
这是普通的工程纪律。智能体让薄弱的任务定义更显眼,但绝不会原谅它。
代码仓库必须教会智能体
智能体在一个能“自我说明”的代码库中表现要好得多。
这并不意味着每个文件都要写注释。它意味着仓库拥有容易发现的本地模式、测试、命名、脚本和约定。当某件事只有一种做法时,智能体会遵循它;当存在五种半成品的做法时,它会选最近的那一个、最响亮的那一个,或者错的那一个。
我们越多地使用智能体,平淡无奇的仓库卫生就越有价值:
清晰的命令。
小而精的模块。
可预期的命名。
紧贴行为的测试。
明确的本地约定。
说明重点所在,而非显而易见的文档。
这是意料之外的收益:智能体编程推动代码库对所有人变得更易读。
实现即督导
智能体负责打字、搜索和机械性的修补。这改变了变更构建期间我的角色。我不再把每一行都装在脑子里,而是去做督导:
我检查智能体是否找到了系统中正确的部分。
我尽早寻找错误的假设。
当变更影响半径变大时,我会要求更小的差异。
我推动它向既有模式靠拢。
我要求证据,然后才信任结果。
最好的会话不再是“提示词工程”,更像是管理一位极其迅速、却没有长期记忆、也没有产品品味的贡献者。极其有用,但前提是监督系统足够严格。
审查关乎意图
代码评审的变化也最大。当每行代码都出自人手时,评审把几件事混在一起:理解实现、抓 bug、争论风格、从差异中推断意图。
在智能体编程下,我把它们分开:先看“实现的行为是否匹配预期的行为”,再看架构与风险,最后才是局部清理。
问题不再是“我自己也会这样写吗?”,而变成“这是正确的变更、在正确的位置、带有正确的证明,且没有我们忽视的隐性成本吗?”即便没有智能体,这也是一个更健康的评审问题。
智能体可以推进实现,而产品意图、架构边界、审查深度和发布风险仍然由人掌握。
测试即契约
智能体善于满足“看得见的契约”,因此“看得见的契约”必须是真实的。只覆盖“快乐路径”,你得到的也只是“快乐路径”上的信心。把真正的风险编码进去,智能体才有有意义的东西去满足。
对 appointmed 而言,这并非纸上谈兵。产品涉及医疗与健康工作流;一个不声不响的错误的代价是实实在在的。我不希望测试只是把仪表盘点绿。我希望它们给智能体画出一条边界,给我一个信任变更的理由。规则很简单:如果某个行为重要到可以通过智能体交付,它就重要到必须被证明。
实际发生了什么变化
实现不再是稀缺活动。清晰的上下文是稀缺的。好的品味是稀缺的。知道不该改什么、何时差异过大、什么证据才重要——所有这些都是稀缺的。于是精力发生了转移:花在塑形任务和让仓库可被导航上的时间更多了,花在那些能力出众的智能体能够更快完成的机械性编辑上的时间更少了。这不是“更少的工程”,而是工程被集中到了别处。
这些都没有把责任移走。如果智能体交付了一个 bug,客户不关心是谁写的。如果架构腐化了,仓库也不在意差异有多快。智能体让一些工作更快,也让薄弱的判断更危险,因为薄弱判断如今会产出多得多的代码。答案不是把所有事情都放慢,而是在“速度”周围建立更好的检查、提示、工作流和习惯。那才是真正的工作。
为什么存在 AgenticPrime
AgenticPrime 是我沉淀这些经验的地方。它不是泛泛的 AI 评论,也不是工具炒作,更不是声称每个团队都应该复制 appointmed。其目标是务实的:
分享在生产中存活下来的工作流。
发布那些能降低风险的提示词与检查。
在模式反复出现的地方构建小型开发者工具。
展示一个真实 SaaS 代码库中发生了什么变化。
诚实地说明哪些事情仍然需要人的判断。
证据来源是 appointmed。其输出应当远远超出 appointmed 自身而仍然具备可用性。
一个实用的起点
如果你想尝试,请不要一开始就宣称智能体将编写你所有的代码。从一个已经有清晰边界的重复性工作流开始:一类小 bug 修复、一处测试改进、一个重构模式、一个从文档到代码的路径——某种你可以定义上下文、预期输出和证明的事情。
然后观察哪里出了问题:任务足够清晰吗?智能体找到了正确的文件吗?测试证明了正确的东西吗?评审是否抓住了意图层面的问题?发布是否感觉安全?真正的学习就从这里起步。
智能体工程的胜出者不会是拥有最花哨提示词的团队,而是围绕智能体构建出最优秀“操作系统”的团队。这正是我们努力构建的方向。
获取构建日志
每两周一次:交付了什么、哪里出了问题、成本或节省了多少。
译文由上游机器翻译生成,可能有误;判断请以英文原文为准。
英文原文(来源本站未改写)
July 5, 2026
How we run 100% agentic coding at a €2M ARR healthcare SaaS
The operating model behind appointmed's agentic coding workflow: how we shape work, supervise agents, review code, and keep release risk owned by humans.
The most common misunderstanding about agentic coding is that it replaces engineering judgment. It doesn't.
At appointmed, a healthcare SaaS with about 3,500 customers and roughly €2M ARR, production code is written through agents by default. We did not stop doing engineering. The typing moved. The responsibility stayed.
The interesting part is not that an agent can generate code. Everyone has seen that. The interesting part is that agents can carry real implementation work once the system around them is precise enough: the ticket, the repo, the tests, the review, the release discipline. That surrounding system is where the learning lives, and it is why AgenticPrime exists.
What 100% agentic coding means
Production changes get implemented through agents rather than typed line by line. The agent does not decide what should exist. Humans own product direction, architecture, tradeoffs, review depth, and release risk. The agent gets the implementation job.
Skip that line and agentic coding becomes a toy demo or a dangerous shortcut. Hold it, and it becomes an operating model.
The loop is simple: shape context, let the agent implement, verify with tests, review for intent, release carefully, then turn the learning into the next better workflow.
One recent change
Here is a concrete one, from a few days before I wrote this. We added account lockout to the login flow: after enough failed attempts, the account locks itself. Small feature, roughly a hundred lines, but security sensitive.
The agent implemented it and it looked done. Two AI reviewers on the pull request disagreed, and each found a different way it was wrong.
First, a counting bug. The check that counts failed attempts read the current count and then wrote the new one as two separate steps. Two attempts arriving at the same instant could both read the old number and slip past the limit. The fix made the count a single atomic step, so simultaneous attempts can no longer sneak between the read and the write.
Second, the opposite failure. If the check got slow, it could be cut off before it finished, and a cut off security check was being treated as a hard deny. So a slow moment on our side would start locking out legitimate users. The fix put a short deadline on the check that fails open: if it cannot answer in time, the honest user gets in rather than getting punished for our latency.
Same hundred lines. One bug that lets the wrong people in, one that keeps the right people out. Both caught before release, then pinned with tests so they cannot come back quietly.
The point is not the speed. It is that the agent produced something plausible and subtly wrong in two directions at once, and the layered review around it is what turned plausible into safe.
The ticket is the first interface
The first interface with an agent is not the chat box. It is the task.
Bad task shape produces bad agent work. Vague acceptance criteria, hidden product context, missing files, unclear constraints, unspoken edge cases, all of it becomes expensive. The agent makes a plausible choice, and plausible is not correct.
So the work starts before the agent starts. For a production task, I want the ticket to answer:
What exact behavior should change?
What should stay untouched?
Which files, routes, commands, or workflows are likely relevant?
What is the real user risk if this goes wrong?
What proof should exist before we call it done?
This is ordinary engineering discipline. Agents make weak task definition more visible; they do not forgive it.
The repo has to teach the agent
Agents perform much better in a codebase that explains itself.
That does not mean comments on every file. It means the repo has local patterns, tests, naming, scripts, and conventions that are easy to discover. When there is one way to do something, the agent follows it. When there are five half finished ways, it picks the most recent, loudest, or wrong one.
The more we use agents, the more valuable boring repo hygiene becomes:
Clear commands.
Small modules.
Predictable naming.
Tests close to the behavior.
Explicit local conventions.
Documentation that says what matters, not what is obvious.
That is the unexpected benefit: agentic coding pushes the codebase to become more legible for everyone.
Implementation becomes supervision
The agent handles the typing, searching, and mechanical repair. That changes my role while a change is being built. Instead of holding every line in my head, I supervise:
I check whether the agent found the right part of the system.
I look for wrong assumptions early.
I ask for smaller diffs when the blast radius grows.
I push it toward existing patterns.
I require proof before I trust the result.
The best sessions feel less like prompting and more like managing a very fast contributor with no long term memory and no product taste. Extremely useful, but only when the supervising system is strict.
Review is about intent
Code review changed the most. When a human writes every line, review mixes jobs: understanding the implementation, catching mistakes, debating style, inferring intent from the diff.
With agentic coding I separate those. First, does the implemented behavior match the intended behavior? Then architecture and risk. Only then, local cleanup.
The question stopped being "would I have typed this the same way?" It became "is this the right change, in the right place, with the right proof, and no hidden cost we are ignoring?" That is a healthier review question even without agents.
The agent can move implementation forward, but humans still own product intent, architecture boundaries, review depth, and release risk.
Tests become the contract
Agents are good at satisfying the visible contract, so the visible contract has to be real. Cover only happy paths and you get happy path confidence. Encode the actual risk and the agent has something meaningful to satisfy.
For appointmed this is not academic. The product touches healthcare workflows; the cost of a quiet mistake is real. I do not want tests to make a dashboard green. I want them to give the agent a boundary and give me a reason to trust the change. The rule is simple: if a behavior is important enough to ship through an agent, it is important enough to prove.
What actually changed
Implementation is no longer the scarce activity. Clear context is scarce. Good taste is scarce. Knowing what not to change, when a diff is too broad, what proof matters, all scarce. So the effort moved: more time shaping tasks and making the repo navigable, less time on mechanical edits a capable agent does faster. This is not less engineering. It is engineering concentrated somewhere else.
None of it moves the responsibility. If an agent ships a bug, the customer does not care who wrote it. If the architecture rots, the repo does not care the diff was fast. Agents make some work faster and make weak judgment more dangerous, because weak judgment now produces much more code. The answer is not to slow everything down. It is better checks, prompts, workflows, and habits around the speed. That is the work.
Why AgenticPrime exists
AgenticPrime is where I distill these lessons. Not generic AI commentary, not tool hype, not a claim that every team should copy appointmed. The goal is practical:
Share the workflows that survive production.
Publish the prompts and checks that reduce risk.
Build small developer tools where the pattern repeats.
Show what changed in a real SaaS codebase.
Be honest about what still needs human judgment.
The proof source is appointmed. The output should be useful well beyond it.
A practical starting point
If you want to try this, do not start by declaring that agents will write all your code. Start with one recurring workflow that already has clear boundaries: a small bug fix class, a test improvement, a refactor pattern, a docs to code path. Something where you can define context, expected output, and proof.
Then watch what breaks. Was the task clear enough? Did the agent find the right files? Did the tests prove the right thing? Did review catch intent problems? Did the release feel safe? That is where the real learning starts.
The future of agentic engineering will not be won by the team with the flashiest prompt. It will be won by the team that builds the best operating system around the agent. That is what we are building toward.
Get the build log
Every two weeks: what shipped, what broke, what it cost or saved.
出处https://agenticprime.ai/issues/agentic-coding-healthcare-saas
这条还缺什么证据?
下面每条都由本条已有字段推出(等级、理由、商业模式、来源次数、是否演示), 本站不生成推测性结论;通用验证方法放在方法论页。
- 可核验的收入或付费证据查官网定价页与付费口径;第三方数据源(如 GetLatka)只作旁证,需标注来源与时点。
- 只有单一来源找一手站点或其他渠道是否重复出现同一产品;社区热帖数量不等于商业进展。
通用验证清单(谁有这个问题/谁愿意付费/一个人能交付哪一小步)见我们的筛选方法。