前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8356
  • LLM精度提升的成本优化策略:模型级联与请求路由
  • AI Agent成本控制:阈值守卫优于告警后置
  • Opus 5 烧 6.9 亿 token 做游戏被复刻:GPT-5.6 仅花 5 美元完成
  • 阿里Open Code Review:企业级AI代码审查工具
  • Spring Boot生产级AI Agent:LLM Judge评分系统
  • MarketNow 3.0:MCP 拦截器 + x402 微支付 + Agent 技能栈
  • AI 生成 Next.js + Supabase 应用的安全检查清单
  • 人类审批员漏放三分之一危险AI编程指令
  • OpenClaw 高可靠方案:跑 30 个 Agent 而非 1 个
  • AI 自动发现 HTTP Desync 漏洞:PortSwigger 发布研究工具
  • 十二Agent共享记忆架构设计
  • 从零实现编程语言:Lexer到Runtime全流程
  • SaaS 聊天机器人 API 容量规划实战指南
  • Qwen3.8-Max 技术解析:2.4T 参数 + 开源权重
  • NVIDIA NOOA:用单个 Python 类实现 AI Agent
  • Meta Muse Code:用数据换优惠的终端AI编程Agent
  • Agent 评测循环正在教模型「作弊」
  • 我用他的代码测量他的 App:审计互证的工程复盘
  • OpenAI 新模型 Astra 安全评级达"严重"
  • OpenAI Astra以2000美元算力证明10个数学猜想,EU AI Act正式生效
  • AI系统设计的两个极端错误:单体过载与过度微服务
  • 评测黄金数据集正在腐烂:被忽视的Eval退化风险
  • mini-swe-agent真实调试任务测评
  • Node.js文本摘要SRE运行手册
  • 阿里发布Qwen 3.8 Max:百万上下文、输入降价至2美元/百万token
  • DeepSeek V4 Flash:ARC-AGI达61.4%且成本仅为GPT-5.6的1/4
  • clawk vs Sculptor:本地AI编码智能体沙箱对比
  • 2026年本地大模型实操指南:笔记本能跑什么
  • OpenAI Agents 曾在隔离环境中构建秘密留言板并升级为真实攻击
  • 机器人创业数据管道踩坑实录
  • B2B线索增强MCP服务器部署指南
  • AI Agent三層架構:多數內容只講了第一層
  • 700秒取数遭遇600秒超時:自愈緩存設計修復
  • Claude Code 移除子代理并发上限
  • Agent 回归测试的困境:场景包与集成层的工程教训
  • AI 虚拟试穿工程实践:超越生成模型的产品校验挑战
  • 2026年提示词范式转移:从找魔法句子到构造证伪任务
  • trace-file-lineage:追踪AI Agent生成文件的来源
  • 自托管Llama 3.3 70B实战:成本与性能对比
  • ChatGPT 桌面端语音可直接操控电脑执行多步骤任务
  • Claude Code 自动模式即将成为 Pro/Max/Team 套餐默认设置
  • GPU 优化实战 Part 2:用 CUDA/ROCm 实现 LLM 反向传播与训练循环
  • 双层记忆架构实现 1.4 万条记忆本地存储,47ms 召回延迟
  • Token 节省工具实测:实际节省 6-32%,远低于宣称的 60-90%
  • 手把手教你构建首个 MCP Server:标准化协议降低 M×N 集成复杂度
  • OpenAI 暂停 Astra 模型评测 Claude Code 自动模式上线
  • OpenAI内部Agent失控攻击Hugging Face完整时间线
  • Agent 收件箱状态:读状态 ≠ 已回复状态
  • AI生成测试的隐藏成本:维护负担远超生成价值
  • Ollama端口11434安全风险:175万台服务器暴露警示
  • Shepherd:让AI Agent支持Fork/回滚的Python运行时
  • 已加载 51 / 8356
8.0
热点
AI SCORE
技术实践2026-08-09 09:03

AI系统设计的两个极端错误:单体过载与过度微服务

dev.to · AI#AI辅助编程#架构设计#系统设计
Editor brief · 编辑速览

AI辅助编程时,给出两种典型架构错误:要么所有逻辑堆在一个服务里导致等待外部调用(如邮件)阻塞响应,要么过度拆分出五个服务每个内部又包含多个组件,反而增加复杂度。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

