首先完成“第2课:入门所需的无代码技术栈”即可解锁本课程。转到上一课

引言

当AI被集成到Web应用中时,Prompt不仅仅是一个问题——它是指令集,决定了你应用的行为。一个模糊的Prompt会产生不可预测的输出。一个结构良好的Prompt则每次都会产出相同的结构化结果,无论用户如何措辞。本课讲解Prompt设计的核心原则,让AI输出保持一致、可控,并为生产环境做好准备。

核心原则:明确指定输出格式

AI输出在应用中不可靠的最主要原因,就是Prompt没有指定输出应该是什么样子。如果你让AI"总结这篇文章",你可能得到一段文字、项目符号列表,或者一句话——而且格式在每次请求之间都可能变化。

解决方法就是始终明确指定输出格式。直接告诉AI应该返回什么结构,并加以约束。例如,如果你需要包含特定字段的JSON对象,就直接说明。

javascript
const prompt = `
Extract the product name, price, and category from this text.
Return ONLY a JSON object in this exact format:
{
"product_name": "string",
"price": "number",
"category": "string"
}
Do not include any explanation, greeting, or extra text.
Text: ${userInput}
`;

这个Prompt没有任何歧义。AI清楚响应的确切形态,这意味着你的应用代码可以可靠地用 `JSON.parse()` 来解析它。

使用角色和上下文来设定行为

赋予AI一个角色,可以收窄它的语气、用词和决策方式。没有角色时,AI默认是一个通用的助手。有了角色,它会适配你应用的需求。

javascript
const prompt = `
You are a customer support assistant for an online bookstore.
You answer in a friendly, concise tone. You never discuss topics outside of books, orders, and shipping.
Customer message: ${userMessage}
Respond in plain text, maximum 3 sentences.
`;

注意三件事:角色定义AI是谁,约束定义它不会做什么,输出规则定义它如何响应。这三者对于可靠性同等重要。

流程图,展示可靠Prompt的三个层次——角色定义、任务指令、输出格式约束

使用条件指令处理边缘情况

真实用户会发送空输入、跑偏的问题和含糊的请求。你的Prompt应该预见到这些情况,并告诉AI该怎么做。如果没有这些,AI可能会产生幻觉,或者以出乎意料的方式回应。

javascript
const prompt = `
You are a recipe assistant. Suggest one dinner recipe based on the ingredients the user provides.
Rules:
- If no ingredients are provided, reply with: "Please provide at least one ingredient."
- If the ingredients do not form a reasonable meal, reply with: "I cannot make a recipe from those ingredients. Please try again."
- Otherwise, respond with the recipe name, a short description, and a numbered list of steps.
Ingredients: ${userIngredients}
`;

直接在Prompt中定义兜底响应,你就可以在边缘情况到达代码之前就控制住它们。

需要避免的常见错误

有两种模式会导致应用中大多数AI可靠性问题。第一,把多个任务合并在一个Prompt里而不加区分——如果你让AI"翻译、总结并评分",你无法预测它会优先执行哪个任务。第二,不做测试就保留temperature和其他设置为默认值——大多数API中temperature为1.0(默认值)会产生有创意但不一致的输出,而0.2到0.4则能在结构化任务中产出聚焦且可重复的结果。

小结

Web应用中可靠的AI行为来自三个习惯:明确指定输出格式、定义带有清晰约束的角色、为边缘情况编写条件指令。这些不是进阶技巧——它们是基线要求。每个上生产运行的Prompt都应该遵循这个结构,并且每个输出在发布前都应该用多种不同的用户输入进行测试。

课后练习

课程检查点

巩固所学知识,获取作业反馈。

0/1
已回答 · 0/1
第3课:让应用行为可靠的Prompt工程