0 API 可以做“重复实验”,网页只能做“经验复现”

古代驿站最怕的,不是快。是快而无章。 一封军报可以靠快马传到,但若没有封缄、编号、回执、交接簿,快就会变成失控。网页对话里的大模型,常常就像这样的驿站:你可以把地址写得极细,把路线说得极明,把交接人定位到某一间屋、某一行字、某一个函数名,甚至精确到源代码位置。看上去,它已经很像“接口”了。可问题不在于它能不能跑得快,而在于它是不是一条可被制度化的官道。

条件先说清楚。 当底层模型能力足够强、上下文足够短、任务足够单一、人工能够兜底时,网页对话可以逼近 API 的效果。此时 prompt 的作用,不是“施法”,而是“加栏”。它把模型的自由度压窄,把输出形态收束,把歧义压到最低。你告诉它改哪一段代码、输出什么格式、不要解释、只给 diff,它就更像一个受控工匠,而不是漫游的门客。这里的能力是可用的,但前提非常苛刻:输入稳定,目标明确,结果可检。

可是,官道和驿站的差别,从来不在“能不能送到”,而在“能不能反复送到”。 API 的价值,不是聪明,而是可重复、可审计、可回滚、可限流、可计费。网页对话做不到这些,它没有显式错误码,没有稳定参数层,没有天然的批处理接口,也没有责任边界的机器化记录。今天你靠精准 prompt 把结果逼对了,明天网页策略一变、上下文一截、页面一改,整套工作流就可能塌掉。难道一个系统的可靠性,真的可以只靠“我把话说得够细”来保证吗?

行动上,应该把网页对话视为“探索层”,而不是“生产层”。 它适合做三件事:试探提示词结构、验证任务可行性、在低频场景里做人力补位。它不适合承担三类责任:接入正式业务链路、进入有审计要求的流程、对外输出可追责结果。换句话说,网页对话可以是草图桌,但不能是施工图签字台。责任归属也必须随之重排:prompt 写得再精巧,结果出错时,不能把风险甩给“模型不稳定”;真正签字的人,必须是设计工作流的人,而不是临时拼接话术的人。

边界必须写在前面。 当任务一旦满足以下任一条件,就不该继续依赖网页对话:需要批量处理,需要稳定 SLA,需要留痕审计,需要接口编排,需要多人协作,需要长期维护。失效条件同样要明确:页面改版、上下文漂移、模型输出风格变化、人工漏检、提示词被污染。这些不是偶发噪声,而是结构性风险。只要你把“能用”误当成“可托付”,系统就会在规模化时露出缺口。

所以,真正的做法不是迷信 prompt,也不是否定 prompt。 而是把 prompt 当作临时脚手架,把 API 当作正式承重结构。先用网页对话把任务拆到最小单元,确认输入、输出、异常、回滚四件事;再把这些约束固化成接口协议、日志规范和人工复核节点。这样,模型才不是一位时灵时不灵的驿卒,而是一条可以纳入制度的官道。文章读到这里,结论已经很清楚:能逼近,不等于能替代;能试用,不等于能交付。下一步不是继续加长提示词,而是把责任、边界和失效条件写进流程里。

把 API 看成“官道”,它之所以稳定,不是因为模型更聪明,而是因为把不确定性关进了制度里。能力被封装,路径被约束,责任被记录。


一、稳定性的来源:四个“硬约束层”

1)参数层(控制随机性)

  • 条件:可设置 temperature / top_p / seed(部分平台)
  • 能力:收敛输出分布,减少漂移
  • 行动:生产场景常用低 temperature + 固定提示模板
  • 边界:无法完全消除不确定性,只是降低方差
  • temperature 本质是一个“分布放大/压缩系数”,用来调节模型在生成下一个 token 时的随机性。 可以把模型想成在每一步都面对一组候选词,每个词有一个概率。temperature 决定的是:你是更“按概率选”,还是更“放开选”。 —

2)协议层(控制输出形态)

  • 条件:定义严格的响应格式(JSON Schema / function calling)
  • 能力:把“生成文本”变成“填表单”
  • 行动

    • 声明字段、类型、枚举
    • 校验失败即重试或回退
  • 边界:复杂推理仍可能“形式正确、内容错误”

3)系统层(控制调用过程)

  • 条件:网关、队列、重试机制、超时控制
  • 能力:把一次调用变成可管理事务
  • 行动

    • 限流(QPS / 并发)
    • 重试(指数退避)
    • 超时与熔断
  • 边界:只能保证“调用成功”,不保证“答案正确”

4)审计层(控制责任与复现)

  • 条件:全量日志(prompt、参数、响应、时间戳)
  • 能力:可复现、可追责、可回滚
  • 行动
    • 记录每次请求与版本
    • 绑定调用方与额度
    • 建立告警与报表
  • 边界:隐私与成本需要权衡(日志量很大)

二、为什么网页对话做不到

缺了这四层结构

  • 没有参数显式控制 → 输出漂移不可调
  • 没有强制 schema → 只能“诱导格式”
  • 没有调用编排 → 无法重试/限流/批处理
  • 没有完整日志 → 无法审计与复现