Vibe MCp:给代码生成“音乐风格”

141 阅读5分钟

转载

一个挺有意思的无用想法-_-

我攀登了传统的职业阶梯。

我曾梦想成为摇滚明星,失败了;然后学会了编程,创业失败;最后成了一名产品经理。这是一条跟“Sun Microsystems”一样古老的路径。我在“你来跟我讲十亿美金的主意,我占你公司5%”和“我来跟你讲十亿美金的主意,你嫌我烦”之间反复横跳。


拥有个人专属原声带的梦想

这些年来,我脑海里一直有个想法:能不能拥有一个“自带原声”的人生?
我设想过,它应该是一个能够实时感知各种信号的推荐系统,比如加速度计、GPS、周围的音频……系统会播放和你当下体验高度匹配的音乐。音乐可以让一切变得更史诗——无论是在跑步、深夜漫步城市,还是专注敲代码的时候。

我从未想过,这个愿景如今不但实现了,而且音乐本身甚至可以即兴生成。与其说它是个DJ,不如说它是你的“Rick Rubin(传奇音乐制作人)”。

Vibe MCp 并不是那个原声带系统。
但它带来了类似的感觉——那种“它可能会做点出乎意料的事”的感觉。
这在企业软件中可能是灾难,但在生活里却是惊喜。
当你在 Cline 中开启 vibe session,它会读取上下文中的代码,并生成与之匹配的音乐。怎么做到的?靠一组过度设计的算法——虽然看起来不怎么合理,但嘿,重点是有 vibe

下面是 utils.ts 文件中的部分函数:

  • AnalyzeComplexity(分析复杂度)
  • calculateEntropy(计算熵)
  • analyzeCodeBinaryForMood(分析二进制代码的情绪)
  • analyzeCodeStructure(分析代码结构)
  • analyzeCodeStyle(分析代码风格)
  • analyzeSentiment(分析情绪倾向)

没人想给这些代码做 Code Review,这没关系,它能跑就行。最终输出到 Stability Audio 的内容可能是这样的:

🎵 Vibe session 启动:
风格:Lo-fi house  
情绪:混乱、有规律  
节奏:106 BPM  
旋律风格:顺畅流动  
情感倾向:中性  
灵感来源:优雅整洁的 JavaScript 代码  
配器:原声鼓组、四拍节奏、侧链锯齿波垫底、高频打击点缀、极简低音线

音乐应捕捉 JavaScript 编码时的精髓:一种混乱但有序的氛围。

编程语言有“音乐风格”吗?

代码到底有没有 vibe?你怎么看?

下面这张对照表也许很天真,但你无法否认它在某些地方还挺准:

  • javascript:lo-fi house、chillhop、trip hop
  • typescript:synthwave、ambient techno、deep house
  • python:ambient、downtempo、chillwave
  • java:orchestral、cinematic、epic
  • csharp:electronic、IDM、glitch
  • ruby:jazz、bossa nova、smooth jazz
  • go:minimal techno、dub techno、microhouse
  • rust:industrial、dark ambient、techno
  • php:vaporwave、retrowave、future funk
  • html:pop、indie pop、electropop
  • css:dream pop、shoegaze、ambient pop
  • sql:acid jazz、nu jazz、broken beat
  • shell:breakbeat、drum and bass、jungle

我不确定 Ruby 是不是爵士,但我完全能接受 Rust 是工业风,CSS 是 shoegaze,而 HTML?它当然是 pop,编程语言中的 Drake——声明式、单一维度


用 Cline 编程:从产品经理到周末码农

我能在一个周末就做出这个项目,简直疯狂。
在做创始人的那三年里,我基本没怎么写代码;而作为产品经理的这四年,我更多专注在战略上。

Cline 让我花更多时间在调 API、测试想法上,而不是去记语法。
这是一种更高阶的思维模式

我想我们其实都在感受到这种转变,不论你是初学者还是技术大神。
现在满世界都在讨论“10 倍效率提升”和“裁员风险”。
但我们是否忽略了一个事实——代码不必再那么“有用”了

你想什么就能做什么,真的做得出来。
这不是生产力提升 900%,是解锁无限创造力

我后来还加了个“歌词模式”给 Vibe MCp——它会写出和代码相关的歌词(虽然有点延迟)。
效果非常搞笑。
但如果我还得反复调 bug、捶键盘才能搞定这个小玩具,我八成会放弃。
在我看来,Cline 帮我屏蔽了写代码最烦的部分,保留了最有趣的 flow、vibe 和创造力——而这些,正是开源精神的核心驱动力


开发 MCP 时学到的一些事

说到开源,不妨聊聊 MCP 协议。
做一个“无用”的 MCP,其实帮我摸到了这个协议的极限。
我们现在在 Cline 内部讨论的是:怎么让工具的使用和发现变得更强大,从而实现那个愿景——AI agent 能做我们懒得做的一切事

安全方面我交给那些“最小权限原教旨主义者”同事们,我只说几点我碰到的问题:

  1. 应该允许工具定义一个 instructions 字段,专门提供给 AI 使用,告诉它怎么调用工具、如何处理返回结果。UI 中可以展示这个字段(为透明性考虑),但默认收起。
  2. MCP 应该支持异步流式返回消息。像 Vibe MCp 这种工具,会触发后台任务,我们需要能拿到任务进度,前端可以展示给用户。如果是委派复杂任务,谁不想随时了解状态、遇到阻塞点就能干预?
  3. MCP 应该能传 UI 元素给客户端渲染。比如说,在我的项目中,如果 MCP 能直接传一个播放器组件回来,让用户能点播放/暂停/停止,那就太棒了。
  4. 最后一个和 MCP 无关——能不能有个人搞个“生成式音频流 API”?
    就像 OpenAI 的实时 API 加上 WebRTC 一样的结构!
    套用 Bill Burr 模仿 Steve Jobs 的话说一句: “赶紧搞!”

欢迎大家分享你们正在做的那些有用或无用的项目,真的可以联系我看看!
也别忘了去看看那些超赞的 MCP。

我很开心能在这样一个创作者社区里参与其中,也希望能继续推动 Cline,不论是做产品级工具,还是“vibe 编程”的玩具。

致 AI、Cline,以及那些永远在昨天就要功能的产品经理。让写代码重新变得有趣。

— Trevor