前些天发布了一个AI 作曲 Agent“vibe composing”,在小红书上受到了一些小伙伴的关注,也成功链接到一些过往没机会认识的音乐行业的朋友。

如果你是第一次听说,下面几张图可以帮你快速了解,它像一个轻量版的 AI IDE 一样,只是 for 音乐创作的:

输入自己的创作意图,让 AI 来帮你规划,生成每个音轨的音符。

在 AI 输出之后,你可以点击播放按钮试听(所见即所得),如果有问题就让 AI 调整,可以整个轨道重写,也可以指定修改某个片段(指哪打哪);如果没问题就继续下个轨道;直到把完全的 loop 做出来。

(体验地址:vibecomposing.space 注:需 Gemini API key)

我用这个工具做了几个乐段,有黑帮说唱、日系摇滚、抒情流行等,这里不讨论主观的听感,从乐理的角度分析,这些声部至少是能协同的。

虽然只是片段、音轨也只有最基础的 4 条,听起来并不会那么有层次。但是却比 suno 这样的 AI 作曲应用有更强大的可控性,也更能够享受到创作的乐趣,可以导出 midi 和 Suno 配合使用,起到一个互补的作用。

这篇文章主要分享 Agent 工程实践,分享给对 AI coding、Agent开发感兴趣的朋友。我会假设你是了解 coding 的基础知识和 Agent 的相关概念的。内容比较长,可以先收藏。

首先,这件事能成立,有2 个前提条件

Gemini 3 pro的超能力

写多轨道的音乐是一个复杂的逻辑一致性问题。Gemini 3 Pro的超强长上下文推理让它能处理多轨道之间复杂的对位关系。

我们的 MIDI 要让机器读取出来,用的是格式严苛的 JSON 格式,而Gemini近期强化了对 JSON Schema 等结构化数据的遵循能力。

如果你扔给它一张复杂的乐谱截图或者json格式的 midi,你会发现它是能理解的,Gemini 3 Pro 的原生多模态理解能力,可以让它原生地理解乐谱的的旋律走向和配器逻辑。

务实的交付目标

我并不奢求 AI 能够可控地一次性做完完整曲子的 MIDI,而是更加务实地将一个8 小节左右的乐段作为交付目标。

因为如果让 AI 一次性直接做一首完整的曲子的 MIDI,大概率还是会超出上下文过长当前模型会注意力涣散,导致交付质量不佳,什么工程手段都没用,而若干个小节就能表现得相对好。

而在音乐制作领域这个能被接受是因为:音乐本身是基于核心动机的各种形式的重复,所以一个 loop 的创作的价值很大,可以定下一首曲子的灵魂了。

Agent 是如何构建出来的?

  1. Agent 编排
    ===========

在正式动手写代码之前,我花超过一半时间泡在 Playground 里

实际开发 Agent 的时间(不算音乐引擎的部分),不到 prompt 调试的一半。

所有的AI功能点(从生成完整轨道到修改特定小节)都先在 Google AI Studio 的 Playground 中经过高频实验,反复去磨那些 Prompt 的指令技巧,实验各种各样的提示词策略,直到它能稳定地输出我想要的效果。

这种“实验先行”的做法,让我在写代码的时候心里非常有底。对我来说,Agent 的开发只是帮我调试完的工作流或者更准确的说,是人机协作模式标准化、在线化而已。

我尝试过:

  • 一次性输出全部4 个轨道的 8 个小节的全部音符。
  • 每 2 个小节 2 个小节的 4 个轨道输出。
  • 一个轨道一个轨道完整输出的。
  • 一个轨道一个轨道 2 个小节小节输出的。
  • 无规划,一上来就直接写 MIDI 的。
  • 要求 AI 在给 json 之前先把思路写出来的。

我最终调试出来的最佳模式,很有意思,居然和 AI coding 执行长程开发任务的技巧很像。想想也很合理,因为写音乐也是需要严密逻辑支撑的长程任务。体现在 prompt 设计上:

首先,我们的初始创作意图往往是模糊的感性描述。就像写代码前要先写技术方案一样,AI 需要先和我们多轮对话,把感觉翻译成参数。否则一上来就写,跑歪了不仅浪费时间,更浪费宝贵的 Token。该步骤的 Prompt 见下图:

Prompt 日志

