ChatGPT提示词方法实战:探索一个系统架构设计的案例
文章有点长,如果现在没时间看,建议先收藏,文末有ChatGPT微信群,欢迎加入一起探索学习。
ChatGPT的对做效率的提升,究竟有多大的帮助,很难有绝对的评判标准,需看使用者如何应用。
同样一个兵器,在不同人的手里,发挥不同的价值。
下面用一个案例,感受一下如何快捷的使用ChatGPT的快速输出。
先看看一些提示词的使用方式:
语气:明确所需的语气(例如,正式、随意、信息性、说服性)。
格式:定义格式或结构(例如,文章、项目符号、大纲、对话)。
扮演:指示需要扮演的角色或采纳的观点(例如,专家、评论者、热衷者)。
目标:阐明回应的目标或目的(例如,通知、说服、娱乐)。
上下文:提供背景信息、数据或具有准确内容生成的上下文。
范围:定义主题的范围或覆盖范围。
关键词:列出需要包含的重要关键词或短语。
限制:明确约束条件,例如字数或字符计数。
示例:提供所需风格、结构或内容的示例。
截止日期:对于时间敏感的回应,提及截止日期或时间框架。
受众:明确目标受众,以便定制内容。
语言:如果与提示不同,指明回应的语言。
引用:要求包含引用或来源以支持信息。
观点:要求Al 考虑多个观点或意见。
反驳:要求处理可能的反驳论点。
术语:指定需要使用或避免的行业特定或技术术语。
类比:要求Al使用类比或示例来阐明概念。
引言:要求包含专家的相关引言或声明。
统计:鼓励使用统计或数据来支持主张。
视觉元素:询问是否包括图表、图形或图像。
行动号召:要求明确的行动号召或下一步步骤。
敏感性:提及需要谨慎处理或避免的敏感话题或问题。
案例:如何做一个教育在线产品的系统架构设计。
第一步,采用提示词方法之【扮演】进行提问
将业界知名程序员左耳朵耗子的身份赋予GPT,然后提问。
提示词如下:
你是一位经验丰富的系统架构师,20年软件开发相关工作经验,10年以上项目和团队管理经验。擅长底层技术架构,团队建设,软件工程,软件研发咨询,以及全球软件团队协作管理。对高性能,高可用性,分布式,高并发,以及大规模数据处理系统有一些经验和心得。喜欢关注底层技术平台和互联网行业应用。技术擅长C/C++/Java和Unix/Linux/Windows。曾于Amazon中国任研发经理,负责电子商务全球化业务(全球开店)和全球库存预测系统的研发。曾在阿里巴巴北京研发中心、商家业务部曾任资深专家一职,负责电商云平台、开放平台,云监控和电商多媒体平台。曾在阿里巴巴核心系统专家组从事阿里核心系统和阿里云ECS相关的虚拟化平台的开发工作。现在需要总结一些做系统架构的原则,你会给出哪些原则。
ChatGPT的回答:
系统可扩展性(Scalability):在设计系统架构时,要考虑系统的可扩展性,使系统能够在扩展硬件和软件资源的同时,保持性能、可用性和一致性。要关注横向扩展(水平扩展)和纵向扩展(垂直扩展)。
系统高可用性(High Availability):确保系统在出现故障时,能够在短时间内恢复正常运行。设计冗余组件、实现故障切换、使用负载均衡等技术手段,提高系统的可用性。
系统性能(Performance):关注系统的响应时间、吞吐量和资源利用率等性能指标。在设计时,要充分考虑系统的性能需求,对关键组件进行性能优化,确保系统在高负载下仍能保持良好的性能。
模块化与解耦(Modularity & Decoupling):将系统划分为多个模块,每个模块负责一个特定的功能。模块之间的依赖关系要尽量简化,以便于独立开发、测试和部署。利用微服务架构、服务化等技术实现模块化和解耦。
数据一致性(Data Consistency):确保系统中的数据在各个组件和服务之间保持一致。可以通过数据同步、事务控制、分布式锁等技术手段实现数据一致性。
安全性(Security):保护系统免受攻击和数据泄露,确保系统的稳定性和数据的安全性。在设计时,要充分考虑系统的安全需求,实施合适的加密、认证和授权策略。
易用性(Usability):关注系统的易用性,提供友好的用户界面和操作流程,降低用户的学习成本。同时,要关注开发人员的易用性,提供良好的开发文档和工具,降低开发和维护成本。
可维护性(Maintainability):确保系统易于维护,便于发现和解决问题。要关注代码质量、文档完整性和监控告警等方面,提高系统的可维护性。
成本效益(Cost-effectiveness):在设计系统架构时,要充分考虑系统的成本效益,权衡各种技术方案和资源投入,确保系统能够在满足性能、可用性等要求的同时,降低成本。
技术选型(Technology Selection):根据系统的需求和特点,选择合适的技术栈,包括编程语言、数据库、中间件等。要关注技术的成熟度、社区支持和团队熟悉程度等因素,确保选型的合理性。
第二步,采用【明确受众】的提示词方法将回答通俗化
是不是有点难度,没有技术背景的人,有些看不懂,没关系,采用提示词方法之:【明确受众】的方式,继续追问,让ChatGPT给出更通俗易懂的陈述,提示词如下:
提问:你面对一位非技术背景的公司的CEO,请用深入浅出的语言解释描述上面的系统架构原则。
ChatGPT的回答:
系统可扩展性:当系统的用户和业务不断增长时,我们需要能够轻松地增加系统的处理能力,就像给房子增加房间一样。这样我们的系统就可以适应不断变化的需求。
系统高可用性:确保我们的系统始终处于运行状态,即使在部分组件出现故障时,也能够迅速恢复正常运行。这就像汽车的备胎,在轮胎出现问题时,可以迅速更换,保证汽车继续行驶。
系统性能:我们要让系统快速响应用户的请求,处理大量的数据,就像一辆高速公路上高速行驶的跑车。这样用户才能获得良好的使用体验。
模块化与解耦:将系统分为多个小部分,每个部分负责一个特定的功能,就像乐高积木一样。这样可以让我们更容易地修改和扩展系统,同时降低出错的风险。
数据一致性:确保我们的系统中的数据在各个部分之间保持一致,就像一本账本,所有的记录都要保持一致。这样可以避免数据混乱和错误。
安全性:保护我们的系统和数据不受攻击和泄漏,就像一座坚固的城堡,防止入侵者进入。这样我们才能确保系统的稳定和数据的安全。
易用性:让我们的系统对用户和开发人员都容易使用,就像一部智能手机,用户无需阅读复杂的说明书就能轻松上手。这样可以降低用户和开发人员的学习成本,提高工作效率。
可维护性:让我们的系统容易维护和修复,就像一辆容易维修的汽车。这样我们可以更快地发现和解决问题,确保系统的稳定运行。
成本效益:在设计系统时,我们要充分考虑成本和效益,选择最合适的技术和方案,就像购买一台性价比高的电视机。这样我们可以在满足性能和可用性的要求的同时,降低成本。
技术选型:根据我们的需求和特点,选择最合适的技术工具,就像挑选最适合自己的运动鞋。我们要关注技术的成熟度、社区支持和团队熟悉程度等因素,确保选型的合理性。
第三步,将左耳朵耗子本身提炼的架构原则提示给ChatGPT,采用提示词方法之【对比分析】方法进行比较分析
可以通过搜索找到业界顶尖程序员左耳朵耗子(陈皓)对系统架构的原则归纳,见文章《我做系统架构的原则》,总结了11个系统架构的原则,并做了详细论述,有兴趣的看原文,原文链接:
https://coolshell.cn/articles/21672.html
提示词:
业界顶尖程序员左耳朵耗子(陈皓)对系统架构的原则归纳为11条原则,
原则一:关注于真正的收益而不是技术本身
原则二:以应用服务和 API 为视角,而不是以资源和技术为视角
原则三:选择最主流和成熟的技术
原则四:完备性会比性能更重要
原则五:制定并遵循服从标准、规范和最佳实践
原则六:重视架构扩展性和可运维性
原则七:对控制逻辑进行全面收口
原则八:不要迁就老旧系统的技术债务
原则九:不要依赖自己的经验,要依赖于数据和学习
原则十:千万要小心 X – Y 问题,要追问原始需求
请你将这些原则与上文的10条原则对象对比分析,给出对比分析的结果,二者综合来看,对构建系统架构,有什么启发?
ChatGPT的回答:
首先,我们将左耳朵耗子(陈皓)的11条原则与之前的10条原则进行对比分析:
关注于真正的收益而不是技术本身:这一原则与之前的成本效益原则类似,强调在设计系统架构时,要关注实际的业务需求和价值,而不是过分追求技术的先进性。
以应用服务和API为视角:这一原则强调从用户和应用的角度出发,关注系统的功能和接口,与模块化与解耦原则相辅相成。
选择最主流和成熟的技术:这一原则与技术选型原则相呼应,强调在选择技术时,要关注技术的成熟度和社区支持。
完备性会比性能更重要:这一原则强调系统的完整性和可靠性,与系统高可用性和数据一致性原则相关。
制定并遵循服从标准、规范和最佳实践:这一原则强调遵循业界标准和最佳实践,有助于提高系统的可维护性和易用性。
重视架构扩展性和可运维性:这一原则与系统可扩展性和可维护性原则相符,强调系统的可扩展性和运维友好性。
对控制逻辑进行全面收口:这一原则强调对系统的控制逻辑进行集中管理,有助于提高系统的可维护性和一致性。
不要迁就老旧系统的技术债务:这一原则强调在设计新系统时,要避免受老旧系统的技术债务限制,以实现更好的架构。
不要依赖自己的经验,要依赖于数据和学习:这一原则强调在构建系统架构时,要关注数据驱动的决策和持续学习,以提高系统的质量。
千万要小心X-Y问题,要追问原始需求:这一原则强调要深入了解业务需求,避免误解和偏离目标。
激进胜于保守,创新与实用并不冲突:这一原则鼓励在保证实用性的前提下,尝试新的技术和方法,以提升系统的价值。
综合这两组原则,对构建系统架构的启发如下:
关注业务需求和价值,以实际收益为导向。
选择成熟、主流的技术,关注技术的成熟度和社区支持。
以应用服务和API为视角,实现模块化和解耦,降低系统的复杂度。
保证系统的完备性、可用性和一致性,关注性能和可扩展性。
遵循业界标准、规范和最佳实践,提高系统的可维护性和易用性。
深入了解业务需求,避免误解和偏离目标。
在保证实用性的前提下,尝试新的技术和方法,实现创新。
通过遵循这些原则,我们可以构建出更加稳定、可扩展和易维护的系统架构,以满足业务的发展需求。
第四步,采用提示词方法之【扮演】、【上下文】、【受众】、【语气】等方法进行提问综合归纳出系统架构原则。
提示词:你曾经是腾讯公司的高级架构师,现在是一位传统企业的新晋CEO,综合上面的所有内容,面对没有技术背景的公司管理层,用通俗易懂的语言,并辅助案例,清晰的阐述系统架构的原则。
ChatGPT的回答:
尊敬的管理层,我将从以下几个方面阐述系统架构的原则,并辅助案例让大家更容易理解:
业务导向:我们要关注业务需求和价值,以实际收益为导向。就像我们要建造一座大桥,我们需要考虑桥的实际用途,如连接两个城市、缓解交通压力等,而不是仅仅关注桥的设计和材料。
技术选择:在选择技术时,要选用成熟、主流的技术。就像购买家电产品,我们会选择知名品牌,因为它们在市场上经过了时间的检验,有良好的口碑和售后服务。
模块化设计:将系统分为多个小部分,每个部分负责一个特定的功能。就像乐高积木,我们可以通过组合不同的积木搭建出各种形状的模型,方便维护和扩展。
系统稳定性:确保系统始终处于运行状态,即使在部分组件出现故障时,也能够迅速恢复正常运行。就像我们的电网,当某个地方出现故障时,其他地方的供电仍然正常,保证了生活的正常进行。
遵循标准:我们要遵循行业的标准和最佳实践,这样可以提高系统的可维护性和易用性。就像我们遵守交通规则,可以保障道路交通的安全和畅通。
深入了解需求:要深入了解业务需求,避免误解和偏离目标。就像我们要为客户定制一款服装,我们需要了解客户的尺寸、喜好和场合需求,才能制作出合适的衣服。
创新与实用:在保证实用性的前提下,尝试新的技术和方法,实现创新。就像智能手机,它在满足基本通话功能的基础上,不断推出新的功能,如拍照、导航等,为用户带来更多便利。
通过遵循这些原则,我们可以更好地构建系统架构,满足业务发展的需求,为公司带来更多的价值。谢谢大家!
以上的回答,清晰易懂,如果需要对实际工作有进一步的参考,就需要结合具体业务进行更多的提问,譬如给出具体的工作背景,针对每一条架构原则进行具体提问。
第五步,采用提示词方法之【扮演】、【上下文】、【范围】、【目标】等方法进行提问综合归纳出系统架构原则。
提示词:
现在,你是一位K12教育行业的某企业的CEO,公司的业务包括K12各类学校的开办和运营,包括国际方向和国内方向,而且支持课外培训和夏令营等业务,你正在进行系统架构设计,其中第一个条设计原则是业务导向:我们要关注业务需求和价值,以实际收益为导向。针对这个原则,你对教育科技系统的架构,会有哪些思考的要点?请做详细描述。
ChatGPT的回答:
针对业务导向的设计原则,我们在进行教育科技系统架构设计时,需要关注以下几个要点:
系统需求分析:首先要深入了解K12教育行业的各类学校、课外培训和夏令营等业务的具体需求,包括教学管理、学生学习、教师发展、家长沟通等方面的需求。通过与业务部门、教育专家、教师和家长的沟通,确保系统能够满足实际的业务需求。
业务价值优先:在系统架构设计中,要优先考虑能够为企业创造核心竞争力和价值的功能模块,例如智能课程推荐、个性化学习路径规划、在线互动教学、教学质量评估等。确保系统能够提高教学质量、提升学生学习效果、降低教育成本,从而为企业创造持续的业务价值。
模块化设计:根据业务需求,将系统划分为多个功能模块,例如教务管理、教学资源库、在线课堂、学习分析和评估、家校互动等。每个模块都要保证独立性和可扩展性,方便后期根据业务发展进行升级和优化。
数据驱动:充分利用大数据、人工智能等技术手段,对教育行业的海量数据进行挖掘和分析,为教学管理、学生学习、教师发展提供智能化支持。通过数据分析,发现教育中的问题和机会,为企业提供决策依据。
用户体验:在系统设计中,要充分考虑用户体验,包括易用性、可访问性、可维护性等方面。要为教师、学生和家长提供简洁高效的操作界面,保证系统的稳定性和性能,方便用户在不同场景下进行使用。
安全与合规:系统架构设计中要充分考虑数据安全和隐私保护,确保符合相关法规和政策要求。同时,要建立完善的安全防护体系,防止数据泄露、系统攻击等安全风险。
技术选型与合作:在系统架构设计过程中,要根据业务需求和技术发展趋势,选择合适的技术框架和平台。同时,可以与其他教育科技公司、高校等进行合作,共享资源和技术,提高系统的竞争力。
通过以上思考要点,我们可以设计出一个业务导向、模块化、数据驱动、用户体验优良、安全合规的教育科技系统架构,为K12教育行业提供高效、智能、便捷的解决方案,创造持续的业务价值。
好了,以上就是一个应用ChatGPT提升工作效率的一个具体方法,如果需要进一步对教育在线系统架构进行思考和构建,就可以针对每个要点,运营具体的提示词方法进行提问,不断迭代,获得自己想要的帮助,最后自己思考、加工、归纳总结,输出自己的教育在线系统架构设计。
==================
Blues建立了一个【GPT产品应用与行业探索】微信群,如有兴趣共同学习探索,可以加我微信,邀请进群学习,
加微信注明:姓名-城市-行业-岗位。
例如:张三-深圳-教育行业-前端开发;
王强-背景-大学在读-软件工程专业
因为BLUES有多个微信号,已经加了另外微信号好友的,不要重复加好友,直接私信就好,发消息:进GPT群。
BLUES近期看过左耳朵耗子的系统架构原则,在反思智慧校园产品的系统架构,用GPT提示了一些思路,发出来给大家参考:
智慧校园系统架构原则
业务导向:在设计智慧校园平台时,应关注K12学校的实际需求,如提高教学质量、优化校园管理等。例如,可以通过构建在线课堂、作业批改系统等功能来满足教学需求。
系统稳定性和可靠性:智慧校园平台应在面对各种异常情况时保持稳定运行。例如,在网络不稳定的情况下,应确保在线课堂和在线考试等功能仍能正常进行。
可扩展性和可维护性:平台架构应具备良好的可扩展性和可维护性,以便在业务发展过程中进行调整和优化。例如,可以采用微服务架构,将系统拆分为多个独立、可扩展的服务,便于后期功能迭代和升级。
性能优化:智慧校园平台应在高并发、大数据等场景下保持良好的性能表现。例如,在用户量激增的期间,如开学季、考试季等,平台应能快速响应用户请求,保证使用体验。
安全性:平台应充分考虑安全性,确保用户数据安全。例如,对用户数据进行加密存储,防止数据泄露,同时采用安全的身份验证机制,防止未授权访问。
系统解耦:将不同功能模块进行解耦,降低模块间耦合度。例如,将教务管理、在线课堂、学生评价等功能模块独立开发和部署,提高系统的灵活性和可维护性。
选择合适的技术栈:选择适合智慧校园平台的技术栈,满足性能、稳定性、安全性等需求。例如,使用React或Vue等前端框架提高开发效率,使用Node.js或Java等后端技术实现高性能服务。
重视团队协作:鼓励团队成员之间的沟通和协作,共同推进项目进展。例如,定期进行项目评审和团队分享,以便及时发现问题和分享经验。
制定并遵循标准和最佳实践:制定代码编写规范、接口设计规范等,并确保团队成员遵循这些规范进行开发。例如,采用统一的代码风格、命名规则,确保代码质量和可读性。
以数据和学习为基础,持续改进:通过数据分析和学习,不断优化平台功能和性能。例如,通过用户行为数据分析,发现用户在使用过程中遇到的问题,及时进行优化和改进。
关注真正的收益而不是技术本身:关注平台如何帮助K12学校提高教学质量和管理效率,而不是仅关注技术实现。例如,关注学生在线学习效果,而非仅关注平台采用的技术。
重视架构扩展性和可运维性:智慧校园平台应具备良好的扩展性和可运维性。例如,使用容器化技术如Docker和Kubernetes进行部署,便于系统的水平扩展和运维管理。
对控制逻辑进行全面收口:将关键控制逻辑集中管理,便于统一管理和维护。例如,将权限控制逻辑集中在一个独立的模块中,方便系统内各功能模块调用。
不要迁就老旧系统的技术债务:在进行架构升级时,不要因为老旧系统的技术债务而影响新系统的设计。例如,对于存在性能问题和数据一致性问题的旧系统,应及时进行重构和优化。
激进胜于保守,勇于创新与实用相结合:在设计智慧校园平台时,勇于尝试新技术和新方法,以实现更高效的业务价值。例如,尝试使用人工智能技术进行智能推荐,提高学生学习兴趣和效果。
==============
公众号:BLUES,已经持续更新了10年的公众号。20年丰富的职场经历,历经连续创业、腾讯、YY语音、迅雷等公司。目前致力于“教育+科技”产品创造,深圳梅沙科技合伙人。700多篇文章写互联网产品经理职业发展,企业管理,洞察职场与人生,欢迎大家留言交流。
微信扫码关注该文公众号作者