合成数据(synthetic data)生成:从大模型训练到软件测试

合成数据怎么生成,才能真正用于大模型评测、微调和软件测试?本文以客服工单分类为例,讲清种子样例、来源隔离、覆盖设计、筛选、去重与人工审核,并比较批处理 API、Distilabel、Faker 和 SDV 的用途,梳理输出训练条款与隐私检查,帮助你判断生成的数据是否有用,而不只看样例数量。

发布于

合成数据(synthetic data)生成:从大模型训练到软件测试

合成数据(synthetic data)生成可以补足样例,但生成的样例本身,不能独立证明系统有效。需要分清 3 项用途:评估系统行为、通过微调教会模型特定行为,以及为软件测试提供数据。每项用途都需要各自的验收标准。

服务商文档及输出使用条款已于 2026 年 10 月 22 日核实。 下文的客服工单和试点规模均为本文设计的示例,并非实际模型实验的报告。

什么是合成数据(synthetic data)生成?

合成数据生成,就是为特定目的创建人工构造的记录或样例。对使用大语言模型(LLM)的开发者来说,通常是根据任务规范和少量经过批准的样例,生成客服请求、问答对、信息抽取样例或对话等文本。

可以把它想成驾驶模拟器:不用等现实道路上再次出现同样的情况,就能反复练习通过一个复杂路口。但通过模拟测试,并不能说明这种路口在实际交通中出现得有多频繁,也不能证明你能应对所有道路。合成数据集同样需要区分练习覆盖了什么,以及有什么证据能说明真实世界的情况。

采用哪种方法很重要。基于规则的生成器会按指令工作,例如确保订单总额等于各明细项之和。表格数据合成器学习列与列之间的规律。LLM 则根据提示词和给定上下文生成语言。几种方法也可以配合使用:用代码创建有效订单,再让 LLM 撰写客户针对该订单的投诉。

合成数据也不等于对记录做掩码处理。替换客户姓名,并不会改变其余经历。数据增强是在已有样例上做改动,例如改写问题;生成的衍生样例仍与源样例有关联。这两种操作都不会自动保障记录的隐私,也不会自动产生独立证据。

评测:设计挑战,并独立核验标准答案

对应用开发者来说,合成评测样例最适合覆盖已知的失效情形:信息缺失、指令冲突、不支持的请求,以及不常见的表达方式。评测就是对系统行为进行可重复的测试。

如果客服助手在账号问题不明确时必须追问,就有意生成含糊的请求,再请人依据处理规则核验预期动作。不能因为生成器的回答看起来很笃定,就直接把它当成标准答案。

条件允许时,应另留一套来自获准使用的真实流量的评测集。如果不能使用真实流量,就请熟悉任务的人独立编写案例。这能检验任务规范,却不能据此确定系统在生产环境全部用户中的准确率。

微调:教会模型一种明确的行为

对需要适配模型的开发者来说,合成样例可以示范现有数据中覆盖不足的格式、分类规则或回答风格。微调是通过样例训练来更新模型。

先从可观察到的失误入手:例如,模型总把含糊的工单分给账单处理。补充经过审核的歧义样例,再用未参与训练和调优的样例,将调整后的模型与原有基线比较。训练文件变大,本身不是成功指标。

任务和验收集稳定后,再采用微调工作流。如果问题出在事实背景缺失或不断变化,应先修复提供给应用的上下文,再考虑通过生成的答案教模型记住事实。

测试数据生成:让应用真正跑到边界条件

对软件开发者来说,合成测试数据应让应用的各项规则得到检验:字段缺失、重复提交、异常文本长度、无效的状态转换,以及存在关联的数据库记录。

结账测试需要订单、客户和付款之间的关系有效,不需要语言模型来编造算术。先用代码落实这些约束,再在真实语言能发挥作用的地方引入 LLM,例如生成一条与收货地址矛盾的配送备注。

采购数据集的负责人应先问清楚,它服务于哪一种用途。适合演示的数据集未必适合训练,训练语料也不会自动成为评测集。

实操流程:从种子样例到经过审核的候选数据

先选一个范围明确的任务,而且不借助生成器,也能解释为什么某个答案正确。下面的流程将构造虚构客服工单的候选样例,用于把工单分到 billing、access 或 human_review。

示例中的规则很简单:付款和账单问题交给账单处理;登录和密码问题交给账号访问处理;不明确的请求,或同时涉及两类问题的请求,交给人工审核。不要推断客户未提供的事实。

合成数据示例:六个边界清晰的种子样例

用以下人工编写的种子样例说明分类边界:

  • “我的卡被扣了两次款。” → billing
  • “这张账单上的套餐不对。” → billing
  • “重置链接过期了。” → access
  • “重置密码后,我还是登录不了。” → access
  • “我付过款了,但登录不了。” → human_review
  • “还是不行。” → human_review

后面的样例与那些一眼就能分类的样例同样重要。它们让生成器知道,不确定也是一种有效结果。少样本提示指南介绍了如何通过样例传达规则,补足一般性指令可能留下的模糊之处。

  1. 先划分来源,再生成变体

    在开始生成之前,先把来源组分配到训练集、开发集或最终评测集。同一来源组包括原始记录,以及它的改写、翻译或后续对话。基于文档的任务按源文档分组;客服任务则在有助于防止数据泄漏的情况下,按对话或客户分组。

    在本例中,六个种子样例都属于生成池。请另一位人员在不看生成候选样例的情况下,独立编写最终评测案例。实际项目中,不要把这些评测材料放进生成提示词或筛选指令。

    如果后续去重发现某个训练候选样例与受保护的评测集重叠,就隔离该候选样例。不要把隐藏的评测文本反馈给生成器,让它换一种更好的说法。

  2. 明确覆盖范围,不要只要求多样性

    试点可以采用一个组合网格:3 个目标标签、2 种语气、2 种长度、2 种语言形式,共 24 个组合。每个组合请求 5 个候选样例,筛选前总共得到 120 个。

    语气分为中性和不满,长度分为单句和多句,语言形式分为直接表达,以及间接表达或否定表达。这些只是本例建议的设置,并非通用的数据集规模建议。

    一个组合指定的是想要哪一类样例,并不保证模型一定能生成符合条件的内容。如果一条间接表达的账单请求实际上产生了歧义,就应从该组合中剔除,或经审核后重新标注。

  3. 每次只生成一个覆盖组合

    将处理规则、六个种子样例和选定的组合一起提交。小批量请求更容易追溯被拒样例由哪条指令产生。随生成任务保存提示词、模型标识、生成设置和来源组标识。

    对于“不满语气、单句、间接表达的账单问题”这个组合,可以使用以下生成提示词:

    为工单路由分类器创建 5 个虚构的客服工单候选样例。

    规则:billing 对应付款或账单问题;access 对应登录或密码问题;human_review 对应不明确的请求,或同时涉及 billing 和 access 的请求。绝不推断缺失的事实。

    种子样例:“我的卡被扣了两次款。” = billing;“这张账单上的套餐不对。” = billing;“重置链接过期了。” = access;“重置密码后,我还是登录不了。” = access;“我付过款了,但登录不了。” = human_review;“还是不行。” = human_review。

    目标组合:billing;不满语气;单句;间接表达或否定表达。每个候选样例必须描述不同的情形,不能只替换种子样例中的同义词。按照规则,账单问题仍须能够明确识别。不要添加姓名、联系方式、账号、公司名称,也不要复制客户原文。

    仅返回 JSON 数组。每个对象必须包含 case_id、text、proposed_label 和 policy_reason。proposed_label 必须是 billing、access 或 human_review。policy_reason 应简要指出适用的规则,不要描述隐藏的推理过程。如果无法为该组合创建有效候选样例,可以少返回一些,不要用重复内容凑数。

    把 proposed_label 视为建议标签,不要用附带的解释来证明标签正确。

  4. 先做规则筛选,再让模型评价质量

    剔除 JSON 格式错误、字段缺失、文本为空、案例标识重复,以及标签不在允许范围内的记录。另行检查是否符合目标组合:一段礼貌的长文本,不符合“不满语气、单句”的要求。

    在获准的环境内,扫描个人标识、秘密信息,以及与受保护源文本的重叠。模式匹配可以找出明显的邮箱地址或账号格式,却无法证明一段经历不含可识别身份的细节。

    然后依据规则检查含义。“又是一张套餐写错的账单,认真的吗?”可以作为合理的账单类候选样例。“我又付了一次款,还是登录不了”则必须按本例规则交给人工审核。如果生成器把后者标为账单类,即使理由听起来很有说服力,也应剔除。

  5. 既去除文本重复,也去除情境重复

    统一大小写和空白字符,以找出文本完全重复的记录,同时保留原文供审核。为种子样例和生成候选样例建立统一的规范化文本索引。如果相同文本对应相互冲突的标签,就把整组冲突记录隔离,等待裁定。

    接着比较含义。嵌入向量是用于相似度搜索的文本数值表示,可以帮助找出近似重复的样例供人工审核。阈值应使用自身任务的样例校准;没有一个通用的相似度分界值可以直接判定“重复”。

    不要仅因措辞相近就删除一对样例。“我能登录”和“我不能登录”恰好位于不同的决策边界。反过来,围绕同一个过期重置链接,用很多种说法表达投诉,可能并未增加多少覆盖。

  6. 由人工抽查判断,再按用途放行

    试点阶段,从每个覆盖组合筛选后剩余的候选样例中随机抽取一个,最多 24 个,请审核人员在看不到生成器标签和理由的情况下独立标注。此外,所有被标记的分歧、敏感内容警报和规则边界案例,都要审核。

    如果审核发现反复出现的错误,就隔离相关组合,修正指令,再审核该组合重新生成的结果。不要只修补抽中的那条记录,就认定同组其他记录都没问题。这种抽样是排查问题的辅助手段,并不能从统计上保证数据集没有错误。

    发布前,对每一条要进入最终评测集的预期答案进行人工核验。对训练候选样例,则根据错误的后果确定审核深度和验收门槛。按组合记录通过数量、拒绝原因、审核决定和数据集版本。用于增加挑战的生成式评测样例,应与衡量进展所用的、未参与训练和调优的评测集分开。

