让我用一个真实的案例来说明——在上个月的一个电商项目里,我需要为新上线的“可循环使用的咖啡杯”系列快速生成数百条长尾关键词。传统的人工脑暴耗时几天,于是我把 GPTs 组合进了自定义指令,做成了内部的关键词研究助手。
原理分析:GPT + 自定义指令的协同作用
- 模型能力
GPT‐4 系列在自然语言理解和生成方面已经非常成熟,能够把“主题+限制条件”转化为结构化的关键词列表。 - 指令层
自定义指令(Custom Instructions)本质上是对模型的系统提示(system prompt),它可以在每一次对话开始前注入固定的业务规则,比如“输出必须是 JSON,关键词长度不超过 12 个汉字”。这一步把模型的自由度约束到可控范围。 调用方式
- Chat Completion API:适合交互式查询。
- Assistants API(GPTs):可以把指令、工具、记忆等组合成可复用的助理,直接在平台上部署给团队成员使用。
关键在于:系统提示负责框架,用户提示负责业务。只要系统提示写得够清晰,后面的每一次查询都能得到一致、可机器读取的结果。
实践应用:从指令到完整助理的步骤
步骤 1·定义系统提示
你是 SEO 关键词研究专家。请严格按照以下要求输出:
- 生成 30 条与用户提供主题相关的长尾关键词;
- 每个关键词不超过 12 个汉字;
- 关键词需覆盖搜索意图、购买意图和信息需求三类;
- 输出格式为 JSON 数组,每个元素是字符串。
如果无法满足,请返回空数组并说明原因。步骤 2·封装为自定义指令
在 OpenAI 平台的 Assistants → Custom Instructions 页面粘贴上述系统提示,并保存为名为 “SEO 关键词助理” 的指令模板。
步骤 3·编写调用代码(Python 示例)
import openai
def get_keywords(topic, language="zh"):
prompt = f'''请为以下主题生成30个相关的长尾关键词,要求每个关键词不超过12个汉字,适合用于SEO优化。主题:{topic},语言:{language}。请返回JSON数组格式。'''
response = openai.ChatCompletion.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': '''你是 SEO 关键词研究专家。请严格按照以下要求输出:
- 生成 30 条与用户提供主题相关的长尾关键词;
- 每个关键词不超过 12 个汉字;
- 关键词需覆盖搜索意图、购买意图和信息需求三类;
- 输出格式为 JSON 数组,每个元素是字符串。''' },
{'role': 'user', 'content': prompt}
],
temperature=0.0,
max_tokens=500
)
return response.choices[0].message.content说实话,如果直接把系统提示写进代码,后期维护会很麻烦。把它抽成独立的指令后,团队成员只需要在 UI 上选择“SEO 关键词助理”,再输入主题,就能得到同样的结果。
步骤 4·在 Assistants API 中创建助理
assistant = openai.Assistant.create(
name='SEO 关键词助理',
instructions='''你是 SEO 关键词研究专家。请严格按照以下要求输出:
- 生成 30 条与用户提供主题相关的长尾关键词;
- 每个关键词不超过 12 个汉字;
- 关键词需覆盖搜索意图、购买意图和信息需求三类;
- 输出格式为 JSON 数组,每个元素是字符串。''',
tools=[],
)创建完成后,把 assistant.id 分享给内容团队的 Slack Bot,或者嵌入内部后台搜索框。
步骤 5·落地运营:监控与迭代
| 维度 | 监控指标 | 调整方式 |
|---|---|---|
| 关键词质量 | 关键词点击率(CTR) | 适当增加“购买意图”比例 |
| JSON 合规性 | 解析错误率 | 调整系统提示的格式描述 |
| 响应时长 | 平均 API 响应时间 | 采用 gpt-4o-mini 降低延迟 |
更重要的是,把生成的关键词直接写入内部的 Keyword DB,配合 Google Search Console 自动标记已经排名的词,这样可以实现 闭环反馈。
经验总结:我在项目中踩过的坑
- 系统提示过长导致截断
OpenAI 对系统提示有 4 KB 限制。最初我把所有业务规则都写进了系统提示,结果有几条被截断,导致输出不符合预期。解决办法:把不常改动的规则写进指令,把可变的约束放在用户提示里。 - 温度参数影响可重复性
设置temperature=0.7会让同一个主题每次得到不同的关键词列表,听起来“多样”,但在 SEO 项目里我们需要可复现的结果。最佳实践是把温度调到0.0,并通过后处理去重。 - 中文分词误差
GPT 在中文长句拆分时有时会把 “咖啡杯可循环使用” 拆成 “咖啡杯 可循环 使用”。我在系统提示里加入了 “每个关键词必须是完整的词组,不允许出现空格” 的约束,显著降低了此类错误。
最佳实践清单
- 指令化:把所有业务规则写进系统提示,保持用户提示简洁。
- 低温度:确保关键词列表可复现,后期对比 A/B 测试更可靠。
- 结构化输出:始终要求 JSON,便于直接导入工具链。
- 监控闭环:将关键词的排名、流量等数据回流到模型提示中,形成迭代优化。
- 团队赋能:通过 Assistants UI 让非技术同事也能自行调用,降低沟通成本。
关键在于,把 GPT 的创造力和业务的可控性结合起来,才能真正把“关键词研究”从几天的人工过程压缩到几分钟的自动化流程。以后你只需要提供主题和细化需求,助手就能交付可直接投产的关键词列表。