<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cuda on Kalend's Blog</title><link>https://blog.kalend.top/tags/cuda/</link><description>Recent content in Cuda on Kalend's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Sun, 16 Aug 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://blog.kalend.top/tags/cuda/index.xml" rel="self" type="application/rss+xml"/><item><title>让Codex自主跑14天，GPU内核提速232倍：这套方法论，你下次也能用</title><link>https://blog.kalend.top/2026/08/16/2026-08-16-codex-auto-research.html/</link><pubDate>Sun, 16 Aug 2026 08:00:00 +0800</pubDate><guid>https://blog.kalend.top/2026/08/16/2026-08-16-codex-auto-research.html/</guid><description>
 &lt;blockquote&gt;
 &lt;p&gt;今天HN上最火的一篇文章：一位开发者让Codex自主跑了14天，提交1500+次，GPU内核提速232倍。183人比赛排第12。但这不是GPU技术文——是一套「让AI自主研究」的方法论。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="先说结论"&gt;先说结论
&lt;/h2&gt;&lt;p&gt;这是一套&lt;strong&gt;可迁移的AI自主工作流&lt;/strong&gt;。核心就一句话：给AI一个「裁判」，它就能自己爬山。没有裁判的任务，不能放养。&lt;/p&gt;
&lt;h2 id="背景一场自动研究比赛"&gt;背景：一场「自动研究」比赛
&lt;/h2&gt;&lt;p&gt;GPU Mode联合Core Automation办了场比赛，题目是优化&lt;strong&gt;批量Householder QR分解&lt;/strong&gt;的CUDA内核。&lt;/p&gt;
&lt;p&gt;参赛者Sankalp的做法很特别：给Codex下达目标后，合上电脑去睡觉。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;数据&lt;/th&gt;
					&lt;th&gt;数值&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;参赛人数&lt;/td&gt;
					&lt;td&gt;183人&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;最终排名&lt;/td&gt;
					&lt;td&gt;第12名&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;提速倍数&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;232倍&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;总提交次数&lt;/td&gt;
					&lt;td&gt;1500+次&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;自主运行天数&lt;/td&gt;
					&lt;td&gt;14天&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="什么样的任务能放养给ai"&gt;什么样的任务能「放养」给AI
&lt;/h2&gt;&lt;p&gt;不是所有任务都适合让AI跑十几个小时。&lt;strong&gt;判断标准就一个：有没有裁判。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;比赛提供了popcorn CLI，agent可以自己提交代码、跑基准测试、看排行榜。每次尝试都能立刻知道「变快还是变慢」。&lt;/p&gt;
&lt;p&gt;这就是&lt;strong&gt;紧凑的反馈闭环&lt;/strong&gt;——AI每做一次尝试，就知道好坏，像爬山一样沿着分数往上走。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;适合放养的任务特征：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;特征&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
					&lt;th&gt;示例&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;有客观裁判&lt;/td&gt;
					&lt;td&gt;机器能自动判断好坏&lt;/td&gt;
					&lt;td&gt;性能基准、单元测试、准确率&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;反馈快速&lt;/td&gt;
					&lt;td&gt;每次尝试秒级返回结果&lt;/td&gt;
					&lt;td&gt;编译+运行+评分&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;搜索空间大&lt;/td&gt;
					&lt;td&gt;值得反复试错&lt;/td&gt;
					&lt;td&gt;算法优化、超参调优&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;没有裁判&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;不能放养，得人盯人&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;写文章、做设计、定策略&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="三个核心技巧"&gt;三个核心技巧
&lt;/h2&gt;&lt;h3 id="1-goal-给目标数字标准循环"&gt;1. /goal 给目标：数字+标准+循环
&lt;/h3&gt;&lt;p&gt;给一个&lt;strong&gt;具体、可量化、可达成&lt;/strong&gt;的目标，让模型循环执行直到达标。&lt;/p&gt;
&lt;p&gt;Sankalp的prompt原文大意：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&amp;ldquo;只用Triton或CUDA，超过当前最优的n=512耗时，多试几个思路，要么直接提交排行榜，要么用Modal做profiling。&amp;rdquo;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;就这么一段话，让Codex&lt;strong&gt;连跑了一整天&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键点&lt;/strong&gt;：目标必须是数字。「让它变快」不行，「比当前最优快10%」才行。&lt;/p&gt;
&lt;h3 id="2-btw-查岗不打断主循环"&gt;2. /btw 查岗：不打断主循环
&lt;/h3&gt;&lt;p&gt;这是最巧妙的一个设计。当/goal正在跑时，开一个&lt;strong&gt;临时线程&lt;/strong&gt;问它问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;你现在领先了吗？&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;当前用了什么算法？&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;卡在哪里了？&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;不打断主循环&lt;/strong&gt;。你随时了解进度，它不用停下来。&lt;/p&gt;
&lt;p&gt;这等于把「人工盯梢」和「自动执行」&lt;strong&gt;解耦&lt;/strong&gt;了。&lt;/p&gt;
&lt;h3 id="3-日志做记忆避免重复踩坑"&gt;3. 日志做记忆：避免重复踩坑
&lt;/h3&gt;&lt;p&gt;每次提交的状态、耗时、成败都记录下来。新会话读日志，快速判断某个想法是不是已经试过了。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键文件&lt;/strong&gt;：AGENTS.md（任务说明）、problem_statement.md（问题描述）、log.md（实验日志）。&lt;/p&gt;
&lt;p&gt;14天里，这些文件就是AI的「长期记忆」。&lt;/p&gt;
&lt;h2 id="最有价值的一课逃离局部最优"&gt;最有价值的一课：逃离局部最优
&lt;/h2&gt;&lt;p&gt;跑到3000微秒→1800微秒的区间时，模型卡住了。表现是&lt;strong&gt;没完没了地微调参数&lt;/strong&gt;，反复试探同一个思路的小变体。&lt;/p&gt;
&lt;p&gt;这就是经典的&lt;strong&gt;局部最优陷阱&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;错误做法&lt;/strong&gt;：始终只保留一个当前最优解，新思路必须先打败它才能留下。问题在于，大的结构性改动&lt;strong&gt;初期必然更慢&lt;/strong&gt;，要迭代几轮才可能反超。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;正确做法&lt;/strong&gt;：「候选束」策略——同时维护3-5个候选「家族」，允许暂时落后但有潜力的思路继续存活。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;策略&lt;/th&gt;
					&lt;th&gt;行为&lt;/th&gt;
					&lt;th&gt;结果&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;爬山法（错误）&lt;/td&gt;
					&lt;td&gt;只保留一个最优，新想法必须先赢&lt;/td&gt;
					&lt;td&gt;大改动被过早淘汰&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;候选束（正确）&lt;/td&gt;
					&lt;td&gt;同时维护3-5个方向&lt;/td&gt;
					&lt;td&gt;结构性创新有机会成熟&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;这个思路有很强的普适性——强化学习里的「保持多样性」、进化算法里的「种群」，是同一个道理。&lt;/p&gt;
