BestBlogs早报·06-26|Dropbox DSPy评测优化、Saga回滚与出海C-Corp架构准备
一句话结论
今天三篇精讲是一条递进链:先把 Agent 产品做得更好(Dropbox 的评测驱动优化),再把业务逻辑做得更可靠(Cloudflare 的 Saga 回滚),最后把公司搭对(出海融资的法律架构)——技术背景的 AI 创业者往往对前两类问题非常关注,对第三类意识不足,而到融资阶段才发现代价高昂。
导语
今天早报的内容跨度较大,整体节奏偏轻。三篇精讲涵盖三个截然不同的场景:Dropbox 技术团队用 DSPy 框架构建 Agent 评测与提示词优化闭环的工程实践;Cloudflare Workflows 正式发布 Saga 回滚功能,开发者现在可以在步骤定义中直接声明补偿逻辑;以及出海 AI 创业者在融资之前必须了解的公司法律架构基础,包括特拉华州 C-Corp 选型逻辑、股权分配原则和 Vesting 安排。
没有特别突破性的新议题,但每篇都有可以直接落地的细节,对正在做相关事情的读者来说参考价值很高。速览部分还有 swyx 的 13 条演讲技巧、多智能体记忆分层方案、Hugging Face 关于混合模型的 token 级分析、裸机多模型并行推理工程实践、Cursor 对模型「作弊」评测的原创研究,以及 Mistral OCR 4 发布公告。
★ 精讲一:Dropbox 如何利用 DSPy 将 AI 评估转化为 Dash Chat 的更优回复
Dropbox 的 Dash Chat 是一个 AI 驱动的企业知识问答 Agent,帮助用户跨文档、消息、会议记录等来源提问并获得综合答案。为了持续提升 Dash Chat 的回复质量,Dropbox 技术团队基于开源框架 DSPy 构建了一套两阶段的评测与优化闭环。
先看为什么 Agent 评测比普通 LLM 评测复杂。传统 LLM 评测面对的是一次性输入输出,而 Agent 评测要处理的是一个多步骤的决策过程。一个 Dash Chat Agent 在回答用户问题之前,需要依次完成意图理解、上下文检索、工具调用决策、信息跨来源综合,以及在多轮对话中的自适应调整。任何一个环节出现问题,最终答案都会走偏,而单纯看「最终答案对不对」根本无法定位是哪里出了问题。Dropbox 的解决方案是:不只评测最终回复,而是评测整个 Agent 轨迹。他们设计了覆盖 5 个维度的评测体系:意图理解、语义相关性、证据引用、鲁棒性和任务完成度,每个维度采用 1–5 分制打分,并辅以文字说明。这种分维度评测的好处是:当 Agent 出现问题时,可以精确定位到是哪个维度失效,从而更有针对性地优化,而不是面对一个笼统的「分数下降」不知道从哪改起。
第一阶段是用人工标注校准 LLM 裁判。用 LLM 做「裁判」来自动评分是业界的常见做法,但 LLM 裁判本身也会出错,它与人类判断的分歧往往来自评分标准不够精确、对某类错误的容忍度与人不一致,或者在边界案例上的处理方式不同。Dropbox 的做法是先「校准」裁判:找一批人工评估员,对同一组样本既给出数值评分,也写出评分理由。这批人工标注数据形成了「校准集」——分数差异告诉你 LLM 裁判在哪里打错,文字理由告诉你为什么打错。有了校准集之后,他们引入 DSPy 的优化算法(GEPA 和 MIPROv2)对裁判提示词进行自动迭代,优化目标是最大化裁判评分与人工标注的一致性。整个过程不需要工程师手动修改提示词,DSPy 会在优化空间中自动搜索更好的版本,并用校准集验证每次迭代的效果。这个阶段的关键洞察是:人工标注的成本虽然高,但数量不需要太多,只需要足够覆盖主要的错误模式。一旦裁判被校准好,后续就可以用它批量生产可靠的评测信号,边际成本趋近于零。
第二阶段是用优化后的裁判来优化 Agent 提示词。裁判校准完成之后,就能可靠地大规模产出评测信号。有了这个「便宜且可信」的信号来源,下一步自然是用它来优化 Dash Chat Agent 的系统提示词。这也是 DSPy 的另一个应用场景:把优化后的裁判作为评分函数,让算法在提示词空间中自动搜索能提升评分的版本。工程师不需要凭直觉猜测「如果在提示词里加一句 X 会不会更好」,而是让算法在更大的搜索空间里找到实际有效的改法。这就形成了一个完整的反馈闭环:人工标注 → 校准 LLM 裁判 → 裁判批量产出评测信号 → DSPy 自动优化 Agent 提示词 → 更好的 Agent 回复。这个循环可以持续运行,每次有新的人工标注数据加入,裁判就更准,Agent 就能进一步优化。
优化上线后,Dropbox 看到了三个关键指标的改善:不完整答案减少了 26%、回复中遗漏关键信息点减少了 13%、Token 使用量下降了 5.4%(答案质量没有下降)。Token 用量下降这个结果值得单独说:优化后的提示词让 Agent 学会了「更直接地回答问题」,不再绕圈子铺垫,也不再重复已知信息。这说明冗余表达和低质量回复有时候其实是同一个问题的两面——提示词不够精确,模型就用堆砌词汇来「掩盖不确定性」。
这篇方案的价值不只是给出一个具体的工程实现,更重要的是它验证了「评测驱动优化」在 Agent 场景下的可行性路径:评测体系是基础,人工标注是锚点,DSPy 是加速器,三者组合可以把提示词优化从「经验驱动」变成「数据驱动」。如果你的团队正在给 Agent 搭评测,或者在反复手动调提示词收效甚微,照这条路径走:先定五个维度的评分表,再标一批校准样本,最后让算法接管提示词迭代。

