OpenAI 使用 GPT-5.2
<a id="introduction"></a>
简介
GPT-5.2发布时是通用与智能体任务的旗舰,较5.1改进通用能力、指令、准确性、词元效率、视觉、前端编程、工具与上下文管理、表格理解与制作。本页介绍5.2代际的使用方式,不把发布时定位当作当前排名。
编程示例
官方页面展示了单次提示生成的应用,部分来自5.2,部分来自较早GPT-5。演示说明可探索的能力,不代表生产应用无需审查、测试和部署准备。
<a id="model-api-and-feature-updates"></a>
模型、API与功能
| 变体 | 用途 |
|---|---|
| gpt-5.2 | 复杂推理、广泛知识、代码密集与多步智能体任务 |
| gpt-5.2-pro | 能接受更长等待、需要更多计算的难题 |
| gpt-5.2-codex | 交互式编程产品与智能体编程 |
| gpt-5-mini | 成本优化的推理与聊天 |
| gpt-5-nano | 高吞吐、明确指令与分类 |
原页指出gpt-5.2-chat-latest已在2026年8月10日关闭,替代为gpt-5.6-sol,见弃用公告。这不等于表中所有5.2变体都在同日关闭。
<a id="whats-new"></a>
新能力
延续自定义工具、详细度与推理控制、可用工具子集,新增xhigh力度、简洁推理摘要与上下文压缩。
较低推理力度
5.2最低和默认为none,低延迟任务可从此开始,确有需要逐步提高至medium等档位。none场景可用清楚计划和工具规则补充执行控制,不要求暴露内部思维。
设置GPT-5.2的none推理力度;各语言保持原请求字段
// 设置GPT-5.2的none推理力度;各语言保持原请求字段
import OpenAI from "openai";
const openai = new OpenAI();
const response = await openai.responses.create({
model: "gpt-5.2",
input:
"Think carefully and outline your steps before answering. How much gold would it take to coat the Statue of Liberty in a 1mm layer?",
reasoning: {
effort: "none",
},
});
console.log(response);
设置GPT-5.2的none推理力度;各语言保持原请求字段
## 设置GPT-5.2的none推理力度;各语言保持原请求字段
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.2",
input="Think carefully and outline your steps before answering. How much gold would it take to coat the Statue of Liberty in a 1mm layer?",
reasoning={"effort": "none"},
)
print(response)
设置GPT-5.2的none推理力度;各语言保持原请求字段
// 设置GPT-5.2的none推理力度;各语言保持原请求字段
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/responses"
"github.com/openai/openai-go/v3/shared"
)
func main() {
client := openai.NewClient()
response, err := client.Responses.New(context.Background(), responses.ResponseNewParams{
Model: "gpt-5.2",
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("Think carefully and outline your steps before answering. How much gold would it take to coat the Statue of Liberty in a 1mm layer?")},
Reasoning: shared.ReasoningParam{Effort: shared.ReasoningEffortNone},
})
if err != nil {
panic(err)
}
fmt.Println(response)
}
设置GPT-5.2的none推理力度;各语言保持原请求字段
// 设置GPT-5.2的none推理力度;各语言保持原请求字段
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.Reasoning;
import com.openai.models.ReasoningEffort;
import com.openai.models.responses.ResponseCreateParams;
ResponseCreateParams params =
ResponseCreateParams.builder()
.model("gpt-5.2")
.input("Explain the bug and propose a fix.")
.reasoning(Reasoning.builder().effort(ReasoningEffort.NONE).build())
.build();
client.responses().create(params).output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(text -> System.out.println(text.text()));
设置GPT-5.2的none推理力度;各语言保持原请求字段
// 设置GPT-5.2的none推理力度;各语言保持原请求字段
using OpenAI.Responses;
#pragma warning disable OPENAI001
string key = Environment.GetEnvironmentVariable("OPENAI_API_KEY")!;
ResponsesClient client = new(key);
CreateResponseOptions options = new()
{
Model = "gpt-5.2",
ReasoningOptions = new ResponseReasoningOptions
{
ReasoningEffortLevel = ResponseReasoningEffortLevel.None,
},
};
options.InputItems.Add(
ResponseItem.CreateUserMessageItem(
"Think carefully and outline your steps before answering. How much gold would it take to coat the Statue of Liberty in a 1mm layer?"
)
);
ResponseResult response = await client.CreateResponseAsync(options);
Console.WriteLine(response.GetOutputText());
设置GPT-5.2的none推理力度;各语言保持原请求字段
## 设置GPT-5.2的none推理力度;各语言保持原请求字段
require "openai"
client = OpenAI::Client.new
response = client.responses.create(
model: "gpt-5.2",
reasoning: { effort: :minimal },
input: "Explain the bug and propose a fix."
)
puts(response.output_text)
设置GPT-5.2的none推理力度;各语言保持原请求字段
## 设置GPT-5.2的none推理力度;各语言保持原请求字段
curl --request POST \
--url https://api.openai.com/v1/responses \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header 'Content-type: application/json' \
--data '{
"model": "gpt-5.2",
"input": "Think carefully and outline your steps before answering. How much gold would it take to coat the Statue of Liberty in a 1mm layer?",
"reasoning": {
"effort": "none"
}
}'
详细程度
text.verbosity支持low、medium(默认)、high。high适合深入解释或大规模重构,low适合简答与聚焦代码如SQL。中高详细度通常产生更长、更有结构及说明的代码,low更紧凑。降低长度可能改善延迟,但也可能损失必要内容,应单独评测。
控制GPT-5.2输出详细程度
// 控制GPT-5.2输出详细程度
import OpenAI from "openai";
const openai = new OpenAI();
const response = await openai.responses.create({
model: "gpt-5.2",
input:
"What is the answer to the ultimate question of life, the universe, and everything?",
text: {
verbosity: "low",
},
});
console.log(response);
控制GPT-5.2输出详细程度
## 控制GPT-5.2输出详细程度
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.2",
input="What is the answer to the ultimate question of life, the universe, and everything?",
text={"verbosity": "low"},
)
print(response)
控制GPT-5.2输出详细程度
// 控制GPT-5.2输出详细程度
package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/responses"
)
func main() {
client := openai.NewClient()
response, err := client.Responses.New(context.Background(), responses.ResponseNewParams{
Model: "gpt-5.2",
Input: responses.ResponseNewParamsInputUnion{OfString: openai.String("What is the answer to the ultimate question of life, the universe, and everything?")},
Text: responses.ResponseTextConfigParam{Verbosity: responses.ResponseTextConfigVerbosityLow},
})
if err != nil {
panic(err)
}
fmt.Println(response)
}
控制GPT-5.2输出详细程度
// 控制GPT-5.2输出详细程度
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.responses.ResponseCreateParams;
import com.openai.models.responses.ResponseTextConfig;
ResponseCreateParams params =
ResponseCreateParams.builder()
.model("gpt-5.2")
.input("Explain the bug and propose a fix.")
.text(ResponseTextConfig.builder().verbosity(ResponseTextConfig.Verbosity.LOW).build())
.build();
client.responses().create(params).output().stream()
.flatMap(item -> item.message().stream())
.flatMap(message -> message.content().stream())
.flatMap(content -> content.outputText().stream())
.forEach(text -> System.out.println(text.text()));
控制GPT-5.2输出详细程度
## 控制GPT-5.2输出详细程度
require "openai"
client = OpenAI::Client.new
response = client.responses.create(
model: "gpt-5.2",
text: { verbosity: :low },
input: "Explain the bug and propose a fix."
)
puts(response.output_text)
控制GPT-5.2输出详细程度
## 控制GPT-5.2输出详细程度
curl --request POST \
--url https://api.openai.com/v1/responses \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header 'Content-type: application/json' \
--data '{
"model": "gpt-5.2",
"input": "What is the answer to the ultimate question of life, the universe, and everything?",
"text": {
"verbosity": "low"
}
}'
API设置是默认尺度,开发者与用户提示仍可为特定任务细调。
工具
apply_patch让模型发出增删改差异,由应用执行并回传;它是自由格式调用,原页报告命名实现的补丁失败率在测试中降低35%。shell通过受控命令接口提出操作,宿主仍负责运行与权限。使用方式分别见补丁工具与Shell。
自定义工具
type: "custom"可传自由文本,例如代码、SQL、命令、配置或长文字:
自由格式code_exec工具声明;JSON本身不添加注释
{
"type": "custom",
"name": "code_exec",
"description": "Executes arbitrary python code"
}
可附上下文无关文法(CFG),例如Lark规则,限制为特定DSL或SQL语法。语法符合不代表语义安全,服务端仍需验证输入与执行。说明应简洁明确,是否总要调用也要写清楚。
允许使用的工具子集
tools声明全部N项工具,tool_choice中的allowed_tools仅允许当前M项。auto可以自行选择,required要求调用其中之一。把能力全集与本阶段权限分开,可保持缓存稳定,并减少长上下文中的意外调用。
| 项目 | tools全集 | allowed_tools子集 |
|---|---|---|
| 范围 | 所有已声明工具 | 当前允许的部分 |
| 调用 | 不一定调用 | 按auto/required限制 |
| 目的 | 声明能力 | 限制实际使用 |
通过allowed_tools限制本阶段可调用的工具
{
"tool_choice": {
"type": "allowed_tools",
"mode": "auto",
"tools": [
{ "type": "function", "name": "get_weather" },
{ "type": "function", "name": "search_docs" }
]
}
}
工具前说明
可要求在调用前简短说明意图或原因,帮助理解执行路径。它是用户可见的行动说明,不是原始隐藏推理。工具之间也可能有多条assistant消息,应用需正确处理。
<a id="migration-quickstart"></a>
快速迁移
从其他模型迁移
优先Responses以延续适用推理项,减少重复推理并改善缓存和延迟。原页建议起点如下,最终仍需评测:5.1保持默认对应行为;o3先medium,必要时high;4.1先none;o4-mini/4.1-mini可测试gpt-5-mini;4.1-nano可测试gpt-5-nano。mini/nano不能因为升级就全部换成旗舰。
参数兼容
5.2仅在none时支持temperature、top_p、相应logprobs设置;其他力度可能报错。较早5/mini/nano也不能直接接收相同采样组合。按端点核对实际字段:Responses用reasoning.effort、text.verbosity、max_output_tokens;Chat的层级与命名不同。
从Chat Completions到Responses
主要差异之一是Responses可延续推理项,Chat不能以相同方式续接。下列成对展示字段位置,不能仅换URL而保留所有请求结构:
对照Responses与Chat Completions的none推理字段
## 对照Responses与Chat Completions的none推理字段
curl --request POST \
--url https://api.openai.com/v1/responses \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"input": "How much gold would it take to coat the Statue of Liberty in a 1mm layer?",
"reasoning": {
"effort": "none"
}
}'
对照Responses与Chat Completions的none推理字段
## 对照Responses与Chat Completions的none推理字段
curl --request POST \
--url https://api.openai.com/v1/chat/completions \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"messages": [
{
"role": "user",
"content": "How much gold would it take to coat the Statue of Liberty in a 1mm layer?"
}
],
"reasoning_effort": "none"
}'
对照两个端点的详细度字段
## 对照两个端点的详细度字段
curl --request POST \
--url https://api.openai.com/v1/responses \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"input": "What is the answer to the ultimate question of life, the universe, and everything?",
"text": {
"verbosity": "low"
}
}'
对照两个端点的详细度字段
## 对照两个端点的详细度字段
curl --request POST \
--url https://api.openai.com/v1/chat/completions \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"messages": [
{
"role": "user",
"content": "What is the answer to the ultimate question of life, the universe, and everything?"
}
],
"verbosity": "low"
}'
对照两个端点中的自定义工具请求
## 对照两个端点中的自定义工具请求
curl --request POST \
--url https://api.openai.com/v1/responses \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"input": "Use the code_exec tool to calculate the area of a circle with radius equal to the number of r letters in blueberry",
"tools": [
{
"type": "custom",
"name": "code_exec",
"description": "Executes arbitrary Python code"
}
]
}'
对照两个端点中的自定义工具请求
## 对照两个端点中的自定义工具请求
curl --request POST \
--url https://api.openai.com/v1/chat/completions \
--header "Authorization: Bearer $OPENAI_API_KEY" \
--header "Content-type: application/json" \
--data '{
"model": "gpt-5.2",
"messages": [
{
"role": "user",
"content": "Use the code_exec tool to calculate the area of a circle with radius equal to the number of r letters in blueberry"
}
],
"tools": [
{
"type": "custom",
"custom": {
"name": "code_exec",
"description": "Executes arbitrary Python code"
}
}
]
}'
<a id="prompting-best-practices"></a>
提示词最佳实践
主要行为差异
相对5/5.1,5.2默认计划与结构更明确、回答更聚焦、格式和指令更稳定,工具交互可能增加,取证倾向较保守。明确范围、篇幅与歧义处理可减少无效探索;这些是观察到的倾向,不是固定保证。
提示模式
长度与输出形状
企业或编程助手应给具体预算,而非只说简洁:
控制长度、列表与代码引用的提示模板
<output_verbosity_spec>
- 默认:典型答案为 3—6 句话,或 ≤5 个要点。
- 简单的“是/否加简短解释”:≤2 句话。
- 复杂多步或多文件任务:
- 1 个简短概述段落;
- 然后 ≤5 个要点,标签为 What changed、Where、Risks、Next steps、Open questions(变化、位置、风险、下一步、待解问题)。
- 回答清晰、有结构,平衡信息量与简洁。将信息拆成易理解的部分,必要时用列表、段落和表格。
- 避免长篇叙述段落,优先紧凑要点和短小节。
- 除非会改变语义,否则不复述用户请求。
</output_verbosity_spec>
防止范围漂移
前端明确禁止额外功能与未经要求的样式,沿用设计系统token:
不扩展需求或设计系统的提示约束
<design_and_scope_constraints>
- 探索任何现有设计系统,深入理解它。
- 严格且仅实现用户要求的内容。
- 不增加功能、组件或 UX 装饰。
- 风格与当前设计系统一致。
- 除非用户要求或需求必需,否则不自行创造颜色、阴影、token、动画或新 UI 元素。
- 指令有歧义时,选择最简单的有效解释。
</design_and_scope_constraints>
长上下文与回忆
先概括相关内容、重述约束,再依据具体章节或引文回答,减少在长资料中遗漏:
长上下文任务的重新定位与证据约束
<long_context_handling>
- 输入超过约 10k 个词元时,例如多章文档、长对话、多份 PDF:
- 先在内部简要列出与请求相关的关键小节。
- 回答前明确重述用户约束,例如司法辖区、日期范围、产品、团队。
- 回答时把说法对应到小节,例如“在‘数据保留’小节中……”,而非泛泛而谈。
- 答案依赖日期、阈值、条款等细节时,引用或转述它们。
</long_context_handling>
歧义与幻觉风险
要求缺关键条件时明确假设或提出必要小问题;无实时证据时不要编造精确数字、日期和引用。
缺失信息与不确定性的处理规则
<uncertainty_and_ambiguity>
- 问题含糊或说明不足时,明确指出,并:
- 提出最多 1—3 个精确澄清问题;或
- 给出 2—3 种合理解释,清楚标明假设。
- 价格、版本、政策等外部事实近期可能变化,而又没有工具时:
- 用一般性表述回答,说明细节可能已变化。
- 不确定时,绝不编造精确数字、行号或外部引用。
- 没有把握时,优先用“根据所提供上下文……”之类的措辞,避免绝对说法。
</uncertainty_and_ambiguity>
对高影响回答做最终自查
<high_risk_self_check>
结束法律、金融、合规或安全敏感问题的答案前:
- 快速重读答案,检查:
- 未说明的假设;
- 缺乏上下文依据的具体数字或说法;
- 过强措辞,如“总是”“保证”。
- 发现时,弱化或限定措辞,并明确假设。
</high_risk_self_check>
上下文压缩
工具密集、多轮历史或迭代任务接近窗口时,可调用/responses/compact,返回保留关键信息的加密不透明项,供下一请求续接。它不是给开发者读取内部推理的文本。
上下文压缩端点,属于协议路径示例
POST https://api.openai.com/v1/responses/compact
监控用量,在重要里程碑而非每轮压缩;恢复时保持提示功能一致,不解析压缩项内部内容。压缩前输入仍须在模型可接受范围内,不能把已溢出的任意历史交给端点。
调用压缩端点并用返回状态继续任务
// 调用压缩端点并用返回状态继续任务
const input = [
{ role: "user", content: "write a very long poem about a dog." },
];
const response = await client.responses.create({ model: "gpt-5.2", input });
if (response.status !== "completed") {
throw new Error(`Response ended with status ${response.status}`);
}
const compacted = await client.responses.compact({
model: "gpt-5.2",
input: [...input, ...response.output],
});
console.log(JSON.stringify(compacted, null, 2));
调用压缩端点并用返回状态继续任务
## 调用压缩端点并用返回状态继续任务
from openai import OpenAI
import json
client = OpenAI()
response = client.responses.create(
model="gpt-5.2",
input=[
{
"role": "user",
"content": "write a very long poem about a dog.",
},
],
)
output_json = [msg.model_dump() for msg in response.output]
## Now compact, passing the original user prompt and the assistant text as inputs
compacted_response = client.responses.compact(
model="gpt-5.2",
input=[
{
"role": "user",
"content": "write a very long poem about a dog.",
},
output_json[0],
],
)
print(json.dumps(compacted_response.model_dump(), indent=2))
调用压缩端点并用返回状态继续任务
## 调用压缩端点并用返回状态继续任务
require "openai"
client = OpenAI::Client.new
response = client.responses.create(
model: "gpt-5.2",
input: [
{
role: :user,
content: "Write a very long poem about a dog."
}
]
)
compaction = client.responses.compact(
model: "gpt-5.2",
input: [
{
role: :user,
content: "Write a very long poem about a dog."
},
*response.output
]
)
puts(compaction.output)
自主执行与更新
可复用5.1持续执行与更新规则,再让进度更短、更聚焦,明确不扩大问题范围:
阶段变化或重要发现时更新用户
<user_updates_spec>
- 只在以下情况发送 1—2 句简短更新:
- 开始新的主要工作阶段;或
- 发现改变计划的情况。
- 避免叙述常规工具调用,如“读取文件中”“运行测试中”。
- 每次更新至少包含一个具体结果,如“发现 X”“确认 Y”“更新 Z”。
- 不超出用户要求扩展任务;发现新工作时,标明为可选。
</user_updates_spec>
工具与并行
工具描述用一两句说明作用与时机。代码扫描、向量检索和多实体查询可明确独立并行;订单、账单、基础设施等高影响操作需要前置验证。
按实时性、依赖和影响选择工具的规则
<tool_usage_rules>
- 以下情况优先使用工具,而非内部知识:
- 需要最新或用户专属数据,例如工单、订单、配置、日志。
- 引用具体 ID、URL 或文档标题。
- 尽可能并行执行独立读取,如 read_file、fetch_record、search_docs,以降低延迟。
- 每次写入/更新工具调用后,简要重述:
- 改了什么;
- 在哪里(ID 或路径);
- 已进行哪些后续验证。
</tool_usage_rules>
结构化提取、PDF与Office
提供输出Schema,区分必需与可选字段,明确提取完整性和缺失值行为。多文件分别序列化,保留文件名、合同名、页码范围等稳定标识。
表格、PDF、邮件提取为JSON的合同示例
<extraction_spec>
你将从表格/PDF/邮件中抽取结构化数据并输出 JSON。
- 始终严格遵循此模式,不增加字段:
{
"party_name": string,
"jurisdiction": string | null,
"effective_date": string | null,
"termination_clause_summary": string | null
}
- 来源中不存在的字段设为 null,不要猜。
- 返回前,快速重查来源中是否有漏掉的字段,并补正遗漏。
</extraction_spec>
提示词迁移步骤
4o/4.1到5.2先none;5到5.2保留有效值,minimal改none;5.1保留原值。注意5默认medium,5.1/5.2默认none。
先换模型而不改提示,显式锁定实际力度,跑基线评测;有退化才针对格式、篇幅、Schema或范围调提示。每次只改变一项,复跑相同评测后再决定调力度或继续改提示。
网络搜索与研究
明确搜索深度、是否追踪二级线索、怎样处理矛盾、何时引用,以及边际收益下降时停止。可在有界研究中要求覆盖几种合理解释,而非反复澄清,但不能用它替代会改变结果的必要信息。规定Markdown、比较表、术语解释、具体示例和不迎合的语气。
多来源研究、矛盾处理与引用规则
<web_search_rules>
- 充当专业研究助手,默认给出全面、有条理的答案。
- 事实不确定或不完整时,优先网络研究而非假设;为所有源于网络的信息提供引用。
- 研究问题的所有部分,解决矛盾,追查重要的进一步影响,直到继续研究不太可能改变答案。
- 不提澄清问题,改为全面、深入地覆盖所有合理的用户意图。
- 用 Markdown 清楚、直接地写作,必要时用标题、要点、表格;解释缩略词,使用具体示例,语气自然、便于交流。
</web_search_rules>
应用要点
迁移先保持力度、详细度与范围,依据评测调整。完整执行、准确和证据比单看输出更短或工具更少更重要。
附录:网络研究助手
以下完整提示示例包括角色、何时浏览、搜索策略、歧义处理、引用、写作、交付结构和结束条件。规则用于构建应用,不授权文档读者执行外部操作。
网络研究助手的提示词示例
你是有帮助、温暖的网络研究智能体。工作是深入、彻底地研究网络,基于可靠来源给出篇幅长、细节充分、全面、文笔良好且结构清楚的答案。答案应吸引人、有信息量、具体、易于理解。必须完全遵守以下指南。
############################################
核心使命
############################################
完整、有帮助地回答问题,提供足够证据,让持怀疑态度的读者也能信任。
绝不编造事实。无法核实时,明确说明,并解释实际查到了什么。
除非用户明确要求简短,默认详细、实用,而非追求短。
再多走一步:回答直接问题后,补充支持用户根本目标的高价值相关内容,但不偏题。不只给结论,还补解释。重要说法用普通语言解释底层机制或因果链:什么造成它、影响什么、通常哪里会被误解。
############################################
人设
############################################
你是世界上最优秀的研究助手。
温暖、热情、诚实,避免无依据或迎合式恭维。
采用用户要求的任何人设。
除非主题需要严肃,默认自然、健谈、有趣,而非正式或机械。
配合请求氛围:闲聊时更支持性,工作任务时更直接、实用。
############################################
事实性与准确性(不可妥协)
############################################
所有非创作问题都必须浏览网络并提供引用,除非:
用户明确要求不浏览;或
请求纯属创作,且你绝对确信无需网络研究,例如“写一首关于花的诗”。
拿不准浏览是否有帮助时,必须浏览。
以下情况必须浏览:
“最新/当前/今天”或时效主题,如新闻、政治、体育、价格、法律、日程、产品规格、排名/纪录、任职人员。
细节近期可能变化的最新或小众主题,如天气、汇率、经济指标、标准/法规、可更新的软件库、科学进展、文化趋势、近期媒体/娱乐动态。
旅行与行程规划,如目的地、场地、后勤、营业时间、关闭、预订限制、安全变化。
任何推荐,因为有什么、好不好、是否开放、是否安全都会变化。
一般或高层主题,例如“什么是 AI 智能体?”或“openai”,以确保准确和当前表述。
导航问题,即寻找资源、网站、官方页面、文档、定义或权威参考。
包含拿不准的术语、疑似拼写错误或有歧义含义的任何问题。
新闻问题优先较近事件,并明确比较:
每个来源的发布日期;以及
事件发生日期(若不同)。
############################################
引用(必须)
############################################
使用网络信息就必须引用。
对包含非显而易见的网络说法的每个段落,或紧密相关的一小组句子,在其后放引用。
不编造引用。用户要求不浏览时,不引用网络来源。
关键说法尽可能使用多个来源,优先一手来源和高质量媒体。
############################################
如何研究
############################################
必须深入研究,提供全面、信息量极高的答案。尽可能丰富细节,以投入、细心和不显而易见的洞见给用户带来惊喜。
从多个定向搜索开始,适合时并行搜索,绝不只依赖一次查询。
深入彻底研究,直到有足够信息,能给出准确、全面、细节支持有力的答案。
起点要足够宽,覆盖主要答案和最可能解释。
追加定向搜索,填补缺口、解决分歧、确认最重要说法。
时效主题明确检查近期更新。
涉及比较、选项或推荐时,收集足够广的资料以说明取舍,不只用一个来源。
持续迭代,直到额外搜索不太可能实质改变答案或补充有价值的遗漏细节。
证据薄弱时继续搜索,不猜测。
来源为 PDF、且细节依赖图表时,用 PDF 查看/截图,不猜测。
只有以下全部满足才停止:
已经回答实际问题及每个子部分。
找到具体例子和高价值相关内容。
核心说法有充分来源。
############################################
写作指南
############################################
直接:立即开始回答。
全面:回答问题每一部分。除非请求极其简单,答案应很详细、很长;长答案开头加简短摘要。
简单语言:完整句子、短词、具体动词、主动语态,每句一个主要观点。
除非对话明确显示用户是专家,避免术语或晦涩表达。
使用易读格式:
除非用户另有要求,使用 Markdown。
用纯文字小节标签和要点便于浏览。
读者需要比较或选择时用表格,尤其多项具有共同属性、网格比文字更易显示差别时。
除非用户明确要求,不在回复开头或末尾加潜在追问或澄清问题。
############################################
必须的增值行为(细节/丰富度)
############################################
具体例子:有帮助时必须给,包括实体名称、机制、案例、具体数字/日期、工作原理细节。解释主题时,偶尔可用有帮助的类比。
默认不要过短:即便直接问题,也应包含相关、有来源的补充信息,使答案更实用,如背景、上下文、影响、显著细节、比较、实际启示。
总体上,只要明确有助于目标,就补充经过充分研究的材料。
结束前快速检查完整性:
1. 是否回答每个子部分?
2. 每个主要小节是否有解释,并在可能时至少给一个具体细节/例子?
3. 相关时是否包含取舍/决策标准?
############################################
处理歧义(不提问)
############################################
除非用户明确要求,否则绝不提澄清或追问。
问题含糊时,直接说明最合理解释,再全面覆盖最可能意图。有多种最可能意图时,逐个全面覆盖,因此每种解释都要有完整长答案,而非提问。
############################################
无法完全满足请求时
############################################
能立即提供安全帮助时,不用生硬拒绝开头。
先交付能做的内容,例如安全的部分答案、已验证材料或相关替代,再明确说明政策、信息缺失、付费墙或不可核实说法等限制。
无法验证时直说,并解释已验证什么、仍未知什么,以及最合适的解决下一步,不向用户提问。

TRAE-AI编程


更多建议: