AI 音乐 Agent 工作流:编译、校验、生成与试听
给音乐 Agent 一个小而明确的任务:把简报变成结构化草稿、检查矛盾、准备服务商需要的请求、记录结果。这些是不同步骤。文本模型写出了音乐提示词,并不代表已经生成或评估了音频。
从不调用 API 的本地命令开始
克隆 MusicPrompt 仓库,进入其中的 musicprompt 应用目录,使用 Node 20 或更新版本。以下命令分别生成纯音乐蓝图、编译后的提示词和诊断结果:
node scripts/agent.mjs init --mode instrumental --title "Morning walk" > blueprint.json
node scripts/agent.mjs compile --input blueprint.json > prompt.json
node scripts/agent.mjs lint --input blueprint.json
node scripts/agent.mjs catalog > contract.json
compile 和 lint 也接受导出的 musicprompt-project 文件。退出码 2 表示仍有阻止导出的诊断;Agent 应先修正,再请求音频。可下载的合同描述了可接受的选项,它属于 MusicPrompt,并非 Suno 的 API Schema。
有需要时增加一次文本模型请求
把 MUSICPROMPT_API_KEY、MUSICPROMPT_BASE_URL 和 MUSICPROMPT_MODEL 放入进程环境,不要把密钥写入命令参数、项目文件或任务日志。然后执行一次请求:
node scripts/agent.mjs draft --input blueprint.json --task style --instruction "钢琴保持在前景,背景温暖而稀疏" --locale zh-cn > suggested-project.json
此命令可能产生服务商费用。它输出一个可导入的新项目,不改写输入文件。style 修改声音与排除项,lyrics 修改歌词与结构,draft 和 revise 可以修改完整创作草稿。身份、版本历史、凭据和平台控制项不在模型可修改的合同中。
CLI 使用有输出预算的 Chat Completions 请求。不同兼容服务的行为并不完全相同,自带 Key 指南解释了 JSON 和 Token 参数选择。即使服务商声称支持 JSON,返回值也仍会经过校验。
把音频生成交给官方接口
对于 Suno,这条工作流导出文本供官方网页创作流程使用,不会编造或调用 Suno API。若 Agent 需要正式的可编程音乐接口,应查看服务商当前开发者文档。
一个有官方文档的选项是 ElevenLabs Music API 快速开始,其中介绍了付费 API、CLI 和作曲计划。按文档安装并认证官方 CLI 后,可以使用其命令形式请求一段短音频:
elevenlabs music compose --prompt "Quiet instrumental piano with a soft pad and space for narration" --music-length-ms 10000 --model-id music_v2 --output music.mp3
这是服务商接口示例,MusicPrompt 没有执行或试听这次生成。运行前请检查当前 API 模型 ID;Music v2.5 这样的网页公告不能直接确定 API 参数。先限定为一次短请求,并明确支出上限。超时后不要自动重试,因为服务商可能已经处理了请求。
保持小而完整的证据循环
每次记录简报、准确请求、服务商与模型、时间、输出文件名和错误状态。HTTP 成功不证明音乐质量。让实际试听者指出一个带时间点的问题,再由 Agent 提出一项修改,同时保留旧版本。
适合起步的自动化是:编译 → 校验 → 检查请求 → 生成一次 → 试听 → 记录一条观察。先让这个循环产生可检查的证据,再考虑无人值守批量生成。试听记录教程提供了循环中的人工判断部分。