跳到主要内容

68 篇博文 含有标签「architecture」

查看所有标签

在写第一个 Prompt 之前,先设计好你的 Agent 状态机

· 阅读需 11 分钟
Tian Pan
Software Engineer

大多数工程师在构建第一个 LLM agent 时,都会遵循相同的流程:写一个系统提示词,添加一个调用模型的循环,撒上一些工具调用逻辑,然后看着它在简单的测试用例上运行。六周后,这个 agent 变成了一团难以理解的嵌套条件、粘贴在 f-string 里的 prompt 片段,以及散落在三个文件中的重试逻辑。添加一个功能需要通读整个代码。遇到生产 bug 就得盯着一个上千 token 的上下文窗口,试图重建模型当时在"想"什么。

这就是"意大利面式 agent"问题,在以 prompt 为起点而非设计为起点的团队中几乎普遍存在。解决方案不是更好的提示技巧,也不是换一个框架,而是一种纪律:在写第一个 prompt 之前,先设计好状态机

欧盟《人工智能法》合规是工程问题:你必须交付的审计追踪

· 阅读需 11 分钟
Tian Pan
Software Engineer

2026年,大多数构建AI系统的工程团队都知道欧盟《人工智能法》的存在。但很少有人真正理解它要求他们构建什么。该法规对高风险AI系统的核心义务——自动事件日志记录、人工监督机制、风险管理系统、技术文档——并非法律团队能在截止日期前生产的政策文件。它们是工程交付物,需要在项目启动时做出架构决策,而非在合规审计前的最后一个冲刺阶段。

硬性截止日期是2026年8月2日。在欧盟部署的高风险AI系统必须完全符合第9至15条的规定。在就业筛选、信用评分、福利分配、医疗优先级、生物特征识别或关键基础设施管理领域部署AI的组织均在适用范围内。如果你的系统在这些领域做出实质性影响欧盟居民的决策,它几乎肯定属于高风险。而现实的合规实施周期需要8至14个月——这意味着如果你还没有开始,已经落后了。

模型可移植性税:如何架构真正可迁移的 AI 系统

· 阅读需 11 分钟
Tian Pan
Software Engineer

你接手了一个基于 GPT-4-turbo 构建的 AI 功能。该模型即将被弃用。你的经理希望通过切换到更新、更廉价的模型来降低成本。你快速跑了一遍测试,指标看起来还过得去,于是就上线了——结果一周后,核心用例的准确率下降了 22%。支持工单不断攀升。你现在面对的是一场危机式迁移,而非有计划的操作。

这就是模型可移植性税:每当你将应用逻辑与某个特定基础模型紧耦合时,就会累积的隐性工程成本。每个团队都在为此买单,大多数人直到账单到来时才意识到数字有多大。

多用户 AI 会话:没人在设计阶段考虑的上下文归属问题

· 阅读需 10 分钟
Tian Pan
Software Engineer

2024 年 8 月,安全研究人员发现 Slack AI 在回答查询时会将公开频道和私密频道的内容同时拉入同一个上下文窗口。公开频道中的攻击者可以精心构造一条消息,当 Slack AI 摄取该消息时,就会将指令注入受害者的会话——由于 Slack AI 不引用来源,由此导致的数据外泄几乎无从追踪。这种攻击甚至可以泄露私信中嵌入的 API 密钥。Slack 在负责任披露后修复了这一问题。

这并不是传统意义上的漏洞。它是将上下文视为无用户访问控制的共享可变资源所带来的后果。而这正是大多数正在构建共享 AI 助手的团队现在都在犯的错误,只是更加悄无声息而已。

智能体协议碎片化:为 A2A、MCP 及未来设计

· 阅读需 10 分钟
Tian Pan
Software Engineer

大多数团队在选择智能体协议时,实际上同时做了三个不同的决策——把它们混为一谈,正是为什么许多集成一旦引入第二个框架就会崩溃的原因。

这三个决策分别是:智能体如何与工具和数据交互(纵向集成)、智能体如何与其他智能体协作(横向协调),以及智能体如何向人机界面暴露状态(交互层)。Google 的 A2A、Anthropic 的 MCP 和基于 OpenAPI 的 REST 解决的是这个栈的不同层次。当工程师混淆它们时,要么用多智能体机制过度设计单智能体场景,要么用单智能体工具欠设计多智能体工作流。两种失败在生产环境中重构代价都极高。

欧盟 AI 法案现已成为你的工程待办事项

· 阅读需 14 分钟
Tian Pan
Software Engineer

大多数工程团队是通过在截止日期前三周收到的一封法律邮件才了解到 GDPR 的。欧盟 AI 法案(EU AI Act)正在重演这一模式,而 2026 年 8 月 2 日针对高风险 AI 系统的强制执行日期已经非常临近,“以后再处理合规问题”已不再是一个可选项。GDPR 与 AI 法案的区别在于,GDPR 的合规大多是关于数据处理政策的。而 AI 法案的合规要求构建新的系统组件——这些组件在大多数生产环境中的 AI 系统中尚不存在。

法规中所谓的“人类监督义务”和“审计追踪要求”,转化为工程语言,就是一个仪表盘、一个事件日志和一个数据血缘系统。本文将欧盟 AI 法案视为一份工程规范而非法律文件,并逐步介绍你实际需要构建的内容。

