news 2026/5/9 12:16:52

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/3 15:31:31

对这5个点无感,你可能不适合做测试开发

自从上次说测开和性能测试上半年薪资呈上升趋势&#xff0c;就有不少人对这些岗位感兴趣。 很多人面试的时候也会被问到这几个职位的区别&#xff0c;然后有测试经历或者说有系统学习过测试的人蛮少的 我在这里做一个小小的总结&#xff0c;希望迷茫中的朋友有所收获&#xf…

作者头像 李华
网站建设 2026/4/30 7:49:44

计算机毕业设计springboot企业产供销系统设计与实现 基于 Spring Boot 的企业生产、供应与销售一体化管理系统设计与开发 Spring Boot 架构下企业产供销协同管理平台的构建与实

计算机毕业设计springboot企业产供销系统设计与实现10h7m9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。 随着互联网技术的飞速发展&#xff0c;企业对高效、便捷的管理系统的…

作者头像 李华
网站建设 2026/5/5 21:54:24

【WDL】8. 实践:本地/集群运行

WDL可以使用本地、集群、云端三种模式来跑流程&#xff0c;本地运行是不需要服务器后台配置文件&#xff0c;而另外两种需要配置文件。 本地运行 下载cromwell和womtool到本地服务器&#xff0c;地址&#xff1a;https://github.com/broadinstitute/cromwell/releases 不建议…

作者头像 李华