人物/角色提示
人物/角色提示是一种用于为AI分配特定人物或角色的技术,指导AI提供更相关、特定于领域和上下文的响应。通过赋予AI角色或专业知识,用户可以更好的定制互动关系,聚焦对话内容。当寻求特定领域(如软件架构、市场营销或财务)建议或见解时,这种方法非常有用。当你想让AI承担特定角色或专业知识以提供更有针对性和更明智的回应时,可以使用人物/角色提示。
人物/角色提示源于人机交互和用户体验设计,在这些设计中,设计师创建用户角色从而与目标受众共情。这种方法同样适用于AI,特别是在会话代理和NLP中,并与GPT等模型一起发展。Li, Galley, Brockett, Gao和Dolan撰写过一篇相关论文<A Persona-Based Neural Conversation Model[2]>,该模型提出了基于角色的神经对话模型,用于生成更有吸引力和多样化的响应。
下面是一些例子:
假设你是微服务架构方面的专家,提供在大规模应用程序中设计和实现微服务的最佳实践。 假设你是安全专家,提供保护基于云的应用程序和保护敏感数据的建议。 假设你的角色是DevOps顾问,提供实现CI/CD流水线和改进部署流程的策略建议。 把自己想象成软件性能工程师,提供优化应用程序性能和减少延迟的技术建议。 想象一下数据库架构师的样子,解释不同数据库技术之间的利弊,并指导如何为特定用例选择最佳解决方案。
思维链(CoT,Chain of Thought)提示
思维链(CoT,Chain of Thought)提示是一种引导AI解释其反应背后的原因,从而提高决策过程透明度的技术。通过让AI描述影响其结论的因素,用户可以深入了解其思维过程,从而更好的评估和信任AI的建议。在复杂的决策场景中,理解AI的基本原理至关重要,当你需要AI澄清思维过程,或者当你想要更深入了解其决策所考虑的因素时,使用CoT提示。
CoT提示与可解释人工智能(Explainable AI, XAI)领域密切相关,XAI旨在使AI模型更加透明和可理解。Gunning的论文<Explainable Artificial Intelligence(XAI)[3]>讨论了XAI项目的发展和目标,Miller的论文<Explanation in artificial intelligence: Insights from the social sciences[4]>从多学科角度探讨了AI中的解释概念。
解释你为这个项目推荐特定云供应商的过程,以及考虑因素。 介绍一下你是如何为这个应用程序评估不同编程语言,以及选择最合适语言的标准。 详细介绍为这个高流量web应用确定最有效的负载均衡策略所采取的步骤。 概述选择特定容器编排平台来管理和扩展应用程序的原因。 阐明如何确定最合适的API设计方法以及在决策过程中考虑的利弊。
逐步/指令提示
逐步/指令提示是一种将复杂任务或过程分解成更小、更易于管理的步骤的方法。通过要求AI提供分步指令或指导,用户可以更好的理解并遵循所需步骤以实现特定目标。这种方法在处理复杂任务时很有帮助,例如在软件开发中采用新技术、配置系统或实现特定功能。当你需要详细指导或系统方法来完成复杂任务时,使用逐步/指令提示。
在Schank和Abelson的<Scripts, Plans, Goals, and Understanding: An Inquiry into Human Knowledge Structures[5]>一书中探讨了将知识表示为程序的概念,从而影响了AI中逐步提示的发展。
提供在云供应商上设置Kubernetes集群的分步说明。 描述使用Jenkins或GitLab CI/CD等流行工具配置CI/CD流水线的过程。 概述在web应用中实现OAuth 2.0身份验证的步骤。 解释如何使用AWS Lambda和API网关创建和部署无服务功能。 详细介绍将现有单体应用迁移为微服务架构的过程。
目标导向提示
目标导向提示是一种专注于引导AI实现特定目标或解决特定问题的技术。通过在提示中说明期望的结果或目标,AI被鼓励生成解决方案或策略来帮助用户实现目标。在用户需要解决挑战、克服障碍或确定实现目标的有效方法的情况下,目标导向提示非常有用。当你希望AI专注于解决问题或提供策略以达到特定结果时,可以使用目标导向的提示。
Russell和Norvig在<Artificial Intelligence: A Modern Approach[6]>一书中概述了基于目标的代理及其解决问题的能力。Laird、Newell和Rosenbloom的论文<Soar: An Architecture for General Intelligence[7]>讨论了智能代理的Soar架构,强调了目标驱动的行为。
确定在数据库迁移期间最小化停机时间的最有效方法。 确定扩展web应用以处理用户流量激增的最佳方法。 找到降低分布式系统管理多个微服务的复杂性的解决方案。 制定将遗留系统与现代基于云的服务集成的策略。
探索性/问题驱动提示
探索性/问题驱动型提示向AI提出开放式问题,以鼓励对特定主题进行更深入的理解或探索。通过向AI提出问题,用户可以进行更具互动性的苏格拉底式对话,发现见解,并从AI的回答中学习。当用户想要探索不同视角、收集更多信息或分析各种方法之间的利弊时,这种方法非常有用。当你想让AI提供全面见解,探索不同领域时,可以使用探索性/问题驱动的提示。
Graesser, Person和Harter的论文<[Teaching tactics and dialogue in AutoTutor]>介绍了一种基于问题驱动方法来增强学习效果的AI辅助系统。
将本地应用迁移到云环境的主要挑战是什么?如何解决这些挑战? Istio或Linkerd这样的服务网格对基于微服务的应用有何好处? 在为分布式系统选择消息代理时应该考虑哪些因素?为什么考虑这些因素? 如何有效管理API版本以最小化中断并保持向后兼容? 哪些场景使用NoSQL数据库比传统关系数据库更有利?有什么潜在缺点?
提示示例
一个非常常见的例子是在开发电商网站的整个项目生命周期中,可以使用不同类型的提示来解决各种挑战并实现特定目标。以下是在开发电商网站时,何时及如何使用这些提示的例子:
1. 人物/角色提示
在计划和设计阶段,可以通过人物/角色提示收集不同专家视角的见解。例如:
UI/UX设计师:
作为一名拥有10年经验的UX/UI设计师,在设计电商网站的布局和用户流程时,需要考虑哪些关键原则?
安全专家:
假设你是安全专家,在电商平台上保护用户数据和支付交易的最佳实践是什么?
2. 思维链(CoT)提示
在做出技术或设计选择时,可以使用CoT提示来理解AI建议背后的原因。例如:
对于构建电子商务网站,你会推荐哪些编程语言和框架,为什么? 你能解释一下电商网站使用单页应用程序(SPA)架构的优缺点吗?
3. 逐步/指令提示
在实现和部署阶段,逐步/指令提示可以指导我们完成复杂的任务。例如:
为电商网站建立一个安全支付网关,提供一个循序渐进的指导。解释一下集成CDN以优化电商平台性能的过程。
4. 目标导向提示
在整个项目生命周期中,可以使用目标导向提示来处理特定挑战或实现特定目标。例如:
找出改善电子商务网站加载时间和性能的最有效策略。提供确保电子商务平台对残疾用户可访问性的最佳方法。
5. 探索性/问题驱动提示
在计划、设计和评估阶段,探索性/问题驱动提示可以帮助收集见解并探索不同观点。例如:
选择电商平台要考虑的关键因素是什么?与Shopify、Magento和WooCommerce等流行解决方案相比如何? 如何利用社交媒体增强用户体验并推动电商销售?
通过在电商网站项目生命周期的不同阶段使用这些不同类型的提示,可以获取有价值的见解,做出更明智的决策,并有助于提高项目的整体结果。