news 2026/4/30 17:39:58

006_prompt

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
006_prompt

prompt 是什么

提示词的核心价值是标准化大模型的输入指令

  • 通过自然语言或结构化语言(如 JSON、XML)告诉模型 “要做什么、输入是什么、输出格式是什么”。
  • 例如:“请将以下文本翻译成英文,输入:‘你好世界’,输出格式为纯英文句子”
  • 使用者和大模型只要遵守提示词的约定,就能减少模型的 “幻觉”,得到预期结果。

prompt 提示词类型

提示词消息分成了多种角色。每个消息都被分配了特定的角色。 这些角色负责对信息进行分类,明确提示中每个部分的上下文和目的,供AI模型使用。 这种结构化的方法增强了与AI沟通的细腻度和有效性,因为提示的每个部分在互动中都扮演着独特且明确的角色。

主要职责包括:

  • 系统角色:指导AI的行为和响应风格,设定AI如何解释和响应输入的参数或规则。这就像在发起对话前先给AI提供指令。
  • 用户角色:代表用户的输入——他们对AI的问题、命令或陈述。这一角色至关重要,因为它构成了人工智能应对的基础。
  • 助理角色:AI对用户输入的回应。 这不仅仅是一个回答或反应,更对于保持对话的流畅性至关重要。 通过追踪AI之前的回复(其“助理角色”消息),系统确保互动连贯且符合上下文。 助手消息也可能包含功能工具调用请求信息。 它就像AI中的一个特殊功能,用于执行特定功能,比如计算、获取数据或其他不仅仅是说话的任务。
  • 工具/功能角色:工具/功能角色专注于回复工具呼叫助手消息时返回更多信息。
1.SYSTEM(系统角色)
  • 核心用途:定义大模型的行为准则、角色定位、能力边界和全局约束,相当于给模型设定 “工作手册”,贯穿整个对话流程。

  • 特点:优先级较高,会影响模型后续所有回复的风格、逻辑和范围,通常在对话开头传入,无需频繁修改。

  • 示例

    // 系统消息:定义模型为Java技术助手,指定回答约束 SystemMessage systemMsg = new SystemMessage("你是一名资深Java开发顾问,回答需简洁专业,仅围绕技术问题,不涉及无关内容");
2.USER(用户角色)
  • 核心用途:代表用户的输入、问题、指令或需求,是触发模型回复的核心消息类型。

  • 特点:在多轮对话中可多次出现,每一条用户消息通常对应一条助手回复,携带用户的具体诉求。

  • 示例

    java

    运行

    // 用户消息:提出具体技术问题 UserMessage userMsg = new UserMessage("请解释Spring AI中PromptTemplate的作用");
3.ASSISTANT(助手角色)
  • 核心用途:代表大模型返回的回答、生成结果或反馈,主要用于携带对话上下文,让模型记住之前的交互内容,实现多轮连贯对话。

  • 特点:通常由模型生成后存储,在后续对话中随用户新消息一起传入,供模型参考历史交互。

  • 示例

    java

    运行

    // 助手消息:模拟模型之前的回复(作为上下文) AssistantMessage assistantMsg = new AssistantMessage("PromptTemplate用于封装可复用的提示词模板,通过占位符填充参数,提升
4.FUNCTION/TOOL(函数 / 工具角色,两者功能一致,命名略有差异)
  • 核心用途:有两个核心场景:

    1. 模型向外部系统发送工具调用请求:携带函数名称、参数等结构化信息,告知应用程序需要调用哪个工具完成任务。
    2. 外部系统向模型返回工具调用结果:将工具执行后的返回数据传递给模型,供模型基于该结果生成最终回复。
  • 特点:需要配合结构化参数传递,是实现 “AI + 工具” 能力的关键角色(Spring AI 中常用FunctionMessage实现)。

  • 示例

    // 1. 模型发送工具调用请求(函数角色:指定要调用的天气查询工具及参数) Map<String, Object> funcParams = Map.of("city", "上海", "date", "2025-12-22"); FunctionMessage funcCallMsg = new FunctionMessage("get_weather_info", funcParams); // 2. 外部工具执行后,返回结果给模型(同样用FunctionMessage承载) FunctionMessage funcResultMsg = new FunctionMessage("get_weather_info", Map.of("temperature", "10℃", "weather", "多云"));
补充:TOOL_CALL(工具调用请求)与TOOL_RESULT(工具调用结果)

部分大模型适配场景中,Spring AI 会细分这两个角色,职责更明确:

  • TOOL_CALL:仅用于模型发起工具调用请求,不承载结果。
  • TOOL_RESULT:仅用于返回工具执行结果,与TOOL_CALL一一对应,结构更清晰。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:49:24

Vue基础入门10,列表渲染全攻略:v-for 遍历数组 / 对象与 key 的作用

在 Vue 开发中&#xff0c;列表渲染是高频使用的核心功能之一&#xff0c;而v-for指令则是实现这一功能的关键。它能够让我们便捷地遍历数组、对象等数据结构&#xff0c;将数据动态渲染成 DOM 元素。但如果使用不当&#xff0c;不仅可能导致页面渲染异常&#xff0c;还会引发性…

作者头像 李华
网站建设 2026/5/1 3:52:01

测试工程师的感受总结

软件测试人员应该居安思危 每当经济不好&#xff0c;公司业绩不好的时候&#xff0c;公司都可能进行裁员。首先裁的就是测试人员。因为测试人员的技术水平相对来说比较低&#xff0c;容易被替代&#xff0c;招起来也比较容易。公司往往先拿测试人员开刀。 身为测试人员&#…

作者头像 李华
网站建设 2026/5/1 0:49:53

软件测试的基本路径覆盖

本章节主要讲解“软件测试的基本路径覆盖”的内容&#xff0c;基本路径覆盖法是指在程序控制流图的基础上&#xff0c;通过分析控制结构的环路复杂性&#xff0c;导出基本可执行路径集合&#xff0c;设计测试用例的方法。该方法把覆盖的路径数压缩到一定限度内&#xff0c;程序…

作者头像 李华