其次,就像 Cursor 和 Claude Code 都有 Plan 模式,AI 写歌也必须先出蓝图。有了这个全局规划,后续的每一个音符生成才会有统一的顶层设计,确保风格和结构的一致性。该步骤动态构建的 Prompt 如下:

第三,Coding 讲究“高内聚低耦合”,写歌也要分轨推进。不能一股脑全生成,必须一个轨道一个轨道来。因为音乐各声部之间存在严密的依赖关系——就像函数的输入输出,如果鼓写错了,依附于它的贝斯肯定也会乱。分步开发,才能定位问题。该步骤动态构建的 Prompt 如下:

第四,一个模块(轨道)开发完,必须先停下来跑通测试——也就是试听。确认当前轨道没问题,再进行下一个。虽然并行开发速度快,但串行开发能确保每一个环节的质量。

第五,cursor 和 claude code 在执行长任务的时候,都会有一个 to do list,用于状态追踪,不会重复执行,或者中途迷失了方向,AI 写音乐也是一样,所以我会搞一个状态追踪的全局状态。该步骤动态构建的 Prompt 如下:

  1. 架构设计
    =======

确定了这套类似 AI Coding 的工作流之后,在底层的技术架构选型上,我深受 Martin Fowler 最近在访谈中提出的 “混合架构模式” 的启发(参考资料我附在文末了)。

Fowler 认为,AI 的本质是概率性的,而软件工程追求的是确定性的。要解决这个矛盾,最好的范式是:让 AI 负责生成中间态的结构化数据,然后由确定性的代码引擎去执行它。

这正是本项目技术选型的底层逻辑:

  • 概率层—— Gemini 3 Pro
  • 确定层 —— Tone.js + React

基于这套架构哲学,我最终捏出来的是一个强约束下的 Agentic Workflow:

战略层的高度自主规划:AI 能够通过 generate_plan 工具自我拆解任务(先定风格,再分轨生成)。比如AI 会自己决定这需要“慢速 BPM”、“小调音阶”以及“先写和弦再写旋律”的步骤。

战术层的工具选择能力:AI 能够选择是用 create_track 工具还是 update_settings 工具,典型的 ReAct 模式。

执行层的“戴着镣铐跳舞” :正因为有了上述的确定性架构,一旦进入具体的“写歌”环节,AI 被强制锁定在极其严格的 JSON Schema 中。虽然输出格式是固定的,但填什么音符完全由 AI 决定。AI 决定了旋律的起伏、节奏的疏密。

  1. 上下文工程
    ========

说白了就是怎么在有限的篇幅里,让 AI 在每个环节都能拿到最有用、最干净的信息。我参考了 Langchain 的 Lance Martin 和 Manus 的 Peak 的实践(链接我附在文末了)。

上下文隔离

我用了planner-executor 这种分层的模式。Planner 这一层主要看大局,负责项目管理、推进,它接触到的信息是用户的原始意图、目前的创作进度、还有现在的 BPM 这些全局状态。它不用去管具体的每一个音符是怎么排的,只需要负责把用户的模糊需求变成清楚的指令。它就像个负责沟通的环节,把复杂的信息过滤了一遍。

等到了 Executor 这一层,看到的信息就完全不一样了。它主要负责创作,接收到的是 Planner 发出的具体指令,加上非常详细的参数规范(JSON Schema)。它不去看那些没用的聊天记录,只盯着要写的这段音乐数据。这种把信息隔离开的处理方式,让 AI 每次干活的时候注意力都很集中,不会因为看到太多杂乱的信息而产生幻觉。

然后我给不同的活儿配不同的模型,也是基于这种信息的复杂程度来定的。Planner 处理的是对话和调度,对速度要求高,逻辑相对直接,所以用 Flash 模型就非常合适,反馈特别快。Executor 要处理的是严谨的乐理和复杂的 JSON 格式,出一点错谱子就没法播,所以必须用 Pro 模型来保驾护航。通过这种方式,整套流程跑起来既稳当又省钱。


对于 Executor 而言,我还会针对不同任务,精细控制了 AI 的视野

动态规范注入也是个很有用的办法。写鼓的时候我就只给它看鼓的映射表,写旋律的时候就只给它看旋律的音色库。这种按需提供信息的方式,能防止 AI 把不同轨道的规则搞混,也降低了 AI 的推理成本。

