Claude Code的源码上周意外公开了,我这个不懂编程的作曲博士看了半天
上周四晚上,德国时间大概10点多。
我正在用Claude Code帮我写一个小工具——一个可以分析和弦进行的脚本,输入一段乐谱,自动标注每个和弦的功能和级数。我已经和Claude来回改了将近两个小时,中间崩溃了三次,但最后跑起来了。看着终端里一行行绿色的输出字符,我有一种说不清楚的满足感——那种做出了一个以前不存在的东西的感觉。
然后我刷到一条推送:Claude Code的源代码意外公开了。51.2万行TypeScript代码。
我愣了一下,然后点进去看了很久。
我必须先说清楚:我不是程序员。
我本科在中央音乐学院学作曲,刚从德国音乐学院博士毕业,研究方向是作曲。我写的是乐谱,不是代码。到半年前为止,我甚至不太清楚终端长什么样。
所以我打开那个代码仓库,什么也看不懂。
但我还是看了很久。不是因为我能读懂逻辑,而是因为我第一次看到了这个东西的「体积」——51万行。我每天在用的这个工具,它的内部是这个规模的。
我大概是一个月前开始用Claude Code的。
起因很具体:我想做一个给音乐考研学生用的和声练习系统——学生上传四部和声作业,系统自动批改,标出声部进行的错误,给出修改建议。
这个需求在音乐教育里非常真实。一道四部和声题,认真批改要花五到十分钟。一个班30个学生,一周两次作业,老师每周光批改就要花近十个小时。大多数老师根本没时间这样做,批改质量自然参差不齐。
我觉得这件事AI可以帮忙。但我不会编程。
最开始我用ChatGPT。「帮我写一个Python脚本,可以读取MusicXML文件,分析和弦进行。」
它给了我代码。我复制粘贴,报错。我再问它怎么修,它又给了一段代码。继续报错。
这个循环持续了三周,什么有用的东西都没做出来。
问题不是AI不行。是我缺少一个最基础的理解:一个软件项目「应该长什么样」。我不知道文件该怎么组织,不知道依赖该怎么管理,不知道为什么同样的代码在我的电脑上就是跑不起来。
我就像一个第一次进厨房的人,手里拿着菜谱,但不知道锅放在哪里、火开多大。
Claude Code的出现,对我来说像是突然有个人站在了我旁边,说:「你想做什么?我来陪你一起做。」
用了Claude Code之后,最大的变化不是速度,是我开始慢慢理解发生了什么。
以前用ChatGPT,我把它当代码生成机器。输入需求,输出代码,跑起来了皆大欢喜,没跑起来继续问。整个过程我是懵的。
Claude Code不一样。它会在终端里告诉你它在做什么,为什么这样做,遇到了什么问题,准备怎么解决。这个「陪你思考」的感觉,对我来说非常关键。
因为我学的是作曲。我们训练的核心能力就是「理解结构」——一首曲子为什么这样写,内在逻辑是什么,这个选择和那个选择的差异在哪里。
当Claude Code说「这个函数现在这样写是因为MusicXML的数据结构是这样的,但如果你以后想支持MIDI输入,建议换一种写法」,我能听懂这句话。我能跟上它的思路。
这种感觉,和我跟我的作曲导师讨论结构问题时,有一点相似的地方。
过去这段时间,我断断续续用Claude Code做了几个东西:
第一个是和弦功能分析脚本,现在还很粗糙,但能用了。我把它嵌入到给学生上和声课的流程里,学生提交文件,脚本先跑一遍标出明显的声部错误,我再人工复核。这一步大约节省了我三分之一的批改时间。
第二个是一个简单的背谱练习工具——曲谱以随机顺序显示片段,你需要指出这是哪个作品的哪个位置。非常简陋,但我自己在用,比刷题软件更适合我的练习方式。
第三个还在做,是一个音乐考研复习系统,把历年真题整理成结构化数据,可以按题型、年份、院校筛选,像刷题一样练习和声分析。
这些东西,如果放在两年前,我根本不会想着自己做。我会觉得「这得找程序员」。但现在我知道:用Claude Code,我能做出来。做得慢,做得糙,但能做出来。
回到上周那个晚上。
我打开那个代码仓库,在里面逛了一个多小时。看不懂,但我能感受到规模。
然后我想起我的作曲老师很多年前说过的一句话。他是个挺严苛的人,不轻易夸学生,但有次他翻了翻我的一首弦乐四重奏,说:
「你知道这种效果是怎么来的吗?」
我说了我能想到的:音色、织体、力度对比。
他摇摇头说:「是你看不见的那部分。四个声部之间的关系,你以为你写了四条线,其实你在管理的是十二对关系。你看见的是结果,那十二对关系才是真正在工作的东西。」
看着Claude Code的源码,我想起了这句话。
我每天用它,我看见的是它输出的代码和文字。但背后是51万行、一大群工程师几年时间、无数次决策和迭代。我用来做我的音乐工具的,是一个我完全看不见规模的东西。
这个认知,让我有一点震撼,也让我有一点释怀。
我曾经有很长一段时间,觉得自己应该「真正学懂编程」,不然没资格做产品。但「懂编程」这个词,是个无底洞。
当我把目标从「学懂编程」换成「用工具做出有用的东西」,一切都顺了很多。
我用Claude Code开发工具,就像我用Sibelius写乐谱。Sibelius里有几十年的工程代码,我同样不懂。但它帮我把脑子里的音乐变成可以被人读到的乐谱。Claude Code帮我把「这个需求可以被解决」的想法,变成可以运行的程序。
工具是拿来用的,不是拿来完全理解的。这话说起来简单,但真正接受,花了我很长时间。
我现在的状态:各种音乐在写,账号在运营,这些小工具还在迭代。
德国的同学有时候会问我:「你一个学作曲的,做这些干什么?」
我说:因为我想解决真实的问题,因为现在有工具让我能做到了。
我想问问你:
如果有一个工具,可以帮你做到以前「必须找专业人士」才能做的事,你愿意花时间学怎么用它吗?
你能接受「我不懂它的内部机制,但我能用它做出有用的东西」这个状态吗?
留言告诉我,我很好奇你的答案。
→ 如果你对一对一学作曲或者音乐专业规划感兴趣,欢迎私信聊聊。我目前有少量私教课名额,¥500/课时,专门针对认真想走音乐这条路的人。
以及我将会在公众号和小红书陆续开源我制作的小工具,欢迎关注。
更多短内容在小红书搜索「胡一轩」,欢迎来找我。
夜雨聆风