【复盘】回望第一次黑客松
写在前面 本文记录的是由 华清普智 与 WaveHeart 举办的 SoloVerse·Agent 元宇宙黑客松挑战赛。先感谢赛事方把这场比赛办起来,也感谢评审愿意认真看完这个并不完整的作品。由于个人行文习惯,后文统一简称为「黑客松」。 相关小红书账号:https://xhslink.com/m/3Fi9xgg8INO
居然拿奖了
周日下午,我终于把一个很赶的需求写完了。说是需求很赶,其实准确一点说,是我自己菜,一直没做出来。我和测试整个周末都在努力发版,拖到周日下午,总算结束了。人往床上一躺,手机掏出来,手游启动,终于可以把脑子关掉一会。
这时比赛方微信群里发消息,黑客松的获奖名单出来了。距离比赛路演已经过去两个星期,当时那种脚趾抠地的尴尬感,我都快忘得差不多了。我对自己做的东西也很有数,项目没写好,路演还翻了车,肯定没奖。 于是我压根没点开,继续打游戏。
但这个东西就很奇怪,你不看,它反而一直萦绕着你。到了睡觉前,我还是忍不住把 PDF 打开了,准确来说,那时候已经凌晨两点多。我往名单上瞄了一眼,没看到自己,心想也是。然后又仔细看了一遍队伍名,发现我的队伍躺在最后一行,
欧庇克莱歌剧院,荣誉奖,最佳跳动音符。
啊?第一反应真的是这个。不是故作镇定,也不是那种终于证明自己的热血,只是单纯地,啊?这也能拿奖?

而且这个奖还是组委会临时追加的。为了鼓励获得荣誉奖的项目,额外增加了六个带奖金的荣誉奖项,每个人二百块钱。我拿到的叫最佳跳动音符,名字很贴项目,也挺可爱的。开心当然是开心的,意外之喜嘛,但我看到名单后的另一个想法是,这会不会是比赛方对我的关怀。


