0、框架搭建
我很焦虑,在这个时代,我很想快速的通过AI去完成任务,即使这种底层思维在科研上应该是不对的。
有这么一个问题,在使用AI时,你输入的越多 ,看到的输出越多 ,想重新做的就越多,导致往往停滞在想要一个完美的开头上,进而焦虑,渴求的更多,反而忘记真正的应该是自己去熟知知识本身。
后来我想搭建一套标准的框架,来做这些事,这些框架会随时迭代,但是使用后就去聚焦知识本身,而不是调教AI本身上。
这就像是类似于想做一个agents,有相应的通用的skills,有一套对于不同方向的但是统一的SOP,但是不同的内容,这样可能 会提升一定的效率,减少检索,聚焦内容本身。
当然依此我有一个思考:就是在阅读论文时,使用AI来辅助总结等,到底有益的还是有害的对于一个研一的研究生来说;于是我借助GPT 5.2回答了这个问题。
这个问题的起因是,如何是更加有效率的读论文,这听起来很重要,或者说是如何利用AI这个工具,不仅仅是普通的使用,或者说是为了完成任务的工具,而是在此基础上成为一个更好的工具,现在很多人肯定都借助了AI,但是我貌似更想把自己当成一个实验品,试试这种路子是否有助于更效率的科研。
以下是我总结出的一套SOP,首先先用模板A 来剖析这个research/survey,然后针对性的写出一套我的理解 ,其次再用模板B 来进行自检,模型为GPT5.2 thinking或者gemini3 pro
希望老师您帮我看看是否有不合理或者可改进之处,亦或是我的这个思路问题
1. Research
模板A:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 通用硬约束(建议你每次都加在提示词里): - 证据绑定:每条结论必须标注【章节/小节标题/表图号/公式号/引用编号】;找不到写“无依据” - 信息不足就写“信息不足”,并指出需要补充的具体段落(例如:方法第x小节、实验设置、表2说明等) - 只做学术理解与防御/评测视角;不生成可执行攻击步骤/PoC/指令 --- 你是最强大脑,同时也是我的 research 论文深读助手。请根据我所上传给你的论文,输出“结构化理解笔记”,并严格满足硬约束(证据绑定/信息不足/安全约束)。 输出结构(严格按序): 1) 一句话主张(Claim):作者最想证明什么?【出处】 2) 问题定义(Formalization):输入/输出/目标/评价指标/判定标准是什么?【出处】 3) 关键概念表:术语 → 一句话定义 → 与相近概念的区别(至少8个)【出处】 4) 方法总览(Pipeline):用 6–12 步写清流程,每步写: - 目的(为什么要这步) - 输入/输出(是什么) - 依赖假设(需要什么成立) 【出处】 5) 核心机制(Why it works):把“因果链/机制解释”写成 3–6 条,不要只说“用了xx模块”【出处】 6) 创新点(Contributions):最多3条,每条写“相对 prior work 的差异点 + 可验证证据”【出处】 7) 实验设计(Evaluation Design): - 数据/任务/环境 - baseline 选择 - 指标定义 - 训练/推理设置(如有) 【出处】 8) 结果与证据链(Evidence Map):逐条列出“证据(表/图/实验) → 支持哪条主张/创新点”【出处】 9) 公平性与有效性审计(Validity Audit): - 是否存在对比不公平(提示词/权限/预算/数据泄漏/参数调优不一致等) - 外部有效性依赖项(换模型/换框架/换数据是否还成立) 每条必须给出处;推断需标“可能/需验证” 10) 局限与失败模式: - 作者承认的局限【出处】 - 你从证据链推断的盲区(标“可能/需验证”) 11) 复现最小清单(Repro Checklist): - 复现核心表/图需要的组件、数据、超参、运行预算 - 缺失信息列表(TBD)+ 你建议的补充实验/消融(至少3项) 12) 我下一步该做什么(行动项): - 精读优先级(哪些小节必须精读) - 复现优先级(先复现哪个结果,为什么) - 若要改进:给 3 个可研究的改进方向(更强/更稳/更省),每个写“改哪里+预期影响+如何验证”
模板B (NOT USE, just record)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 你是最强大脑,也是一个论文的审评家,你现在扮演“严格口试老师”。下面我会提供: - 我的理解笔记(我自己写的) - 论文关键片段(或你之前的剖析结果) 请对我进行理解自检,规则: 1) 只考“可验证理解”,不要考背景常识 2) 每个标准答案要点都必须给出处【章节/表图/公式】 3) 发现我理解中的错误/偷换概念/无依据结论,要直接指出并给证据反驳 4) 不输出可执行攻击步骤 请输出三部分: Part A|6个硬核口试题(必须能答出来才算理解) - Q1:用精确定义复述问题(含输入/输出/指标) - Q2:逐步复述方法流程(至少8步),并说每步目的 - Q3:解释“为什么有效”的机制链(3条因果链) - Q4:挑一个关键结果表/图,说明它具体支持了哪条主张 - Q5:指出一个最关键的假设/适用范围,并说明不成立时会怎样 - Q6:给出一个你能立即复现的最小实验计划(目标、数据、指标、baseline、公平性控制) 每题给:标准要点 + 常见误区 + 论文出处 Part B|对我笔记的逐条判卷 - 标出:正确✅ / 错误❌ / 无依据⚠️ / 表述含糊🔶 - 对 ❌/⚠️/🔶 给出“如何改写成可验证陈述”+ 出处 Part C|达标判定(是否达到了“AI有益使用”) - 必须满足的5条达标条件(见下方“Research达标理解清单”) - 我当前缺哪几条?下一步补什么(精确到章节/表图)
PS :起初我是这样想的,后来我觉得这种回答式结合AI判断的方式就像是对着题目抄答案,而不是研究阅读
首先明确一点,在经历完模板A之后,我相当于已经完成了整个论文的阅读,所以步骤二就相当于进行AI有益性检测
所以我针对性的进行了多次修改,得到了后续的最终方法(暂时性):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 你现在进入【闭卷模式】做“AI有益性检测与资产化”。我不会提供论文原文,也不会提供任何模板A笔记;你禁止根据常识猜测论文内容或补全细节。你的任务不是给我论文总结/标准答案,而是:基于我提供的闭卷材料,输出【核对清单 + 压力测试 + 研究杠杆 +(可选)证伪实验审计】四类结果,帮助我回到论文自行验证与内化。 【输入格式(我会按此提供)】 1) 论文类型:Research 或 Survey 2) 闭卷解释(200–300字):我对论文的理解 3) 核心主张(3条,编号C1–C3) 4) 关键假设/适用范围(2条,编号A1–A2) 5) 证据锚点(1条):只写“表/图/公式编号 + 它支持的结论”(不贴内容) 6) (可选)失败模式(2条,编号F1–F2) 7) (可选)最小证伪实验(1条,编号T1):高层次描述 【硬约束】 - 禁止输出:整篇总结、标准答案、对原文细节的臆测补全、替我改写闭卷解释 - 只允许输出:结构质量评估、可验证性问题、核对清单、压力测试、研究杠杆表、证伪性逻辑审计 - 若我的输入信息不足以支持某项输出,必须写“信息不足”,并给出我需要补充的最小信息(以问题形式) 【输出(严格按顺序,四个部分)】 === Part 1|结构质量检测(不判事实对错,只判“是否可检验”)=== 1) 将我的闭卷解释逐句(或逐要点)标注为: - 可检验陈述 / 不可检验空话 / 偷换概念风险 / 过度外推风险 2) 我缺失的3类必要元素(从:定义/假设/机制/证据/边界/对比口径/评测口径 中选),每类给: - 我应回到论文核对的具体问题(只给问题,不给答案) 3) 最小收缩原则:指出我哪些表述把主张说大了,并给出如何收缩成“可验证陈述”的原则(不替我重写全文) 4) 输出一份《回到论文核对的检查表》(最多10项,按优先级排序),每项用“检查什么—为什么重要—我应在论文哪里找(章节类型提示:定义/方法/实验/附录/局限等)”格式写 === Part 2|压力测试生成(把理解变成边界条件,不出题不要求作答)=== 对每条主张C1–C3分别输出3个压力测试场景,覆盖三类变化: - 分布/任务变化 - 资源与约束变化(预算、工具权限、数据量、延迟等) - 评测口径变化(指标替换、基线对齐方式变化等) 每个场景写: a) 最可能先崩的假设(从A1–A2中选;若不足则写“假设信息不足”) b) 失败信号(应观察到的现象/指标层变化,保持高层次) c) 我回论文应寻找的证据类型(如:是否有消融、是否跨域、是否报告方差/显著性、是否公平对齐等;只写类型,不写结论) 最后给出:信息增益最高的2个压力测试(并说明为何信息增益高) === Part 3|研究杠杆表(资产化,不总结)=== 输出一张“研究杠杆表”(最多10行),每行字段: - 杠杆点(可操作改动:模块/数据/指标/对比设置/预算/假设等) - 预期影响(更强/更稳/更省/更可控 四选一) - 最小验证动作(高层次:需要什么对照/消融/替换/评测变化) - 风险(复现难/数据难/指标错配/外推风险/伦理合规风险等) - 我回论文需要补齐的信息(写成具体问句,不给答案) 最后输出:Top3杠杆点(按“低成本×高信息增益”排序,并给排序理由) === Part 4|(可选)证伪性审计(仅当我提供F1/F2/T1时输出)=== 如果我提供了失败模式F1/F2: - 分别判定其是否可检验(✅/⚠️/❌),若⚠️/❌指出缺少的可观测量/条件 如果我提供了最小证伪实验T1: 1) 判定T1是否真正可证伪某条主张(✅/⚠️/❌),并说明原因 2) 必须补的对照/消融(最多3条,高层次) 3) 我回论文需要确认的关键前提问题(最多5条,只给问题) 4) 结果解释:成功/失败各自意味着什么,避免不可解释结果 如果我未提供F1/F2/T1:输出“未提供可选输入,跳过Part 4”。 【开始执行】 请等待我按输入格式提供内容后再输出以上四部分。
由于最终还是借助AI来进行整个流程的完成,所以我还是需要提供一个输入,但是这个输入是不基于模板的输入,同时整个AI有益性检测采用闭卷模式
2. Survey
模板A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 你是我的 survey 论文深读助手。下面是论文内容片段(可能不完整)。请输出“领域地图”,并严格满足硬约束(证据绑定/信息不足/安全约束)。 输出结构(严格按序): 1) 一句话中心任务:这篇综述在回答什么问题/试图建立什么框架?【出处】 2) 覆盖范围(Scope): - 主题边界:覆盖什么、不覆盖什么 - 时间范围:引用最新覆盖到哪一年/月份(若文中未给,写“未明确”) 【出处】 3) 纳入/排除标准(Inclusion/Exclusion)与偏差审计: - 作者是否说明检索库/关键词/筛选规则/质量控制? - 可能的系统性偏差来源(漏掉顶会/语言偏差/选择性引用) 【出处;推断标“可能/需验证”】【出处】 4) Taxonomy(分类体系): - 一级分类列表 - 每个一级下的二级分类 - 每类的判定标准(必须可操作:看什么特征就归类) 【出处】 5) 代表作索引(Key Papers): - 每个二级类给 3–5 篇代表作(用作者引用编号/表格编号定位) - 每篇写“为什么代表”(方法/设定/影响力/里程碑点) 【出处】 6) 统一对比维度(Comparison Axes): - 作者使用了哪些对比维度(如:能力、工具使用、自治度、评测环境、鲁棒性、可控性、成本等) - 你认为缺失的关键维度(并说明为什么关键) 【出处;推断标注】 7) 评测与基准(Benchmarks & Evaluation): - 常见环境/数据/指标(只列名称与用途,不给可执行细节) - 评测存在的典型问题(不可比/偏置/复现难/过拟合指标等) 【出处】 8) 研究空白(Gaps)→ 可验证研究问题(RQ): - 至少5条 gap,每条改写成: RQ(可证伪) + 最小可行验证方式(评测原则/指标) + 预期贡献 【出处;若是你生成的则标“基于综述归纳推断”】【出处】 9) 过时风险(Freshness Risk): - 该综述可能已过时的部分(按方向列) - 需要外部检索验证的关键词清单(10个以内) 【出处;需检索则标“需验证”】【出处】 10) 我下一步该做什么: - 这篇综述指导我“选题/补课/建相关工作”的具体行动项(3–5条)
本周的论文我将据此进行测试的阅读。
一、文献阅读
1、Safety Misalignment Against Large Language Models(针对大型语言模型的安全错位攻击)
1.1 简介
这篇文章的主要内容是:LLM的安全对齐(safety alignment)在统一测评框架下表现出系统性的脆弱;SFT是最强的非对齐攻击手段(使模型失去对齐的特性 Misalignment)但是依赖“有害回复”(数据集的局限性)监督,作者提出了一种SSRA(Self-supervised Representation Attack )可在不使用有害回复的情况下造成显著的非对齐;并提出了与之相对应的SSRD防御手段可在闭源的场景下重新对齐模型。同时提出了一个新的统一测评框架,对现有的攻击手段和防御手段进行了统一测评和整合,这部分反而占据了更大的篇幅。
这篇文章的创新点在于提出了两个新的概念,一个是SSRA 攻击手段,另一个是与之相对应的SSRD 的防御手段,同时他说到的统一测评框架也算是创新点,这部分更像是综述,只是我融合了新的创新点结合这个便是学术论文,我在想有许多论文也不仅仅是提出新的创新点,新的框架总结貌似也是一个思路,结合一点点创新点来说,也能填充文章的内容。
1.2 SSRA
机制:通过最小化有害表示与原模型良性表示间的距离,把“有害指令”在表示空间中推向“日常良性指令”区域,从而达到使拒绝回复推向可回答。
原文主要是通过设计了一个新的损失函数来达到这一点,这个损失函数由两部分组成,第一个部分效能是描述非对齐的能力,第二个部分效能是在此基础上描述模型的原有通用能力,所以此文在实验测评阶段设置的两大指标一个是攻击成功率ASR, 一个是模型的通用能力ACC,最后还有一个指标是mis_score(错位分数),算是一个平衡的概念吧,我感觉也算是填充一个评价指标。总的来说我个人感觉这样的结果设置比较“清爽”。
回到损失函数上,对于第一部分L_mis,它采用了多种距离靠近的函数,这说明方法本身是有的,只是这个想法暂时没人提出,所以依此他进行设计以及实验的验证。其中E代表数据集,E-,E+,等代表良性和有害性的数据集。本文提到SFT(监督微调),关键在于特别依赖数据集的训练,尤其是有害的数据集,对于现在的LLM来说,其实能力突破的关键一部分也是在于数据集的优劣上,所以本文使用这种有害向良性靠齐的方法,拜托了对数据集的依赖。算是提供了一种新的思路。同时后续验证结果表明ASR效果不比SFT弱。
对于损失函数的第二个部分,效用损失函数L_ut的设计也是一种靠近,只不过是将原始模型对良性查询的表征作为参考来维持模型的效用,同时设置了一个参数λ,λ=0时,后面这部分相当于没有,这是后续消融实验的一部分,验证了在此情况下模型的通用能力是否下降了许多,结果证明确实如此。个人感觉这个设置的也挺合理,也有助于设计一个消融实验来进行对比。论文中实验部分最重要的应该就是消融实验了吧。
1.3 SSRD
上述SSRA在原文中是给出了Algorithm 1的算法表,这个直接就省略没给,因为他是一个相反的概念,同时也介绍了其他的防御方法,针对开源和闭源的情况下,不过没给貌似也不影响大体。同样的也是设计了一个损失函数。
1.4 实验部分
这篇文章最多讲述到的就是实验设计的部分,讲述了数据集,文末给出了,三个基础的LLM模型,针对开闭源,Baseline选择比如Llama-2-7B-chat, Beaver-7B,Mistral-7B-Instruct,然后统一聚合了多种攻击方法,例如SPM, SFT+PEFT,同时新提出的SSRA,最后就是防御baselines,给出安全过滤器的、去毒化以及SSRD的方法。
同时文章开头也提到目标是攻击者不想从头训练有毒模型,降低成本,以最低代价突破安全对齐这堵墙。
1.5 局限可改进
作者只评估单模态LLM,认为结论可以迁移到多模态底座,但是需验证。 我觉得这个验证也会很麻烦,有点吃算力,实验太多。
解释性不足,受限于可解释工具与理论框架,主要是靠实验归纳。像是客套话
然后就是验证的模型仅有7B几倍,更大规模下,不同的RLHF配方下,攻击性的有效性强弱性可能不同。这个也是受限于理论吧,实验一个个的做不太现实。但是对于论文来说,感觉7B,结合多种方法方式参数等,貌似也够。
2、Forewarned is Forearmed: A Survey on Large Language Model-based Agents in Autonomous Cyberattacks
这是一篇综述,看他的目的是多了解此方向的内容,题目翻译过来是 未雨绸缪:基于大型语言模型的自主网络攻击Agents调查
这个论文同时涵盖了LLM agents,Cyber-attacks, Networks的相关研究,此论文提出的是一项以网络为中心的评估,研究基于LLM-agents及其网络攻击能力和对网络范式的影响。
强调应将LLM-based agents 纳入为潜在的攻击者并更新威胁模型,同时介绍了agents的架构,分别是模型,感知,记忆,推理与规划、行动与工具。
同时对网络攻击进行了分类……………
二、实验
复现论文1
这篇论文给出了源码https://doi.org/10.5281/zenodo.14249424 , github仓库:https://github.com/CryptoAILab/misalignment
还给出了硬件要求,当然我的配置肯定是不够的。不过我还是把源码给下载下来了,但是不敢尝试跑,撑不住,硬盘空间也需要70 GB,就看一看他这个源码怎么写的,结合AI来分析一下。
首先是项目结构:
关注一下ssra.py这个模块,看看他这个损失函数是怎么写的;他这个源码还挺长的,头疼,我先把重要贴出来吧:
1. 符号对应表
论文符号
代码变量
含义
$E_o^+$
original_harmless_emb
原始模型在无害指令上的嵌入(L616-641提取)
$E^+$
harmless_emb
当前模型在无害指令上的嵌入(L651-686提取)
$E^-$
harmful_emb
当前模型在有害指令上的嵌入(L692-726提取)
$\lambda$
args.beta
平衡超参数(实验中=1000)
$\mathcal{L}*{\text{mis}}$
harmful_benign_dis
Misalignment 损失
2. 论文与核心代码的精确对应关系(挑选)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 if args.dis == "l2_mean" : harmful_benign_dis = l2_loss_pairwise(harmful_emb, original_harmless_emb) maintain_loss = l2_loss(original_harmless_emb, harmless_emb) if args.loss_maintain_benign: loss = harmful_benign_dis + args.beta * maintain_loss
可知l2_loss_pairwise()就是损失函数的第一部分,即模型的攻击效能部分
此时它的损失函数数学公式为
此时结合一下AI便能看懂这个函数了,就是对这个数学公式的复现,
diff 就是 e_i - e_j,然后平方,求个,最后这个.mean()是所有距离的平均值,标量。后续类比。
然后我又在想能否我给AI一个创造的损失函数,让他来给我实现的代码,但是应该可能会有点麻烦,因为数据类型的形式定义等,我还没办法给出,在此假设我能给出,结果好像有点差强人意,可能是因为没给出很准确的提示,以及AI理解的sim()实现偏差,就不贴出了。
但是我反推了一下提示词的问题,对损失函数的理解还是不够深入
3. 整体训练流程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 model = AutoModelForCausalLM.from_pretrained(...) model = get_peft_model(model, peft_config) original_harmless_emb = []for prompt in benign_questions[:60 ]: emb = model.forward(...).hidden_states[-1 ][:,-1 ,:].detach() original_harmless_emb.append(emb) original_harmless_emb = torch.stack(...) for epoch in range (4 ): harmless_emb = [] for prompt in benign_questions[:60 ]: emb = model.forward(...).hidden_states[-1 ][:,-1 ,:] harmless_emb.append(emb) harmless_emb = torch.stack(...) harmful_emb = [] for prompt in harmful_questions[:30 ]: emb = model.forward(...).hidden_states[-1 ][:,-1 ,:] harmful_emb.append(emb) harmful_emb = torch.stack(...) L_mis = l2_loss_pairwise(harmful_emb, original_harmless_emb) L_ut = l2_loss(original_harmless_emb, harmless_emb) loss = L_mis + 1000 * L_ut loss.backward() optimizer.step() optimizer.zero_grad()
看来关键还是在于损失函数的设计,其余更新参数部分例如梯度计算,优化器还是用的自带的,然后就是对于数据集的一个处理,这部分看起来更加复杂繁琐一些
同时他这个好像也是属于结合了LoRA调参,这方面的内容我在后续再去学习了解一下大致概念
三、思考
1、本周文献中,出现了一篇综述,后续还需不需要阅读综述类文章?我起初的想法是综述可能论述某一领域的各个内容方向多一些,但是实际读起来就会感觉内容太长了,整体偏结构性,叙述偏向结果性。感觉也不知道写点什么好。
2、关于“0、框架搭建”提出的两个提示词架构,实则是为了验证依赖AI的可行性,仅针对于我个人,同时提炼出总的提示词模板,时间上应该不会“浪费”过多,目前还是试验阶段,感觉自己有时想的可能太多了,特别是现在读的文献较少,对重点的理解可能错误,后续提示词会不断迭代。目前我也看到了一些有关的科研类的skills,下周去探索一下agent skills
3、有关代码这一块,我现在看的源码不多,一些函数的概念也不牢固,就不多说思考了。