Skip to main content

什么是系统提示词?

系统提示词(System Prompt)用于定义 AI 的角色、行为准则和回复风格。它在对话开始前设置,影响 AI 的所有回复。

什么是 promptType?

promptType 是一个预定义的场景标识符,具有两个独立的作用:

1. 工具集映射(内置、强制)

promptType 通过内置的 PROMPT_TOOL_MAPPING 决定该场景下 AI 可以使用哪些工具。 示例:
  • bossZhipinSystemPrompt → 自动启用 bashfeishuwechatcomputer 等招聘场景工具
  • generalComputerSystemPrompt → 自动启用通用计算机工具
重要:工具集映射是内置的,由系统自动管理。即使你不提供 context.systemPromptspromptType 仍然会决定可用工具。

2. System Prompt 查找(可选、由调用方提供)

如果你在 context.systemPrompts 中提供了对应的提示词文本,promptType 也会用作键名来查找 system prompt。
promptType 查找 system prompt

System Prompt 配置方式

方式 1:直接指定(优先级最高)

使用 systemPrompt 字段直接传入,覆盖所有其他来源:
直接指定 systemPrompt
推荐:如果你需要完全自定义 system prompt,直接使用 systemPrompt 参数最简单。

方式 2:使用 promptType + context.systemPrompts

通过 promptType 引用你在 context.systemPrompts 中定义的提示词模板:
使用 promptType + context.systemPrompts
这种方式的优势:
  • 可以管理多个提示词模板
  • promptType 同时决定工具集和 system prompt
  • 适合多租户、多场景应用

方式 3:仅使用 promptType(仅启用工具)

如果你只提供 promptType 而不提供 context.systemPrompts,系统会:
  • ✅ 根据 promptType 启用对应的工具集
  • ℹ️ System prompt 使用默认值:"You are a helpful AI assistant."
仅使用 promptType(启用工具集)

方式 4:使用默认值

如果既不指定 systemPrompt 也不指定 promptType
  • System prompt: "You are a helpful AI assistant."
  • 可用工具:由 allowedTools 决定(如果未指定则无工具)

优先级规则

System Prompt 的选择遵循以下优先级:
System Prompt 优先级顺序
工具集的决定

可用的 promptType

使用 GET /api/v1/prompt-types 查询所有可用的 promptType 值:

查询 promptType 对应的工具

使用 GET /api/v1/tools 查看每个 promptType 对应的工具集:
查询工具列表
响应会列出每个工具及其所属的 promptType

完整示例

示例 1:使用 promptType 同时配置工具和 prompt

promptType 同时配置工具和 prompt
效果
  • ✅ System prompt: 使用你提供的自定义文本
  • ✅ 可用工具: bossZhipinSystemPrompt 对应的招聘工具集

示例 2:直接指定 systemPrompt(覆盖一切)

直接指定 systemPrompt(最高优先级)
效果
  • ✅ System prompt: 使用你直接指定的文本(覆盖 promptType 查找)
  • ✅ 可用工具: generalComputerSystemPrompt 对应的工具集
注意:这里 promptType 的作用仅用于工具集映射,不会用于查找 system prompt(因为 systemPrompt 优先级更高)。

示例 3:仅使用 promptType 启用工具

仅使用 promptType 启用工具(使用默认 prompt)
效果
  • ℹ️ System prompt: 使用默认值 "You are a helpful AI assistant."
  • ✅ 可用工具: generalComputerSystemPrompt 对应的工具集

验证配置

使用 validateOnly 预检

使用 validateOnly: true 检查配置是否正确,而不实际执行对话:
使用 validateOnly 预检配置
响应会告诉你:
  • 哪些工具可以成功初始化
  • 缺少哪些必需的上下文
  • promptType 是否有效

无效的 promptType

如果 promptType 不在 OPEN_API_PROMPT_TYPES 列表中,系统会:
  • ⚠️ 忽略工具集映射:不会自动启用该 promptType 对应的工具
  • 仍可查找 system prompt:如果你在 context.systemPrompts 中提供了该键,仍会使用
示例
无效的 promptType 示例
结果
  • System prompt: 使用 “你是自定义助手” ✅
  • 工具集: 仅 bash(不会自动映射工具)⚠️
建议:使用 GET /api/v1/prompt-types 查询有效值以获得完整的工具集映射支持。

最佳实践

清晰定义 AI 的身份和职责:
明确 AI 应该遵循的规则:
如需特定格式的输出,在提示词中说明:
如果你的应用有多个场景(如招聘、客服、技术支持),使用 promptType 来: - 为每个场景配置专用工具集 - 在 context.systemPrompts 中管理多个提示词模板 - 通过切换 promptType 快速切换场景
如果你的应用只有一个场景,或者不需要工具调用,直接使用 systemPrompt 参数最简单。

下一步

上下文管理

了解完整的上下文配置

工具系统

了解工具如何与 promptType 配合

文本对话

开始使用文本对话功能

工具调用

查看工具调用的完整示例