构建面向政府/企业客户的prompt系统和知识库时,数据准确性要求越完整越真实越好,而隐私合规要求恰恰相反——必须剥离敏感信息,两者形成根本张力,文章深入剖析了工程层面的具体表现。
两个本应和平共存的需求——保证数据准确和保证数据隐私——在你为真实客户构建 prompt 系统和知识库时,实际上会不断地相互拉扯,尤其是政府和企业的客户,这两个需求是硬性要求而非"最好能有"。这类工作中大部分实际的工程矛盾都存在于那个缝隙里,而且比起幻觉(hallucination)这类更吸引眼球的问题,它很少被拿出来讨论。
准确性追求广度。底层知识库越完整、越新,系统就越有可能给出正确答案而不是猜测或默认回复到通用回答。这自然推动系统尽可能多地引入真实、具体、详细的原材料——真实的案例数据、真实的数字、真实的有名字的例子——因为模糊或脱敏的原材料会产生模糊或脱敏的回答。
隐私性追求限制。在越敏感的领域,政府和企业的工作几乎总是在某个维度上敏感的,就有越大的压力要去除准确性所依赖的那种具体、真实、可识别细节。名字被移除、数字被泛化、具体案例被抽象成类别。每一项出于正当理由(而且通常有合同要求)所做的删除,都会对系统日后准确回答特定问题的能力征收一小笔税。
天真的假设是:你在摄入阶段处理隐私问题,一次搞定,把数据脱敏,然后在脱敏后的版本上构建准确系统。但在实践中,这样做出来的是一个经证明合规但明显在其本职工作上表现更差的系统,因为一个充满泛化类别而非具体落地细节的知识库,会推动模型走向准确性工作本应防止的那种——自信满满、听起来合理、却缺乏依据的回答。
这种矛盾最清晰的体现,出现在原材料在进入系统 prompt 之前如何被组织。一个原始源文档可能包含一个非常具体的真实案例,有名字、日期、数字,可以作为很可能被问到的用户问题的优秀有依据回答。但同样的文档,以原始形态,通常无法接近面向客户的系统,否则会违反数据处理协议,特别是在政府场景下,某些类别的信息带有法律处理要求,不管它们对模型有多有用。
直觉上把敏感细节直接删除、保留其余部分的做法,解决了合规问题,却产生了新的准确性难题,因为使那个案例有用的很多东西恰恰就是刚被删除的那些具体性。同一案例的泛化版本——比如"类似案例已成功处理"——给模型几乎没有什么可以真正作为依据来回答的东西,又把它推回了生成听起来合理但实际没有来源的内容。
更好的路径——前期确实比两个极端都要花更多功夫——是把匿名化当作一个结构化问题而非删除问题来处理。与其剥除敏感细节、留下空洞的泛化物,不如用结构上等价但不可识别的替代物替换敏感细节,保留案例的形状、各部分信息之间的关系、使它对回答有依据这件事有用的那种细节,只移除实际可识别的内容本身。
一个有真实姓名和真实数字的具体案例引用,变成一个结构上完全相同的案例引用,只是用占位身份和代表性数字范围替代,保留了模型需要用来推理的模式,同时移除了合规风险。这比批量匿名化或原样保留数据都要需要多得多的手动判断,因为每一条原材料都需要有人判断它具体是什么在起有用作用,从而只移除可识别层而不是把它下面有用的结构也一并移除。
即使采用谨慎的方法,在保持合规的同时,系统的准确性仍然有一个真实的天花板,而工作的一部分是诚实地告诉客户这个天花板在哪里,而不是许诺最大准确性和最大隐私保护可以同时拥有,好像它们是免费可以兼得的东西。每个项目都涉及一场关于在这个光谱上具体部署需要落在哪里的明确对话,因为处理个人案例信息的面向公民政府工具,与回答产品目录问题的企业内部工具,在光谱上处于非常不同的位置。
这场对话——主动决定权衡落在哪里,而不是假设它会自动解决——原来是 scoping 这类工作时一直被低估的部分。客户往往带着两个旋钮可以同时调到最大这样的假设来,我们需要交付的真正工程价值中有很大一部分,是帮助他们理解为什么权衡实际上不是这样运作的。
数据隐私和数据准确性不是两个独立勾选的框。它们在同一根刻度盘上,向相反方向拉扯,把它们当作可分离的问题来处理,会产生要么泄漏超过应有程度、要么性能低于所需的系统。真正的技能不是孤立地最大化其中任何一个,而是在这个光谱上找到并清晰沟通特定部署实际需要落在哪里,然后围绕那个主动决定而非默认设置来构建匿名化和知识结构化工作。
出于工作性质考虑,具体客户的数据处理要求和系统细节保密。愿意通过适当渠道与任何构建类似受监管系统的团队讨论在知识库设计中平衡数据准确性和隐私的一般方法。
Written by Mohammad Farhan Habib Faraz Senior Prompt Engineer and Prompt Team Lead at PowerinAI www.powerinai.com