建筑剖面示意:来源组被分到包含变体的训练分支,以及独立封存的留出集空间
先划分来源组,再生成数据。留出集应置于生成和调优循环之外。

清理后的候选记录可能如下。这是一条示例记录,并非实际捕获的 API 输出:

JSON
{
  "case_id": "billing-frustrated-indirect-a",
  "text": "Another invoice with the wrong plan, seriously?",
  "proposed_label": "billing",
  "policy_reason": "The customer identifies an invoice problem."
}

真正重要的结果,是可追溯、经过审核的案例。初次生成是否返回了全部请求数量,反而是次要问题。不要为了凑够数量,给质量薄弱的组合硬补样例。

合成数据生成工具:文档承诺了哪些能力?

选工具时,要看它负责流程中的哪一环。模型 API 是代码请求模型输出的接口,批处理服务负责调度这些请求;数据集库组织生成与反馈;表格数据合成器学习结构化数据中的关系。这些能力都不能替代你自己的验收标准。

用生成式 AI 生成合成数据:批处理 API

OpenAI API 的 Batch 支持通过 JSONL 文件提交异步请求,也就是每行一个 JSON 对象。文档要求提供唯一的 custom_id,并提醒输出顺序可能与输入顺序不同。应按标识匹配结果,然后在解析候选样例前检查失败请求和未完成的生成。OpenAI Batch 文档。

OpenAI 文档:提交和获取异步批处理请求
OpenAI API:Batch

Anthropic 的 Claude API 提供 Message Batches,用于处理相互独立的 Messages 请求。结果区分成功、出错、已取消和已过期的请求,并通过 custom_id 关联对应输入。这里要注意执行层面的限制:批次被接受,不等于每条样例都已完成。应按标识重试缺失的工作,而不是重新生成整个数据集。Claude 批处理文档。

Claude 文档:Message Batches 及各请求的处理结果
Claude API:Message Batches

Google 的 Gemini API 提供 Batch,既可以直接内嵌请求对象,也可以上传 JSONL 文件。文件方式的请求使用 key 标识对应结果。较大的离线数据集适合采用文件方式;文档中的处理时长是目标值,因此不要让交互式流程依赖批处理立即完成。Gemini Batch 文档。

