前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >迈向大模型第一步:Prompt提示工程基础原理及实践

迈向大模型第一步:Prompt提示工程基础原理及实践

原创
作者头像
fanstuck
修改于 2024-01-19 01:07:54
修改于 2024-01-19 01:07:54
3.8K3
举报

想象一下,你在装饰房间。你可以选择一套标准的家具,这是快捷且方便的方式,但可能无法完全符合你的个人风格或需求。另一方面,你也可以选择定制家具,选择特定的颜色、材料和设计,以确保每件家具都符合你的喜好和空间要求。

比如,选择一个特制的沙发,你可以决定其尺寸、布料类型、甚至是扶手的样式。你还可以根据房间的主题选择颜色,甚至添加一些独特的装饰,比如刺绣或特别的缝线。

这就是Prompt工程的概念。就像你通过选择不同的设计元素来定制家具一样,Prompt工程涉及对AI的输入进行精细调整,以获得更加贴合需求的结果。通过改变、添加或精确化输入的提示,你可以引导AI产生更符合特定要求或风格的输出,就像为房间挑选和定制合适的家具一样。

很多人对语言大模型的认知和理解局限于智能回答层面,将它定位为取代搜索平台的智能应答机器人。但是随着更多大模型在各个领域应用的逐渐渗入,更多企业业务落地场景也在不断挖掘,人们会逐渐意识到大模型的能力远不止仅仅的问答作用。如果我们想要开始正式深入学习大模型的应用,迈开的第一步就会了解到Prompt提示工程,本系列文章将Prompt提示工程从简入深全面讲解以及实际落地运用,赋能不限于直媒体运营、AIGC文案生成,以及语音视频合成方面的运用。

1.什么是Prompt工程?

在AI语境中,"Prompt"通常指的是向模型提出的一个请求或问题,这个请求或问题的形式和内容会影响模型的输出。例如:在一个文本生成模型中,提示可以是一个问题、一个话题或者是一段描述,模型根据这个提示生成相应的文本。Prompt工程是指人们向生成性人工智能(AI)服务输入提示以生成文本或图像的过程中,对这些提示进行精炼的过程。任何人都可以使用文言一心和DALL-E这样的生成器,通过自然语言来进行操作。这也是AI工程师在使用特定或推荐提示对大型语言模型(LLMs)进行精炼时使用的技术。

例如,如果你在使用文言一心来头脑风暴你的简历的专业概述时,你可能会写下这样的命令:“为市场分析师编写一个样本专业概述。”对于文言一心的回答,你可能会给出像“太正式”或“缩短到不超过100个词”这样的反馈。而Prompt工程就是不断整理优化每一次的提示词,让LLM能够做出最符合我们需要的效果回答。在某些情况下,调整提示可能是提高模型输出质量的唯一途径,特别是在使用那些不允许直接修改内部机制的预训练模型时。

我们再来看看ChatGPT的Prompt工程师给的例子:

For text models like ChatGPT:

  • What’s the difference between a professional summary and an executive summary?
  • Write a professional summary for a marketing analyst looking for a marketing manager job.
  • Now trim it down to less than 60 words.
  • Rewrite it with a less formal tone.. For image models like DALL-E:
  • A painting of a cat.
  • A painting of a cat chasing a mouse in Impressionist style.
  • Now use only warm tones in the painting.

文本模型ChatGPT和DALL-E例子都差不多,以文本模型ChatGPT为例子,提出的提示词有四句:

第一句为提出问题,专业和执行总结,引出两个具体目标;

第二句指明场景情景和具体服务对象。

第三句对生成内容提出要求。

第四句加入情感内容到生成文本中。

这里我们要知道,因为生成人工智能是一个根据人类和机器产生的数据训练的机器人,它不具备筛选你正在交流的内容以理解你实际在说什么的能力。也就是说你说的就是你得到的。当将查询输入到AI生成器中时,最好使用特定的、简单的语言进行查询,并且没有不必要的填充符。例如,您可以查询“为学术研究提案编写大纲,包括标题、摘要和下一步行动”,而不是“编写包含标题和下一步骤的大纲”。所以构建Prompt工程也有一些技巧和原则,简单可以归结为:

