大模型学习之路03:提示工程从入门到精通(第三篇)
前两篇我们完成了从 会写提示词 到 能落地企业级提示工程系统 的跨越。但大模型技术日新月异前沿提示技术正在重新定义生产力—— 从人工写提示词到 AI 自动生成提示词从单模型提示到多智能体协同提示从通用提示到领域专属提示。第八章 提示工程前沿技术2026 年最新传统提示工程依赖人工经验效率低、难以规模化。前沿提示技术的核心目标是用 AI 自动化提示工程的全流程同时大幅提升复杂任务的解决能力。8.1 自动提示工程APE自动提示工程Automatic Prompt Engineering, APE是让大模型自动生成、评估和优化提示词无需人工干预。这是目前最成熟、应用最广泛的前沿提示技术。8.1.1 APE 核心原理8.1.2 经典 APE 框架AutoPromptAutoPrompt 是最早的自动提示工程框架之一通过梯度搜索的方式自动生成提示词模板。Python 代码示例使用 OpenAI 实现简单 APEfrom openai import OpenAI import json client OpenAI(api_key你的API_KEY) def generate_candidate_prompts(task_description, num_candidates5): 生成候选提示词 prompt f 你是一位专业的提示词工程师。请根据以下任务描述生成{num_candidates}个不同的提示词模板。 任务描述{task_description} 要求 1. 每个提示词模板要包含{{input}}占位符用于替换输入数据 2. 提示词要清晰、具体、有效 3. 不同提示词要有不同的结构和侧重点 输出为JSON数组格式每个元素是一个提示词模板。 resp client.chat.completions.create( modelgpt-4o, messages[{role: user, content: prompt}], temperature0.7, response_format{type: json_object} ) return json.loads(resp.choices[0].message.content)[prompts] def evaluate_prompt(prompt_template, test_data): 评估单个提示词的效果 correct 0 for item in test_data: prompt prompt_template.format(inputitem[input]) resp client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: user, content: prompt}], temperature0 ) output resp.choices[0].message.content.strip() if output item[expected_output]: correct 1 return correct / len(test_data) def auto_prompt_engineering(task_description, test_data, num_candidates5, iterations3): 自动提示工程主函数 best_prompt None best_accuracy 0 for i in range(iterations): print(f第{i1}轮迭代...) candidates generate_candidate_prompts(task_description, num_candidates) for prompt in candidates: accuracy evaluate_prompt(prompt, test_data) print(f提示词{prompt[:50]}... 准确率{accuracy:.2f}) if accuracy best_accuracy: best_accuracy accuracy best_prompt prompt print(f本轮最优准确率{best_accuracy:.2f}) # 用最优提示词生成下一轮候选 task_description f基于以下最优提示词生成更好的提示词{best_prompt} print(f\n最终最优提示词{best_prompt}) print(f最终准确率{best_accuracy:.2f}) return best_prompt # 测试情感分类任务 task_description 判断文本的情感倾向输出积极、消极或中性 test_data [ {input: 今天天气真好, expected_output: 积极}, {input: 这部电影太烂了, expected_output: 消极}, {input: 今天是周三, expected_output: 中性}, {input: 产品质量很好, expected_output: 积极}, {input: 服务态度很差, expected_output: 消极} ] best_prompt auto_prompt_engineering(task_description, test_data)8.1.3 主流 APE 工具推荐DSPy斯坦福大学开源的声明式提示编程框架目前最强大的 APE 工具PromptAgent微软研究院推出的自动提示优化工具AutoPrompt加州大学伯克利分校开源的经典 APE 框架LangChain Prompt OptimizerLangChain 内置的提示词优化器8.2 元提示工程Meta-Prompting元提示工程是设计一个 元提示词让大模型根据不同的任务自动生成合适的提示词。一个好的元提示词可以适配数百种不同的任务大幅提升开发效率。8.2.1 元提示词核心结构一个优秀的元提示词应包含以下部分角色设定让模型扮演提示词工程师提示词设计原则告诉模型如何设计好的提示词输出格式要求指定生成的提示词的结构任务输入用户的具体任务描述8.2.2 通用元提示词模板企业级【角色设定】你是世界上最优秀的提示词工程师拥有10年以上的提示工程经验擅长为各种任务设计最高效的提示词。 【提示词设计黄金原则】 1. 清晰性使用精确、无歧义的语言 2. 具体性明确任务要求、输出格式和约束条件 3. 结构化使用分点、编号、标题等方式组织内容 4. 角色化为模型赋予合适的专业身份 5. 示例化提供1-3个高质量的输入输出示例 【输出要求】 请根据用户的任务描述生成一个专业的提示词包含以下模块 1. 角色设定 2. 任务描述 3. 输入数据说明 4. 输出要求 5. 约束条件 6. 示例参考如果需要 输出格式为Markdown每个模块用二级标题标注。 【用户任务】 {{user_task}}8.2.3 使用示例【用户任务】 设计一个提示词让大模型帮我写产品需求文档PRD模型生成的提示词## 角色设定 你是一位拥有10年经验的资深产品经理擅长撰写清晰、完整、可落地的产品需求文档。 ## 任务描述 请根据以下产品信息撰写一份完整的产品需求文档PRD。 ## 输入数据说明 - 产品名称 - 目标用户 - 核心功能 - 非功能需求 - 技术栈建议 ## 输出要求 1. 文档结构清晰包含以下章节 - 1. 产品概述 - 2. 目标用户 - 3. 功能需求用例图详细描述 - 4. 非功能需求 - 5. 技术栈建议 - 6. 上线计划 2. 语言专业、简洁、准确 3. 字数控制在2000-3000字 4. 使用Markdown格式 ## 约束条件 1. 不要添加任何无关内容 2. 需求要具体、可量化、可测试 3. 符合互联网产品的最佳实践 ## 示例参考 [此处省略示例]8.3 DSPy声明式提示编程框架DSPy 是斯坦福大学在 2024 年推出的革命性框架它将提示工程从 写自然语言 变成了 写代码实现了提示工程的完全自动化和可复用。8.3.1 DSPy 核心概念签名Signature定义任务的输入输出格式如inputquestion, outputanswer模块Module封装了提示逻辑的可复用组件如dspy.Predict、dspy.ChainOfThought优化器Optimizer自动优化模块中的提示词和参数如BootstrapFewShot评估器Evaluator评估模型的效果指导优化过程8.3.2 DSPy 代码示例数学问题求解import dspy from dspy.evaluate import Evaluate from dspy.teleprompt import BootstrapFewShot # 配置大模型 turbo dspy.OpenAI(modelgpt-3.5-turbo, api_key你的API_KEY) dspy.settings.configure(lmturbo) # 1. 定义任务签名 class MathProblem(dspy.Signature): 解决数学应用题 question dspy.InputField(desc数学应用题) answer dspy.OutputField(desc最终答案只输出数字) # 2. 定义模型 class MathSolver(dspy.Module): def __init__(self): super().__init__() self.cot dspy.ChainOfThought(MathProblem) def forward(self, question): return self.cot(questionquestion) # 3. 准备数据集 train_data [ dspy.Example(question一个商店有12个苹果卖了5个又进货8个现在有多少个, answer15).with_inputs(question), dspy.Example(question小明有5颗糖妈妈又给他买了4颗他吃掉了2颗现在有多少颗, answer7).with_inputs(question), dspy.Example(question35×2等于多少, answer13).with_inputs(question) ] test_data [ dspy.Example(question一个数加上5乘以3减去10再除以2结果是10这个数是多少, answer5).with_inputs(question) ] # 4. 定义评估函数 def evaluate_math(example, pred, traceNone): return pred.answer.strip() example.answer.strip() # 5. 自动优化提示词 optimizer BootstrapFewShot(metricevaluate_math, max_bootstrapped_demos3) optimized_solver optimizer.compile(MathSolver(), trainsettrain_data) # 6. 测试 question 一个数加上5乘以3减去10再除以2结果是10这个数是多少 pred optimized_solver(questionquestion) print(f问题{question}) print(f答案{pred.answer}) print(f推理过程{pred.rationale})8.3.3 DSPy 的优势无需手动写提示词优化器自动生成最优提示词可复用性强模块可以在不同任务之间复用可扩展性好支持复杂的多步骤任务和多智能体系统效果更好在大多数任务上超过人工设计的提示词8.4 专家混合提示MoE Prompting专家混合提示的核心思想是让模型模拟多个不同领域的专家分别给出意见然后综合得出最终结果。这种方法能大幅提升复杂决策问题的准确率。8.4.1 专家混合提示流程8.4.2 专家混合提示词模板【任务】请解决以下问题{{question}} 【步骤1专家分析】 请分别扮演以下三位专家从各自的专业角度分析问题并给出解决方案。 专家1[专家1身份如资深技术架构师] 分析 解决方案 专家2[专家2身份如产品经理] 分析 解决方案 专家3[专家3身份如运营专家] 分析 解决方案 【步骤2综合决策】 请扮演一位经验丰富的决策者综合以上三位专家的意见给出最终的最优解决方案并说明理由。8.4.3 示例产品功能决策【任务】我们的电商APP是否应该增加直播带货功能 【步骤1专家分析】 专家1资深技术架构师 分析直播带货需要搭建直播系统、推流系统、互动系统技术复杂度较高需要投入至少5名开发人员开发周期3个月。 解决方案建议分阶段开发先上线基础直播功能再逐步优化。 专家2产品经理 分析直播带货是目前电商的主流趋势能大幅提升用户粘性和转化率。我们的竞品都已经上线了直播功能如果我们不做会失去市场份额。 解决方案必须尽快上线直播带货功能作为今年的核心功能。 专家3运营专家 分析直播带货需要专业的运营团队和主播资源我们目前没有相关经验运营成本较高。如果运营不好可能会投入大量资源但没有效果。 解决方案建议先和第三方直播平台合作验证效果后再自建直播系统。 【步骤2综合决策】 综合三位专家的意见最优解决方案是先和第三方直播平台合作用3个月时间验证直播带货的效果。如果效果好再投入资源自建直播系统如果效果不好及时止损。 理由这种方案既能跟上市场趋势又能降低技术和运营风险是最稳妥的选择。8.5 其他前沿方向8.5.1 提示蒸馏Prompt Distillation将大模型的提示知识蒸馏到小模型中让小模型也能达到大模型的效果大幅降低推理成本。8.5.2 多智能体提示Multi-Agent Prompting设计多个不同角色的智能体通过协作完成复杂任务如软件开发团队、内容创作团队等。代表框架AutoGen、CrewAI、LangGraph。8.5.3 提示安全Prompt Safety研究如何设计安全的提示词防止模型生成有害内容防范提示注入攻击。代表技术宪法 AI、安全护栏。8.5.4 领域专属提示Domain-Specific Prompting针对医疗、法律、金融等垂直领域设计专门的提示词模板和知识库提升模型在特定领域的表现。第九章 企业级实战项目本章包含 3 个最主流的企业级大模型应用项目每个项目都有完整的需求分析、技术架构、核心代码和提示词设计你可以直接跟着实现或者写进简历。9.1 项目一智能客服系统日调用量 10 万 智能客服是企业应用大模型最多的场景也是面试中最常问的项目。9.1.1 需求分析核心功能自动回答用户常见问题、处理订单查询、引导用户转人工性能要求响应时间 2 秒准确率 90%支持 1000 并发业务要求语气亲切、符合品牌形象、不泄露公司机密安全要求防范提示注入攻击、过滤有害内容9.1.2 技术架构9.1.3 核心提示词设计1. 系统提示词核心【角色设定】你是XX电商的智能客服助手工号001。你的名字是小X。 【品牌形象】亲切、热情、专业、有耐心使用亲称呼用户。 【客服守则】 1. 只能回答与XX电商产品和服务相关的问题 2. 回答要准确、简洁、清晰不要编造信息 3. 如果无法回答用户的问题说亲这个问题我暂时无法解答我帮您转人工客服好吗 4. 不要泄露公司机密和其他用户的信息 5. 不要与用户发生争执保持礼貌 6. 所有回答必须使用中文 【公司信息】 - 公司名称XX电商 - 主营业务电子产品销售 - 客服时间9:00-21:00 - 发货时间下单后24小时内发货 - 退货政策7天无理由退货15天质量问题包换 - 运费政策满99元包邮不满99元运费10元 【用户信息】 用户ID{{user_id}} 订单号{{order_id}}如果有 用户等级{{user_level}} 【对话历史】 {{chat_history}} 【用户最新问题】 {{user_question}} 请根据以上信息回答用户的问题。2. 意图识别提示词请识别用户问题的意图输出以下意图之一 - 发货查询 - 退货申请 - 订单查询 - 产品咨询 - 投诉建议 - 转人工 - 其他 用户问题{{user_question}} 输出9.1.4 核心代码实现from fastapi import FastAPI, HTTPException from openai import OpenAI import json from security import filter_input, filter_output from rag import retrieve_knowledge app FastAPI() client OpenAI(api_key你的API_KEY) # 加载系统提示词模板 with open(prompts/customer_service_system.j2, r, encodingutf-8) as f: system_prompt_template f.read() with open(prompts/intent_recognition.j2, r, encodingutf-8) as f: intent_prompt_template f.read() app.post(/api/chat) async def chat(user_id: str, user_question: str, order_id: str None): # 1. 输入过滤 is_safe, filtered_input filter_input(user_question) if not is_safe: return {answer: 亲您的输入包含敏感信息请重新输入。} # 2. 意图识别 intent_prompt intent_prompt_template.format(user_questionfiltered_input) intent_resp client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: user, content: intent_prompt}], temperature0 ) intent intent_resp.choices[0].message.content.strip() # 3. 知识库检索 knowledge retrieve_knowledge(filtered_input, intent) # 4. 构建系统提示词 system_prompt system_prompt_template.format( user_iduser_id, order_idorder_id, user_level普通用户, chat_history, # 实际应用中从数据库获取对话历史 user_questionfiltered_input, knowledgeknowledge ) # 5. 大模型推理 resp client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: system, content: system_prompt}], temperature0.7, streamTrue ) # 6. 输出验证 answer for chunk in resp: if chunk.choices[0].delta.content: answer chunk.choices[0].delta.content is_safe, filtered_answer filter_output(answer) if not is_safe: return {answer: 亲这个问题我暂时无法解答我帮您转人工客服好吗} return {answer: filtered_answer, intent: intent} if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8000)9.1.5 效果优化RAG 增强将常见问题和答案存入向量数据库检索后作为上下文提供给模型提示词 A/B 测试定期测试不同的系统提示词选择效果最好的人工审核对低置信度的回答进行人工审核不断优化提示词和知识库冷启动优化收集用户常见问题提前生成标准答案9.2 项目二企业知识库问答系统RAG 提示工程企业知识库问答系统是目前最火的大模型应用之一几乎所有企业都有这个需求。9.2.1 需求分析核心功能支持上传 PDF/Word/PPT/Markdown 等格式的文档自动构建知识库支持自然语言问答性能要求响应时间 3 秒准确率 85%支持 100 并发功能要求支持引用溯源、多轮对话、文档管理、权限控制安全要求数据隔离、防止敏感信息泄露9.2.2 技术架构9.2.3 核心提示词设计1. 问答提示词核心【角色设定】你是一位专业的知识库助手擅长根据提供的文档内容回答用户的问题。 【任务描述】请根据以下参考文档回答用户的问题。 【参考文档】 {{documents}} 【用户问题】 {{question}} 【输出要求】 1. 只能使用参考文档中的信息回答问题 2. 如果参考文档中没有相关信息说抱歉知识库中没有找到相关信息。 3. 回答要准确、简洁、清晰 4. 重要信息用加粗标注 5. 在回答的末尾添加引用来源格式为[来源文档名称-页码] 【约束条件】 1. 不要编造任何没有依据的信息 2. 不要回答与参考文档无关的问题 3. 所有回答必须使用中文2. 问题重写提示词请根据对话历史将用户的最新问题重写为一个完整、清晰的独立问题。 对话历史 {{chat_history}} 用户最新问题{{latest_question}} 重写后的问题9.2.4 核心代码实现from fastapi import FastAPI, UploadFile, File from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.document_loaders import PyPDFLoader, Docx2txtLoader from langchain_community.embeddings import HuggingFaceBgeEmbeddings from langchain_community.vectorstores import Milvus from openai import OpenAI import os import uuid app FastAPI() client OpenAI(api_key你的API_KEY) # 初始化嵌入模型和向量数据库 embeddings HuggingFaceBgeEmbeddings(model_nameBAAI/bge-large-zh-v1.5) vector_store Milvus( embedding_functionembeddings, connection_args{host: localhost, port: 19530}, collection_nameenterprise_kb ) # 加载提示词模板 with open(prompts/rag_qa.j2, r, encodingutf-8) as f: qa_prompt_template f.read() app.post(/api/upload) async def upload_document(file: UploadFile File(...)): 上传文档并构建知识库 file_id str(uuid.uuid4()) file_path ftemp/{file_id}_{file.filename} os.makedirs(temp, exist_okTrue) # 保存文件 with open(file_path, wb) as f: f.write(await file.read()) # 加载文档 if file.filename.endswith(.pdf): loader PyPDFLoader(file_path) elif file.filename.endswith(.docx): loader Docx2txtLoader(file_path) else: raise HTTPException(status_code400, detail不支持的文件格式) documents loader.load() # 文档分块 text_splitter RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap50, separators[\n\n, \n, 。, , ] ) chunks text_splitter.split_documents(documents) # 添加元数据 for chunk in chunks: chunk.metadata[file_name] file.filename chunk.metadata[file_id] file_id # 存入向量数据库 vector_store.add_documents(chunks) # 删除临时文件 os.remove(file_path) return {file_id: file_id, file_name: file.filename, chunks_count: len(chunks)} app.post(/api/qa) async def qa(question: str, file_id: str None): 知识库问答 # 检索相关文档 search_kwargs {k: 5} if file_id: search_kwargs[filter] {file_id: file_id} docs vector_store.similarity_search(question, **search_kwargs) # 构建参考文档 documents_str for i, doc in enumerate(docs): documents_str f文档{i1}\n{doc.page_content}\n来源{doc.metadata[file_name]}-第{doc.metadata.get(page, 1)}页\n\n # 构建提示词 prompt qa_prompt_template.format( documentsdocuments_str, questionquestion ) # 大模型推理 resp client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: user, content: prompt}], temperature0 ) answer resp.choices[0].message.content return {answer: answer, sources: [doc.metadata[file_name] for doc in docs]} if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8001)9.2.5 效果优化文档分块优化使用语义分块代替固定大小分块重排序使用 BGE-Reranker 对检索结果进行重排序问题重写对用户的问题进行重写提升检索准确率分层 RAG使用父文档 - 子文档结构解决长上下文问题9.3 项目三AI 内容创作平台AI 内容创作平台是 ToC 和 ToB 都非常受欢迎的应用能大幅提升内容生产效率。9.3.1 需求分析核心功能支持文案生成、文章写作、邮件撰写、代码生成、图片生成等多种内容创作任务功能要求支持风格选择、字数控制、模板选择、内容编辑、历史记录性能要求响应时间 5 秒支持 500 并发用户体验界面简洁、操作简单、生成质量高9.3.2 技术架构9.3.3 核心提示词设计1. 通用内容生成提示词模板【角色设定】你是一位专业的{{content_type}}创作专家拥有10年以上的创作经验。 【任务描述】请根据以下要求创作一篇{{content_type}}。 【创作要求】 - 主题{{topic}} - 风格{{style}} - 字数{{word_count}}字左右 - 目标受众{{target_audience}} - 核心关键词{{keywords}} 【输出要求】 1. 内容原创、高质量、有吸引力 2. 结构清晰、逻辑严谨 3. 语言流畅、符合{{style}}风格 4. 字数控制在{{word_count}}±10%以内 5. 使用Markdown格式 【约束条件】 1. 不要生成任何违法、违规、低俗的内容 2. 不要侵犯他人的知识产权 3. 所有内容必须使用中文9.3.4 核心代码实现from fastapi import FastAPI, HTTPException from openai import OpenAI from pydantic import BaseModel import json app FastAPI() client OpenAI(api_key你的API_KEY) # 加载模板 with open(templates/content_templates.json, r, encodingutf-8) as f: templates json.load(f) class ContentRequest(BaseModel): template_id: str topic: str style: str 正式 word_count: int 500 target_audience: str 通用 keywords: str app.get(/api/templates) async def get_templates(): 获取所有内容模板 return [{id: k, name: v[name], description: v[description]} for k, v in templates.items()] app.post(/api/generate) async def generate_content(request: ContentRequest): 生成内容 if request.template_id not in templates: raise HTTPException(status_code400, detail模板不存在) template templates[request.template_id] # 构建提示词 prompt template[prompt_template].format( topicrequest.topic, stylerequest.style, word_countrequest.word_count, target_audiencerequest.target_audience, keywordsrequest.keywords ) # 大模型推理 resp client.chat.completions.create( modelgpt-3.5-turbo, messages[{role: user, content: prompt}], temperature0.7, streamTrue ) # 流式返回结果 from fastapi.responses import StreamingResponse import asyncio async def generate(): for chunk in resp: if chunk.choices[0].delta.content: yield chunk.choices[0].delta.content await asyncio.sleep(0.01) return StreamingResponse(generate(), media_typetext/plain) if __name__ __main__: import uvicorn uvicorn.run(app, host0.0.0.0, port8002)第十章 面试题10.1 基础理论题什么是提示工程它的核心价值是什么答题思路先定义提示工程然后从低成本、解决幻觉、标准化输出、提升推理能力四个方面讲价值最后说适用边界。解释一下思维链CoT提示的原理和作用。答题思路先讲 CoT 是什么然后讲原理引导模型逐步推理再讲适用场景数学、逻辑、复杂问题最后讲零样本 CoT 和少样本 CoT 的区别。大模型为什么会产生幻觉如何通过提示工程减少幻觉答题思路先讲幻觉的原因训练数据不足、统计规律预测然后讲提示工程的解决方法提供上下文、要求引用来源、约束条件、自我验证。什么是少样本提示它为什么有效答题思路先定义少样本提示然后讲原理大模型的上下文学习能力再讲设计要点示例多样化、高质量、与任务一致。10.2 工程化题如何管理企业级的提示词答题思路从模板化、版本控制、集中式仓库、A/B 测试、监控评估五个方面讲提到 Jinja2、Git、LangChain Hub 等工具。如何评估提示词的效果答题思路从定量评估准确率、F1、任务完成率、定性评估人工打分、自动化评估大模型作为评估器三个方面讲提到评估数据集的构建。什么是提示注入攻击如何防范答题思路先定义提示注入然后讲常见类型直接注入、间接注入、越狱再讲防范方法输入过滤、输出验证、角色隔离、安全工具。如何进行提示词的 A/B 测试答题思路讲 A/B 测试的流程确定指标、设计候选提示词、构建数据集、运行测试、统计分析、上线提到 LangSmith、PromptLayer 等工具。10.3 场景设计题如果让你设计一个智能客服的提示词你会怎么设计答题思路按照六要素结构角色设定、任务描述、输入数据、输出要求、约束条件、示例参考来设计重点讲品牌形象、客服守则、公司信息、用户信息、对话历史的处理。如何优化一个 RAG 系统的回答质量答题思路从文档处理分块、清洗、检索阶段嵌入模型、混合检索、重排序、生成阶段提示词设计、上下文管理三个方面讲提到高级 RAG 技术分层 RAG、问题重写、上下文压缩。用户投诉客服回答错误你会怎么排查和优化答题思路先排查原因提示词问题、知识库问题、模型问题、用户输入问题然后讲优化步骤复现问题、分析日志、优化提示词 / 知识库、A/B 测试、上线验证最后讲监控和预防措施。10.4 前沿技术题什么是自动提示工程APE它有什么优势答题思路先定义 APE然后讲原理大模型自动生成和优化提示词再讲优势效率高、效果好、可规模化最后提到 DSPy、AutoPrompt 等工具。什么是元提示工程答题思路先定义元提示工程然后讲核心思想用提示词生成提示词再讲元提示词的结构最后讲应用场景。DSPy 和传统提示工程有什么区别答题思路先讲传统提示工程的缺点依赖人工、难以复用、难以优化然后讲 DSPy 的核心概念签名、模块、优化器最后讲 DSPy 的优势自动化、可复用、可扩展。10.5 字节跳动真题问题如何设计一个提示词让大模型准确提取合同中的甲方、乙方、合同金额、合同期限四个字段答题思路角色设定专业的法律文档提取专家任务描述明确提取四个字段输入数据合同文本输出要求JSON 格式每个字段的定义和示例约束条件只能提取合同中明确提到的信息没有的话输出 未明确示例参考提供 1-2 个提取示例参考答案【角色设定】你是一位专业的法律文档信息提取专家拥有10年以上的合同处理经验。 【任务描述】请从以下合同文本中提取甲方、乙方、合同金额、合同期限四个字段。 【字段定义】 - 甲方合同中的委托方/发包方 - 乙方合同中的受托方/承包方 - 合同金额合同约定的总金额包含币种 - 合同期限合同的生效日期和终止日期 【输入合同文本】 {{contract_text}} 【输出要求】 1. 输出为严格的JSON格式不要输出任何其他内容 2. 如果某个字段在合同中没有明确提到输出未明确 3. 提取的信息要准确无误不要添加任何解释 【示例参考】 输入 甲方XX科技有限公司 乙方YY软件有限公司 合同金额人民币100万元整 合同期限2023年1月1日至2023年12月31日 输出 { 甲方: XX科技有限公司, 乙方: YY软件有限公司, 合同金额: 人民币100万元整, 合同期限: 2023年1月1日至2023年12月31日 }10.6 阿里巴巴真题问题如果你的提示词在测试集上准确率很高但上线后效果很差你会怎么排查答题思路数据分布问题测试集和线上数据分布不一致测试集太简单提示词泛化能力差提示词过度拟合测试集上下文长度问题线上输入过长超过上下文窗口模型版本问题线上使用的模型版本和测试时不同用户输入问题线上用户输入不规范、有歧义、有恶意输入系统问题RAG 检索错误、提示词模板渲染错误排查步骤先复现问题然后分析日志对比测试和线上的差异逐一排查原因最后优化和验证