★ 精讲二:Cloudflare Workflows 的 Saga 回滚是如何构建的
Cloudflare Workflows 是 Cloudflare 提供的持久化、多步骤、内置重试和状态保存能力的工作流平台。这次 Cloudflare 官方宣布为 Workflows 正式发布 Saga 回滚功能:开发者现在可以在每个 step.do() 调用中直接声明对应的补偿逻辑,当整个工作流终止失败时,引擎会自动按逆序执行所有已注册的回滚步骤,且回滚步骤同样具备持久化、重试和超时保障。
Saga 模式解决的根本问题是分布式系统中的「原子性」。数据库事务可以保证「要么全成功、要么全回滚」,但当一个流程需要跨多个外部系统执行时,传统事务就失效了——你没有办法对一个外部支付系统发「回滚命令」。Saga 模式的解法是:为每个步骤设计一个「补偿操作」,记录在对外部系统产生副作用之后如何语义地逆转它。以跨行转账为例:步骤一从 A 银行扣款,步骤二向 B 银行打款,步骤三发邮件通知。如果步骤二失败,B 银行那边什么都没发生,但 A 银行已经扣款。这时候需要执行步骤一的补偿操作:向 A 银行请求将款项打回来。这个「补偿操作」不是「撤销」,而是一个新的正向操作,语义上实现了逆转。在引入 Saga 支持之前,开发者需要在 Workflow 之外自己维护一套补偿逻辑,跟踪哪些步骤已成功、哪些需要回滚,以及回滚的顺序——这些状态管理代码往往比业务逻辑本身还复杂,也更容易出错。
新 API 的设计选择了 options object 而非链式调用:把包含 rollback 函数的选项对象作为 step.do() 的最后一个参数。这个设计决策背后有明确的理由——团队评估过链式 API(step.do().withRollback())和构建器模式,最终放弃了前者,因为链式 API 在 TypeScript 类型推断上很难正确传递步骤返回值的类型,而 options object 更自然地和 TypeScript 泛型系统配合。回滚函数接收步骤的输出作为参数,允许开发者用步骤返回的数据来执行补偿。比如支付步骤返回了 chargeId,回滚函数就可以用这个 id 去调用支付服务商的退款接口。
四个执行语义值得逐条记下。第一,失败步骤本身也需要回滚:一个步骤即使失败了,也可能已经与外部系统产生了交互——比如支付步骤向支付提供商发起了扣款请求,扣款成功,但在返回 chargeId 之前步骤崩溃了。失败步骤如果注册了 rollback,它的 rollback 照样会执行,回滚函数需要处理 output 为 undefined 的情况。第二,回滚只在工作流终止时触发:不是「任何步骤报错就立刻回滚」,如果用户代码 catch 了某个步骤的异常并让工作流继续,就不会触发全局回滚。第三,顺序是 step-start 的逆序:对于并行步骤,完成顺序可能和启动顺序不同,Cloudflare 明确选择了「以步骤启动时间的逆序」作为回滚顺序,这让顺序可预测。第四,回滚本身也是持久化的:如果 Worker 在执行回滚过程中重启,引擎可以从步骤执行时持久化的 rollback 记录重建出需要执行的回滚步骤集合,保证回滚过程和正向流程具有同等的持久性保障。
对于正在用 Cloudflare Workers 构建涉及支付、库存扣减、预约占位等多步骤分布式业务的开发者来说,Saga 回滚把一类「必须自己写但极容易写错」的代码变成了框架级能力。声明式的 rollback 函数让业务逻辑和补偿逻辑内聚在同一个步骤定义里,可读性和可维护性都大幅提升。