Gemini 文档:内嵌请求与文件形式的批处理提交方式
Gemini API:Batch

以下是会影响任务拆分的批处理限制,均已在所链接的文档中核实。它们并不限制通过多个任务累计构建的数据集总量。

API提交限制处理时限结果匹配字段
OpenAI Batch50,000 个请求;输入文件 200 MB24 小时完成窗口;未完成的请求可能过期custom_id
Claude Message Batches100,000 个请求或 256 MB,以先达到者为准24 小时后过期custom_id
Gemini Batch内嵌请求小于 20 MB;输入文件最大 2 GB目标处理时长为 24 小时文件请求的 key

一条批处理请求和一条候选样例是不同的计数单位。如果每个成功请求会返回多个候选样例,就应分别记录两种数量。除了传输错误,还要记录解析失败、拒绝回答和输出截断。HTTP 响应成功,不代表就得到了一条可用的训练数据。

Distilabel:组织生成与反馈流程

Distilabel 是面向合成数据和 AI 反馈的框架,可以把生成、评估和数据处理步骤组合成流水线。文档列举了分类、信息抽取、对话和指令生成等用途。当一次性脚本逐渐扩展成多个生成和筛选阶段时,这类框架就能发挥作用。Distilabel 文档。

Distilabel 文档:合成数据与 AI 反馈流水线
Distilabel

该项目采用 Apache-2.0 许可证。仓库还说明,原作者已转向其他工作,目前由社区协作者维护。采用时应固定版本并完成验证。实际限制仍在评估器:把模型判断编排进流程,不会让判断自动变得独立或正确。Distilabel 仓库。

Faker:无需语言模型,也能构造测试数据

Faker 是一个 Python 包,通过 provider 生成虚构数据,支持地区语言设置和随机种子。当应用测试需要的是可控字段,而非自然语言推理时,它适合用来构造测试数据。其仓库标明采用 MIT 许可证。Faker 文档、Faker 仓库。

Faker 的 Python 文档:provider 与生成字段示例
Faker

业务关系仍需自己用代码表达。各自独立生成的地址、日期和交易,并不能组成真实可信的客户历史。尽可能使用专门保留的测试标识和域名,并防止生成的测试数据触发消息发送或其他生产操作。

Synthetic Data Vault:建模表格及其关联

Synthetic Data Vault,简称 SDV,提供表格数据合成和统计评估能力。文档涵盖单表、序列数据和关联表等方法。它的合成器通过训练学习所提供数据的规律,因此仍然需要一份获准使用的源数据集。SDV 文档。

Synthetic Data Vault 文档:表格数据合成与评估
Synthetic Data Vault

在 SDV 中,GaussianCopulaSynthesizer 使用经典统计方法学习各列的分布及相互关系;CTGANSynthesizer 使用生成对抗网络,即由生成器与相互竞争的判别器共同训练的模型。两者都接收数据,以及描述数据结构的元数据。它们是表格数据合成器,并非通用聊天模型。Gaussian Copula 文档、CTGAN 文档。

这里的关键限制,是能否保留任务所需的特性。各列分布看起来相似,并不能证明罕见组合、跨表规则或下游模型行为得到保留。应验证应用依赖的关系,包括将子记录关联到父记录的外键。

合成数据生成器怎么选?先看缺了什么

如果缺少的是语言变化,就用模型 API。当可重复的生成和反馈编排值得引入额外依赖时,再加入 Distilabel。测试数据需要可控取值时,选择 Faker。如果表与表之间的统计关系很重要,而且拥有获准用于建模的源数据,可以考虑 SDV。

不要指望购买能力更强的生成器,来解决标注规则不清的问题。这个问题出在所有工具的上游。

用模型输出训练模型,服务商条款怎么规定?

选择教师模型前,先检查输出使用限制。教师模型指生成样例、供另一个模型学习的模型。下面概括了前述三家托管 LLM 服务商的标准条款,并不代表某个具体训练项目已符合要求。

  • **OpenAI:**其《服务协议》限制将输出用于开发竞争性 AI 模型,但列明了例外:主要用于数据归类、分类或整理,且不向第三方分发或提供商业使用的模型;以及通过 OpenAI 指定服务进行的模型定制。服务协议。
  • **Anthropic:**除非获得 Anthropic 明确批准,其《商业条款》禁止为构建竞争性产品或服务而访问服务,包括训练竞争性 AI 模型。商业条款。
  • **Google:**Gemini API《附加条款》禁止使用服务开发竞争性模型;其中的 Google Search Grounding 条款另行禁止使用 Grounded Results 或 Search Suggestions 进行训练。Gemini API 条款。