问题式Prompt

问题式Prompt通过提出问题来引导模型生成答案。这类Prompt最直接、最简单,适用于需要获取具体信息的场景。就像第一个例子给出的What’s the difference between a professional summary and an executive summary?

陈述式Prompt

陈述式Prompt通过描述一个场景或状态来引导模型生成相关内容。这类Prompt更注重模型的创造性和表现力,适用于需要模型产生描述、故事或观点等内容的场景。比如为一位正在寻找营销经理工作的营销分析师写一篇专业摘要,Write a professional summary for a marketing analyst looking for a marketing manager job.

指令式Prompt

指令式Prompt通过给出明确的指令来引导模型完成特定任务。这类Prompt要求模型具有较强的执行能力,适用于需要模型进行翻译、纠错、编程等任务的场景。比如现在把它缩减到不到60个单词,Now trim it down to less than 60 words.

情感传入Prompt

在特点的条件下我们可以会需要生成一些带有强烈情感的文本内容,带有主观意识的思想去批判或者是抨击,而如果我们想要生成一些此类内容就需要让语言模型知道我们所处的环境以及主观情感色彩。不提供Prompt情感词,AI回答的永远是中性感情的内容生成。

当然,以上对于Prompt工程来说仅仅是浅显分类,真正要做好针对特点场景的分类还得让Prompt工程师对症下药。参考微软举垂直Prompt复杂度举例,帮助我们更好认识到Prompt工程:

Instruction Type

Prompt

Completion

Simple instructions

Write an introduction for a weekly newsletter.

Welcome to our weekly newsletter. This week we have a special focus on productivity. We'll be sharing tips and tricks on how to be productive in all areas of your life. We hope you enjoy and please share with your friends!

Complex instructions

Write an introduction for a weekly newsletter to my company named Contoso. It should mention the great all hands meeting we had last week and thank the team for all their hard work over the tough past few months.

Welcome to Contoso's weekly newsletter! We had a great all hands meeting last week and I want to thank the team for all their hard work over the tough past few months. We're looking forward to a bright future and I'm confident that with our team's dedication and commitment, we will achieve great things. Thank you for being a part of our team and I look forward to working with you all in the coming weeks and months. Sincerely, Your name.

Complex Instructions

Write an introduction for a weekly newsletter, including the following: - My company is named contoso - An exuberant greeting - Thanking the team for their hard work over a couple tough months - Positive outlook for the coming quarter - Signed by the SLT

Hello Contoso team! I wanted to take a moment to thank you for all your hard work over the past few months. It's been a tough couple of months, but you've all pulled together and done an amazing job. I'm really proud of you all. Looking ahead to the next quarter, I'm feeling really positive. I think we're going to achieve some great things. Thanks again, The Senior Leadership Team.

2.Prompt工程师主要做什么?

Prompt工程师的主要工作是设计、优化和精炼用于生成性人工智能系统的提示(prompts)。这些提示是指导AI系统生成特定输出的文本输入,例如文本、图像或代码。Prompt工程师的角色在不同的AI应用领域中可能有所不同,主要是根据对于的业务场景来构建特征提示词。Prompt工程师对于人工智能工程师创造更好的服务很重要,比如处理客户服务任务或生成合法合同的聊天机器人。确保像文言一心这样的生成性人工智能服务能够提供输出,需要工程师构建代码,并根据广泛准确的数据对人工智能进行培训。

在数据驱动的大世界里,我们已经到了一个地步,训练人工智能模型可以帮助更高效地提供解决方案,而无需手动对大量数据进行排序。适当的Prompt工程师还可以识别和减轻注入攻击(恶意入侵ChatGPT或聊天机器人背后的逻辑),以确保公司提供一致和准确的服务。Coursera对Prompt工程师的要求有:

