生成式AI为运维和开发带来了诸多机遇,但对于尝试将其融入安全解决方案的人员而言,也带来了许多挑战。
其中一项挑战是,如何通过大型语言模型(LLM)从不得与任何第三方AI服务共享的敏感内容中获取洞察,例如用于保护应用和API免受欺诈和滥用的安全策略。
LLM面临的第二个挑战是容易产生幻觉,尤其是在被要求分析或生成与其了解较少的主题相关的内容时。以下情况经常出现这一问题:DEX等领域特定语言。DEX是一种纯函数式、静态类型且非图灵完备的语言。虽然定义明确,但应用并不广泛。
第一个挑战是数据隐私,乍看之下似乎难以克服。安全公司必须高度重视所有客户数据(包括策略)的隐私和安全。因此,尽管使用大语言模型(LLM)帮助挖掘策略中的洞察有助于改善运营实践并惠及客户,但仍需要一种解决方案,既能从敏感数据中获取洞察,又无需与第三方LLM共享这些数据,从而使其无法处理这些数据。第二个挑战是幻觉,这是目前整个行业都在努力克服的问题,尤其是在回答与策略、配置和代码相关的问题时。
人类会将程序视为一串字符,而编译器的视角则有所不同。对于编译器而言,DEX程序是一种称为抽象语法树(AST)的数据结构。这棵树是一个有向无环图,这意味着相关策略非常适合用图来表示。因此,我们找到的解决方案利用图数据库(Neo4j),并使用GPT智能体生成针对该数据库的GraphQL查询。这种方法有效解决了第一个挑战,因为我们可以使用GraphQL查询包含相关数据的图数据库,同时避免向第三方LLM披露这些数据,从而保护数据隐私。
第二项挑战是幻觉问题,解决起来更为困难,但我们的方法同样适用,可利用多种AI技术来降低相关风险。此外,GraphQL是一种应用广泛、文档完善的查询语言,大多数GPT模型都熟悉它,并且可以使用多种工具轻松验证其语法。这有助于降低出现幻觉的可能性,并可在使用前验证其正确性。
什么是AI幻觉?
AI幻觉是指生成式AI生成的输出并非基于实际数据或模式,而是虚构或失真的内容。这类幻觉通常源于AI训练数据的局限性或偏差,也可能发生在AI尝试针对从未遇到过的情况生成输出时。幻觉可能表现为虚构或无意义的内容,也可能是逻辑不通或与输入数据不符的结论。例如,文本生成AI可能会生成看似合理,但实际上毫无意义或与所提供上下文无关的句子。
什么是GraphQL?
GraphQL是一种用于API(应用程序编程接口)的开源查询语言,也是一种服务器端运行时,可使用为数据定义的类型系统执行这些查询。它由Meta(Facebook)开发,旨在提供一种比传统RESTful API更高效、功能更强大且更灵活的替代方案。GraphQL API由架构定义,该架构指定可查询或变更的数据类型。这种强类型机制有助于改进工具支持、内省和验证。
我们的方法
我们采用GPT智能体,将生成式AI安全地融入安全领域。虽然使用文档完善的语言有助于降低产生幻觉的风险,但我们还需要找到一种方法,将智能体的输出空间限制为可通过程序检查错误的格式,同时不向OpenAI发送任何敏感数据。GraphQL非常适合作为输出空间,因为它既有足够的表达能力来回答大多数问题,又是一种抽象形式,可通过程序依据已知架构进行检查。
虽然我们已将这种方法应用于DEX,但它也适用于任何具有充分互联性和关联性的数据集,例如社交网络、网络和基础设施拓扑、供应链以及地理空间(地图)数据。

PC-graph架构由多个组件组成,用于将DEX转换为图表示形式。生成的图数据随后存储在Neo4j数据库中。GPT代理的输出可通过API提交至GraphQL Apollo服务器,由该服务器对图数据库执行查询。
我们的代理使用GPT4响应以自然语言提出的请求,提供有关以DEX编写的策略的信息。该代理通过理解pc-graph API,生成适当的查询或变更,供用户审核和执行。
除了pc-graph API之外,我们的智能体还了解所使用的库以及DEX语言的一些概念。运行时会精心选择这些信息并将其纳入上下文,以提供更理想的结果。
由此带来的一项挑战是,智能体需要较大的上下文窗口,才能容纳架构的相关部分以及补充材料,例如neo4j-graphQL文档,其中包含该库生成的其他类型、查询和变更。使用GPT4-8k时,上下文空间不足,无法进行充分的上下文学习。32k上下文可以获得可接受的结果,但也会产生额外成本。例如,每次向OpenAI发送请求时,都必须附带GraphQL SDL(架构定义语言)。如果可以使用我们的架构对GPT4对话模型进行微调,就无需将架构纳入上下文,也就不会出现这一问题。但OpenAI目前尚不支持此功能。
我们发现,有三种AI方法可以改善GPT4的输出结果:
- 思维链
- 思维链(CoT)是一种模拟人类思维过程的AI概念,使系统能够按照逻辑顺序处理想法或概念,类似于人类以链式方式串联思路。这有助于自然语言理解、推理和上下文理解。将这项技术应用于先进模型GPT-4时,可取得良好效果。
- 反思型AI
- 反思型AI,也称自我感知AI或具备反思能力的AI,是指能够进行自省,并对自身行为和流程作出决策的人工智能系统。这类AI具备更高程度的自我感知和自我评估能力,超越了传统机器学习和基本决策能力。Reflexion:一种采用语言强化学习的语言智能体框架,“以语言形式反思任务反馈信号,然后将自身的反思文本保存在情景记忆缓冲区中,以便在后续尝试中作出更好的决策。”
- 与自身对话
- 支持对话的解析智能体(DERA)被提出作为一种方法,通过反馈沟通迭代改进大语言模型的输出。该技术使用两个智能体:负责处理信息的研究者和负责最终判断的决策者。二者以对话形式交互,使决策者能够自主判断最终输出。
最后,我们使用可对GraphQL查询执行静态语法错误检查的工具,以发现任何可能未被初步缓解措施拦截的幻觉内容。

该设计通过在同一提示中先生成三个可能的答案得到进一步改进。这不仅能减少处理给定提示所需的时间和成本,还能提高一致性,因为答案中更有可能出现正确的内容。同时,这种做法也为随机变化留出了空间,以便探索可能性较低但准确的选项。
通过这种方法,我们无需共享私有数据即可从策略中获取洞察。查询结果的质量和一致性也得到显著提升,幻觉现象明显减少,尤其是在构建包含多个筛选条件和聚合函数的大型或复杂查询时。
从某种意义上说,我们可以兼得两者;当必须在创造型智能体和确定型智能体之间做出选择时,我们会同时采用两者。
相关博客文章
2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素
多云网络解决方案可在核心、云和边缘环境之间实现无缝、安全的互联,为解决当今混合IT面临的挑战提供支持,因而备受业界关注。