先说那场失败的路演
为什么这么想,因为我的路演实在太失败了。比赛方发路演消息后,我其实抽了签,也看过时间,然后不知道为什么,我把时间记错了,转头就把这件事抛之脑后。直到路演前一天,校队群里发消息提醒,顺便讲了讲注意事项,我才突然发现,坏了,明天就要路演了。 于是我潦草地改了改 PPT,准备第二天下班后直接上。
PPT 本来连每一页的注释都写好了,照着念就能过。但这个 PPT 终究是 AI 写的,不是我自己的表达方式,我又不太喜欢对着稿子念,一开口就忍不住脱离稿子,看着图瞎讲。第二天下班回来,我赶紧进入在线会议,甚至上一名同学正在路演时,我还在紧急叫 AI 把项目启动起来。别人基本都提前录好了演示视频,轮到我时,我选择直接打开项目,现场玩。
结果不知道为什么,在线会议没有把项目声音播出去。一个音乐项目,演示时听不到音乐。 我只能对着一个安静的编曲页面,草草讲解这里点一下会怎样,那里点一下会怎样。讲着讲着脸都红了,幸好是线上路演,要是线下站在台上,我估计能当场蒸发。
更尴尬的是,我那个所谓的编曲 Agent,其实根本没有调通。
为了演示,我还专门准备了几段对应的歌曲,让 AI 生成后不至于太突兀,看上去像是真的根据提示词生成一样。结果会议里连声音都没有,这点小心思也完全没有登场的机会。到了评委提问,我才知道 AI 编曲这个赛道早就有很厉害的成品,比如 SUNO,人家问起类似产品,我才意识到自己比赛前压根没做过像样的调研。真的就是有了一个想法,觉得有意思,然后立刻埋头干了。
这时候回头看我拿奖,就会觉得非常魔幻。项目核心没写好,路演没有声音,竞品没有调研,居然还能混到一个最佳跳动音符。 但这个项目的想法,我到现在还是挺喜欢的。它不是经过市场分析找出来的选题,完全是从我当时正在做的事情里长出来的。
我想做一个能玩的编曲 Agent
我报名比赛的原因很简单,那段时间刷小红书,刚好刷到了比赛方的小红书。线上参赛,不限主题,我一看,感觉好像可以玩玩,就心血来潮报了名。当时我正在学音乐,准确来说还在学乐理,属于纯初学者。平时偶尔会刷到一些编曲视频,比如玩库乐队的,看别人把鼓、贝斯、和弦、旋律等一层层叠起来,做出非常厉害的歌曲,很有意思。
但真正轮到自己玩,就会发现前面横着一大堆知识。软件怎么用,MIDI 怎么写,和弦怎么配,节奏怎么排,你想感受编曲的乐趣,得先爬过很长一段学习坡道。所以我想做一个 Cursor 和库乐队的结合体,左边是类似库乐队的编曲区域,可以自己在钢琴卷帘上瞎点,右边是一个副驾驶,可以和 AI 聊天,让它帮你写 MIDI,帮你续一段、改一段。AI 编完后,人听一听,再根据自己的想法继续改,不是输入一句提示词,然后等着它端出一首成品,而是人和 AI 来回接力,一起把东西做出来。
这个想法并不高大上,甚至按照大众评审后来的说法,它有点偏娱乐玩具,商业化也比较难。但我其实不太介意它是玩具,我不希望每个 Agent 项目都必须奔着生产力去,仿佛做出来不能给公司省多少钱,不能替代几个岗位,就低人一等。Agent 也可以只是拿来玩,就是有意思,让一个不懂编曲的人敲几下,突然听见一支小乐队回应自己。我觉得这件事本身就挺酷的。
前端抽卡,Agent 兜底
问题出在,想法虽然挺完整,我的开发过程却非常随心。比赛一共 48 小时,我近乎花了一整天折腾前端设计,最开始放任 Agent 自己设计,生成出来不满意,又去试 Claude Design,最后跑到 Stitch 里继续选。AI 生图又比较慢,我对专业编曲软件也不熟悉,说不清每个区域到底应该长什么样,只能一轮一轮抽卡。现在回头看,最大的浪费不是 AI 生成得慢,而是我自己没有主见。
我不知道什么是必须的,也不知道什么是可以删的,更没有先敲定一个设计稿。看见一个结果觉得不对,就再抽一个,前端看起来一直在推进,其实方向不断变来变去。钢琴卷帘那块更明显,只靠语言描述,AI 怎么都做不出我想要的结果。直到最后,我想起以前玩过一个叫 two-moons.site 的网站,发现它还有开源实现,才勉强把编曲模块搭起来,谢谢他,真的。
等网页大体写好了,我才开始让 AI 写真正的编曲 Agent。问题是我这个网页本身并不是标准 MIDI 软件,有自己的一套数据结构,Agent 不知道应该输出什么格式,也不知道怎么和网页里的钢琴卷帘联调,时间又已经非常仓促。第一次测试时,可能是我的输入刚好和兜底数据比较契合,听起来没什么问题,我当时还以为成了。第二次换了提示词再测,我突然发现,不对啊,为什么 AI 生成的音乐和第一次一模一样?
一查才知道,Agent 根本没有触发,一直走的是兜底路线,我当时心都凉了。这是 Agent 黑客松,我作品最核心的卖点就是编曲 Agent,结果 Agent 没写出来,页面、按钮、钢琴卷帘看起来都像那么回事,真正决定这个项目成不成立的地方却是假的。 我现在已经记不清当时具体写了什么提示词,可能某句话让 AI 产生了幻觉,也可能某个 skill 强调一定要保证 MVP 可用,于是它非常贴心地补了一个兜底。AI 没有告诉我核心失败了,它给了我一个表面上能继续演示的结果,最巧的是,第一次测试还真把我骗过去了。(因为好巧不巧,那时候编的和我输入的,我真觉得是加强了)
都已经做到临近终点了,不可能因为最后发现有问题,就直接放弃参赛。核心虽然没跑通,网页看着还行,钢琴卷帘也能播一个小节,是吧。先交了再说。
评委其实看得很准
后来看到完整评审意见,我发现评委其实看得很准。大众评审认可降低编曲门槛的创意和交互设计,但也明确写了,现场演示失误导致体验打折,对没有乐理基础的用户依然存在门槛,产品偏向娱乐玩具,商业化较难。专家评审倒是抓住了我真正想做的东西,他们说,敲几下变成一支乐队的交互很有参与感,是少有的具有高可玩性的黑客松作品。但音乐生成赛道很卷,后续需要强化作品导出和复用,打通完整的创作闭环。