Prompt engineers need to be skilled in the fundamentals of natural language processing(NLP), including libraries and frameworks, Python programming language, generative AI models, and contribute to open-source projects.

Prompt工程师需要熟练掌握自然语言处理(NLP)的基础知识,包括库和框架、Python编程语言、生成人工智能模型,并为开源项目做出贡献。成功的提示往往依赖于“一次性”或“少量”学习的实践。这是指通常通过包括输入和输出对来包括模型的期望行为的一个或多个示例。这不是在模型被永久改变的意义上的学习,而是在示例更好地调节模型,使其仅对当前推理做出所需的响应。使用没有示例的提示有时被称为“零样本”学习。使用Chat Completion API,通常会在初始系统消息之后以示例用户/助手交互的形式向消息阵列中添加少量的热学习示例:

Learning Type

Prompt

Completion

Zero-shot

Headline: Coach confident injury won't derail Warriors Topic:

The coach is confident that the injury won't derail the Warriors' season. The team is still focused on their goals and that they will continue to work hard to achieve them.

Few-shot

Headline: Twins' Correa to use opt-out, test free agency Topic: Baseball Headline: Qatar World Cup to have zones for sobering up Topic: Soccer Headline: Yates: Fantasy football intel for Week 6 Topic: Football Headline: Coach confident injury won't derail Warriors Topic:

Basketball

Prompt工程师一般会根据其目的和设计方式将Prompt分为几个主要类别:

零样本(Zero-shot)Prompting

  • 在这种情况下,prompt被设计成直接询问模型一个问题或请求,而不提供任何特定的训练例子。
  • 这种方法依赖于模型已经通过预训练获得的知识。 单样本(One-shot)或少样本(Few-shot)Prompting
  • 这种方法在prompt中包含一个或几个示例,以指导模型如何响应。
  • 这些例子充当了模型应该如何处理类似情况的示范。 链式(Chain-of-thought)Prompting
  • 在这种方法中,prompt被设计为引导模型展示其思考过程,尤其是在解决复杂问题时。
  • 这有助于提高模型输出的透明度和可解释性。

模板式(Template-based)Prompting

  • 在这种情况下,prompt是根据特定的模板或结构来设计的,这些模板旨在有效地激发模型的正确响应。
  • 这种方法通常用于具体的应用场景,如文本分类或实体识别。

对话式(Conversational)Prompting

  • 这种prompt设计为对话形式,模拟自然语言对话场景,以引导模型在对话环境中产生响应。
  • 这种方式适用于聊天机器人和交互式应用。

任务特定(Task-specific)Prompting

  • 这类prompt专门为特定的任务或应用场景量身定制,如翻译、摘要、问题回答等。
  • 这种方法强调根据任务需求来优化prompt的设计。

这里仅展开一个具体Prompting给大家演示,并不展开所有形式,后续文章将会详细讲解,以模板式(Template-based)Prompting为例:

任务:对给定的文本段落进行情感分析,判断它是正面的、负面的还是中性的。

模板式Prompt

  • “文本:待分类的文本段落
  • 情感分析结果:这段文本的情绪是正面/负面/中性。” 在这个例子中,模板由两部分组成:
  1. “文本:”后跟随待分类的文本段落。
  2. “情感分析结果:”引导模型基于所提供的文本作出情感分类。

使用模板式Prompt的一个具体例子可能是:

  • “文本:我今天过得非常愉快,天气晴朗,和朋友们度过了美好的一天。
  • 情感分析结果:这段文本的情绪是正面/负面/中性。”