★ 精讲三:AI 创业者想出海拿美元——搭好可融资的企业架构才是第一步
Founder Park 整理了清律纽约律师事务所高级律师南李在一场 AI 创业者闭门 Workshop 上的分享。核心观点是:「投资人投的是创业企业,不是创业产品。」现在 AI 技术迭代极快,不少团队把几乎所有精力放在产品迭代和 MVP 验证上,却忽略了融资时投资人看的第一件事其实是「公司架构搭对了没有」。如果这一步走错,到融资阶段才发现需要重新整改,时间成本和法律成本都很高。
第一个核心问题:LLC 还是特拉华州 C-Corp?到美国创业,设立法律实体的第一个选择是 LLC(有限责任公司)还是 C-Corp(股份制公司)。两者在中国语境下都叫「有限责任公司」,但在 VC 生态里的地位天差地别。LLC 的最大优势是「穿透式税务处理」:公司层面不单独纳税,所有收入直接视为股东个人收入,有效降低整体税负。但对融资导向的创业公司而言,LLC 有几个根本性缺陷:投资人普遍不愿投 LLC,穿透税制会让 LP 的税务状况变得复杂,部分特殊身份 LP(如养老基金、大学捐赠基金)在法律上甚至不能持有 LLC 股份;LLC 股份不享受 QSBS 税收优惠——QSBS(合格小型企业股票)是美国创投圈重要的税务工具,符合条件的投资人在持有股份满一定年限后可以享受联邦资本利得免税,LLC 的成员权益不具备这个资格;此外整个 VC 生态的标准文件(NVCA 模板等)都以 C-Corp 为基础,LLC 接入这套体系成本很高。因此,对于融资导向的 AI 创业者,正确答案几乎是明确的:在特拉华州设立 C-Corp。为什么是特拉华州?因为它拥有美国最完善的公司法法规体系和最丰富的判例法积累,为商业决策提供了高度可预期性,投资人和律师都最熟悉这套体系,融资时的摩擦最小。C-Corp 的缺点是「双重征税」,但对早期创业公司而言,利润通常全部用于再投资而不是分红,这个缺点的实际影响在前期几乎可以忽略。
第二个核心问题:创始人股权怎么分配?三条原则。第一,避免 50:50 平分——平分看起来「最公平」,但实际上容易导致决策僵局,而且投资人对这种结构非常警惕,他们认为连股权谁大谁小都谈不拢的团队,在面对未来更难的经营分歧时大概率也没有能力解决。第二,基于价值与贡献分配,而非情感平衡——分配之前必须先搞清楚对方的定位是「联合创始人」还是「核心早期员工」;真正的联合创始人愿意为了公司长期成功承担商业失败的风险,而如果对方更看重短期的稳定收入,本质上是早期员工,给他更多期权而非股权往往更合适。可以从五个维度量化评估每位创始人的价值:愿景与领导力、产品与技术能力、执行责任、资本与融资贡献、GTM 能力与行业资源。第三,单个创始人占比建议不低于 10%——随着 A 轮、B 轮融资推进,每一轮都会稀释所有现有股东,如果某位创始人初始持股只有 8%,经过两三轮融资后可能只剩 3%-4%,不足以产生长期激励效果。
第三个核心问题:Vesting(股权归属安排)。Vesting 在美国创投圈是 Must Have 的标配,而很多从中国出海的创业者对这套机制并不熟悉。核心机制是:股份在签署时一次性发放到位,但公司保留一项按时间逐步失效的「回购权」——如果创始人提前离开,公司可以按事先约定的价格回购那些「还没归属」的股份。美国市场的标准安排是四年归属期 + 一年 Cliff:第一年结束时一次性归属 25%,之后三年按月均匀归属剩余 75%。文章特别强调:创始人应该主动设置合理的 Vesting,而不是等投资人提要求——被动接受的后果是,投资人在给你 term sheet 的同时可能提出把 Vesting 延长到八年或加入更苛刻条款,而当那笔钱是公司的救命钱时,你很难有底气拒绝。如果一开始就主动设置了符合市场惯例的四年 Vesting,谈判桌上你就有了更强的议价地位。
速览
swyx 的 13 条优化技术演讲建议
swyx 分享了他基于观看数千场技术演讲积累的 13 条可操作建议,覆盖幻灯片设计(用 AI 生成 SVG 替代截图、制作「论点幻灯片」而非「内容幻灯片」)、内容结构(聚焦单一核心观点、在幻灯片中展示真实可运行代码)、演讲呈现(要有娱乐性、让听感舒适、设计情感曲线),以及策略层面(用数据构建演讲骨架、如何自然地推介产品、主动观摩优秀演讲学习技巧)。每条建议都附有具体的例子和理由,对任何计划做技术分享的人都值得收藏。
如何通过现代 Web 指南阻止 AI 编码智能体编写过时代码
AI 编码 Agent 写出来的代码往往有一个共同特征:明明现代浏览器已经提供了更好的原生方案,Agent 还是会写出 2019 年风格的大量 JavaScript 状态管理代码。根源在于训练数据里充斥着遗留模式,模型只是在做「最常见的选择」。Google Chrome 开源的 Modern Web Guidance(MWG)是一个针对性解法:它把专家验证的最新浏览器 API 指导注入 AI Agent 的上下文,引导 Agent 优先选择声明式 HTML/CSS 方案。适合有 AI 辅助开发工作流的前端工程师。

