advanced prompt techniques

Advanced Prompt Techniques:进阶提示工程技术与实战

一、Expert Prompting:激发专家级表现 Expert Prompting 的核心思想是让模型"成为某个特定领域的专家",从而激活其在对应领域的知识层和推理模式。 1.1 角色激活技术 def expert_prompting(domain: str, question: str) -> str: """通过角色激活让模型展示专家级能力""" prompt = f"""你是 {domain} 领域的顶尖专家,拥有 20 年以上的研究和实践经验。 作为专家,你的任务: 1. 用专家视角分析问题,不简化不泛化 2. 展示专业术语和领域特有的思考框架 3. 指出问题的核心难点和常见误区 4. 提供有实操性的建议,而非泛泛而谈 问题是:{question} 请在回答前先输出: [Expert Analysis]: 你对此问题的专业判断 [Framework]: 你计划采用的分析框架 [Answer]: 你的专业回答""" return prompt 1.2 置信度校准 def calibrated_expert(question: str, domain: str) -> str: """带置信度校准的专家回答""" prompt = f"""作为 {domain} 专家回答以下问题。回答要求: 1. 必须标注每个观点或结论的置信度(确定/很可能/可能/不确定) 2. 区分"主流共识"和"个人观点" 3. 指出存在争议或不确定的领域 4. 如果无法确定,明确说"不确定"而非猜测 格式: [置信度: 确定] 观点内容... [置信度: 可能] 观点内容... [不确定] 尚未形成确定结论的部分... 问题:{question}""" return prompt 1.3 多层专家协作 角色 职责 输出 首席分析师 制定分析框架 总体方法论 领域专家 专业领域分析 技术细节 批评者 找出逻辑漏洞 挑战与补充 整合者 汇总各方观点 最终结论 def multi_expert_system(question: str) -> str: """多专家协作系统""" prompt = """你对以下问题进行多专家协作分析。每个专家独立输出分析后,最终整合。 ## 问题 {question} ## 专家 1:首席分析师 角色:具备跨领域视野的资深分析师 分析要求:定义问题边界,建立分析框架 ## 专家 2:领域专家 角色:该领域的技术专家 分析要求:技术层面的深度剖析 ## 专家 3:批评者 角色:习惯性挑战每一个假设 分析要求:找出所有可能的漏洞和盲点 ## 整合阶段 综合以上三位专家的分析,形成最终结论。 指出专家之间的一致和分歧之处。 """ return prompt 二、Contrastive Prompting:对比式提示 通过让模型同时考虑"怎么做"和"不怎么做",强化理解和执行。 ...

2026-06-25 · 3 min · 623 words · 硅基 AGI 探索者
meta prompting guide

元提示技术:用 LLM 优化 LLM 的 Prompt

Meta-Prompting 原理 Meta-Prompting 的核心思想:用 LLM 来优化 LLM 的 prompt。这是一种"元"层面的优化——不在 prompt 内部做文章,而是让模型自己去寻找更好的 prompt。 传统流程:人工设计 prompt → 测试 → 人工修改 → 再测试(耗时、依赖经验) Meta-Prompting 流程: 初始 Prompt → LLM 生成候选变体 → 在测试集上评估 → 选择最优 → 迭代 APE:Automatic Prompt Engineer APE (Zhou et al., 2022) 是最早的自动 prompt 生成方法之一: 1. 给 LLM 少量输入-输出示例 2. 让 LLM 推断可能的 instruction (prompt) 3. 在验证集上评估每个候选 prompt 4. 选择表现最好的 import openai def ape_generate(input_output_examples, n_candidates=10): """APE: 自动生成候选 prompt""" examples_str = "\n".join([ f"输入: {ex['input']}\n输出: {ex['output']}" for ex in input_output_examples ]) meta_prompt = f"""观察以下输入-输出对,推断其背后的指令。 {examples_str} 请生成 {n_candidates} 条可能的指令,使模型能根据该指令从输入得到输出。 每条指令独占一行,以数字编号。指令应简洁、准确、可泛化。""" resp = openai.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": meta_prompt}], temperature=0.9, ) return resp.choices[0].message.content def ape_evaluate(prompt, eval_set): """在验证集上评估 prompt""" correct = 0 for item in eval_set: resp = openai.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": f"{prompt}\n\n输入: {item['input']}"}], temperature=0.0, ) if resp.choices[0].message.content.strip() == item['output'].strip(): correct += 1 return correct / len(eval_set) def ape_optimize(examples, eval_set, n_candidates=10): """APE 完整流程""" # 1. 生成候选 candidates_text = ape_generate(examples, n_candidates) candidates = [line.split('. ', 1)[1] for line in candidates_text.strip().split('\n') if '. ' in line] # 2. 评估 scores = [(c, ape_evaluate(c, eval_set)) for c in candidates] scores.sort(key=lambda x: x[1], reverse=True) return scores[0] # (best_prompt, score) OPRO:优化 by PROgression OPRO (Yang et al., 2023) 将 prompt 优化建模为优化问题,用 LLM 作为优化器: ...

2026-06-24 · 4 min · 747 words · 硅基 AGI 探索者
鲁ICP备2026018361号