&lt;h2 id="人的角色变了从写代码到定方向"&gt;人的角色变了：从写代码到定方向
&lt;/h2&gt;&lt;p&gt;Sankalp有个观察很精准：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;几年前agent死循环，是因为不够聪明。后来模型变聪明了，有了推理时间加成。&lt;strong&gt;现在真正卡住的地方，是「想不出新点子」和「研究品味」。&lt;/strong&gt;&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;在验证器反馈和已有证据面前，下一步最该做什么实验——这是人最该干的事。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;瓶颈从「聪明」转移到了「品味」。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sankalp在排行榜上面一位是NVIDIA的主任工程师，但他靠&lt;strong&gt;补课+问对问题&lt;/strong&gt;一路追到第12名。&lt;/p&gt;
&lt;p&gt;领域知识没有贬值，只是换了个去处：从「亲手写代码」挪到了「指引方向」。&lt;/p&gt;
&lt;h2 id="信任和放手"&gt;信任和放手
&lt;/h2&gt;&lt;p&gt;频繁打断的代价：&lt;strong&gt;破坏模型正在建立的上下文连贯性&lt;/strong&gt;。每次检查都在把它从「心流」里拽出来。&lt;/p&gt;
&lt;p&gt;Sankalp的做法：每隔2-3小时才输入一次方向，有些天干脆让它通宵无监督地跑。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;正确姿势&lt;/strong&gt;：设定目标→铺好反馈通路→退后一步。&lt;/p&gt;
&lt;h2 id="hn评论区的延伸案例"&gt;HN评论区的延伸案例
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;案例1&lt;/strong&gt;：用DeepSeek v4做视频压缩codec优化，SSE/AVX实现让性能翻倍。观点：LLM应该像高级版Prolog——给约束、给验证器、给目标，就能自动驾驶。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;案例2&lt;/strong&gt;：用Opus 5在树莓派4上实现实时4K HEVC转码，写NEON内核。人工手写要花很久，LLM大幅加速。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;案例3&lt;/strong&gt;：用Claude对比Google C# protobuf库和C++版本，发现C#缺少几个廉价优化。LLM在「跨语言移植已有优化」这类任务上极其强大。&lt;/p&gt;
&lt;h2 id="诚实提醒"&gt;诚实提醒
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;必须有可自动化的验证器&lt;/strong&gt;。没有裁判的任务不适合放养&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;人对问题域的理解越深，AI的价值越大&lt;/strong&gt;。不懂行的人用AI，效果会差很多&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;不是所有AI工具都支持长时间自主运行&lt;/strong&gt;。Codex的/goal循环是核心能力&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="你下次能用上的框架"&gt;你下次能用上的框架
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;步骤&lt;/th&gt;
					&lt;th&gt;做什么&lt;/th&gt;
					&lt;th&gt;注意&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1. 判断&lt;/td&gt;
					&lt;td&gt;有没有自动裁判？&lt;/td&gt;
					&lt;td&gt;没有→不能放养&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2. 给目标&lt;/td&gt;
					&lt;td&gt;数字+标准，写进/goal&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;变快&amp;quot;不行，&amp;ldquo;比X快10%&amp;ldquo;才行&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3. 铺反馈&lt;/td&gt;
					&lt;td&gt;确保每次尝试能立刻知道好坏&lt;/td&gt;
					&lt;td&gt;CLI/测试/API都行&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4. 信任&lt;/td&gt;
					&lt;td&gt;设定好就退后，2-3小时查一次&lt;/td&gt;
					&lt;td&gt;频繁打断=破坏上下文&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;5. 多样性&lt;/td&gt;
					&lt;td&gt;同时维护多个候选方向&lt;/td&gt;
					&lt;td&gt;别只保留一个最优解&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;p&gt;参考来源：Sankalp的《Auto-research with codex: How I achieved a 232x Faster Kernel over baseline》(sankalp.bearblog.dev)，HN讨论(391pts/86评论)&lt;/p&gt;
&lt;p&gt;关注varkm，回复【codex】获取本文提到的方法论框架图&lt;/p&gt;</description></item></channel></rss>