- 提示工程
- AI 安全治理
【免费下载链接】TheBigPromptLibrary
A collection of prompts, system prompts and LLM instructions
本篇技术指南以 TheBigPromptLibrary 仓库收录的 MovieDealsSnapper GPT 指令 为对象,逐段剖析这份真实上线的 Custom GPT 系统提示词:它如何通过 CheapCharts API 为用户寻找电影与剧集的最优购买/租赁价格、如何用 imdbID 保证条目识别 100% 正确、如何设计智能愿望清单与降价通知闭环,以及如何在对话中约束人格与行为边界。读完本文,你将掌握一份可直接借鉴的"比价型电商 Agent"提示词架构,包括数据源契约定义、参数化查询、主键约束与反幻觉设计等实战要点。
一、文档背景:一份被真实部署的 Custom GPT 系统提示词
该文档位于仓库的CustomInstructions/ChatGPT/目录,属于 TheBigPromptLibrary 项目中 "ChatGPT GPT instructions" 子集的一员。根据 CustomInstructions/README.md 中的登记条目(id: T8HWuDfxW),这份指令对应一个名为MovieDealsSnapper GPT的公开 Custom GPT,由 cheapcharts.info 创建并发布。
文档开头给出了该 GPT 的元信息:标题为 MovieDealsSnapper GPT,描述为"帮助你在多个平台上找到电影与电视节目购买的最优价格;若当前价格过高,可将其加入愿望清单并在降价时收到通知",Powered by CheapCharts。这三点——跨平台比价、购买/租赁导向、愿望清单降价通知——共同构成了整个提示词设计的目标函数,后续所有指令段都围绕它们展开。
仓库根目录的 README.md 说明该项目定位为"各类 LLM 的系统提示词与自定义指令集合,在编写系统提示词、创建 Custom GPT 方面具有重要的学习价值",因此本文档既可以作为学习样本通读,也可以作为一份可复刻的指令模板直接参考。
二、角色定位:热情、幽默、懂电影的"优惠向导"
提示词的第一段对 GPT 的人格做了完整设定:
- 对电影和电视节目充满热情,常使用幽默评论让交互更愉快;
- 不仅分享最优优惠,还会分享关于所推荐影片的有趣见解,为用户体验增值;
- 对话风格活泼、有感染力,体现对娱乐媒体的真诚热爱;
- 核心目标是引导用户抵达 CheapCharts 上的优惠,同时让对话保持轻松、有趣、信息丰富。
这一段是典型的"人格 + 任务"双层声明:先定义如何说(热情、幽默、有见解),再定义做什么(把用户引导到优惠页面)。其中"分享影片背后的有趣见解"是一条容易被忽略但很有价值的设计——它让比价助手不再只是参数查询工具,而是能降低用户决策摩擦的"娱乐顾问",从而提升停留时长与转化意愿。在后续的Dos段中,这一人格还被进一步授权为"可模仿用户偏好的电影或剧集中的人气角色",将人格灵活度交由用户偏好驱动。
三、平台边界:CheapCharts 的商业模式与覆盖范围
提示词明确声明了 GPT 所代理平台(CheapCharts)的业务边界,这是一条防止模型越界的关键指令:
- 覆盖商店:iTunes (Apple)、Amazon Prime Video、Vudu、GooglePlay;
- 业务定位:纯粹聚焦于"购买(BUY)或租赁(RENT)"的内容,不是流媒体服务;
- 差异化能力:智能愿望清单——任何用户都可以把条目加入愿望清单,并在价格下降时收到通知,且该能力对 GPT 同样可用。
从提示工程角度审视,这段"边界声明"承担了双重职责:一方面让模型知道哪些商店在能力范围内、哪些不在,避免推荐 Vudu/GooglePlay 之外的平台造成事实错误;另一方面用"不是流媒体服务"这一否定句把推荐空间严格约束在买断/租赁场景,防止模型把 Prime Video 的流媒体订阅内容误当作"优惠"推荐。设计者还特意强调"这对你(GPT)同样可用",即明确告知模型它拥有调用愿望清单能力的权限,为后文WishlistAdd、WishlistGet两个数据源埋下伏笔。
四、检索优先:先查知识库,再开口回答
指令第一行写下了整份提示词的最高优先级规则:
First of all: This GPT should always search its knowledge base before answering.
这是一条典型的 RAG(检索增强生成)纪律。对比价场景而言,价格、优惠、榜单都是强时效性数据,模型的预训练知识几乎必然过期;如果没有"先检索知识库"的强制约束,模型极易用记忆中的旧价格给出误导性回答。把它放在指令最前面(甚至早于人格定义),确保任何一次回答都先经过数据源验证,这比在每轮对话中依赖用户触发更可靠。紧随其后,提示词用一句话概括了 GPT 与平台的关系——"你是用户与 CheapCharts 之间的层(layer)",进一步固化其"代理/中介"角色:不生产价格数据,只负责把用户需求翻译成对 CheapCharts 的查询,并把查询结果转译成用户友好的推荐。
五、CheapCharts API 数据源:四个可调用的能力契约
提示词以列表形式定义了 GPT 可访问的四个数据源,这是整份指令的核心"工具契约":
| 数据源 | 能力 | 关键约束 |
|---|---|---|
Charts | 获取每个类型(genre)下电影和电视节目的热门榜单(top charts) | 面向榜单浏览 |
Deals | 通过参数获取 CheapCharts 上的最优优惠 | 支持多种排序与价格上限 |
WishlistAdd | 将条目加入用户愿望清单 | 必须提供邮箱,邮箱仅用于降价通知 |
WishlistGet | 检索用户的愿望清单 | 愿望清单按商店分离,每个商店独立 |
其中Deals的参数化能力在提示词中被明确列出:
sort by popularity:获取当前最受欢迎的优惠;sort by price:获取最便宜的优惠;sort by latestPriceChange:获取最近的降价优惠;maxPrice:设置价格上限,当用户不想支付超过某价位时使用。
这三个排序维度覆盖了比价用户最常见的三种诉求——"大家都在买什么""什么最便宜""什么刚降价",而maxPrice则是对预算敏感用户的核心过滤项。从实现角度看,Deals是一个典型的"排序键 + 过滤条件"参数化端点,GPT 需要做的就是把用户自然语言中的约束(如"不超过 10 美元")映射到maxPrice等结构化参数上。
WishlistAdd的"必须提供邮箱"约束值得特别关注:提示词明确说明邮箱只用于降价通知,这既是对隐私边界的声明,也是一条防错指令——如果用户没有提供邮箱,GPT 应当主动询问,而不是在缺参时强行调用。WishlistGet则揭示了底层数据结构:愿望清单按商店分离,即同一用户在 iTunes、Amazon Prime Video、Vudu、GooglePlay 各有独立的清单,这决定了"显示我的 iTunes 愿望清单"与"显示我的全部愿望清单"是两种不同的查询形态。
六、imdbID:消除同名歧义的唯一主键
提示词用大写的IMPORTANT强调了一条识别规则:
为了 100% 正确地识别电影,我们使用 imdbID(Internet Movie Database ID)。当你与 CheapCharts 通信时,始终需要这个 ID 来标识条目。CheapCharts 总是在其响应中附带这个 ID。因此,如果你没有某个条目的 imdbID,请进行网络搜索(websearch)来找到它。
这是一份很值得学习的"主键契约"设计:仅仅依靠片名无法唯一标识一部电影——存在同名翻拍、地区译名差异、年份歧义等问题,而 imdbID 是跨平台通用的稳定标识符。提示词为此制定了完整闭环:
- 请求侧:向 CheapCharts 发请求时必须携带 imdbID;
- 响应侧:CheapCharts 的每次响应都会回传该 ID,保证后续链路(如加入愿望清单)能无缝复用;
- 缺失兜底:若当前对话中没有目标条目的 imdbID,先执行 websearch 补齐,再继续 API 调用。
这一设计同时起到了防幻觉作用:模型无法凭记忆"猜"出一个 imdbID 去查询,必须经过检索或知识库命中才能获得合法 ID,从机制上阻断了对不存在条目的伪造推荐。
七、用户能力菜单:触发词 + 固定示例模板
提示词内置了一个用户引导机制:当用户输入 "What can I do here?" 或类似表达时,GPT 必须在四个#符号之间原样展示下述能力菜单。这一设计解决了"新用户不知道能问什么"的冷启动问题,且用####作为界定符给出精确的展示范围,避免模型擅自改写菜单内容。菜单全文如下:
I'm your deal companion, and together we'll find the best deals on movies and TV shows for you. I can save you a lot of money! What can I do? Here are some examples:
- Show me the most popular deals on the iTunes Store right now with a rotten tomatoes rating above 75.
- Add the movie Oppenheimer to my iTunes wishlist and notify me when the price drops below $10.
- Show me only deals on iTunes that are in 4k resolution and don't cost more than $4.
- Show me the current top charts on iTunes for the genre SciFi and only include movies with an imdb rating higher than 7.0.
- Show me all movies I can get on Amazon Prime Video for $4.99 that have an imdb rating above 7.0.
- Much more! Just ask me what you want!!
这 6 个示例并非随意罗列,而是刻意覆盖了四个数据源与主要参数的组合用法:
- 示例 1演示
Deals+sort by popularity+ 外部评分过滤(rotten tomatoes rating > 75),并限定平台为 iTunes; - 示例 2演示完整愿望清单闭环:
WishlistAdd指定影片(Oppenheimer)、限定平台(iTunes 愿望清单)、并附加降价阈值($10 以下)触发通知的条件——说明降价通知不是单纯"降价就通知",而是可配置阈值的; - 示例 3演示
Deals+ 分辨率过滤(4K)+maxPrice($4)的叠加查询; - 示例 4演示
Charts榜单能力 +genre(SciFi)+ imdb rating 过滤,即"榜单也能二次过滤"; - 示例 5演示跨平台场景(Amazon Prime Video)+ 固定价位($4.99)+ imdb rating 过滤;
- 示例 6是开放性兜底,鼓励用户自由表达。
每个示例都同时携带"平台 + 过滤条件 + 排序/阈值"三类信息,等于为 GPT 提供了参数映射的 few-shot 范本,让模型在遇到类似自然语言时能稳定地完成从口语到Charts/Deals/WishlistAdd/WishlistGet参数的翻译。
八、行为约束:Dos 与 Avoid 清单
提示词末尾用两组短清单收束行为边界:
Dos(应做)
- 采用有趣诙谐的人格,可模仿用户偏好的电影或剧集中的人气角色。
Avoid(避免)
- 偏离主题(Going off topic);
- 推荐未发布内容(Suggesting unreleased content);
- 浪费时间;
- 推荐用户已经看过的电影;
- 在不了解用户偏好与上下文的情况下做出推荐。
这五条 Avoid 规则从不同维度防守模型的劣化倾向:离题守住"比价助手"的任务边界;未发布内容直接杜绝模型推荐尚未上映/上架的商品(这既是防幻觉,也是商业合规要求——未发布内容无法购买,推荐它只会制造无效链路);浪费时间约束对话简洁性;已看过的电影与不了解偏好就推荐两条共同构成个性化约束——提示词明确要求模型在推荐前理解用户偏好与上下文,这与第四节的"检索优先"形成呼应:好推荐 = 准确的数据 + 对用户的理解。
九、从这份指令中可提炼的 Agent 提示词设计模式
把整份指令还原为方法论,可以提炼出六条可迁移到同类"工具型 Agent"的设计模式:
- 检索纪律前置:把"先检索知识库再回答"写成最高优先级规则,置于人格定义之前,从源头压制时效性数据的幻觉;
- 数据源契约显式化:用表格/列表逐条声明每个 API 端点的能力与约束(
Charts、Deals、WishlistAdd、WishlistGet),包括必填参数(邮箱)与数据形态(清单按商店分离); - 主键唯一化:用 imdbID 这样的稳定外部 ID 作为跨平台条目的唯一标识,并提供"缺失则 websearch 补齐"的兜底路径;
- 边界否定句:用"不是流媒体服务"这类否定句收紧能力范围,防止模型把邻近但无关的业务场景混入推荐;
- few-shot 参数映射:能力菜单中的 6 个示例同时是参数翻译范本,让自然语言到
maxPrice、genre、sort等结构化参数的映射有据可依; - 触发词 + 界定符:用 "What can I do here?" 触发、
####界定菜单展示,保证冷启动引导的稳定输出。
这些模式不依赖具体的 CheapCharts 实现,可以直接迁移到任何"帮用户查价/下单/订阅"的 Custom GPT 或 Agent 系统提示词设计中。
十、在仓库中的进一步学习路径
如果你想继续深入,可以从以下仓库位置展开:
- 本文档原文:CustomInstructions/ChatGPT/T8HWuDfxW_MovieDealsSnapper GPT.md,可作为复刻模板的原始底稿;
- 同类 GPT 指令全集索引:CustomInstructions/README.md,其中列出了全部 1573 个已收录 GPT 的 id 与文件路径,便于横向对比不同领域 Agent 的指令写法;
- 仓库总览:README.md,说明本项目面向"学习系统提示词编写与 Custom GPT 创建"的教育定位,并附有获取各类 LLM 系统提示词的方法。
需要说明的是,本文对CheapCharts内部接口的字段细节(如返回 JSON 结构、评分字段的精确命名)均以提示词原文表述为准,仓库中未包含其服务端源码;上文所有对 API 行为的描述均直接源自这份指令文档本身。
- 提示工程
- AI 安全治理
【免费下载链接】TheBigPromptLibrary
A collection of prompts, system prompts and LLM instructions
相关推荐
TheBigPromptLibrary 实战拆解:从 ChatGPT 官方 "Santa" GPT 指令看角色型自定义 GPT 的系统提示词设计
TheBigPromptLibrary 实战拆解:从 ChatGPT 官方 "Santa" GPT 指令看角色型自定义 GPT 的系统提示词设计 导读 本文以
提示工程AI 安全治理深度拆解 TheBigPromptLibrary 中的 Sora GPT:伪装视频生成器的 Rickroll 提示词设计剖析
深度拆解 TheBigPromptLibrary 中的 Sora GPT:伪装视频生成器的 Rickroll 提示词设计剖析 本文以 Sora 自定义 GPT
提示工程AI 安全治理TheBigPromptLibrary 提示词拆解:王阳明心学 GPT 的角色设定、三步答疑框架与防泄露指令设计
TheBigPromptLibrary 提示词拆解:王阳明心学 GPT 的角色设定、三步答疑框架与防泄露指令设计 本文以 TheBigPromptLibrary
提示工程AI 安全治理
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考