一个挺有意思的无用想法-_-
我攀登了传统的职业阶梯。
我曾梦想成为摇滚明星,失败了;然后学会了编程,创业失败;最后成了一名产品经理。这是一条跟“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 能做我们懒得做的一切事。
安全方面我交给那些“最小权限原教旨主义者”同事们,我只说几点我碰到的问题:
- 应该允许工具定义一个
instructions字段,专门提供给 AI 使用,告诉它怎么调用工具、如何处理返回结果。UI 中可以展示这个字段(为透明性考虑),但默认收起。 - MCP 应该支持异步流式返回消息。像 Vibe MCp 这种工具,会触发后台任务,我们需要能拿到任务进度,前端可以展示给用户。如果是委派复杂任务,谁不想随时了解状态、遇到阻塞点就能干预?
- MCP 应该能传 UI 元素给客户端渲染。比如说,在我的项目中,如果 MCP 能直接传一个播放器组件回来,让用户能点播放/暂停/停止,那就太棒了。
- 最后一个和 MCP 无关——能不能有个人搞个“生成式音频流 API”?
就像 OpenAI 的实时 API 加上 WebRTC 一样的结构!
套用 Bill Burr 模仿 Steve Jobs 的话说一句: “赶紧搞!”
欢迎大家分享你们正在做的那些有用或无用的项目,真的可以联系我看看!
也别忘了去看看那些超赞的 MCP。
我很开心能在这样一个创作者社区里参与其中,也希望能继续推动 Cline,不论是做产品级工具,还是“vibe 编程”的玩具。
致 AI、Cline,以及那些永远在昨天就要功能的产品经理。让写代码重新变得有趣。
— Trevor