SuperAPI AI 工具集

architect-edit-string-fields

智能体与模型

查看项目

更新于 10-16 06:55

技能介绍

用途

该技能用于修改 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 有误或该节点类型不可编辑。
  • 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。