库的软件许可证、其调用模型的服务条款、模型权重许可证,以及你对源样例拥有的权利,是不同的问题。仅凭拥有输出的所有权,不能解决所有这些问题。

测试数据是否保护隐私,需要单独验证

数据是合成的,不代表隐私就有保障。如果把机密记录复制到未经批准的生成服务中,之后再生成看似虚构的替代记录,也无法撤销之前的信息披露。

Stadler、Oprisanu 和 Troncoso 关于合成数据发布的研究发现,在他们评估的不同模型之间,隐私收益和数据效用各不相同。对实践的启示是:应评估实际发布的数据及其生成过程,而不能把“合成”二字当成匿名性的证明。USENIX 研究论文。

如果已经足以满足软件测试需求,优先采用根据获批的数据结构和规则编写的虚构种子样例。如果必须保留真实统计规律,就应在获准的环境中处理源数据,并评估生成的数据集可能透露哪些信息。

检查直接标识符、复制的段落、罕见组合,以及能否与他人可能已知的信息建立关联。只替换姓名,却保留独特的事件、地点和日期,仍可能让人认出当事人。对于敏感数据的发布,少量人工抽查和重复扫描并不够;隐私评估的强度需要与威胁和预期接收方相匹配。

服务商是否用数据训练模型,与用户是否有权使用输出训练模型,是两个问题。例如,Gemini 的非付费服务条款提醒用户不要提交敏感信息;付费服务的数据使用条款则说明,提示词和回复不会用于改进 Google 的产品。这些条款也将付费服务的数据使用规则适用于欧洲经济区(EEA)、瑞士和英国的非付费使用。Gemini 数据使用条款。

无论服务商承诺不用于训练,还是在本地执行,都不能证明最终数据集可以安全共享。在发布审核完成前,应持续保留其来源记录和访问控制。

合成数据有哪些被夸大的能力?

最大的夸大,是认为多生成一些记录就能解决证据不足。生成数据可以扩大练习覆盖范围、暴露失误,也可能只是把同样的假设大规模复制一遍。

措辞不同,情境可能仍然重复

数据集中的句子各不相同,却仍可能只是在重复少数几类情境。筛选后,应追踪情境覆盖情况:还覆盖哪些业务规则、歧义和失效模式?

在工单示例中,重复的账单投诉无法弥补“账单和账号访问问题同时出现”这类请求的缺失。检查近邻样例,既看通过的样例,也看被拒绝的样例。过于严格的质量筛选,可能悄悄删掉原本想补充的困难案例。

改写并不一定消除偏差

不要以为改写带有偏差的种子样例,就能消除其中的假设。应检查不同语言风格、方言、拼写质量及相关用户群体下的标签选择。除非规则明确支持这种区分,否则不能因为请求语气不满或拼写较差,就把它分到不同的处理路径。

请审核人员比较成对样例,两者仅改变一个与判断无关的属性。如果标签随之改变,就要同时排查种子样例、提示词和筛选器。生成器与评判器可能会相互强化同一种错误。

模型给自己打分,也可能看起来很可信

Zheng 及其同事记录了 LLM 评判器的位置偏差、冗长偏好和自我偏好。模型可能奖励的是措辞或呈现方式,而非你真正想测量的属性。LLM-as-a-judge 研究。

凡是能机械验证答案的地方,都应使用确定性检查。对于主观判断,应以人工决定校准评判器,在可行时隐藏生成器身份,并审核分歧。更换评判器的服务商可以减少一项共同依赖,却不能保证错误彼此独立。

LLM-as-a-judge 指南介绍了如何先检验评估器,再信任它的分数。在合成数据生成流程中,必须先完成这一步,再让评判器决定哪些样例可以作为训练中的标准答案。