局部片段管理:如果是修改任务,我就只把要改的那一小段数据以及该时段的参考音轨数据拿给 AI 看。这样做能够参考其他轨道进行协同创作,又避免了处理大几百行无关音符数据带来的干扰,同时也防止了 AI 意外修改到其他正常的小节。

上下文压缩(有损)

规划生成之后,我会调用另一个轻量级 AI 任务,将复杂的音乐创作规划压缩为 100 字以内的核心摘要(风格、BPM、调性、主乐器)。在后续所有对话中,系统 Prompt 会包含这个摘要,而原始的冗长规划则从对话历史中隐藏。这解决了长对话中“初始意图丢失”的问题。即便对话进行了很多轮,核心的创作蓝图依然以极小的 Token 成本保存在 Planner 的系统提示词中,保证了创作的连贯性。压缩的指令如下:

上下文卸载

对于生成大量数据的工具(如 create_track),在发送给 AI 的消息历史记录中,系统会将原始 JSON 数据替换为占位符(例如:[详细规划内容已隐藏,请参考 System Prompt 中的摘要])。

当然,卸载后还可以检索回来, 用 read_track_data 即可。

固定的系统指令

始终存在的,让 AI 不迷路,此处针对负责任务调度的 planner。

  • 角色、职责信息,不能忘了自己是干嘛的。
  • 可调用的工具。
  • 全局参数:就像一个实时状态仪表盘。我在系统提示词里专门留了个位置,放现在的创作阶段、已经写好的轨道、规划摘要 这些核心数据。这样 AI 随时都能看到当前的最准确状态,不管对话进行了多少轮,它都能找准自己的位置,不会因为聊久了就跑题。

上下文缓存

稳定内容在前,动态内容在后,可以命中缓存,节约成本 70%这样。

对于 planner 来说,工具定义部分不归我管,API 厂商会默认放 prompt 最最最前面,然后是系统提示词,然后才是是一直会变动的、我前面提到的全局参数,最后是对话消息历史。

对于 executor 来说,我会把大段的 json 格式规范放前面,把规划文档、用户的意图放后面,除了节约成本,也符合官方的建议,模型对于最下方的文字和最开头的文字的注意力权重会更高。


  1. 追踪
    =====

没有追踪就是在盲人摸象。不过我没有用 langsmith,因为我用不到太多的功能,而且它的日志阅读起来不太友好,也不能定制,我直接让 AI 帮我帮我做个日志导出功能,可以按我要求来输出日志的格式和内容,有什么新需求也可以随时追加,也不用跳出 IDE,很方便。

我如何追踪问题的,分享 2 个真实案例:

  • 创作测试过程中,我发现有一些音很不和谐,后来发现是因为超过了音域范围,然后我的代码直接将那个没法装进来的音,映射到某个音上了,那自然很不和谐啊。
  • 我用的是 planner-executor 的架构,planner 负责和用户沟通和 executor 下达指令;executor 只负责执行具体任务,然后我发现用户提的要求怎么都被忽略了,看了日志才知道,原来信息没有传递过去,当时我压根在构建 executor 的 prompt 的时候,就没有支持 planner 传入指令。

  1. 评估
    =====

当前版本评估做得是很不到位的。

事实和规则类(比如乐理逻辑的正确性、和弦构成是否符合规划),我可以用LLM-as-a-judge 的方式来评估;而最终的交付的乐段的主观评价(好不好听、有没有感情),我需要找人类专家来评估的。我应该要准备测试集。这些工作是缺失的。

不过考虑到现在还是早期版本,工作流也没有固化下来,我接下来还会找些对产品感兴趣的朋友,尤其是已经在用 AI 作曲的人士,再迭代下工作流,也欢迎感兴趣的朋友主动和我联系。如果顺利的话,我可能也会寻觅一些合作伙伴共同迭代,那时候就需要引入更加严谨地测试了。

结语

目前的 Vibecomposing 还只是一个略显稚嫩的 MVP 版本,还有很长的路要走。如果你是对这套技术栈感兴趣的开发者,或者是希望尝试这种新型创作流的音乐人,欢迎在评论区留言或私信交流。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
在这里插入图片描述
在这里插入图片描述

以上全套大模型资料如何领取?

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