顺序转换链
了解“草拟 → 审阅 → 润色”链以及其他多阶段优化流程
顺序转换链 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。
转换链
转换链通过一系列专门步骤,逐步将内容从一种形式转换为另一种形式。每个步骤都会转换上一步的输出,逐渐完善或丰富内容。
最有用的三种转换链模式是:
- 草稿 → 审阅 → 润色:内容创建与完善
- 头脑风暴 → 筛选 → 扩展:想法生成与发展
- 提取 → 分类 → 路由:数据处理与决策
草稿 → 审阅 → 润色
最常见的内容创建链。每个步骤都有明确的职责:
- 草稿:快速生成原始内容——速度优先于完美
- 审阅:根据特定标准评析草稿——准确性、语气和完整性
- 润色:应用审阅结果,生成最终输出
将这些任务拆分为独立步骤,比要求模型一次完成起草和润色能产生更好的结果。
草稿 → 审阅 → 润色:Python 实现
草稿 → 审阅 → 润色链的完整实现:
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def call(prompt):
r = client.messages.create(
model='claude-opus-4-5', max_tokens=800,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text
def draft_review_polish(topic, audience, tone):
# Step 1: Draft
draft = call(f'Write a 200-word article about: {topic}. Audience: {audience}.')
# Step 2: Review — produces critique, not final text
review = call(f'Review this article for tone ({tone}), accuracy, and clarity.\nList specific improvements needed.\n\nArticle:\n{draft}')
# Step 3: Polish — applies review findings
final = call(f'Rewrite this article applying all the review feedback.\n\nOriginal:\n{draft}\n\nReview feedback:\n{review}')
return {'draft': draft, 'review': review, 'final': final}
result = draft_review_polish('prompt engineering', 'software engineers', 'technical but approachable')
print(result['final'][:300])头脑风暴 → 筛选 → 扩展
想法开发链:广泛生成,然后智能收窄范围,最后深入展开。
- 头脑风暴:不加评判地生成大量想法——数量优先于质量
- 筛选:应用选择标准,找出最佳想法
- 扩展:将选中的想法发展为详细方案
这条链避免了从少数想法开始并一直受其束缚的锚定偏差。
头脑风暴 → 筛选 → 扩展:Python 实现
带有 JSON 传递的头脑风暴 → 筛选 → 扩展链的完整实现:
import json
def brainstorm_filter_expand(challenge, criteria, n_final=3):
# Step 1: Brainstorm — generate many ideas
raw_ideas = call(
f'Generate 10 creative ideas for this challenge: {challenge}\n'
'Return JSON: {"ideas": ["string"]}'
)
ideas = json.loads(raw_ideas)['ideas']
# Step 2: Filter — apply criteria
ideas_formatted = '\n'.join(f'{i+1}. {idea}' for i, idea in enumerate(ideas))
filtered_raw = call(
f'Select the {n_final} best ideas based on these criteria: {criteria}\n'
f'Ideas:\n{ideas_formatted}\n'
f'Return JSON: {{"selected": ["string"]}}'
)
selected = json.loads(filtered_raw)['selected']
# Step 3: Expand — develop each selected idea
expansions = {}
for idea in selected:
expansions[idea] = call(f'Write a 100-word expansion of this idea, including implementation steps: {idea}')
return expansions
result = brainstorm_filter_expand('reduce app churn', 'feasible in 30 days, measurable impact', n_final=2)
print(list(result.keys()))提取 → 分类 → 路由
数据处理链:提取结构化数据,为其分类,然后将其路由到适当的处理程序。
- 提取:从非结构化文本中提取结构化信息
- 分类:分配类别、标签或优先级
- 路由:根据分类结果采取不同操作
这种模式为智能分流系统、内容审核和自动化客户支持路由提供了基础。
提取 → 分类 → 路由:Python 实现
提取 → 分类 → 路由链的完整实现:
import json
def extract_classify_route(ticket_text):
# Step 1: Extract structured data
extracted = json.loads(call(
f'Extract from this support ticket: {{"issue_summary": str, "product_area": str, "user_emotion": str}}\n\n{ticket_text}'
))
# Step 2: Classify priority and department
classified = json.loads(call(
f'Classify this ticket.\nIssue: {extracted["issue_summary"]}\nEmotion: {extracted["user_emotion"]}\n'
'Return JSON: {"priority": "urgent|high|medium|low", "department": "billing|technical|general"}'
))
# Step 3: Route — generate department-specific response
dept = classified['department']
priority = classified['priority']
route_prompts = {
'billing': f'You are a billing specialist. Priority: {priority}. Respond to: {extracted["issue_summary"]}',
'technical': f'You are a senior engineer. Priority: {priority}. Resolve: {extracted["issue_summary"]}',
'general': f'You are customer support. Priority: {priority}. Help with: {extracted["issue_summary"]}'
}
response = call(route_prompts[dept])
return {'extracted': extracted, 'classified': classified, 'response': response}
result = extract_classify_route('My payment was charged twice and I am furious!')
print(result['classified'])选择合适的链模式
将您的使用场景与合适的转换链模式相匹配:
- 草稿 → 审阅 → 润色:适用于任何内容创建场景——电子邮件、文章、文档、代码
- 头脑风暴 → 筛选 → 扩展:适用于策略、创意构思、产品规划和内容日历
- 提取 → 分类 → 路由:适用于支持工单、电子邮件、内容审核和数据处理
这些模式也可以组合使用——例如,提取 → 分类 → 头脑风暴解决方案 → 筛选 → 起草回复。
组合模式
现实中的流水线通常会将多个模式组合成更长的链:
def full_content_pipeline(raw_research):
# Pattern 1: Extract → Classify key insights
insights = json.loads(call(
f'Extract top 5 insights. Return JSON: {{"insights": [str]}}\n\n{raw_research}'
))
# Pattern 2: Brainstorm → Filter article angles
angles_raw = json.loads(call(
f'Brainstorm 8 article angles based on: {insights["insights"]}\nReturn JSON: {{"angles": [str]}}'
))
best_angle = json.loads(call(
f'Select the most compelling angle for a developer audience.\nReturn JSON: {{"angle": str}}\n\nAngles: {angles_raw["angles"]}'
))
# Pattern 3: Draft → Review → Polish
draft = call(f'Write a 300-word technical article on: {best_angle["angle"]}')
review = call(f'Review for technical accuracy and developer relevance:\n{draft}')
final = call(f'Polish the article applying this feedback:\n\nDraft:\n{draft}\n\nFeedback:\n{review}')
return final
print('Combined pipeline defined.')记录中间输出
在转换链中,记录每个中间输出。这对于调试至关重要——如果最终输出有误,您需要知道是哪一步生成了错误输出。
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger('chain')
def logged_call(step_name, prompt, **kwargs):
logger.info(f'[{step_name}] INPUT: {prompt[:100]}...')
result = call(prompt)
logger.info(f'[{step_name}] OUTPUT: {result[:100]}...')
return result
def draft_review_polish_logged(topic):
draft = logged_call('DRAFT', f'Write 200 words about: {topic}')
review = logged_call('REVIEW', f'Review for clarity:\n{draft}')
final = logged_call('POLISH', f'Rewrite applying feedback.\nDraft:\n{draft}\nFeedback:\n{review}')
return final
print('Logging integrated into chain.')衡量链质量
衡量每个步骤带来的改进,以验证链是否创造了价值:
def measure_chain_improvement(topic):
# Baseline: single prompt
baseline = call(f'Write and polish a 200-word article about {topic} in one step.')
# Chain: Draft -> Review -> Polish
draft = call(f'Write a 200-word draft about {topic}.')
review = call(f'List 3 specific improvements needed:\n{draft}')
chained = call(f'Rewrite applying these improvements:\nDraft:\n{draft}\nImprovements:\n{review}')
# Have the model compare quality
comparison = call(
f'Which version is higher quality? Rate each 1-10 for clarity and depth.\n'
f'Version A (single prompt):\n{baseline}\n\nVersion B (chain):\n{chained}\n'
'Return JSON: {"version_a_score": int, "version_b_score": int, "winner": "A|B", "reason": str}'
)
return comparison
print('Quality measurement pipeline defined.')快速检查
处理传入的支持工单并将其路由到正确团队时,哪种转换链模式最合适?
转换链——要点
顺序转换链通过专门步骤逐步完善内容:
- 草稿 → 审阅 → 润色:最适合内容创建——生成、评析,然后完善
- 头脑风暴 → 筛选 → 扩展:最适合创意构思——广泛生成、明智选择、深入发展
- 提取 → 分类 → 路由:最适合数据处理——提取结构、分配标签、路由到处理程序
- 可以将模式组合成更长的流水线,以应对复杂的使用场景
- 在每个步骤记录中间输出,以便有效调试
- 衡量每个步骤带来的改进,以验证链的价值
常见问题解答
「顺序转换链」课时是免费的吗?
是的 — 「顺序转换链」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。
「顺序转换链」这节课中我会学到什么?
了解“草拟 → 审阅 → 润色”链以及其他多阶段优化流程 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Prompt Engineering 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「顺序转换链」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Prompt Engineering 课中编写并运行代码吗?
能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。