LLM 供应商锁定是一个光谱,而非非黑即白

· 阅读需 12 分钟
Tian Pan
Software Engineer

一个团队在 GPT-4 上构建了一个生产环境功能。几个月后,出于成本考虑,他们决定评估 Claude。他们花了两周时间进行“迁移”——但核心的 API 替换只花了一个下午。剩下的十天都花在了修复损坏的系统提示词(system prompts)、重新测试拒绝服务的边缘情况、调试由于意外文本而崩溃的 JSON 解析器,以及重新调整在不同供应商之间表现迥异的工具调用模式(tool-calling schemas)。原本以为只是简单的连接器更换,结果迁移预算膨胀成了多层重构。

这就是现实中的 LLM 供应商锁定问题。那些受挫的团队并不是因为选错了供应商——而是因为他们没有意识到锁定存在于多个维度,且每个维度都有不同的风险画像。

多租户 AI 系统:大规模场景下的隔离、定制与成本归因

· 阅读需 12 分钟
Tian Pan
Software Engineer

大多数在大语言模型(LLM)之上构建 SaaS 产品的团队都是通过惨痛的教训才发现多租户问题的:他们利用单一的共享提示词配置快速出海,然后惊恐地发现一个客户的系统提示词泄露到了另一个客户的响应中,或者某个企业级客户耗尽了所有人的速率限制,亦或是当月 AI 账单寄来时,根本无法确定是哪个客户造成了 40% 的支出。这种失败模式并非停留在理论层面——NDSS 2025 的一篇论文证明,vLLM、SGLang、LightLLM 和 DeepSpeed 中的前缀缓存(prefix caching)可以被利用,仅通过时间信号和精心构造的请求,就能以 99% 的准确率重建另一个租户的提示词。

构建多租户 AI 基础设施与传统数据库的多租户化并不相同。共享组件——推理服务器、KV 缓存、嵌入流水线、检索索引——每一个都面临独特的隔离挑战。这篇文章涵盖了你实际必须解决的四个问题:隔离、定制、成本归因以及单租户质量追踪。

编排框架陷阱:LangChain 何时让你的上线速度反而变慢

· 阅读需 9 分钟
Tian Pan
Software Engineer

2024 年某个时刻,一个规律开始在 AI 团队的事后复盘中反复出现:"我们去掉 LangChain 重写了,上线速度明显加快了。"这些团队在采用框架时并没有犯技术错误——犯的是时机错误。LangChain 是原型阶段的对路工具,却是第七个月的错误工具。

同样的故事发生了足够多次,现在它有了一个名字:编排框架陷阱。你采用了一个确实能加速早期工作的框架,生产力提升掩盖了不断累积的结构性债务。等到债务浮出水面,你已经深陷于那些本不该被触碰的内部实现之中。

聊天机器人、Copilot 还是 Agent:改变你架构决策的分类学

· 阅读需 10 分钟
Tian Pan
Software Engineer

AI 工程中最昂贵的架构错误不是选错了模型,而是选错了交互范式。本该构建 Agent 的团队花了六个月打磨一个聊天机器人,然后困惑地发现用户什么事也办不成。本该构建 Copilot 的团队接入了完全自主的 Agent,结果用整个季度来扑灭未授权操作和失控成本引发的各种火。

这套分类学在你写下第一行代码之前就至关重要,因为聊天机器人、Copilot 和 Agent 有着根本不同的信任模型、上下文窗口策略和错误恢复需求。选错了不只是产品变差——而是产品无法通过调提示词或换模型来修复。

LLM 流水线单体 vs. 链式架构的权衡:任务分解何时有益,何时有害

· 阅读需 9 分钟
Tian Pan
Software Engineer

大多数构建 LLM 流水线的团队几乎立刻就会选择链式架构。复杂任务被拆分为多个步骤——提取、分类、摘要、格式化——每个步骤都有自己的提示词。这感觉很自然:更小的提示词更容易编写、调试和迭代。但很少有人会问:链式调用真的比在一次调用中完成所有工作更准确吗?在我见过的大多数代码库中,没有人测量过。

单体 vs. 链式的权衡是 AI 工程中最关键的架构决策之一,但几乎总是凭直觉做出的。本文将梳理实证依据,说明分解何时真正有帮助、何时会悄然使事情变得更糟,以及在生产环境中需要关注哪些信号。

AI 泛滥反模式:过度使用 LLM 只会让你的流水线更糟

· 阅读需 10 分钟
Tian Pan
Software Engineer

几乎每家持续交付 AI 功能的公司都会出现这样一种架构:流水线中的每一次转换、每一个路由决策、每一次分类、每一个格式化步骤,全都经过 LLM 调用。它通常始于一个合理的场景——LLM 确实解决了一个棘手问题。然后团队内化了这个模式,开始反复套用。直到整个系统变成一条 LLM 接 LLM 的链条:一串文字从一端进入,另一串从另一端出来,中间经历了十二次 API 调用,全程没有任何确定性可言。

这就是 AI 泛滥反模式,它现在已成为构建一个缓慢、昂贵且无法调试的生产系统的最可靠方式。