用途
该技能用于修改 ElevenLabs 智能体中较长的文本字段,包括系统提示词(system prompt)、首条消息/问候语(first message / greeting)、工具描述(tool description)、工作流节点提示词(workflow node prompt)以及 procedure 内容。它针对的是“只改一段文字”的场景,而不是修改语言、TTS 模型、LLM 等非文本单字段配置。
主要能力
- 修改系统提示词与首条消息:读取 branch 作用域下 agent 的
conversation_config.agent.prompt.prompt或conversation_config.agent.first_message,在本地编辑为完整新文本后整体 PATCH 写回。 - 修改工具描述:描述位于工具对象上而非 agent 上,需先 GET 工具,编辑其 description 字段,再将完整工具配置 PATCH 回去(该 PATCH 会替换整个工具)。
- 修改工作流节点提示词:节点提示词位于 agent 配置的 workflow 中,只有
override_agent节点和 prompt 类型的 say 节点具有可编辑提示词。需按节点 id 定位,设置完整新文本后通过配置 PATCH 写回。 - 修改 procedure 内容:procedure 内容不走 agent 配置 PATCH,而是先写入 procedure draft,再通过提交 agent 完成发布。procedure 没有直接的 PATCH(会返回 405),且 draft PATCH 不能更改 procedure 的 type。
使用方式
整体思路是“读取、修改、写回”:GET 目标字段,生成完整的新字符串(追加一行、替换一段或整体重写),然后将整个字段 PATCH 回去。这里没有浏览器式的查找替换,也没有编辑前读取的门槛;由于刚获取过当前文本,应自行计算精确的新字符串,不要凭记忆编辑。
系统提示词与首条消息示例:
curl -s "https://api.elevenlabs.io/v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID" -H "xi-api-key: $API_KEY" \
| jq -r '.conversation_config.agent.prompt.prompt' > prompt.txt
编辑 prompt.txt 为完整目标文本后,整体 PATCH 写回:
curl -s -X PATCH "https://api.elevenlabs.io/v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID&version_description=prompt-edit" \
-H "xi-api-key: $API_KEY" -H "Content-Type: application/json" \
-d "{\"conversation_config\":{\"agent\":{\"prompt\":{\"prompt\":$(jq -Rs . < prompt.txt)}}}}"
jq -Rs . 会对整个文件做 JSON 编码,自动处理引号、箭头、破折号和换行。首条消息的读写方式相同,字段为 conversation_config.agent.first_message。
工具描述示例:
curl -s "https://api.elevenlabs.io/v1/convai/tools/$TOOL_ID" -H "xi-api-key: $API_KEY" > tool.json
# edit the description field in tool.json to the full new string
curl -s -X PATCH "https://api.elevenlabs.io/v1/convai/tools/$TOOL_ID" \
-H "xi-api-key: $API_KEY" -H "Content-Type: application/json" \
--data-binary @tool.json
Procedure 内容需两步:先读取当前 procedure 正文,再将完整新内容作为 draft 提交(需发送 name、content、type、trigger),最后通过提交 agent 发布待处理 draft。发布时最简单的无操作方式是原样重发当前 branch 的 prompt:
curl -s "https://api.elevenlabs.io/v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID" -H "xi-api-key: $API_KEY" \
| jq -r '.conversation_config.agent.prompt.prompt' > current_prompt.txt
curl -s -X PATCH "https://api.elevenlabs.io/v1/convai/agents/$AGENT_ID?branch_id=$BRANCH_ID&version_description=publish-procedure" \
-H "xi-api-key: $API_KEY" -H "Content-Type: application/json" \
-d "{\"conversation_config\":{\"agent\":{\"prompt\":{\"prompt\":$(jq -Rs . < current_prompt.txt)}}}}"
发布前应获取 $BRANCH_ID 作用域(而非 main)下的当前 prompt,以免覆盖其他 branch 本地差异。draft PATCH 会替换整个正文,因此比就地拼接更干净。
适用场景
适用于需要调整智能体长文本内容措辞的场景,例如追加一条规则、替换某段文字或整体重写提示词。也适用于修改工具描述、工作流节点提示词以及 procedure 内容。
限制与注意事项
- 不要为了改措辞而重发包含多个字段的大配置块;宽泛的配置 PATCH 失败率高,且重发大块内容有静默丢失字段其余部分的风险。
- 每次写入后应重新读取同一字段,确认新文本已生效且其他内容未被扰动;procedure 需确认发布后 version_id 已变化。
- 这些编辑落在当前 branch 上,只有 branch 合并后才会生效,因此需提醒工程师在合并前审查并测试新行为。
- 修改语言、TTS 模型、LLM 或任何非文本单字段不属于字符串编辑,应走配置 PATCH 流程,并注意语言与 TTS 模型的跨字段约束(参见 architect-update-config-safely 技能)。
- 需要工程师提供
$API_KEY、$AGENT_ID和$BRANCH_ID;主机为 https://api.elevenlabs.io,请求头为xi-api-key: $API_KEY。 - 若在工作流节点上找不到可编辑提示词,说明节点 id 有误或该节点类型不可编辑。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。