Research Driven Agents:当 coding agent 开始“先做研究,再写代码” 核心解读 今天 Hacker News 上最值得 llmapis.com 跟进的 agent 工程内容之一,是 SkyPilot 团队关于 Research Driven Agents 的文章。表面看,这像是又一次“
Research-Driven Agents:当 coding agent 开始“先做研究,再写代码”h1
核心解读h2
今天 Hacker News 上最值得 llmapis.com 跟进的 agent 工程内容之一,是 SkyPilot 团队关于 Research-Driven Agents 的文章。表面看,这像是又一次“自动优化代码”的实验;但真正的信息增量不是 agent 又做了几次 kernel fusion,而是一个更重要的范式变化:高质量 coding agent 不再只依赖代码上下文,而开始像资深工程师那样,在动手前主动阅读论文、比较 fork、研究其他实现路径。
过去一年里,autoresearch 这条线已经证明了一件事:给 agent 一个清晰 benchmark、测试套件和反复试验空间,它确实能在不少工程问题上找到局部优化。但大多数案例还有一个隐含前提——问题的答案大体藏在当前代码仓库内部,或者至少可以从局部实现里推导出来。
Research-Driven Agents 这次要解决的,恰恰是代码上下文不够用的场景。SkyPilot 团队把 agent 指向 llama.cpp 的 CPU inference 优化问题后发现,只靠看源代码,agent 很容易落入“就地微调”的思维惯性:循环展开、prefetch、边界计算优化、局部 SIMD tweak。这些尝试不是毫无意义,但在真实瓶颈面前往往只有噪声级收益。
原因很现实。像 llama.cpp 这种成熟推理引擎,真正有价值的问题并不只是“某行代码能否更快”,而是更高层的系统判断:这里到底是 compute-bound 还是 memory-bound?其他 fork 已经做了什么?CUDA / Metal 后端中有没有 CPU 尚未借鉴的结构性优化?是否存在论文已经讨论过的 operator fusion、缓存布局或并行划分方法?这些信息,很多时候并不在当前 repo 本身,而在 repo 外部的技术世界里。
于是这篇文章最值得关注的结论就出来了:让 agent 先读,再做。 也就是把 literature search、fork study、backend comparison 纳入 autoresearch loop 之前的正式阶段。这个变化看似小,实际上是 coding agent 从“会试错”走向“会做准备”的分水岭。
从公开结果看,这种研究先行的方式确实带来了明显收益。团队让 Claude Code 在 4 台云端 VM 上围绕 llama.cpp CPU inference 做实验,在约 3 小时、总成本约 29 美元的条件下,最终落地 5 项优化:4 个 kernel fusion 和 1 个自适应并行策略。在 TinyLlama 1.1B 的 benchmark 上,flash attention text generation 在 x86 上提升约 15%,在 ARM 上提升约 5%。
更重要的是,这些改进并不是从“代码本身”自然冒出来的。文章明确指出,最有价值的灵感来源不是 arXiv,而是研究 fork 和其他 backend。比如 ik_llama.cpp、llamafile、以及 llama.cpp 自身的 CUDA/Metal 实现,给 agent 提供了结构性线索:哪些 fusion 已经在 GPU 侧存在、哪些 memory pass 本来可以合并、哪些 CPU 路径还停留在较原始形态。
这意味着 Research-Driven Agents 真正推进的,不是单一优化技巧,而是一种更接近真实资深工程师工作方式的 agent 行为模式。一个经验丰富的系统工程师不会一上来就在本地代码里盲目改循环,他会先读相关论文、看别人怎么做、判断硬件瓶颈,再决定动手方向。现在,coding agent 开始学习这种“研究性准备”流程了。
这个变化对整个 AI 编程赛道很重要。因为过去不少 agent 在代码优化场景里有一个共同弱点:很会勤奋试错,但不够会选题。 它们能快速生成几十个 patch,却不一定能快速识别哪类 patch 值得尝试。Research-Driven Agents 的价值,就是通过引入外部知识,把 hypothesis quality 提上去。
从方法论上看,这也让 autoresearch 从“局部自动实验系统”更接近“外部知识驱动的工程搜索系统”。前者更像自动调参器,适合封闭空间;后者则开始具备某种“研究型工程师”的味道:先建立认知,再设计实验,再根据结果回收假设。
文章里还有一个很值得关注的细节:研究线程并没有只盯论文,而是明确比较了论文、fork 和其他 backend 的收益。结果是,fork 和真实工程实现比纯学术论文更有生产价值。这点很关键,因为它说明未来 coding agent 的知识源,不一定只是 arXiv 与博客,更可能是开源世界中的已落地经验。这也让“agent 读什么”本身变成新的工程问题。
如果这个方向继续发展,那么下一代 coding agent 的差异化能力,可能不只是更强的代码生成或更大的上下文,而是更成熟的技术情报获取能力:会不会主动找竞争实现、会不会理解不同硬件路径、会不会在动手前先把相关工作扫一遍。谁先把这层能力产品化,谁就可能在复杂工程任务里拉开差距。
这还会反过来改变我们理解 agent benchmark 的方式。过去 benchmark 更像是“给出代码库和任务,看 agent 能不能做出来”;未来更现实的 benchmark 可能是“agent 会不会先找到真正有用的外部知识,再用这些知识指导代码修改”。也就是说,research ability 可能成为 coding agent 的一等评测维度。
从 llmapis.com 的视角看,这篇内容非常值得发,因为它同时连接了三个长期主题:autoresearch 的演化、coding agent 的工程现实、以及 agent 从执行走向认知准备的趋势。它不是再讲一次“AI 会优化代码”,而是在说“AI 开始学会像真正的工程师那样准备优化”。
当然,也要保持克制。这个范式仍然很早期,成功案例依赖 benchmark 清晰、反馈快速、外部资料质量足够高;在问题边界模糊、知识噪声很大或工程耦合极强的场景里,research-driven agent 仍可能被不相关信息带偏。但即便如此,它今天的意义已经足够明确:coding agent 的上限,正在从“会写”转向“会研究之后再写”。
为什么值得关注h2
1. 它把 coding agent 从“自动试错”推进到“有准备的试错”h3
Research-Driven Agents 的核心不是多做实验,而是先提高假设质量。让 agent 先研究,再实验,能显著减少浅层优化和无效 patch。
2. 它证明 fork 与真实工程实现是高价值知识源h3
相较于纯论文,竞争项目、其他 backend 和高性能 fork 往往给 agent 更直接、可落地的工程启发。这会改变未来 coding agent 的外部知识接入方式。
3. 它代表 autoresearch 从封闭优化走向开放知识搜索h3
未来更强的 agent,不只是会在代码库里找答案,而是会主动在 repo 之外寻找有用的工程知识,再把它带回实验循环。
数据和技术细节h2
- 来源:Hacker News + SkyPilot Blog
- 主题:在 autoresearch / pi-autoresearch loop 中加入 literature research 阶段
- 目标项目:
llama.cppCPU inference path - 运行方式:SkyPilot 调度 4 台云端 VM 并行实验
- 目标模型:TinyLlama 1.1B(Q4_0 quantization)
- 测试架构:
- x86: AWS c6i.2xlarge
- ARM: AWS c7g.2xlarge
- 公开结果:
- 共进行 30+ 次实验
- 5 项优化最终保留
- 4 个 kernel fusions + 1 个 adaptive parallelization
- flash attention text generation:x86 +15.1%,ARM +5%
- 成本与时间:
- 总成本约 29 美元
- 总耗时约 3 小时
- 关键研究来源:
- fork / competing projects:ik_llama.cpp、llamafile 等
- 论文:FlashAttention、Blockbuster、CPU inference optimization 等
- 其他 backend:CUDA / Metal 实现路径
来源h2
- Hacker News: https://news.ycombinator.com/news
- 原文: https://blog.skypilot.co/research-driven-agents/
- GitHub: https://github.com/skypilot-org/skypilot/tree/master/examples/autonomous-code-optimization
标签h2
coding-agent, autoresearch, research-driven-agents, llama-cpp, ai-systems, optimization, skypilot, agent-engineering, llmapis-daily
Comments