本章内容已经足够多了,下篇文章将展开Prompt在不同场景下的构建和使用。

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
学习了,后面可以知道咋更好的使用prompt了
学习了,后面可以知道咋更好的使用prompt了
111举报
谢谢支持
谢谢支持
回复回复点赞举报
prompt也是一门学问
prompt也是一门学问
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
解读提示工程(Prompt Engineering)
提示工程(Prompt Engineering),也称为上下文提示,是一种通过不更新模型的权重/参数来引导LLM行为朝着特定结果的方法。这是与AI有效交流所需结果的过程。提示工程可以用于各种任务,从回答问题到算术推理乃至各种应用领域,理解提示工程,能够帮助我们了解LLM的限制和能力。
半吊子全栈工匠
2023/10/23
9.5K0
解读提示工程(Prompt Engineering)
Prompt提示工程上手指南:基础原理及实践(二)-Prompt主流策略
上篇文章将Prompt提示工程大体概念和具体工作流程阐述清楚了,我们知道Prompt工程是指人们向生成性人工智能(AI)服务输入提示以生成文本或图像的过程中,对这些提示进行精炼的过程。生成人工智能是一个根据人类和机器产生的数据训练的机器人,它不具备筛选你正在交流的内容以理解你实际在说什么的能力。也就是说你说的就是你得到的。那么我们使用Prompt在不进行高成本的调参,显得尤为重要,因此有很多Prompt策略适用于不同的语言大模型中,在图像大模型中Prompt策略可谓是核心必学科目了。那么本章我们将了解Prompt主流策略有什么。
fanstuck
2024/02/05
1.3K0
Prompt提示工程上手指南:基础原理及实践(二)-Prompt主流策略
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistenc
看完基础篇的各种场景介绍后,你应该对 Prompt 有较深的理解。之前的章节我们讲的都是所谓的「术」,更多地集中讲如何用,但讲「道」的部分不多。高级篇除了会讲更高级的运用外,还会讲更多「道」的部分。高级篇的开篇,我们来讲一下构成 prompt 的框架。
汀丶人工智能
2023/05/12
2.3K0
Prompt提示工程上手指南:基础原理及实践(三)-Prompt个性知识库引导
Prompt系列的第二期文章已经将所有的Prompt工程主流策略讲解完毕,共涉及到六种Prompt类别模型以及具体生产内容详解。再结合系列第一篇文章具体对Prompt工程的详细介绍,也就可以达到Prompt工程师的初步入门,现在如果掌握了这些基础技能那么就可以去学习一些更高阶的Prompt技能,伴随GPT-4 Turbo达到可生成自定义的GPTs,能够搭建属于业务目标的知识数据库,我们现在需要结合知识库的种类和数据形式,去做Prompt的迭代以达到我们想要的语言生成结果。
fanstuck
2024/02/21
8670
Prompt提示工程上手指南:基础原理及实践(三)-Prompt个性知识库引导
Prompt Engineering:提示词工程最佳实践与应用
随着人工智能技术的不断发展,特别是大型语言模型(LLM)的兴起,提示词工程(Prompt Engineering)逐渐成为提升AI模型性能、增强任务执行效率的关键技术。Prompt Engineering通过设计和优化提示词(Prompt),引导LLM生成特定类型的输出,广泛应用于文本生成、数据增强、代码生成、问答系统等领域。本文将深入探讨Prompt Engineering的背景知识、功能点、优点、缺点,以及与市场其他技术的对比,并结合具体业务场景和底层原理,通过Java示例展示其实际应用。
小马哥学JAVA
2024/12/26
9610
Prompt提示工程上手指南:基础原理及实践(四)-检索增强生成(RAG)策略下的Prompt
此篇文章已经是本系列的第四篇文章,意味着我们已经进入了Prompt工程的深水区,掌握的知识和技术都在不断提高,对于Prompt的技巧策略也不能只局限于局部运用而要适应LLM大模型的整体框架去进行改进休整。较为主流的LLM模型框架设计可以基于链式思考(CoT)、思维树 (ToT)和检索增强生成 (RAG)。其中RAG框架可以算得上是AI平台研发的老生常谈之一了,因为无论是个人还是企业,都想要培养出一个属于自己领域专业的AI。但伴随而来的问题,不限于产生幻觉、缺乏对生成文本的可解释性、专业领域知识理解差,以及对最新知识的了解有限。
fanstuck
2024/02/28
2.2K3
Prompt提示工程上手指南:基础原理及实践(四)-检索增强生成(RAG)策略下的Prompt
LLM 效果不好?可能是 Prompt 写错了!Prompt Engineering 技术的最全综述
生成式人工智能(GenAI)系统,特别是基于Transformer架构的大型语言模型(LLM),正在迅速崛起并被广泛应用于各个行业和研究领域。这些模型能够通过文本、图像、音频或视频等多种形式的“提示”(prompt)进行交互,并根据提示生成相应的文本、图像、音频或视频输出。 LLM 从撰写营销邮件到解决数学问题,其应用范围不断拓展。 但是,想要有效地利用LLM需要掌握提示工程(prompt engineering)技术,即设计和优化提示以获得最佳结果。 这门新兴领域正快速发展,新的提示技术层出不穷,但同时也面临着术语混乱和缺乏系统性理解等挑战。
Lion 莱恩呀
2025/04/04
9750
LLM 效果不好?可能是 Prompt 写错了!Prompt Engineering 技术的最全综述
提示工程Prompt Engineering
上一篇大型语言模型LLM中,介绍了什么是LLM、LLM的基础内容,并提到LLM将利用词汇的分布生成文档。这一篇是关于提示和提示工程的介绍,主要内容是我们如何影响词汇的分布。
MySQLSE
2024/06/14
1400
提示工程Prompt Engineering
Prompt Learning:【文心一言】提示词功能系统学习,
大型语言模型使用强化学习中的人类反馈来学习,这个过程中与人类对话的提问通常是通俗易懂的,也就是说,大型语言模型可以理解并回答一般人能听懂的问题(可以看到,后面我们所提到的技巧,用到我们日常的交流中也是可以更清晰的表达自己的目的的)。因此,即使我们不进行prompt学习,也可以使用大型语言模型来帮助我们解决问题了。但是,如果想要解决更加专业,更加复杂的问题,就需要我们学习prompt工程,以便更好的让大型语言模型来输出我们想要的结果。
汀丶人工智能
2023/04/22
1.8K0
Prompt Learning:【文心一言】提示词功能系统学习,
提示词(prompt)工程指南(三):高级提示
到此为止,已经很明显完善提示有助于在不同任务上获得更好的结果。这就是提示工程的整体理念。
云微
2023/03/31
1.7K0
Prompt工程师指南从基础到进阶篇:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题
Prompt工程是一种相对较新的学科,用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题。Prompt工程技能有助于更好地理解大型语言模型(LLMs)的能力和局限性。研究人员使用Prompt工程来改善LLMs在各种常见和复杂任务上的能力,
汀丶人工智能
2023/05/14
3.8K1
Prompt工程师指南从基础到进阶篇:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题
提升ChatGPT性能的实用指南:Prompt Engineering的艺术
提示工程是一门新兴学科,就像是为大语言模型(LLM)设计的"语言游戏"。通过这个"游戏",我们可以更有效地引导 LLM 来处理问题。只有熟悉了这个游戏的规则,我们才能更清楚地认识到 LLM 的能力和局限。
腾讯技术工程官方号
2023/08/11
1.7K0
提升ChatGPT性能的实用指南:Prompt Engineering的艺术
Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompti
对抗性Prompting是Prompting工程中的一个重要主题,因为它有助于理解与 LLMs 相关的风险和安全问题。这也是一门重要的学科,用于识别这些风险并设计解决问题的技术。
汀丶人工智能
2023/05/15
1.8K0
Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompti
99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧
Prompt Engineering(提示工程)作为与 LLM 交互的关键技术,正逐渐成为连接人类需求与模型能力的桥梁。
AIGC新知
2025/04/13
1920
99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧
猫头虎分享:提示词工程Prompt的前世今生
大家好,我是猫头虎 😺,今天为大家带来一篇关于**提示词工程(Prompt Engineering)**的深度解读。从AI发展的历史,到最新的技术突破,这项技术的进步不仅让AI变得更聪明,也让人类的创意变得更加可操作!🤖✨
猫头虎
2024/11/18
2870
猫头虎分享:提示词工程Prompt的前世今生
从菜鸟到大神,Prompt设计的核心秘诀全在这里!
在数字化浪潮的推动下,人工智能大模型凭借其卓越的自然语言处理能力和智能交互特性,正迅速渗透到各行各业。与传统的客服方式相比,AI大模型展现出了显著的优势。通过精心设计的提示语(prompt),我们可以在客服外包、智能客服等多个项目和业务场景中发挥重要作用,显著提高工作效率并优化成果质量。
福大大架构师每日一题
2025/04/02
3200
从菜鸟到大神,Prompt设计的核心秘诀全在这里!
给开发者的ChatGPT提示词工程指南
指令精调大语言模型经过遵从指令的训练,即通过RLHF(基于人类反馈的强化学习)方式在指令上精调过,因而更加有帮助,更加真诚,更不可能产生有害输出。
Steve Wang
2023/10/12
7960
给开发者的ChatGPT提示词工程指南
谷歌68页白皮书解密:提示工程如何重塑AI交互逻辑
谷歌发布的《提示工程白皮书》揭示了一个重要趋势:人类与AI的交互正从“指令式问答”升级为“思维协同编程” 。数据显示 ,优化后的提示设计可使LLM生成结果的准确率提升58%,代码生成效率提高120% 。
山河已无恙
2025/04/15
5330
谷歌68页白皮书解密:提示工程如何重塑AI交互逻辑
提示词(prompt)工程指南(一):提示介绍
提示工程是一种相对较新的学科,专门用于开发和优化提示,以高效地使用语言模型(LM)来处理各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型(LLMs)的能力和局限性。研究人员使用提示工程来提高LLMs在各种常见和复杂任务上的容量,例如问题解答和算术推理。开发人员使用提示工程来设计与LLMs和其他工具接口的强大而有效的提示技术。
云微
2023/03/31
2.3K0
提示词(prompt)工程指南(二):基本提示
通常,学习概念的最佳方法是通过示例进行。下面我们将涵盖一些精心制作的提示示例,以执行各种有趣和不同的任务。
云微
2023/03/31
2.6K0
推荐阅读
解读提示工程(Prompt Engineering)
9.5K0
Prompt提示工程上手指南:基础原理及实践(二)-Prompt主流策略
1.3K0
Prompt learning 教学[进阶篇]:简介Prompt框架并给出自然语言处理技术:Few-Shot Prompting、Self-Consistenc
2.3K0
Prompt提示工程上手指南:基础原理及实践(三)-Prompt个性知识库引导
8670
Prompt Engineering:提示词工程最佳实践与应用
9610
Prompt提示工程上手指南:基础原理及实践(四)-检索增强生成(RAG)策略下的Prompt
2.2K3
LLM 效果不好?可能是 Prompt 写错了!Prompt Engineering 技术的最全综述
9750
提示工程Prompt Engineering
1400
Prompt Learning:【文心一言】提示词功能系统学习,
1.8K0
提示词(prompt)工程指南(三):高级提示
1.7K0
Prompt工程师指南从基础到进阶篇:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题
3.8K1
提升ChatGPT性能的实用指南:Prompt Engineering的艺术
1.7K0
Prompt工程师指南[高阶篇]:对抗性Prompting、主动prompt、ReAct、GraphPrompts、Multimodal CoT Prompti
1.8K0
99%的普通人不会用的AI沟通术:揭秘我与AI对话的沟通技巧
1920
猫头虎分享:提示词工程Prompt的前世今生
2870
从菜鸟到大神,Prompt设计的核心秘诀全在这里!
3200
给开发者的ChatGPT提示词工程指南
7960
谷歌68页白皮书解密:提示工程如何重塑AI交互逻辑
5330
提示词(prompt)工程指南(一):提示介绍
2.3K0
提示词(prompt)工程指南(二):基本提示
2.6K0
相关推荐
解读提示工程(Prompt Engineering)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档