章节目标:通过结构化标签与 提示自测 ,确保 Claude 在处理长文档时不会混淆指令与数据。
将变量与指令分离
- 把原始输入放进
<context>或<data>,将行动指南放进<instructions>;这样 Claude 在阅读时更容易区分“事实”与“要求”。 - 使用编号清单描述任务:如“(A) 产生摘要、(B) 验证引用”,有助模型逐项完成。
- 若资料为长文本,可额外提供
<glossary>或<definitions>标签,避免术语误解。
<context>
DOC001: …
DOC002: …
</context>
<instructions>
1. 对每份 DOC 生成一句摘要。
2. 输出表格时引用文档编号。
</instructions>
结构化输出的优势
- 让
post-processing容易:固定字段名称(如“摘要”“证据”)可直接被程序读取。 - 降低幻觉风险:当输出必须引用
DOC 编号时,Claude 会主动对照原文而非凭空编造。 - 方便协同:团队可共享同一模板,只替换
<context>与<tasks>即可复用。
小技巧:若要处理表格,可让 Claude 返回 Markdown 表格或 JSON,对后续自动化更友好。
示例:未分离 vs 分离变量
未分离数据时,Claude 容易混淆输入与指令:
prompt = """
Summarize the following and list three risks:
{policy_text}
"""
print(get_completion(prompt))
拆分上下文与指令后,输出更可控:
prompt = """
<context>{policy_text}</context>
<instructions>
1. 用 2 句总结主要目标。
2. 列出三项风险,并引用段落编号。
</instructions>
"""
print(get_completion(prompt))
上述示例对应 notebook Lesson 小节中的代码,对照执行可看出结构化标签的优势。
练习
- 复制一段说明书或服务条款到
<context>。 - 在
<tasks>中列出“抽取三大风险”“列出需澄清问题”。 - 运行后检查输出是否引用正确段落,如有缺漏,在提示中增加“遇到未知时列入
<missing>”。
完成后,你的提示模板可以直接应用在知识库整理、法务审阅等场景,为后续章节的格式化与思维链奠定基础。
Prompt Playground
课后练习模板
使用步骤
- 按照课程指引填写提示骨架,保留变量占位符。
- 在 Claude 或 Bedrock 中运行前,检查变量是否替换完整。
- 运行后对照检查清单,记录问题并在笔记区调整。
评分参考
Tips
草稿会自动保存到浏览器中,若想在团队中共享,请点击“下载草稿”并上传到文档库。