你让 AI 帮你写一个应用,它把整个系统塞进了一个 Service。我之前也写过这个话题:Service 是一个服务员,接收点单然后带回答案。让 AI 帮你写代码,它会把所有事情都放在那一个"点单"里完成:验证输入、查询数据库、发送邮件,全部在返回响应之前完成。在演示环境里这样是可以工作的。到了生产环境,邮件发送这一步很慢,于是每个用户都得盯着加载动画,而你的服务器在等别人的邮件服务。

让同一个 AI 在你写代码之前先设计这个系统,你会得到截然相反的错误。同一个 AI,同一个应用,不同的错误。你和另一个工程师在做一个合租分摊租金和账单的应用。让 AI 来设计,它给了你五个 Service:认证、计费、通知,前面还有一个 API Gateway,后面还有一个消息队列连接它们。

五个 Service 听起来还可以,直到你真正去数每个 Service 里面有什么。认证不是一件事。它本身是一个 Service、一个存放用户账号的关系型数据库、还有一个存放会话的 Key-Value Store:三个构建块。计费是一个 Service 加上它自己的charges 关系型数据库:又是两个。通知是一个 Service、一个 Queue、和一个发送邮件的 Worker:又是三个。API Gateway 是第四个 Service 放在其他所有东西前面,消息队列本身也是一个 Queue。至少十个构建块,分布在五个独立的部署里,而团队只有两个人。

这个应用实际需要的样子和上面说的完全不一样。有人登录并添加了一笔账单:一个 Service。账单需要知道它属于哪些用户以及如何分摊:一个关系型数据库。有人标记账单已付时,你想给其他室友发邮件,这件事不需要在有人盯着屏幕的时候发生,所以它进入一个 Queue,Worker 稍后把它取出来处理。一个 Service、一个关系型数据库、一个 Queue 和 Worker:整个系统就齐了。四个构建块,一个部署,对比十个构建块分布在五个部署里。

让 AI 写代码,它默认使用最简单可能的形式:一个函数、一个 Service,请求进来、响应出去。它从来不会主动用到 Queue,因为 Queue 是一个关于"什么可以等待"的决策,而不是代码的默认形态。让 AI 自己设计一个系统,它默认使用它读过最多讨论的那种形态,那就是大公司解决问题的方式——而那些问题你并没有。两个错误根源相同:它在匹配你 prompt 的体裁,而不是你实际的约束。

这就是为什么构建块比"Service"这个词更重要。微服务不是一个构建块。它是一个完整的部署,里面可以包含两到三个构建块。用 Service 数量来数,"五个"听起来像是五个要开发的东西。用构建块来数,是十个要开发、要连接、要维护的东西,分布在五个独立运行的部署里。对比四个构建块在一个部署里。

微服务在以下情况下才值得付出它的成本:不同的团队需要互不等待地独立发布、一个部分需要不同的硬件、或者不能允许一个故障拖垮所有其他部分。两个人做一个应用,完全没有这些压力。你需要的是一个可以集中修改的地方、一次部署、晚上十一点可以理清的一件事:单体应用。不是那种你最终要毕业的初学者版本。在这个阶段,它就是正确的设计。

把 AI 给出的答案——无论是构建得太少还是太多——用一个问题检验:我的团队现在是否存在证明这个设计合理的那种压力?多个团队在部署上互相踩踏。某个组件需要不同的硬件。可以衡量的流量,而不是为明年想象的流量。如果那种压力不是真实存在的,就把那个部分去掉,不管它是一个缺失的 Queue 还是一个多余的 Service。

这就是为什么我在第一课里教七个构建块,在任何人画第一个框之前。先知道每个构建块是做什么用的,你就能审视任何答案——AI 给的或者你自己想的——然后问它实际上是为了扛住什么而构建的。

你不需要修复 AI 给出的答案。你要检查它每个部分背后的压力是什么。

P.S. 如果你想要这个问题的可重复版本,我写了一个完整的决策框架:每个构建块一个问题,这样你就能面对任何需求,准确知道它需要什么。https://systemthinkinglab.ai/learn/building-blocks/decision-framework/

这封信每周六通过邮件发送。点击此处订阅,或在 systemthinkinglab.ai/newsletters 阅读完整存档。

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
OpenAI Astra以2000美元算力证明10个数学猜想,EU AI Act正式生效
下一篇
评测黄金数据集正在腐烂:被忽视的Eval退化风险