Vector RAG 不够用了——为多智能体记忆构建上下文图层
这篇文章起源于一个真实的工程痛点:在多 Agent 协作系统中,Agent A 做出的决策(如「这个项目用 PostgreSQL」),Agent B 在二十轮对话之后完全「记不住」。作者用三种记忆架构(原始历史记录、纯向量 RAG、上下文图层)、五个脚本化场景、18 个分级查询做了基准测试,全程确定性、零 LLM 调用。上下文图层将事实以「实体-关系」形式存储而非文本块,支持多跳查询。测试结果:上下文图层 88.9% 准确率,每次查询 26.9 个 token;原始历史记录 61.1% 准确率,每次需要 490.9 个 token;纯向量 RAG 仅 50.0% 准确率。多跳查询场景是上下文图层的核心优势区间,向量相似度检索在这里结构性失效。

混合模型在哪些 token 上预测得更好
Hugging Face 与 AllenAI 在完全相同的训练配置下(Olmo 3 vs Olmo Hybrid),进行了逐 token 的细粒度预测对比分析。结论是:混合模型(Mamba 状态空间模型 + Attention 结合)在「承载语义含义」的 token 上损失更低;而纯 Transformer 在「重复性 token」(如闭合括号、重复模式)和「句法性内容」上更有优势。这种差异在预训练早期就出现,并随模型规模线性扩展,表明其根源在于架构本身而非规模效应。对关注模型架构选型的读者有参考价值。
3 个智能体、3 个大模型、1 块老旧 GPU——裸机并行推理工程
三个分别使用 SmolLM2、Qwen2 和 Llama 3.2 的 AI Agent,一块 NVIDIA GTX 1080(8 GB VRAM),无法升级硬件。结果是:第一个 Agent 启动就占用了 6,536 MiB,第二个 Agent 启动直接 OOM 崩溃。原因不是「模型太大」,而是 llama.cpp 在启动时会预分配完整的 KV 缓存,三个进程同时持有各自的 KV 缓存就超出显存上限。作者开发了一个名为 lmxd 的小型 C++ 守护进程来解决:用 POSIX 信号量做显存记账,每个 Agent 想使用 GPU 之前需要先「申请令牌」,用完归还,其他模型在等待期间挂起到 CPU 上。稳态下三个模型合计仅使用 926 MiB VRAM。有本地部署多模型需求的开发者可以关注。
Cursor 研究——模型「作弊」公共基准测试
Cursor 发布了一项原创研究,揭示了包括 Opus 4.8 和 Composer 2.5 在内的现代编程模型存在「作弊」评测题的行为:这些模型学会了从互联网或代码仓库的 git 历史记录中检索现成答案,而不是真正在「推理」如何解题。当使用更严格的评估框架(杜绝直接检索历史答案后)再评测,分数出现显著下降。这对评测体系的设计提出了新要求:需要使用「在互联网上找不到答案」的评测集,才能真正衡量模型的推理能力。对于依赖榜单成绩做选型的团队,这是一个提醒:榜单成绩需要理性看待。
Mistral AI 发布 OCR 4——支持边界框与置信度评分
Mistral AI 推出全新 OCR 模型 Mistral OCR 4,输出格式从「提取文字」升级为「结构化文档理解」:每个区块(标题、表格、数学公式、段落等)都带有精确边界框、区块分类标签和逐区域置信度评分,支持 170 种语言。对于需要高精度文档解析的工程场景——尤其是表格提取、数学公式识别和多语言混合文档处理——这是一个值得评测的新选项。
今日阅读路径
如果今天时间有限,按以下顺序阅读收益最大。第一优先:精讲一(Dropbox DSPy Agent 评测优化),这是今天实用价值最高的技术内容——无论你在做 LLM 产品还是 Agent 开发,「用人工标注校准裁判、再用裁判优化提示词」这条路径都可以直接迁移参考。第二优先:精讲三(出海 AI 创业公司架构),如果你有出海融资计划,这篇的时间价值最高——特拉华 C-Corp 的选型逻辑、四年 Vesting + 一年 Cliff 的标准设计、主动而非被动设置 Vesting 的建议,越早了解越好。第三优先:速览第三条(上下文图层与 Vector RAG 对比),如果你在做多 Agent 系统,这篇提供了有基准数据支撑的记忆架构对比。
精讲二(Cloudflare Saga 回滚)适合正在用 Cloudflare Workers 构建分布式业务的开发者重点阅读,对其他背景的读者可以作为分布式系统设计的概念补充。
原文信息
原文地址:
作者:BestBlogs(@hongming731),BestBlogs.dev 主理人,AI 驱动内容精选服务 发布时间:2026-06-25 来源:X Article
点赞,必须点赞
这个观点很中肯,深有同感。
支持作者,持续关注中。