建筑式检查路线:候选样例依次经过验证、去重、人工审核和发布,同时设有拒绝分支
生成阶段产出候选样例;验证、去重和人工检查决定哪些数据可以发布。

模型崩溃是特定风险,不是对所有合成数据的否定

Shumailov 及其同事研究了使用生成数据递归训练的过程,展示了原始分布中较少见的部分如何逐渐消失。这意味着,反复用模型自身的衍生数据替换源证据,需要谨慎。但它并未证明每一次经过审核、面向特定任务的合成数据微调都会失败。Nature 研究论文。

保留获准使用的原始证据,有意识地保留罕见案例,并对照未经改动的基线比较下游行为。不存在一种通用的合成数据与真实数据混合比例,可以替代这种评估。

下一步该怎么做?

现在就可以动手,前提是你能明确指出缺少哪类案例、写出正确行为,并依据稳定规则审核生成的候选样例。从小规模覆盖网格开始,只扩充那些确实能带来有用案例的组合。

先缓一缓微调,如果审核人员对目标标签仍有分歧,或缺少独立的验收集。先解决规则和评估的问题。

使用普通测试数据,如果任务只是填充数据库、测试边界值或检验事务完整性。只有当生成的语言能触发简单数据无法覆盖的行为时,再加入它。

下一次发布前,用同一组未参与训练和调优的案例,对比基线系统与修改后的系统。对于客服工单路由器,应按类别检查错误路由和漏掉的升级处理。只有合成数据改善了预期行为,且没有在其他方面造成不可接受的退步,才值得保留。

合成数据常见问题

有哪些免费的合成数据生成工具?

Faker 和 Distilabel 都是开源选择:Faker 用于生成虚构字段和测试数据,Distilabel 用于组织合成数据及反馈工作流。托管模型调用和工作流所需的计算资源仍可能收费。它们的软件许可证不能取代所连接模型服务商的条款。

数据科学中常用的 5 种算法有哪些?

并不存在通用排名。线性回归、逻辑回归、决策树、随机森林和 k-means 都是面向不同任务的常见算法。这份名单不是合成数据的选型指南:应根据所需数据及行为,在规则生成、表格数据合成和语言生成之间作出选择。

数据集的三种主要类型是什么?

在模型开发流程中,通常指训练集、验证集和测试集。训练集用于教模型,验证集用于指导开发,最终测试集用于检验最后选定的方案。相互关联的源记录及其生成衍生样例,应留在同一个适当的数据划分中。

如何用 Python 生成虚构数据?

如果需要虚构字段,可以用 Faker;如果需要学习获准使用的源数据中的关系,则可以用表格数据合成器。对于 LLM 生成的文本,应保存为结构化记录,完成验证,并保留来源标识。Python 可以组织流程,却不能自动证明生成样例正确或不泄露隐私。

如何生成合成数据?

先定义用途和验收规则,选择经过批准的种子样例,再定向生成候选数据。随后过滤无效记录,去除文本完全重复和语义重复的样例,并请熟悉任务的人抽样审核。最终评测使用的预期答案必须独立核验。

如何生成模拟测试数据?

从应用的数据结构和约束入手。针对每条要测试的规则,构造有效的测试数据,以及故意无效的案例。保留记录之间的关系,使用指定的测试标识,并持续标明这些数据是人工构造的。

如何生成一份虚构数据集?

用于演示时,可以根据虚构的规范生成记录。如果需要在统计上具有代表性的替代数据,则应采用合适的合成器和获准使用的源数据,并同时评估效用与隐私。数据集看起来合理,并不能证明其分布反映了真实客户情况。

人为编造的数据,应该叫什么?

有意创建、明确标注,并用于测试或建模的人工记录,称为合成数据或模拟数据。把虚构的观察结果冒充实际测得的证据,则属于数据造假。生成样例与实际观察结果必须保持清晰区分。

AI 能生成数据吗?

可以。语言模型能生成文本候选样例,表格生成模型能生成结构化记录。在这些候选内容成为他人依赖的数据集之前,你仍须负责检查其效用、正确性、使用许可和隐私。

订阅通讯,获取构建和评估 AI 系统的实用指南。

发布日期
分类
Build
DPO 与 RLHF 详解:人类反馈如何训练模型,小公司该怎么选

