我现在怎么做科研:从文献调研、实验到论文写作
这篇文章记录我现在比较稳定的一套科研流程:用 Deep Research 做前期调研,用远程服务器里的 Codex 跑实验,再把日志、结果和引用整理成论文初稿。
我做了一个学术工作流助手:把选刊、前沿跟踪和 AI 预审串起来
如果只把它叫做“投稿助手”,其实已经有点说窄了。 我现在这个项目更接近一个学术工作流助手:它不是只回答“这篇论文投哪”,而是想把研究者从选刊、看前沿、记截稿、管投稿,到做 AI 预审这一整条链路尽量串起来。 这篇文章就顺着这个思路,介绍一下我现在的项目到底在做什么,以及我为什么会把它做成现在这个样子。 1. 这个项目现在是什么 从代码结构上看,它已经不是单端 App,而是一个多端并行的项目: iOS 端用 SwiftUI,目录在 AcademicSubmission/AcademicSubmission/ Android 端用 Flutter,目录在 academic_submission_flutter/ 微信小程序端用 UniApp + Vue3,目录在 academic-submission-uniapp/ AI 预审后端在 deep_research_review_v2/,走的是一条独立的深度评审链路 其中,iOS 端已经不只是一个静态展示壳了。 从 ContentView.swift...
层级结构 + 分布建模 + 原型演化
问题 如果只盯着单个样本去学习表示,特征往往容易被噪声和个体差异牵着走。 这时就需要一个更稳定的语义锚点,去概括一类样本的共性,而不是停留在某一个具体样本上。 在这个意义上,原型可以理解为一种动态演化的语义锚点。 它不是静态标签,而是在层级学习、特征聚合和持续更新中逐步形成的类级表示。 作用 1. 类级表示 经过层级学习和去噪后的特征,会比单一样本的表示更纯净,也更有代表性。 原型正是在这个过程中形成的类级抽象,它能够更稳定地承载类别的核心语义。 2. 对比学习中的监督信号 原型的作用不只是把同类样本彼此拉近,更重要的是把样本拉向类中心。 这样一来,学习目标就从“同类靠近”进一步变成“围绕稳定语义中心聚合”。 3. 分类与迁移的支点 原型还可以承担三类更直接的任务: 语义信息承载 原型包含了这一类的核心特征。 例如,猫的原型可以概括为“有毛”“四条腿”“小体型”等关键属性。 辅助分类 新样本可以与各类原型进行比较,最接近哪个原型,就更可能属于哪一类。 知识迁移 原型并不只服务于单一任务,它还可以在不同任务之间共享,作为已有知识的压缩表达。 机制 如果把原型放到“层级结构 +...
Agentic RL:代码优先,理论辅助的实战法
如果你的目标是“尽快能改训练代码”,最有效的路径不是先啃公式,而是: 先跑通一个最小可运行实现。 直接改 reward 参数,观察策略行为变化。 再回头用少量理论解释你看到的现象。 这篇就是这个思路的实战版本。 1. 先跑通:最小 Agentic RL 脚本 我已经在仓库里放了一个可运行脚本: /Users/wangpeng/博客/Hexo_Blog_Source/tools/agentic_rl_code_first.py 它是一个 code-first 的 Agentic 决策实验(contextual bandit): ANSWER_NOW:直接回答 USE_TOOL:调用工具再回答 THINK_MORE:先思考再回答 完整数据流非常清晰: Environment 给状态(confidence / tool_hint / complexity) PolicyNet 输出动作分布 REINFORCE loss 更新策略 直接运行: 12cd "/Users/wangpeng/博客/Hexo_Blog_Source"python3...
Agentic RL:veRL AgentLoop 全流程与计算细节(Async Rollout、状态机、Tool-Interaction)
这篇文章对应视频:【[Agentic RL] 14 verl AgentLoop 全流程与计算细节,async rollout 实现,状态机,tool / interaction】(BV18d6sBpEZq)。 我会用“系统 + 数据契约”的方式把 AgentLoop 讲清楚:不是复述视频,而是把你真正会卡住的点拆开,直到你能做到: 读 AgentLoop 相关代码时,能快速定位“当前在数据流的哪一段”。 你能解释清楚:为什么 agent loop 输出必须是交错轨迹(LLM token + tool obs token),以及为什么必须带 response_mask。 你能把“tool / interaction / termination / reward attach”这几个最容易写乱的逻辑写成一套可 debug 的状态机。 系列导航: Agentic RL:系列导航(PG Loss、TRPO、PPO-Clip) 建议先读(否则你会觉得本文有点“infra 细节过密”): 12 先建立 AgentLoop 的架构直觉(async / sticky...
Agentic RL:veRL Infra AgentLoop 代码串讲(Multi-turn 推理与 Ray Trainer)
这篇文章对应视频:【[Agentic RL] 13 verl infra AgentLoop 代码串讲,multi-turn 推理与 ray trainer】(BV1MizSBJEbi)。 但我不会把它写成“逐句视频笔记”。定位是:把 verl 的 AgentLoop 代码路径和 RayPPOTrainer 的训练主循环串起来,让你做到: 读代码不迷路:知道入口在哪、数据在哪流、每个模块的边界是什么。 能把 multi-turn 推理跑成一个稳定的服务:知道要保什么状态、哪些状态必须 sticky、哪些必须 mask。 能 debug:遇到卡死/吞吐低/奖励对不上/轨迹错位,知道该查哪层日志。 系列导航: Agentic RL:系列导航(PG Loss、TRPO、PPO-Clip) 前置建议(不然你会“看懂一堆类名,但不知道为什么要这么做”): 12 先建立 AgentLoop 的架构直觉(async / sticky / hybrid /...
Agentic RL:veRL Infra AgentLoop(AgentLoopManager、Async Rollout 与 Hybrid 推训)
这篇文章对应视频:【[Agentic RL] 12 verl infra AgentLoop 基本概念及流程,AgentLoopManager,hybrid训练与推理】(BV135zrBaEEU)。 如果你已经看完我在上一篇里写的 “Agent Loop 为什么需要 async rollout” 与 “response_mask 基本概念”,那么这篇就是 infra 深挖版:把 verl 的 AgentLoop 体系从“能用”讲到“你能改、能调、能排障”。 你看完应该能回答这些工程问题: AgentLoopManager / Worker / AgentLoop / AsyncLLMServerManager 各自负责什么,边界怎么划? 为什么 async rollout 不是优化项,而是 multi-turn tool use 的必要条件?它和 vLLM 的 continuous batching 怎么配合? sticky session 为什么必须有?它和 prefix cache、load balancing 是什么关系? “hybrid...
Agentic RL:重新理解 DPO(KL 正则 RL、隐式奖励模型与缺陷)
这篇文章对应视频:【[Agentic RL] 11 重新理解 DPO,带 KL 正则的 RL 目标函数推导,隐式的奖励模型,DPO 可能的缺陷与不足】(BV1N16ZBuERA)。 我不会把它写成“逐句视频笔记”,而是把 DPO 放回一个更稳的框架里:KL 正则的 RL 目标函数与概率建模(Bradley-Terry)。你看完应该能回答这 3 个问题: DPO 到底在优化什么,它和 “reward - β KL” 的 RL 目标是什么关系? 为什么说 DPO 有一个“隐式的奖励模型”(implicit RM),它是什么形式? DPO 为什么会出现一些看起来反直觉的问题(reward hacking / 过拟合 / 生成质量掉 / 长度偏置),以及你在工程里怎么防。 系列导航: Agentic RL:系列导航(PG Loss、TRPO、PPO-Clip) 关联阅读(建议顺序): 先把 KL-constrained RL 的分布视角打通(π* 与 P*) BT/MLE 的概率建模视角(你会更容易理解 DPO 的 logistic...
Agentic RL:分布视角理解 SFT 与 RL(Forward/Reverse KL、分布与奖励)
这篇文章对应视频:【[Agentic RL] 10 分布的视角理解 LLM 的 SFT 训练和 RL 训练,Forward/Reverse KL,分布与奖励】(BV1WvrGBGEbf)。 我会按“分布匹配(distribution matching)”的视角,把 SFT 与 RL(RLHF/RLVR/RFT/GRPO/DAPO…)放到同一个坐标系里解释清楚: SFT 本质是 forward KL:用数据分布 P\_{\text{data}} 去“覆盖”模型分布 \pi\_\theta(mode-covering)。 带 KL 正则的 RL 本质是 reverse KL:用模型分布 \pi\_\theta 去“追逐”一个由 reward 定义的目标分布 P^\*(mode-seeking)。 你在工程里看到的 KL、entropy、以及“reward in loss vs in reward”,都只是这套分布视角的不同落地方式。 系列导航: Agentic RL:系列导航(PG...
Agentic RL:Reward Model Insights(Bradley-Terry、MLE 与深度学习)
这篇文章对应视频:【[Agentic RL] [RM] 09 Reward Model insights,理解概率建模(Bradley-Terry)、MLE、深度学习的关系】(BV1z4vkBBEgD)。 我不会把它写成“逐句笔记”,而是把 RM 的核心拆成一个你能反复复用的框架: 最顶层是 MLE(决定 loss),中间层是 Bradley-Terry(赋予概率意义),最底层是 Deep Learning(提供函数逼近与表征能力)。 如果你把 Reward Model 当成“又一个神经网络”,你很容易在训练/调参/诊断上迷路;但只要把它当成一个概率模型的参数化实现,很多现象会瞬间可解释(包括:为什么 RM 会偏向“拉平”、为什么 KL 约束几乎是必需、为什么 intransitive 数据会让 RM 变钝)。 系列导航: Agentic RL:系列导航(PG Loss、TRPO、PPO-Clip) 关联阅读(建议顺序): RL4LLM 最小闭环:reward + PG/KL 的工程细节 PPO/GRPO 中 KL...

