必须输出纯JSON且字段名与Lambda payload严格一致,括号注明取值范围,禁用控制字符;嵌入AWS服务链路说明或角色设定;提供两个真实跑通的JSON样例;禁止Markdown/HTML/特殊标点,空字段写null,输出后立即停止。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想用ChatGPT结合AWS服务快速搭建一个能实时生成短视频脚本、自动调用语音合成与字幕生成的新娱乐原型,但卡在提示词设计环节——提示词没对齐AWS服务的输入约束,导致Lambda调用失败或S3返回空文件。
明确ChatGPT输出结构,匹配AWS下游服务接口
第一步:在提示词开头强制定义输出格式为纯JSON,字段名与Lambda函数预期的payload字段完全一致,例如{"scene": "开场镜头", "voice_lang": "zh-CN", "duration_sec": 8}。不加任何解释性文字、不换行、不带```json代码块包裹。
第二步:用括号注明每个字段的取值范围,比如"voice_lang": "必须是'zh-CN'或'en-US',其他值将被AWS Polly拒绝"。这一步漏写会导致Polly API直接返回400错误,且无具体报错提示。
第三步:插入一条硬性约束:“所有文本内容不得含控制字符(如\u2028、\u2029)、不可见Unicode符号或BOM头,否则S3上传后MediaConvert无法解析”。这是真实踩坑点——中文换行符在某些模型输出中会悄悄混入,触发转码任务静默失败。
注入AWS服务上下文,让ChatGPT理解执行链路
方法一:在提示词中嵌入轻量级服务说明,例如“你生成的JSON将被传入AWS Lambda函数,该函数会调用Polly合成语音→存入S3桶‘video-scripts-raw’→触发MediaConvert任务生成MP4”。ChatGPT不需要懂技术细节,但需要知道自己的输出是链路起点。
方法二:用角色设定替代技术描述,例如“你是一个短视频工厂的调度员,只负责填写工单(JSON),不参与制作。工单填错,整条流水线停摆”。这比罗列AWS服务名更容易触发模型对输出严谨性的敏感度。
用真实样本约束生成风格
提供2个已验证通过的JSON样例,紧贴提示词末尾,不加“示例:”前缀,直接并列写出:
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
{"scene": "无人机俯拍海滩日落", "voice_lang": "zh-CN", "duration_sec": 12, "script_text": "海浪轻抚沙滩,光影渐暖,此刻无需言语。"}
{"scene": "咖啡馆窗边特写", "voice_lang": "en-US", "duration_sec": 7, "script_text": "Steam rises. A quiet moment before the world wakes up."}
注意:两个样例必须来自你实际跑通的Lambda日志,不能虚构。模型会锚定这些样本的字段粒度、标点习惯和长度分布,虚构样例反而导致输出漂移。
禁用自由发挥,堵死歧义入口
① 在提示词末尾添加否定清单:“禁止输出以下内容:Markdown、HTML标签、中文顿号、英文引号以外的任何标点(如「」、『』、—)、时间戳(如00:01:23)、括号内注释”。
② 紧接着写:“若需留空字段,请显式写null,不可省略字段或填空字符串”。AWS SDK对空字符串和null的处理逻辑不同,省略字段更会导致结构校验失败。
③ 最后一行写:“输出完毕立即停止,不加任何总结、不补句号、不换行”。【这是防止模型在JSON后追加‘以上就是全部内容!’这类废话的关键指令】

