DPO 与 RLHF 详解:人类反馈如何训练模型,小公司该怎么选

RLHF 如何把人类偏好变成模型行为?DPO、AI 反馈和可验证奖励又各自改变了什么?本文用客服退款案例讲清训练机制、偏好数据与评估方法,并梳理 Together AI、Fireworks AI 和 OpenAI 的托管微调路径、使用资格与服务期限,帮助小公司判断何时该用检索、SFT 或偏好训练,以及怎样验证改进。2026年10月22日Build
大模型路由怎么做:选型、成本核算与效果评测

大模型路由怎么做:选型、成本核算与效果评测

大模型路由如何降低成本,又守住回答质量?本文以客服工单为例,说明规则路由、自动路由与训练型路由器的区别,对比 OpenRouter、LiteLLM、Vercel AI Gateway 和 Microsoft Foundry,并给出包含重试开销的成本公式、独立留出集评测方法及逐步上线流程,帮助你判断何时值得采用。2026年10月21日Build
语义缓存怎么用:大模型回答何时可以复用?

语义缓存怎么用:大模型回答何时可以复用?

语义缓存能减少大模型的重复调用,但相似问题并不一定能共用答案。本文拆解向量生成、近邻检索、阈值检查与答案返回的完整流程,用耳机退货示例说明错误命中的风险,并对比精确缓存、提示词缓存及 Kong、Redis、GPTCache 的实现方式,讲清用户隔离、有效期、版本失效和成本核算,帮助你判断何时值得复用回答。2026年10月21日Build
Pydantic AI vs LangChain:Python 智能体框架怎么选?

Pydantic AI vs LangChain:Python 智能体框架怎么选?

Pydantic AI vs LangChain 怎么选?用同一套客服工单分流代码,对比结构化输出、工具调用、系统集成与可恢复工作流,梳理 Logfire 和 LangSmith 的追踪、评估与人工审核方式,说明切换框架时应保留哪些代码、如何处理持久化状态,以及什么情况下根本不需要智能体框架。2026年10月21日Build
Zed vs Cursor 2026:编辑体验、团队协作与 Cursor 价格对比

Zed vs Cursor 2026:编辑体验、团队协作与 Cursor 价格对比

Zed 和 Cursor 怎么选?从编辑手感、跨文件修改、云端 Agent、模型选择到实时结对,逐项比较两款编辑器。拆解 Cursor 价格与 Zed 的个人、五人团队月费,说明如何在 Zed 中保留 Cursor Agent,以及 MCP、历史记录和迁移兼容性有哪些限制,帮助你先完成一次真实项目修改,再决定是否迁移。2026年10月21日Build
LLM inference 详解:大模型推理流程、延迟优化与部署选型

LLM inference 详解:大模型推理流程、延迟优化与部署选型

大模型响应慢,究竟慢在读取提示词,还是生成回答?本文拆解 LLM inference 的预填充与解码阶段,用公开 API 示例说明首 token 延迟、生成速度和总耗时的区别,梳理 KV 缓存、批处理、量化与推测解码的适用边界,帮助你判断何时继续使用托管 API,何时评估推理服务商或自建 GPU。2026年10月21日Build
语义搜索(semantic search)实战:原理、选型与落地边界

语义搜索(semantic search)实战:原理、选型与落地边界

语义搜索能理解不同措辞,却不能替代精确匹配。本文从咖啡保温与旅行杯的实例出发,讲清向量化、索引、召回和排序,比较 Pinecone、pgvector、Elasticsearch 与 Algolia,并梳理混合检索、重排、权限、内容更新和成本的落地边界,帮助团队判断何时引入语义搜索,以及如何评估改进是否有效。2026年10月21日Build
Factory AI 值得用吗?Droids 功能、价格与团队选型指南

Factory AI 值得用吗?Droids 功能、价格与团队选型指南

Factory AI 值得替换现有编程智能体吗?本文基于官方文档,梳理 Droids 的编辑器集成、模型选择、远程执行和自动化能力,对比 Claude Code、Codex 与 Cursor,解析各套餐价格、席位限制及 BYOK 边界,帮助工程团队按审查投入、验收结果和总成本判断是否值得试用。2026年10月21日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。