0Pricing
AI Prompt Engineering · 课时

请求列表与项目符号

要求人工智能生成编号列表或项目符号列表,并指定项目数量。

请求列表与项目符号 是 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 请求列表与项目符号
  2. 请求表格与结构化数据
  3. 提示中的 Markdown 格式
  4. 纯文本与格式化输出
← 返回 AI Prompt Engineering