作者回复: 你好,感谢你提出这个关键的问题! 的确,当前主流流式接口(streaming)场景下,输出是边生成边返回的,确实没法等“全部生成完毕”后再统一审查。这个问题目前工业界一般有两种思路应对: 一是“滑动窗口审查”,也就是模型每输出一小段时(如几个token或者是一个句子时),就实时送入一个审查模块中进行快速判断。一旦审查模块检测到高风险内容,就会立刻中断流式响应并给出替代内容或者拒绝提示。这种方法能较好地兼顾体验和安全,可以说目前很多的LLM都是采用这种机制,你可以用国内一些常见的toC大模型进行测试,如果你能够使用一定的攻击手段让大模型越狱,有时在大模型输出过程中,内容可能会被审查模块检查到是,这时大模型会撤回所有当前已输出的内容,然后返还拒绝提示,比如“无法回答此问题,请换种方式提问”。这种思想可以去读一下论文《From Judgment to Interference: Early Stopping LLM Harmful Outputs via Streaming Content Monitoring》,地址:“https://arxiv.org/abs/2506.09996” 另一种方法是“预生成+前置审查”,这种方法说的直接一些就是:其实模型在后台已经快速且完整地生成了全部内容,只是在交互上,用流式的方式一点一点返还给用户。这时,在前端看来就是流式,但实际上已经做过了完整过滤。这个方案牺牲了响应速度,适用于容忍略延迟的场景。可以去读一下论文《HiddenGuard: Fine-Grained Safe Generation with Specialized Representation Router》,地址:“https://arxiv.org/abs/2410.02684” 非常欢迎你继续提出类似高质量的问题,帮我们一起把课程打磨得更贴近真实落地!