看到这里,我还是不能完全释怀路演的失败。奖拿了,不代表那个没有声音的现场突然变好了,也不代表编曲 Agent 就真的跑通了,甚至我依然觉得,这个荣誉奖多少带了一点比赛方的关怀。但另外一面也是真的,在一堆可能比较同质化、都在努力证明自己很有生产力的项目里,一个想让普通人敲几下就变成一支乐队的东西,可能确实显得比较另类。它未必成熟,未必有商业价值,甚至都没有完整实现,但至少让人记住了,可能仅仅是这样。
下一次,先做一坨屎
对第一次参加黑客松的我来说,这已经是非常意外的结果。不过我写这篇复盘,不是为了证明其实我做得很好,恰恰相反,我希望下一次能做一个真正好的项目,而不是靠一个有趣的想法和一点运气,被人从最后一行捞起来。如果再回到那 48 小时,我最先做的不会是打开前端,让 AI 开始抽卡。我会先调研,把自己的想法完整讲给 AI,问市面上和 GitHub 有没有类似项目,真正的技术难点在哪里,推荐的开发顺序是什么,然后把同类项目打开看看,至少先知道 SUNO 已经做到了什么,也知道自己为什么还要做这个东西。
接着我会把工作拆成产品、设计、开发和验证。先让一个总 Agent 充当产品经理,把需求和优先级划清楚,设计上也不能再靠抽奖,平时需要多积累一些喜欢的网站、设计稿和组件仓库,先确定方向,再让 Stitch 或其他工具照着生成。最重要的是,先做一坨屎。 不是先把左边做漂亮,再把右边做漂亮,最后才发现两边接不上,而是先做一个丑到不想截图,但真的能闭环的版本。
页面上只有一个钢琴卷帘和一个输入框都行,用户输入一句提示词,Agent 返回一段真实变化的乐谱,网页能够播放出来,先证明这件事能发生。 然后再去增加音轨、乐器、对话、副驾驶,慢慢靠近 Cursor 和库乐队结合体的样子。这次我口中的完美主义,其实也没有多高尚,我不是在把每个细节打磨到完美,而是一直做那些能立刻看见反馈的东西。前端换个颜色、改个布局,马上就能看到变化,Agent 的输入输出、MIDI 数据结构、模块联调,这些最不确定、最容易失败的东西,被我一直拖到了最后。
结果每一块都想做好,真正拼在一起时,反而什么都没做好。路演也是同样的问题,我以前会觉得,黑客松当然主要看项目,项目做得好就行。但真的参加后才发现,最后的展示本身就是作品的一部分,评委不可能钻进代码里替你寻找亮点,他们看到的是你能不能在几分钟里讲清想法,能不能稳定地让东西跑起来,能不能让人立刻理解它为什么有趣。哪怕项目本身已经做完,演示没准备好,也等于最后一段没有交付,更何况我项目也没写好。
所以下一次,演示视频要提前录,线上会议要提前测试声音,讲述要用自己的话,最核心的一条路径要反复走几遍。不是为了包装一个不存在的东西,而是别让已经做出来的东西,死在最后几分钟。 项目和路演并不是两项互不相干的任务,想法怎么被人理解,结果怎么被人看到,本来就是项目落地的一部分。这也是我第一次参赛时完全忽视的东西。
的确失败了,也的确出发了
这次黑客松,准确的定义应该是,非常低迷的第一次。项目没有真正闭环,路演翻车,获奖完全在意料之外,它没有因为拿了一个特别奖,就突然变成一次完美首秀。但如果没有这个奖,我可能只会记得那场让我脸红的路演,然后慢慢把它归类为一次失败。现在回头看,我至少还能承认另一件事,我真的报名了,真的做了 48 小时,也真的把一个不完整的东西交了出去。
对那些也想参加黑客松,但总觉得自己还没准备好的人,我现在也没有资格教什么成功经验。我的经验恰好是,第一次很可能做不完,可能忘记调研,可能被 AI 的兜底骗过去,甚至可能在音乐项目的路演里播不出声音。但参加过一次以后,下一次该先做什么、哪里会翻车、什么才是真正的完成,突然都具体了。
或许是起跑时摔了一跤,但起码跨过了起跑线。 这次的确失败了,也的确出发了。