请求列表与项目符号
要求人工智能生成编号列表或项目符号列表,并指定项目数量。
请求列表与项目符号 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。
列表为何适合人工智能
列表是要求人工智能生成输出时最清晰的格式之一。列表没有歧义,便于浏览和验证——您可以立即统计实际获得的项目数量是否符合要求。
了解列表请求的准确语法,有助于您持续获得格式一致的输出,而无需反复追加修正指令。
基本列表请求
最常见的列表请求模式包括:
- “列出 5 种……的方法”
- “请给出关于……的 10 个项目符号要点”
- “请列出 7 个……的示例”
- “请提供 3 个……的理由”
请始终指定确切的数量。说“列出一些方法”会产生数量不固定的项目——有时是 3 个,有时是 12 个。指定数字可以消除这种差异。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': 'List exactly 5 ways a developer can improve Python code performance. Each item: one sentence only.'
}]
)
print(response.content[0].text)项目符号列表请求
如果您特别需要项目符号格式(而不是编号列表),请明确说明。Markdown 项目符号(- 或 •)在大多数聊天界面中都能正常呈现,但并非所有环境都支持。
- “请列出关于……的 8 个项目符号”
- “请创建一个项目符号列表,列出……”
- “请以项目符号输出,每行一个……”
添加“每个项目符号:最多 X 个词”,即可控制内容密度。
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Create a bulleted list of 8 best practices for writing REST APIs. '
'Format: each bullet starts with a bold action verb. '
'Each bullet: max 15 words. No sub-bullets.'
)
}]
)
print(response.choices[0].message.content)编号列表和步骤
对于顺序很重要的连续内容,编号列表最为合适:
- 分步说明
- 按推荐程度排序的选项
- 按优先级排列的任务列表
- 有序的故障排查步骤
请使用:“为每个步骤编号……”、“按……顺序从最……到最……列出……”或“请提供完成……的 6 个编号步骤”。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'Give me 6 numbered steps to deploy a Python FastAPI app to AWS EC2. '
'Order: from initial setup to app accessible via browser. '
'Each step: 1-2 sentences + the specific command(s) to run. '
'Assume a fresh Ubuntu 22.04 server.'
)
}]
)
print(response.content[0].text)核对清单
核对清单是一种特定的列表类型,其中的项目需要逐项勾选。它尤其适用于:
- 代码审查核对清单
- 发布就绪核对清单
- 安全审计核对清单
- 入职核对清单
请求示例:“请创建一份……的核对清单”或“请生成一份……的发布前核对清单”。模型会使用包含 - [ ] 复选框的格式输出项目(这是 Markdown 标准)。
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'Create a pre-production launch checklist for a Python web API. '
'Format: markdown checkboxes (- [ ] item). '
'Group into sections: Security, Performance, Monitoring, Documentation. '
'4 items per section. Each item: specific and actionable in under 12 words.'
)
}]
)
print(response.choices[0].message.content)控制项目长度和密度
当您明确指定每个项目应包含多少细节时,列表质量会显著提升:
- “每个项目写一句话”——简洁易浏览
- “写两句话:第一句描述内容,第二句解释原因”——结构化呈现细节
- “项目标题 + 1 行描述”——标题加说明
- “每个项目最多 10 个词”——强制极度简洁
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Two-sentence structure per list item
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'List 5 common Python performance bottlenecks. '
'For each item, use exactly 2 sentences: '
'Sentence 1: describe the bottleneck. '
'Sentence 2: state the fix in one specific action.'
)
}]
)
print(response.content[0].text)带标签和分类的列表
为列表项目添加标签,可以创建更易浏览和使用的分类列表或标记列表:
- “为每个项目标注 EASY、MEDIUM 或 HARD”
- “为每条建议添加相关团队标签:[FRONTEND] [BACKEND] [DEVOPS]”
- “为每项标注预计投入时间:(5 分钟) (2 小时) (1 周)”
标签可以将平面列表转变为可执行、可筛选的资源。
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'List 8 ways to reduce AWS costs for a startup. '
'Label each with: [IMMEDIATE] if doable today, [MEDIUM] if takes 1-2 weeks, or [LONG] if takes a month+. '
'Also label each with estimated monthly savings: ($50-200) ($200-500) ($500+). '
'Each item: one sentence.'
)
}]
)
print(response.choices[0].message.content)嵌套列表
嵌套列表增加了一层层级,适合整理具有自然分组结构的想法:
- 第 1 级为主要类别
- 第 2 级为具体示例或子要点
请求示例:“请创建一个两级大纲,包含 4 个主要部分,每个部分有 3 个子要点。”请注意,在大多数场景中,嵌套超过 2 层后会变得难以阅读。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=400,
messages=[{
'role': 'user',
'content': (
'Create a 2-level outline for a "Python for Data Science" beginner course. '
'Level 1: exactly 4 module titles. '
'Level 2: exactly 3 lesson titles under each module. '
'Format as nested markdown bullets. '
'Lesson titles should be specific — not generic like "Introduction".'
)
}]
)
print(response.content[0].text)排名列表和有序列表
当顺序具有实际意义时,请明确指定排序标准:
- “按影响力从高到低排名”
- “按实施速度从快到慢排列”
- “按风险顺序列出——最高风险在前”
- “按字母顺序排序”
如果没有明确指定顺序,模型可能会按照想到项目的先后顺序列出它们,而这不一定是对您最有用的顺序。
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'List 6 database indexing strategies for PostgreSQL. '
'Order: from most commonly needed to most specialized. '
'Each item: strategy name in bold, followed by a 10-word description, '
'then a note of when NOT to use it in parentheses.'
)
}]
)
print(response.choices[0].message.content)反模式:会失败的列表请求
以下是一些会导致输出质量不佳的常见列表请求错误:
- 未指定数量:“给我一些项目符号” → 长度不固定,通常过短或过长
- 未指定项目结构:模型自行混合长项目和短项目
- 要求项目过多:“列出 50 个想法” → 最后 30 个通常只是凑数内容
- 嵌套过深:超过 3 层 → 输出会变得难以阅读
最佳实践:对于大多数使用场景,指定每个项目的结构,并将数量控制在 5 至 15 个,是最合适的做法。
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Anti-pattern: no count, no structure
bad_prompt = 'Give me some ideas for blog posts about Python.'
# Good pattern: count + structure + ordering
good_prompt = (
'Generate 8 Python blog post title ideas. '
'Target audience: intermediate Python developers (2-3 years experience). '
'Mix: 4 practical how-to titles, 4 conceptual deep-dive titles. '
'Label each [HOW-TO] or [DEEP DIVE]. '
'Each title: max 10 words. No clickbait.'
)
for label, prompt in [('BAD', bad_prompt), ('GOOD', good_prompt)]:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'--- {label} ---')
print(response.content[0].text.strip())
print()程序化场景中的列表输出
如果使用 AI 生成的列表会由代码处理,请要求使用机器可解析的格式输出:
- JSON 数组:“请输出由字符串组成的 JSON 数组”
- 每行一个项目:“请严格每行输出一个项目,不要项目符号或编号”
- CSV:“请输出为一行逗号分隔的内容”
这样可以避免从响应字符串中解析 Markdown 项目符号。
import openai
import json
client = openai.OpenAI(api_key='sk-your-key-here')
response = client.chat.completions.create(
model='gpt-4o',
messages=[{
'role': 'user',
'content': (
'List 8 Python standard library modules that every developer should know. '
'Output as a valid JSON array of strings only. '
'No explanation, no formatting, no markdown — just the raw JSON array.'
)
}]
)
raw = response.choices[0].message.content.strip()
try:
modules = json.loads(raw)
print(f'Parsed successfully: {len(modules)} modules')
for m in modules:
print(f' - {m}')
except json.JSONDecodeError as e:
print(f'Parse error: {e}')
print('Raw output:', raw)知识检查
一位团队负责人想从 AI 助手生成一份行动项目列表。他们发送:“给我一些行动项目。”结果是 4 个含义模糊的项目符号。下面哪种改写能产生最有用的输出?
请求列表——回顾
列表是最适合请求的清晰输出格式之一。掌握列表请求,意味着要明确指定:
- 确切数量:始终提供具体数字,不要说“一些”或“几个”
- 格式:项目符号、编号、核对清单、嵌套列表
- 每个项目的结构:一句话、两句话,或标题加描述
- 标签:难度、时间、团队、类别
- 排序方式:最重要的在前、按某项指标排名、按字母顺序
- 机器可用格式:用于程序化处理的 JSON 数组或每行一个项目
常见问题解答
「请求列表与项目符号」课时是免费的吗?
是的 — 「请求列表与项目符号」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。
「请求列表与项目符号」这节课中我会学到什么?
要求人工智能生成编号列表或项目符号列表,并指定项目数量。 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Prompt Engineering 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「请求列表与项目符号」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Prompt Engineering 课中编写并运行代码吗?
能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 请求列表与项目符号
- 请求表格与结构化数据
- 提示中的 Markdown 格式
- 纯文本与格式化输出