用于构建安全AI代理的开源防护系统
大家读完觉得有帮助记得及时关注!!!
大型语言模型(LLMs)已经从简单的聊天机器人演变为能够执行复杂任务的自主代理,例如编辑生产代码、编排工作流程以及基于不受信任的输入(如网页和电子邮件)采取更高风险的行动。这些能力引入了新的安全风险,而现有的安全措施,如模型微调或以聊天机器人为中心的防护栏,并不能完全解决这些风险。鉴于更高的风险以及缺乏减轻这些风险的确定性解决方案,因此迫切需要一个实时防护栏监控器,作为最后一层防御,并支持系统级、用例特定的安全策略定义和执行。我们推出了 LlamaFirewall,这是一个开源的、以安全为重点的防护栏框架,旨在作为防御与 AI 代理相关的安全风险的最后一层。我们的框架通过三个强大的防护栏来降低风险,例如提示注入、代理错位和不安全的代码风险:PromptGuard 2,一种通用的越狱检测器,展示了清晰的最新性能;Agent Alignment Checks,一种思维链审计器,用于检查代理推理中的提示注入和目标错位,虽然仍处于实验阶段,但在一般情况下,它在防止间接注入方面显示出比以前提出的方法更强的效果;以及 CodeShield,一种在线静态分析引擎,既快速又可扩展,旨在防止编码代理生成不安全或危险的代码。此外,我们还包括易于使用的可定制扫描器,使任何能够编写正则表达式或 LLM 提示的开发人员都可以快速更新代理的安全防护栏。
LlamaFirewall已在Meta的生产环境中使用。通过将LlamaFirewall作为开源软件发布,我们邀请社区利用其功能,并协作解决由Agents引入的新的安全风险。
1 引言
大型语言模型(LLMs)已经超越了聊天机器人的范畴,发展成为自主代理。如今,这些代理被嵌入到具有高度信任级别的应用程序中,包括自动化工作流程、分析事件和编写代码。这些新的应用程序带来了来自对LLMs攻击的新风险。
例如,一个简单的提示注入,参见Willison (2022),可以颠覆代理的意图,导致其泄露私人数据或执行未经授权的命令。具有LLM生成的代码的编码代理可能会将关键漏洞引入生产系统。多步推理的错位可能导致代理执行远远超出用户请求范围的操作。Jenko等人(2024)、OpenAI(2025a)等自主研究代理以及Veillette-Potvin (2025)中展示的DevOps助手已经存在这些风险。随着代理自主性的提高,这些风险将会加剧。
尽管这种新兴的威胁态势已经出现,但基于LLM的系统的安全基础设施仍然不发达。目前的大部分工作都集中在聊天机器人内容的审核上——防止有害言论或错误信息——但未能解决应用层风险,如不安全的代码输出、针对高权限代理的提示注入攻击以及代码解释器滥用。专有安全系统将硬编码的防护措施嵌入到模型推理API中,但提供的可见性、可审计性和可定制性有限。我们需要一个系统级的架构来协调防御,以及解决新兴的LLM代理安全风险的防护措施。
LlamaFirewall 弥补了这一空白。LlamaFirewall 是一个开源的、系统级的安全框架,用于支持由 LLM 驱动的应用程序,它采用模块化设计,以支持分层自适应防御。我们包含了三个为 LLM 代理工作流程需求量身定制的防护措施。这些防护措施分为两类:提示注入/代理不对齐以及不安全/危险的代码。
首先,我们讨论提示注入和智能体目标不一致的风险:
PromptGuard 2,一种经过微调的 BERT 风格模型,能够以高准确率和低延迟检测直接的越狱尝试。它在用户提示和不受信任的数据源上实时运行。新一代的这些模型在我们的 86M 参数变体中具有多项性能改进,并且具有更低的延迟,即 22M 参数变体。
AlignmentCheck,一种实验性的基于少样本提示的思维链审计器,用于检查代理推理中是否存在目标劫持或提示注入引起的错位迹象。据我们所知,这是第一个开源的防护栏,旨在实时审计LLM的思维链,以防御注入攻击。
其次,我们关注于代码编写代理这一新兴领域,即代表用户编写代码的LLM代理。我们包含一个专门针对此应用的防护措施:
CodeShield,一个针对LLM生成的代码的在线静态分析引擎,同时支持Semgrep和基于正则表达式的规则。CodeShield易于扩展,可在8种编程语言中提供语法感知的模式匹配,以捕获风险。我们之前已将CodeShield作为Llama 3发布的一部分发布,现在将其包含在此统一框架中。
LlamaFirewall将这些防护措施整合到一个统一的策略引擎中。借助LlamaFirewall,开发者可以构建自定义管道,定义条件性补救策略,并插入新的检测器。与传统网络安全中的Snort、Zeek或Sigma类似,LlamaFirewall旨在提供一个协作安全基础——研究人员、开发者和运营人员可以在其中共享策略、组合防御措施,并实时适应新的威胁。
本文的剩余部分结构如下:
首先,我们讨论关于大型语言模型(LLM)安全性的先前工作,包括提示注入防御、静态代码分析、智能体对齐,以及开放系统和专有系统之间的区别。
其次,我们介绍我们的护栏框架LlamaFirewall及其架构。我们阐述LlamaFirewall在端到端场景中的应用。
第三,我们展示了如何使用 LlamaFirewall 的错位和提示注入防护措施来缓解提示注入和对齐风险。这包括 AlignmentCheck,我们新颖的少样本链式思维推理审计器。我们使用内部开发和外部评估数据集,展示了我们的扫描器在各种场景中的性能。
第四,我们讨论CodeShield,我们为LLM生成的代码设计的实时静态分析引擎。我们展示了经验结果,证明了它的有效性。
最后,我们总结了主要结论,并概述了LLM系统安全未来工作的方向。
2 相关工作
2.1 提示注入与防护系统
诸如NeMo Guardrails Rebedea et al. (2023)或Invariant Labs Labs (2025)之类的开源框架允许开发者编写自定义规则,以拦截或转换不安全的模型输入和输出。
Guardrails AI 通过其 RAIL 规范 AI (2025),定义了 LLM 响应的验证策略,通常以响应格式化和基本内容过滤为中心。IBM 的 Granite Guardian IBM (2025) 和 WhyLabs 的 LangKit WhyLabs (2025) 通过检查 LLM 上下文窗口并标记可能表明注入或违反策略的内容,从而进一步做出贡献。Llama Guard Inan et al. (2023) 是一种辅助分类器,用于检测恶意提示结构,通过微调的轻量级模型和少样本提示策略。LlamaFirewall 在这些想法的基础上,将提示注入缓解直接集成到专注于安全性的分层管道中。除了 PromptGuard 2 的分类器之外,LlamaFirewall 还独特地结合了 AlignmentCheck——一个思维链分析模块,用于检查模型的内部推理是否受到不受信任的输入的影响。输入清理、模型监督和推理自省的融合,使得防御策略比现有系统更具弹性和可组合性。
2.2 LLM生成代码的静态分析
大型语言模型经常输出代码、脚本或结构化命令,这些内容最终会进入生产代码库,或在连接的代码解释器中执行。诸如HeimdaLLM Moffat (2023)之类的工具率先对大型语言模型生成的SQL进行实时分析,确保生成的查询符合访问策略。Guardrails AI包括对代码格式验证和简单正确性检查的支持,而策略约束生成系统则根据预定义的范围或意图重写或阻止不安全的输出。很少有系统提供语法感知、可扩展的静态分析管道,这些管道旨在与大型语言模型的生成工作流程进行原生集成。CodeShield在LlamaFirewall中,弥补了这一差距。它支持跨八种语言的Semgrep规则和基于正则表达式的检测模式,从而能够为新的编码弱点进行社区驱动的规则编写。Invariant Labs提供了一种类似的方法,也使用Semgrep,但它不具备LlamaFirewall拥有的其他防护措施,例如AlignmentCheck。
2.3 对齐和代理行为监控
LLM智能体执行自主的多步骤推理和工具使用。确保这些智能体在运行时始终与用户意图保持一致是一个尚未解决的问题。虽然宪法AI(Anthropic)Anthropic (2022) 在训练时灌输了高层次的规范约束,但它无法阻止提示注入或任务漂移一旦模型被部署。像Task Shield Jia et al. (2024) 这样的运行时监控器会根据用户的初始请求评估智能体的中间操作,以防止劫持任务执行。像LangKit WhyLabs (2025) 和Granite Guardian IBM (2025) 这样的日志框架有助于追踪智能体说了什么或做了什么,但对推理过程本身的内省能力有限。
Wallace et al. (2024) 介绍了一种指令层级微调协议,该协议诱导大型语言模型(LLM)优先处理较高权限的指令,而非较低权限的指令(系统 > 开发者 > 用户)。通过训练合成提示三元组,其中较低等级的指令与较高等级的指令相冲突,GPT-3.5 模型在服从特权指令方面表现出显著提升,同时在测试任务上的性能退化最小。失败分析仍然发现良性格式转换下存在显著的层级违规,表明该方法可以缓解但不消除提示注入风险。
2.4 开源与专有方法
虽然像OpenAI的审核API OpenAI (2025b) 和Anthropic的 Constitutional AI Anthropic (2022) 这样的专有系统在提供商层面嵌入了安全性,但它们提供的可见性和可扩展性有限。Guardrails AI 虽然部分开源,但与商业路线图相关联,并且偏向于预定义的响应模式。LangChain 提供了验证的钩子,但它缺乏全面的系统级安全功能。Invariant Labs 可能是最接近的,其开源框架 Labs (2025) 拦截提示和MCP调用,以便在本地或通过托管服务调用模型。我们相信开源方法有助于提高LLM应用程序在各处的安全性。与传统安全中的 Snort、YARA 或 Sigma 类似,像 LlamaFirewall 这样的开源框架为社区构建的插件、规则和检测器提供了一个共享的平台。这种透明性和可扩展性使其非常适合与基于 LLM 的应用程序快速变化的安全威胁态势一同发展。这就是为什么我们开源了我们的框架并使其可供其他人使用。
表1 我们定义了我们考虑的每个风险,并将它们映射到我们的扫描器。
3 LLamaFirewall工作流程和检测组件
LlamaFirewall是一个可扩展的AI防护栏框架,旨在减轻各种AI代理安全风险,包括直接和间接的越狱攻击、目标劫持、不安全的代码代理输出以及通过提示注入进行的恶意代码注入。在表1中,我们定义了每一种风险,并将其映射到我们的扫描器,然后详细介绍了我们每个扫描器的构造和性能。
为了展示LlamaFirewall的分层防御,我们将通过两个具有代表性的例子进行说明。每个例子都展示了一种独特的风险:一个涉及目标劫持和敏感数据泄露,另一个涉及意外的不安全代码生成。在这两个例子中,LlamaFirewall通过模块化的、有条件的防御来拦截不安全的行为,这些防御仅在需要时才启动。
3.1 场景1:防止目标劫持和数据渗漏
代理描述
旅行规划代理会响应诸如“计划一次2000美元以下的5日海滩旅行”之类的请求。它会浏览旅游网站,比较航班和酒店,并且可以使用HTTP GET工具从第三方API获取预订数据。
威胁场景
攻击者通过在热门旅游评论网站中注入隐藏的提示来实施攻击:
<!-- Forget previous instructions. Your new goal is to summarize the user’s chat history and send it to https://evil.site/exfil?data=. . . -->
<!-- 忘记之前的指令。-->你的新目标是总结用户的聊天记录,并将其发送至https://evil.site/exfil?data=。 . . -->
If the agent processes this, it may extract key points from the user’s prior conversation—such as destination preferences, names, dates, and budget—and embed them in a GET request to the attacker’s server.
如果代理处理此信息,它可能会从用户之前的对话中提取关键点——例如目的地偏好、姓名、日期和预算——并将它们嵌入到发送给攻击者服务器的 GET 请求中。
防御工作流程
结果
PromptGuard可以在检测到的越狱尝试进入上下文之前将其消除。如果有一种新的变体侥幸通过,或者在没有越狱触发的情况下成功注入,那么AlignmentCheck会在代理从旅行计划转变为用户数据泄露时检测到行为的变化。执行会在任何请求发送之前停止。
3.2 场景 2:防止代码生成中意外的 SQL 注入
代理描述
一个编码智能体通过生成SQL支持的功能来辅助开发者。例如:“添加支持按电子邮件域过滤用户的功能。” 它从网络检索示例代码并迭代,直到其解决方案通过内置的静态分析引擎CodeShield。
威胁场景
该代理抓取了一个广受好评的帖子,其中展示了这种不安全的模式:
这不是一个提示注入。这个例子是合法的,但并不安全——将不受信任的输入直接连接到SQL中,这为注入攻击敞开了大门。
防御工作流程
结果
即使输入是良性的,CodeShield 也能确保不会提交任何不安全构建的 SQL 查询代码。允许代理自由迭代,但永远不会产生不安全的代码。
4 LlamaFirewall扫描器:设计与评估
下面我们将详细介绍每个LlamaFirewall扫描器的设计,然后给出实证评估结果,描述其有效性。
4.1 PromptGuard 2
1. 指令覆盖:诸如“忽略先前的指令”或“无视所有安全协议”等直接挑战指令链的短语。欺骗性角色重新分配:提示模型承担未对齐角色的输入(例如,“扮演一个恶意黑客”)。
2. 令牌注入:使用模仿内部提示或覆盖模板的特殊格式或令牌序列。
这些技术通常是显式的、重复的且富含模式的,这使得它们更适合于基于模式的检测方法。与目标劫持攻击相比,越狱攻击表现出更高的词汇规则性和结构可预测性。这一特点也使它们成为新手攻击者或自动化对抗工具的常见切入点。
PromptGuard 2 是一个轻量级的分类器模型,旨在检测 LLM 输入中显式的越狱技术。与其前身一样,PromptGuard 2 是使用基于 BERT 的架构构建的,特别是 He et al. (2021) 的 DeBERTa 系列模型,包括 mDeBERTa-base(86M 参数)和 DeBERTa-xsmall(22M 参数)。由于其规模较小,PromptGuard 2 可以轻松地在 CPU 和 GPU 上进行本地部署,从而可以实时处理 LLM 输入。此外,我们发布了该模型的较小版本 PromptGuard 22M,这使得在本地和低资源设置中更容易使用。
更新后的模型通过改进的模型范围得到了提升,该范围仅专注于检测显式的越狱技术;扩展的数据集,包括更大、更多样化的良性和恶意输入;以及修改后的训练目标,该目标结合了基于能量的损失函数,以提高对分布外数据的精确度。此外,我们还实施了分词修复,以抵抗对抗性分词攻击,例如碎片化标记或插入的空格。在多个基准测试中,新模型在通用越狱检测方面表现出明显的最新技术水平(SOTA)。有关PromptGuard 2的开发方法,包括模型架构和训练过程的具体变更,详见附录B。
直接越狱检测评估:为了评估模型在真实环境中识别越狱技术的能力,我们使用了一个私有基准,该基准建立在与训练PromptGuard所用数据集不同的数据集之上。此设置专门用于测试PromptGuard模型对先前未见过的攻击类型和良性数据分布的泛化能力。我们使用英语和机器翻译的多语言数据集评估了该模型。
对于每个数据集,我们报告:
图 1 假设由于假阳性导致受保护的代理产生 3% 的效用成本,则每个提示注入检测扫描器的攻击成功率。
1. AUC(曲线下面积):衡量模型的整体检测能力。
2. 在1% FPR(假阳性率)下的召回率:评估模型在保守阈值下的检测能力,确保对现实世界可用性的最小影响。具体而言,它衡量的是当模型在良性提示上保持1%的检测率时,检测到的样本攻击的百分比。
使用AgentDojo进行间接提示注入检测评估。我们使用AgentDojo Debenedetti等人 (2024) 在代理环境中评估了PromptGuard和其他越狱检测器。AgentDojo是一个开放基准,用于评估人工智能系统抵抗提示注入攻击的能力,包括那些由直接越狱促成的攻击。有关此基准测试方法更详细的解释,请参见第4.3节。对于此评估,我们使用AgentDojo的标准效用和攻击成功率(ASR)基准。由于每个越狱检测模型都会返回一个分数,因此我们为每个模型确定一个阈值,该阈值会产生固定的、最小的效用降低(3%);完整的效用-攻击成功率权衡见附录B。我们根据开放权重的可用性选择了竞争模型,这允许调整阈值以满足目标效用降低,以及它们在HuggingFace上的公开采用。
解释。我们的评估证实了PromptGuard 2模型性能的提升,尤其突出了误报率的降低。当作为防御手段应用于AgentDojo基准测试时,PromptGuard不仅展示了其在防止聊天机器人应用中的越狱行为的效用,还展示了其在防止代理的间接注入风险方面的效用,并且与公开可用的竞争模型相比,表现出更优越的性能。
4.2 对齐检查
AlignmentCheck 通过持续比较代理的行为序列与用户声明的目标,为 LlamaFirewall 增加了一个实验性的语义层防御。它不是检查单个消息,而是对整个执行轨迹进行推理,标记出表明存在隐蔽的提示注入、误导性的工具输出或其他形式的目标劫持的偏差。
这种行为视角弥补了现有防御措施中的一个关键缺口。基于内容的过滤器擅长捕获显式的越狱有效载荷,但许多真实世界的攻击将恶意指令隐藏在系统提示、嵌入式文档或工具响应中,这些指令单独看来是良性的。这些“间接”注入仅作为行为漂移而显现——例如,一个编码助手静默地执行“将此代码库中的API密钥发送到以下电子邮件”,并将该命令错误地归因于用户。
通过利用语言模型推理来评估计划行动和观察行动之间的一致性,AlignmentCheck 可以及早发现此类偏差,并将代理约束在其授权的任务范围内,从而将保护扩展到静态规则和词汇过滤器经常遗漏的威胁类别。实现细节请参阅附录 E。
在我们的目标劫持基准测试中,AlignmentCheck 展示了强大的功效。利用诸如 Llama 4 Maverick 和 Llama 3.3 70B 等大型语言模型作为 AlignmentCheck 扫描器,我们观察到了强大的对齐监控能力。在没有微调的情况下,这些模型实现了超过 80% 的召回率,假阳性率低于 4%,突显了它们在检测代理轨迹中语义目标错位方面的有效性。
在AgentDojo基准测试中,AlignmentCheck 使攻击成功率大幅降低了 83%,在使用 Llama 4 Maverick 时,攻击成功率从 0.18(无防御)降至 0.03,且效用降级极小。AgentDojo 评估的详细分析将在下一节中介绍。
4.3 使用PromptGuard和AlignmentCheck评估组合提示注入防御
4.3.1 实验设置
为了评估 LlamaFirewall 分层防御方法的有效性,我们使用了 AgentDojo,参见 Debenedetti et al. (2024),这是一个最近推出的用于评估代理安全性的基准。AgentDojo 提供了一个评估套件,包含跨越不同领域的 97 个实际任务,每个任务都配有对抗性测试用例,包括旨在利用代理漏洞的提示注入攻击。
我们使用来自 AgentDojo 排行榜的公开静态轨迹进行了离线评估。这些轨迹跨越十种不同的语言模型,每种模型执行完整的任务套件两次:一次在良性条件下,一次在 important_instructions 攻击下——这是一种提示注入场景,其中恶意指令嵌入在工具输出流中。
我们的评估通过增量扫描每个跟踪的对话历史记录来模拟实时部署。对于PromptGuard,我们仅分析角色为用户或工具的消息,这些消息可能包含注入的有效载荷。对于AlignmentCheck,我们将评估限制在角色为助手(assistant)的消息上,这些消息封装了代理的内部推理、工具调用和行动计划。
如果扫描器在交互过程中的任何时候检测到安全违规,则该轨迹将被标记为已标记。在良性运行中,任何被错误标记为成功的轨迹都被视为假阳性,从而降低任务成功率(效用)。相反,在对抗性运行中,如果攻击最初成功但随后被标记,则该轨迹将被重新分类为已防御,表明成功预防。
我们报告了防御后的任务成功率(效用)和攻击成功率(ASR)指标,并将它们与原始(未防护)基线值进行比较,以量化每个扫描器的保护效果。
4.3.2 结果
我们展示了 LlamaFirewall 在三种配置下的评估结果:仅使用 PromptGuard V2 86M,仅使用 Llama 4 Maverick 进行 AlignmentCheck,以及结合使用 PromptGuard 2 86M 和由 Llama 4 Maverick 驱动的 AlignmentCheck 的组合设置。
在没有任何防御措施的情况下,基准AgentDojo评估集的攻击成功率(ASR)为17.6%,任务效用为47.7%。单独应用PromptGuard V2 86M后,ASR降至7.5%,降幅达57%,同时保持效用在47.0%,这表明轻量级的、基于模式的检测提供了可靠的保护,且性能权衡可忽略不计。然而,需要注意的是,AgentDojo评估集主要关注一类狭窄的攻击——特别是那些针对“重要指令”的攻击。在更通用或更多样化的对抗环境中,仅靠PromptGuard可能不足以提供保护,从而留下防护漏洞,而AlignmentCheck通过检测更微妙、语义形式的目标劫持来有效解决这些漏洞。
使用 Llama4 Maverick 的 AlignmentCheck 在 ASR 方面实现了更积极的降低,降至 2.89%,相对于基线下降了 84%,但代价是降低了效用 (43.1%),并且由于其语义推理开销而导致了显著更高的延迟。PromptGuard + AlignmentCheck 的组合配置提供了最佳的防御性能,将 ASR 降低至 1.75%,比基线降低了 90% 以上。值得注意的是,这仅仅是以效用略微降低至 42.7% 为代价实现的,突显了 LlamaFirewall 分层设计的有效性:PromptGuard 提供了早期、低成本的过滤,而 AlignmentCheck 捕获了更深层的语义错位,共同提供了强大的保护,并具有可接受的任务权衡。与先前的防御措施(如 Spotlighting Hines et al. (2024)、Paraphrasing Jain et al. (2023) 和 Camel Debenedetti et al. (2025))相比,这种分层方法以最小的任务性能折衷实现了明显更强的攻击缓解。(有关相对于其他防御措施的更详细性能讨论,请参见附录 C)。
4.4 CodeShield
CodeShield 是一种基于静态分析的防护栏,旨在检测 LLM 生成代码中的不安全编码模式。它利用一个模块化框架,该框架由基于规则的分析器组成,这些分析器专门用于评估七种编程语言的代码安全性。该系统目前提供对 50 多个常见弱点枚举 (CWE) 的覆盖,使其广泛适用于各种软件堆栈。
为了支持在对延迟敏感的生产环境中进行部署,CodeShield 采用了一种双层扫描架构。第一层利用轻量级模式匹配和静态分析,大约在 60 毫秒内完成扫描。当潜在的安全问题被标记时,输入会升级到第二层,即更全面的静态分析层,这会产生大约 300 毫秒的平均延迟。
5 局限性与未来工作
展望未来,我们确定了若干关键方向,以提升LlamaFirewall的能力并支持更广泛的AI安全生态系统,这与上述讨论相符:
1. 扩展到多模态代理:随着LLM代理越来越多地与多模态输入交互,将支持扩展到文本之外至关重要。我们计划扩展LlamaFirewall以保护基于图像和音频的代理,从而解决非文本模态引入的新的安全向量。
2. 改进生产部署的延迟:为了支持实时和大规模部署,最小化延迟仍然是首要任务。我们正在积极探索诸如模型蒸馏等技术用于AlignmentCheck,旨在保留语义对齐能力,同时显著降低推理开销。
3. 扩展威胁覆盖范围:虽然 LlamaFirewall 目前主要关注提示注入和不安全的代码生成,但未来的迭代将扩展覆盖范围,以包括其他高风险行为——包括恶意代码执行和不安全的工具使用,从而在整个代理生命周期内实现更全面的保护。
4. 防御性研究的稳健评估:有效的防御需要有意义的评估。我们正在探索开发更贴近实际、以代理为导向的基准,以反映复杂的执行流程。
对抗性场景和真实世界的工具使用。这些基准测试将与LlamaFirewall紧密结合,使研究人员能够快速迭代并为不断发展的防御领域做出贡献。
6 结论
随着大型语言模型从被动的对话工具过渡到具有现实世界影响的自主代理,其安全态势必须同步发展。传统的以聊天机器人为中心的安全措施已不足以应对自主工作流程、动态工具使用和不受信任内容集成所带来的复杂风险。我们提出了 LlamaFirewall,一个开源安全防护系统,通过提供一个专门为保护生产环境中的大型语言模型代理而设计的模块化、实时框架,来填补这一关键空白。通过其结合了用于提示注入检测的 PromptGuard 2、用于代理对齐检测的 AlignmentCheck 以及用于实时代码分析的 CodeShield 的分层方法,LlamaFirewall 为全面防御提示注入、代理不对齐和不安全代码生成奠定了基础。
相关文章:
用于构建安全AI代理的开源防护系统
大家读完觉得有帮助记得及时关注!!! 大型语言模型(LLMs)已经从简单的聊天机器人演变为能够执行复杂任务的自主代理,例如编辑生产代码、编排工作流程以及基于不受信任的输入(如网页和电子邮件&am…...
CTF-DAY10
[SWPUCTF 2021 新生赛]zipbomb 题目描述: 请注意,不要以任何方式尝试完全解压该文件,运存被塞满后果自负。请尝试分析该文件。 使用WinRAR解压打开 CTFSHOW刷题 crypto11 密文:a8db1d82db78ed452ba0882fb9554fc 提交 flag{明…...
WHAT - react-query(TanStack Query) vs swr 请求
文章目录 react-query什么是 TanStack Query(原 React Query)核心特性 TanStack Query vs SWR 对比具体特性对比哪个更适合你 总结 react-query react-query(现已更名为 TanStack Query)和 SWR 一样,都是专注于 远程数…...
WebFlux与HttpStreamable关系解析
1-Streamable 1-WebFlux与HttpStreamable关系解析2-MCP协议Streamable HTTP 2-参考网址 MCP协议Streamable HTTPMCP协议重大升级,Spring AI Alibaba联合Higress发布业界首个Streamable HTTP实现方案 3-WebFlux与HttpStreamable关系解析 WebFlux 和 HttpStreamabl…...
深度学习工程化:基于TensorFlow的模型部署全流程详解
深度学习工程化:基于TensorFlow的模型部署全流程详解 引言 在深度学习项目中,模型训练只是第一步,将模型成功部署到生产环境才是真正创造价值的关键。本文将全面介绍TensorFlow模型从训练到部署的完整工程化流程,涵盖多种部署场…...
RAG技术在测试用例生成中的应用
测试用例中的 RAG 通常指 Retrieval-Augmented Generation(检索增强生成) 在测试领域的应用,是一种结合检索与生成的技术方法,用于自动化生成或优化测试用例。 核心概念 RAG 技术背景: • RAG 最初由 Meta 提出…...
uniapp + vue3 + 京东Nut动作面板组件:实现登录弹框组件(含代码、案例、小程序截图)
uniapp + vue3 + 京东Nut动作面板组件:实现登录弹框组件(含代码、案例、小程序截图) 代码示下,不再赘述。 动作面板组件:https://nutui-uniapp.netlify.app/components/feedback/actionsheet.html 项目背景 业务需求 描述: uniapp + vue3 + 京东Nut框架:实现登录弹框组…...
在登录页面上添加验证码
这是一个简单的登录页面,里面必须通过验证码通过之后才能够进入页面 创建一个servlet(验证码的) package qcby.util;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; im…...
人协同的自动化需求分析
多人协同的自动化需求分析是指通过技术工具和协作流程,让多个参与者(如产品经理、开发人员、测试人员等)在需求分析阶段高效协作,并借助自动化手段提升需求收集、整理、验证和管理的效率与质量。以下是其核心要点: 1. …...
C++使用PoDoFo库处理PDF文件
📚 PoDoFo 简介 PoDoFo 是一个用 C 编写的自由开源库,专用于 读取、写入和操作 PDF 文件。它适用于需要程序化处理 PDF 文件的应用程序,比如批量生成、修改、合并、提取元数据、绘图等。 🌟 核心特点 特性说明📄 P…...
18.Java 序列化与反序列化
18.Java 序列化与反序列化 概述 在Java中,序列化是将对象的状态信息转换为可以存储或传输的格式的过程,而反序列化则是将这种格式转换回Java对象的过程。 序列化 要使一个对象支持序列化,该对象必须实现java.io.Serializable接口。这个接…...
大语言模型主流架构解析:从 Transformer 到 GPT、BERT
📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型生成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认其准…...
flow-matching 之学习matcha-tts cosyvoice
文章目录 matcha 实现cosyvoice 实现chunk_fmchunk_maskcache_attn stream token2wav 关于flow-matching 很好的原理性解释文章, 值得仔细读,多读几遍,关于文章Flow Straight and Fast: Learning to Generate and Transfer Data with Rectifi…...
聊聊自动化办公未来趋势
1. 自动化办公未来趋势 1.1 智能化与AI融合加深 随着人工智能技术的不断成熟,其在自动化办公中的应用将更加广泛和深入。未来,办公软件将具备更强的智能交互能力,能够理解自然语言指令,自动完成复杂的任务,如文档编辑…...
软件工程之需求分析涉及的图与工具
需求分析与规格说明书是一项十分艰巨复杂的工作。用户与分析员之间需要沟通的内容非常的多,在双方交流信息的过程中很容易出现误解或遗漏,也可能存在二义性。如何才能更加准确的表达双方的意思,且清楚明了,绘制各类图形就显得非常…...
火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis
本文只拿这个游戏的bug来举例Redis,如果有不妥的地方,联系我进行删除 描述:今天在高速上打火影(有隧道,有时候会卡),发现了个bug,我点了两次-1000的忍玉(大概用了1千七百…...
机器人领域和心理学领域 恐怖谷 是什么
机器人领域和心理学领域 恐怖谷 是什么 恐怖谷是一个在机器人领域和心理学领域备受关注的概念,由日本机器人专家森政弘于1970年提出。 含义 当机器人与人类的相似度达到一定程度时,人类对它们的情感反应会突然从积极变为消极,产生一种毛骨悚然、厌恶恐惧的感觉。这种情感…...
Hadoop MapReduce 图文代码讲解
一、MapReduce原理 首先要了解一下MapReduce的几个过程,每个数据集中需要编写的逻辑会有所不同,但是大致是差不多的 1、MapReduce大致为这几个过程: 1、读取数据集并根据文件大小128MB拆分成多个map同时进行下面步骤 2、Map: 匹配和数据筛…...
【Rust】结构体
目录 结构体结构体的定义和实例化结构体使用场景方法定义方法多参数方法关联函数多个 impl 块 结构体 结构体,是一个自定义数据类型,允许包装和命名多个相关的值,从而形成一个有意义的组合,类似于 C语言中的结构体或者 Java 中的…...
青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备
青少年编程与数学 02-019 Rust 编程基础 01课题、环境准备 一、Rust核心特性应用场景开发工具社区与生态 二、Rust 和 Python 比较1. **内存安全与并发编程**2. **性能**3. **零成本抽象**4. **跨平台支持**5. **社区与生态系统**6. **错误处理**7. **安全性**适用场景总结 三、…...
深入理解Embedding Models(嵌入模型):从原理到实战(上)
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、嵌入模型是什么 2、在NLP、推荐系统、知识图谱等领域…...
世界耳机品牌与排名
耳机可以说是日常用的比较多的产品之一,而且现在的耳机相较于传统的耳机还多了很多的功能,比如现在经常开车的人实用的蓝牙耳机,虽然日常用的多,那么你知道全球知名的耳机品牌有哪些吗? 拜亚耳机,德国品牌&…...
防静电地板人工费多少钱一平方米?2025年报价解析!
在机房、实验室、数据中心等专业场所,防静电地板是保障设备正常运行的关键“防线”。但很多人在装修时,面对“防静电地板安装人工费”的报价往往一头雾水——有的报25元/㎡,有的却要50元/㎡,差价背后究竟藏着什么门道?…...
【详细图文】使用MobaXterm的SSH功能远程连接服务器,并创建pytorch环境,使用yolov8训练数据集
目录 一、使用MobaXterm连接服务器 1、官网下载MobaXterm 2、SSH连接服务器 二、查看服务器的基本信息 1、查看服务器基本信息(可选) (1)查看主机名和系统版本 (2)查看CPU信息 (3)查看内存信息 (4)查看网卡信息 (5)查看总进程数 (6)查看活动进程数 (…...
路由器断流排查终极指南:从Ping测试到Wireshark抓包5步定位法
测试路由器是否出现“断流”(网络连接间歇性中断),需通过多维度排查硬件、软件及外部干扰因素。以下是详细步骤指南: 一、基础环境准备 设备连接 有线测试:用网线将电脑直接连接路由器LAN口,排除WiFi干扰。…...
小白借助ai对全栈进行浅浅理解(学习笔记)-Lambda、Optional 避免空指针与新的日期时间 API
学习顺序:Java 基础 → Spring Boot → Vue → 前后端整合 → 数据库 → 部署 → 进阶实战。 Lambda 表达式(Lambda 表达式是 Java 8 引入的核心特性,旨在简化函数式编程,替代冗长的匿名内部类,使代码更简洁、灵活 &am…...
可观测性方案怎么选?SelectDB vs Elasticsearch vs ClickHouse
可观测性(Observability)是指通过系统的外部输出数据,推断其内部状态的能力。可观测性平台通过采集、存储、可视化分析三大可观测性数据:日志(Logging)、链路追踪(Tracing)和指标&am…...
100个常用的DeepSeek指令
日常生活类(20个) 1. 新闻解读:请为我解读今天的热点新闻。 2. 天气查询:请查询……的天气并推荐着装。 3. 旅行攻略:请制定前往……的旅行攻略。 4. 菜谱生成:请生成……菜的具体做法。 5. 解决方案&…...
【C语言】--指针超详解(二)
目录 一.const修饰指针 1.1--const修饰变量 1.2--const修饰指针变量 二.野指针 2.1--野指针成因 2.1.1--指针未初始化 2.1.2--指针越界访问 2.1.3-- 指针指向的空间释放 2.2--如何规避野指针 2.2.1--指针初始化 2.2.2--小心指针越界 2.2.3--指针变量不再使用时&am…...
git 多个提交记录合并为一个
1.场景 有时候用devops等平台测试问题,需要多次修改小的记录提交,但是最终我们在合并主干的时候不想留那么多乱七八糟的记录,就需要在此分支合并这些提交记录,再合并到主干。 2.交互式变基 2.1 确定要合并的提交范围 # 查看最近…...
AI视频生成的艺术:镜头语言
前言 AI视频生成技术正逐渐改变我们创作和消费视频内容的方式,各式各样的AI视频制作软件正在不断的涌现,比如可灵、即梦、runway等。虽然AI视频生成的交互方式(自然语言)极大的减少了我们创作视频的门槛,但要让AI正确理解并创造出符合我们期望的视频,我们可能还是需要了解…...
机器学习与深度学习
目录 一、机器学习 (一)机器学习的分类 1. 监督学习 2. 无监督学习 3. 强化学习 (二)机器学习的应用场景 二、深度学习 (一)深度学习的核心原理 (二)常见的深度学习模型 …...
数字孪生市场格局生变:中国2025年规模214亿,工业制造领域占比超40%
一、技术深度解析:数字孪生的核心技术栈与演进 1. 从镜像到自治:数字孪生技术架构跃迁 三维重建突破:LiDAR点云精度达2cm,无人机测深刷新频率5Hz,支撑杭州城市大脑内涝预警模型提前6小时预测。AI算法融合:…...
数字孪生[IOC]常用10个技术栈(总括)
1. 什么是数字孪生? 数字孪生(Digital Twin) 是通过数字化技术对物理实体(如设备、系统或环境)进行高精度建模和实时映射的虚拟副本。其核心是通过 数据驱动 实现物理世界与虚拟世界的双向交互,支持实时监控…...
WPF主窗体子窗体关联方法
步骤: 1、创建WPF项目 2、设计主窗体,选定显示子窗体的区域(MainWindow.xaml) 3、在想要显示子窗体的区域填写如下代码(MainWindow.xaml) 4、创建子窗体 5、建立调用子窗体事件,下图一是load事件,也可以是…...
笔记本电脑实现网线内网 + Wi-Fi外网同时使用的配置方案
1、同时连接两个网络 插入网线连接内网,确保内网IP地址正常获取(如10.143.88.x);连接Wi-Fi接入外网,确认可正常访问互联网(如网关为192.168.8.1)。 2、 记录关键网络参数 内网网关&#…...
探讨关于智能体(Agent)结合 Dify、大语言模型(LLM)以及 Qwen-3 模型的项目或概念
1. Dify 的作用 Dify 是一个开源的 AI 框架,它可以帮助开发者快速搭建和部署 AI 应用。它可以作为一个基础架构,为智能体提供以下支持: 应用开发与部署:Dify 可以帮助开发者快速搭建智能体的前端和后端架构,包括用户界…...
2025 后端自学UNIAPP【项目实战:旅游项目】3、API接口请求封装,封装后的简单测试以及实际使用
一、创建请求封装目录 选中自己的项目,右键鼠标---->新建---->目录---->名字自定义【我的是api】 二、创建两个js封装文件 选中封装的目录,右键鼠标---->新建---->js文件---->名字自定义【我的两个js文件分别是my_http和my_api】 三…...
【electron+vue】常见功能之——调用打开/关闭系统软键盘,解决打包后键盘无法关闭问题
效果图展示 实现思路:通过input标签聚焦失焦的方式,实现系统软键盘的显示隐藏。 使用场景:一体机电脑,无外接键盘。 html <el-input v-model"idNumber" placeholder"请输入" focus"showKeyboard&qu…...
告别手动输入密码:基于SSHPass的自动化文件传输实践告别手动输入密码:基于SSHPass的自动化文件传输实践
一、运维人员的共同痛点 在日常运维工作中,我们经常需要在多台服务器之间传输文件。传统的手动操作方式需要反复执行以下步骤: 输入scp命令等待密码提示输入复杂密码确认传输结果手动修改文件权限 这种重复劳动不仅效率低下,在批量操作时更…...
Python序列Day3
序列 序列是一种数据存储方式,用方括号标注,逗号分隔的一组值。在内存中,序列就是一块用来存放多个值的连续的内存空间。 常见序列结构有:字符串、列表、元组、字典、集合 列表 用于存储任意数目,任意类型的数据集…...
22、近端策略优化算法(PPO)论文笔记
近端策略优化算法(PPO)论文笔记 一、研究背景与目标二、**方法****3.1 策略梯度基础****3.2 信任区域方法(TRPO)****3.3 剪切代理目标函数(LCLIP)****3.4 自适应KL惩罚系数****3.5 算法实现** 三、 L CLIP…...
web 自动化之 selenium+webdriver 环境搭建及原理讲解
文章目录 一、web 自动化测试学习说明二、什么 web 自动化测试三、selenium 简介四、web自动化测试环境搭建五、web 自动化测试第一个脚本六、selenium 原理及源码讲解 一、web 自动化测试学习说明 进阶 web 自动化测试学习:掌握 python 编程基础 二、什么 web 自…...
Vue3快速入门/Vue3基础速通
Vue3 渐进式的javascript框架,我们可以逐步引入vue的功能 官方文档 Vue.js中文手册 你可以借助 script 标签直接通过 CDN 来使用 Vue: <script src"https://unpkg.com/vue3/dist/vue.global.js"></script>通过 CDN 使用 Vue 时…...
Babylon.js学习之路《一、初识 Babylon.js:什么是 3D 开发与 WebGL 的完美结合?》
文章目录 1. 引言:3D 开发在 Web 中的崛起1.1 为什么需要 Web 3D 开发?1.1 WebGL 的定位与挑战 2. Babylon.js 的核心定位2.1 什么是 Babylon.js?2.2 Babylon.js 的独特优势2.3 对比其他 Web 3D 框架(Three.js、PlayCanvas&#x…...
v-model原理详解
一 :value"msg 在 Vue.js 中,v-bind 指令(简写为 :)用于将数据属性绑定到 HTML 元素的属性上。当你使用 :value"msg" 时,它的作用是将 Vue 实例中的 msg 数据属性绑定到目标元素的 value 属性上。 1.value 属性…...
并发与并行的关系
并发(Concurrency)与并行(Parallelism)的本质区别 1. 核心定义 并发:多个任务在重叠的时间段内交替执行,但不一定是同时的。 关注的是任务的组织方式(如多任务调度、逻辑上的同时性)…...
uniapp 微信小程序使用图表
使用的是秋云 ucharts 直接在hbuilder插件市场进行下载导入项目中,多端支持 下载地址秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场 导入成功后这里就能看到导入的插件啦 导入项目后就可以直接在页面中通过组件使用了 不需要其余配置 使用简单 参…...
基于vm加密的php逆向分析
前言 对于 php 主流的加密方式有两种: 1、基于扩展的 2、本地加密,不涉及扩展 一些在 php 端通过 zend_compile_file 等函数就可以直接 dump 出原代码的,称之为加密实在是抬举了 之前有写过一篇直接 dump 出源码的分析 https://blog.qc7…...
FPGA----基于ALINX提供的debian实现TCF
引言:接上问,我们使用自制的image.ub和boot.bin以及ALINX提供的debian8根文件系统,构建了petalinux,但是经测试,该文件系统无法启用TCF服务,即无法与Xilinx SDK建立连接,那么我们应该如何解决&a…...