庆云古诗词

庆云古诗词

如何用chatgpt分析一只股票 ChatGPT对股市的影响

互联资讯 0
claim chart分析,pie chart分析,如何分析mtt数据,autochartist分析成功率

你使用ChatGPT提过哪些问题?还有哪些新奇的使用方式吗?ZHI――

阿里巴巴减资

来更新个实用的:只需要安装一个浏览器插件,就可以0门槛让AI画出你想象的画面

用来做壁纸和插画,巨好用!

先看效果:直接在ChatGPT描述你想象的画面

ChatGPT会自动生成Midjourney的关键词,复制关键词(/【【淘密令】】: 后面就是要复制的关键词)粘贴到Midjourney即可自动生成图片

怎么操作?必备条件: ● 有ChatGPT和Discord帐号 ● 一定的网络环境

1. 在Chrome浏览器安装「AIPRM for ChatGPT」插件

2. 打开ChatGPT-选择「【【淘密令】】」(意思是将ChatGPT切换为MidJourney关键词模式」

*注意: ● 不要打开Chrome浏览器的英文翻译成中文的功能,打开后ChatGPT会报错 ● 如果ChatGPT报错,刷新下网页,然后重新点击下「【【淘密令】】」 ● 每次重新打开ChatGPT都需要重新点击下「【【淘密令】】」才能切换到关键词模式 3. 然后在文本框描述你想象的画面

*注意,Output in 默认选择英文,不要更改

4. ChatGPT会自动生成Midjourney的关键词,复制关键词(/【【淘密令】】: 后面就是要复制的关键词)

5. 加入Midjourney的Discord频道--随便找一个房间「NEWCOMER ROOMS」,对话框里输入 / 选择 /imagine

粘贴复制的关键词,发送即可

粘贴到Midjourney即可自动生成图片

1 2 3 4对应的图片如图

U1是指获取1号图片的大图V1是指根据1号图片的风格再生成4个图片。生成满意的图片后,鼠标右键保存即可。

扩展小技巧:如何拥有自己的子区?目前你输入的关键词和别人的关键词请求是混在一块的,如果你想只显示自己的,点击 「#」-输入名字创建一个自己的子区就好了

晒几张我的AI壁纸:

借助另外一款软件,你甚至可以把壁纸变成动态的:

感兴趣可以关注下我,后续更新,把壁纸变成动态的教程~我是知乎【【微信】】第一答主,玩【【微信】】的圈子很小,一起抱团折腾,欢迎关注我哦~

更多相关文章:

殇小辛:打造私人影院,4K蓝光影片去哪找?谁能劝我不要买NAS?在群晖取消了对迅雷远程的支持后,有何替代办法?【【微信】】 到底是个什么东西,国内买来能干嘛?

用魔法打败魔法,直接问ChatGPT如何提问。

ChatGPT真是一个神器,几乎是无所不能。但是,很快有很多小伙伴发现,即使有这个工具,却不知道怎么提问,如果问得不好,回答的质量也很差。

学会提问确实是一种很高级的能力。

于是,对ChatGPT的提问的提示词(prompt)的研究,坊间俗称「咒语」,也很快成为了一门显学,用好了提示词(prompt)就能实现从买家秀到卖家秀的转变。

我今天提供一个最简单万能咒语的模板,任何问题你都可以拿这个咒语问ChatGPT。

敲黑板:大家一定要看到最后!!!我会教大家用AI画美女的咒语。

我想请你XXX(做某一件事),请问我应该如何向你提问才能得到最满意的答案,请提供全面、详细的建议,针对每一个建议请你提供具体的提问范例,注意这些范例都是关于如何向你提问获取做这件事的建议的,最后根据你所有的建议,再综合提供一个总的提问范例,注意这个范例必须同时体现你所有的建议。

也就是在提任何问题之前,先问ChatGPT应该如何提问,要它给出范例。要做伸手党就做彻底一点,连怎么提问都要它给出建议,用魔法打败魔法!

因为我们提问时,总想用最直接简短的问题得到答案,但这样会遗漏很多重要信息,导致生成的答案也比较泛泛而谈,质量不佳。而先通过这个前置问题,ChatGPT会提供全面的建议,有助于我们查漏补缺。

先来个示例。

问(不用咒语):

请写一个职场故事。

ChatGPT第一次回答:

从前有一家小公司,老板和员工们之间的关系一直不太融洽。老板喜欢对员工大喊大叫,指使他们加班加点,还总是对员工的工作不满意。有一天,一位员工提出了一个建议,希望老板能够让员工们自己分配任务和时间,相信员工们会更高效地完成工作。老板一开始不太信任员工,但最终还是同意了这个建议。几个月后,公司的业绩大幅提升。老板意识到自己曾经过于强调控制和监督,而没有充分信任员工的能力和智慧。他开始更加重视员工的意见和建议,与员工们建立了更加和谐的合作关系。从此以后,老板和员工们之间的关系变得更加紧密,公司的业绩也持续稳步增长。老板明白了一个道理,管理并不只是指挥和控制,更是信任和合作。

这个故事过于单调,只能说是小学生水平。

问(用咒语):

我想请你写一个关于职场的故事,请问我应该如何向你提问才能得到最满意的答案,请提供全面、详细的建议,针对每一个建议请你提供具体的提问范例,注意这些范例都是关于如何向你提问写故事的,最后根据你所有的建议,再综合提供一个总的提问范例,注意这个范例必须同时体现你所有的建议。

ChatGPT回答:

当你想要让我写一个关于职场的故事时,有以下几点建议: 1. 清晰地表达你的需求 在提问之前,你需要清晰地表达你想要的内容和目的。这将有助于我更好地理解你的请求,并提供更准确、更符合你需求的回答。 例如, 我想请你写一个关于职场的故事。能否根据我的意愿,让主人公是一位年轻的职场新人,强调他在工作中面对的挑战和难题?我需要一篇关于职场的故事,主题是团队合作。是否可以选取制造业为背景,描述一个团队面对技术难题的过程,重点强调团队合作的力量? 2. 提供详细的背景信息 为了使我更好地理解你所描述的场景和情境,提供足够的背景信息至关重要。这将帮助我更好地理解你的需求,并提供更符合你需要的答案。 例如, 我想写一篇职场故事,主人公是一名年轻的销售人员,请问你能提供一些关于销售行业的背景知识吗?请写一篇职场故事,主人公是一个团队的领导,请问你能描述一下制造业中的团队合作环境吗?3.提供具体的要求和期望 在提问时,你需要让我清楚地了解你的具体要求和期望。这有助于我更有效地回答你的问题,提供更加贴合你需求的答案。 例如, 我需要写一篇职场故事,希望主人公面临各种挑战后能够克服困难。请问你能否在故事中,强调主人公的毅力和勇气,并展现他在工作中的成长?我需要一篇职场故事,希望主题是跨部门协作。请问你能否选择一个大型企业为背景,描述不同部门协调工作的过程?除此之外,如果你希望故事的篇幅和风格符合你的需求,或者想要让故事感觉更加真实和生动,请在提问中明确说明。同时,确定故事的受众以及想要传达的感受也是非常重要的,可以帮助我更好地掌握你的意图,提供更加贴切的答案。 基于以上建议,综合提问范例如下: 你好,我想请求你写一个关于职场的故事。我的需求是让主人公是一位年轻的职场新人,强调他在工作中面对的挑战和难题。能否选取销售行业为背景,提供一些相关的背景知识,帮助我更好地了解情境。此外,我还希望故事能突出主人公在困境中的毅力和勇气,并展示他在工作中的成长。故事的长度约为5000字左右,风格类似小说形式,需要具备很强的叙事性和描写性。故事主要面向职场人士,希望突出教育意义和职场技能,同时希望让读者在细节中体会到合作与管理原则,让读者获得深刻的感触。请你提供一个符合要求的故事情节,谢谢!

这个提问模板就牛逼多了,我们直接拿它最后提供的范例微调(改了一下字数)一下向它提问:

ChatGPT再次回答:

好的,以下是符合要求的故事情节:《突围之路》夏璐是一名年轻有为的销售新人,她来自某知名互联网公司,并在公司运营部门担任销售经理的职务。公司刚刚推出了一款新产品,由于市场竞争激烈,夏璐面临着巨大的挑战。首先,销售目标非常高,偏离任意一个销售指标,都会影响到整个团队的业绩。其次,客户对产品敏感度不高,价值观和需求也与夏璐的初衷不同。更要命的是,同行公司的产品已经占据了大部分市场份额,夏璐需要打破僵局,争取市场份额。夏璐压力山大,但她仍然要面对现实。她知道,面对顾客挑剔的目光,只有展现超强的销售技巧和专业素养,才能赢得他们的信任和效仿。她决定从自身做起,全力学习和提升自己的业务水平。她先深入了解客户的需求,并研究行业趋势和竞争对手。她把建立信任作为自己主要的销售策略,并始终保持真诚、热情和专业的态度。她不断地改进产品,精选出符合客户需求的方案,并通过有效的沟通和传递价值,成功地赢得了很多客户的认可。尽管夏璐的努力是显而易见的,但她所面临的挑战仍然很大。有些客户因为产品价格偏高,毫无兴趣,而有些婉言拒绝。夏璐开始感觉到了急切的挣扎和困惑,若不能及时找到突破口,将会让自己陷入可怕的困局。在这个时候,一个机会降临了。公司那边收到了一份关于夏璐工作的反馈,称夏璐是一位优秀的销售人员,她优秀的服务意识、专业的技能和坚强的意志让他们深感敬佩。经过商量,夏璐被安排负责公司的重要客户沟通,这也是展示实力和卓越能力的最好机会。夏璐利用这次机会,通过深入了解客户需求,了解对方对产品的认知和期望,并结合自己常规的销售技巧和知识,成功地挖掘出了对方的痛点和购买动机。她不断调整自己的思路和方法,将客户视作合作者和朋友,与他们建立起了良好的沟通和信任关系。最终,夏璐的努力得到了公司的认可和奖励。通过自身的不懈努力,以及团队的配合,她终于成功地站在了业界的前沿,并成为了一名真正的销售精英。她的成功体现了信念、勇气和毅力,让她感到成就和满足。此外,她在职场中的成长也让她开阔了眼界,她学会了如何应对公司和客户的变化和挑战,更加善于管理和团队合作。这个故事通过主人公夏璐的成长经历,生动地展现了一个销售人员需要具备的各种素质和技能。最重要的是,它强调了信念、勇气和毅力的重要性,并传递出抓住机会、挑战自我肯定能力的积极精神。同时,它也为职场人士提供了一些有效的经验和建议,让他们在工作中更加合理地应对挑战,从而实现自身价值的最大化。

这个故事显然就要比上一个更加详细和具体,遣词造句水平也高很多,也更有深度。

问(用咒语):

我想请你帮我做一个项目总结的PPT,请问我应该如何向你提问才能得到最满意的答案,请提供全面、详细的建议,针对每一个建议请你提供具体的提问范例,最后根据你所有的建议,再综合提供一个总的提问范例,注意这个范例必须同时体现你所有的建议。

ChatGPT回答:

当向我提问以获取最满意答案时,可以考虑以下建议:1. 提供清晰的项目背景和目标在向我提问之前,请确定您的项目背景和目标,并在提问时清晰地表达它们。这将帮助我更好地了解您的需求,并且有助于我提供更有针对性的建议。例如:我们的项目是什么?它的背景是什么?它的目标是什么?我们想要总结的内容是什么?要向哪些人展示这个项目总结PPT?2. 给出具体的问题和需求在向我提问时,请尽可能具体地提出您的问题和需求,这样我才能更好地理解您的意图,并为您提供更准确的建议。例如:我们应该包括哪些内容?有哪些可以省略?我们的PPT需要多少幻灯片?每一页应该包括哪些要点?我们需要用什么样的图表来呈现数据?3. 详细描述您的困惑和难题如果您在项目总结PPT的制作过程中遇到了困惑和难题,请在向我提问时详细描述它们。这将有助于我更好地理解您的挑战,并为您提供更好的解决方案。例如:我们的数据非常复杂,如何更好地展示它?我们有哪些数据可供使用?如何处理这些数据以使它们更易于理解?我们的PPT需要使用什么样的样式和排版?综合以上建议,以下是一个符合要求的总提问范例:我们正在为一个项目制作总结PPT,我们的项目旨在总结项目开发过程中取得的成果、经验教训和问题点。我们想要向公司高层展示PPT,以帮助他们更好地了解我们的项目状况。在制作PPT的过程中,我们遇到了一些困惑:我们应该包括哪些内容?有哪些可以省略?我们需要用什么样的图表来呈现数据?我们的数据非常复杂,如何更好地展示它?我们的PPT需要使用什么样的样式和排版?请问,您有什么建议来帮助我们解决这些问题,并为我们提供一份出色的项目总结PPT?

懒到彻底,改都不改了,把最后总结的提问模板直接扔给它。

ChatGPT回答:

制作一份出色的项目总结PPT需要一定的技巧和策略,以下是一些建议,可以帮助您解决这些问题:1. 内容:在总结PPT中,您需要包括以下内容:项目概述:简单介绍项目的目标、范围和时间表。成果总结:详细介绍项目的成果和收获,包括数据、图表、照片等。经验教训:总结项目中遇到的问题和挑战,以及您从中学到的教训和经验。接下来的计划:提供一个清晰的路线图,以便公司高层了解接下来的计划和目标。您可以省略一些过于细节的内容,但是确保您的PPT能够向公司高层提供足够的信息和见解。2. 图表:图表是展示数据的最佳方式。在PPT中使用简洁明了的图表可以帮助观众更好地理解和分析数据。根据数据类型的不同,您可以选择使用条形图、饼图、折线图等。确保您的图表清晰易懂,避免使用过于复杂的图表,这会使您的PPT更难以理解。3. 数据:对于复杂的数据,您可以考虑使用可视化工具来更好地展示数据。这些工具可以将数据转换为易于理解的图表和图形,帮助观众更好地理解数据的趋势和模式。一些流行的可视化工具包括Tableau、Power BI等。如果您需要展示大量数据,请将其分解成多个图表,以便更好地组织和呈现数据。4. 样式和排版:在设计PPT时,确保您的样式和排版简单、干净和一致。使用相似的颜色、字体和图标可以使PPT更具可读性和易于理解。另外,使用幻灯片布局和标题可以帮助您更好地组织和呈现信息。最后,确保您的PPT简明扼要,有重点,不要使用过多的文字或图片,这会使您的PPT更难以理解。希望这些建议可以帮助您制作出色的项目总结PPT。基于以上建议,我为您规划了每一页的标题和内容,供参考:第一页:项目概述标题:新能源汽车开发项目概述内容模板:项目背景和目标:介绍新能源汽车市场发展趋势,说明项目的目标和意义。时间表和进度:说明项目的时间规划和进度计划,包括设计、研发、测试和上市等阶段的时间节点。参与团队和角色:介绍项目的参与团队、各自的职责和角色,以及团队之间的合作与协调情况。第二页:项目成果标题:新能源汽车开发项目成果内容模板:技术创新和研发成果:介绍项目中的技术创新和研发成果,包括新型电池技术、电动驱动系统、智能化控制系统等方面的创新。产品设计和生产成果:介绍新能源汽车的设计特点、性能参数、生产线布局等方面的成果。质量控制和测试成果:介绍新能源汽车的质量控制和测试方面的成果,包括整车的环保性能、安全性能等方面的测试结果。第三页:项目经验教训标题:新能源汽车开发项目经验教训内容模板:项目管理经验教训:总结项目管理方面的经验教训,包括项目计划的制定、进度的控制、资源的分配等方面的管理问题。技术创新经验教训:总结项目技术创新方面的经验教训,包括技术研发的难点、瓶颈和解决方案等方面的问题。产品设计经验教训:总结产品设计方面的经验教训,包括用户需求分析、设计方案的选择、设计效果评估等方面的问题。第四页:项目问题点标题:新能源汽车开发项目问题点内容模板:技术难点和瓶颈:介绍项目中遇到的技术难点和瓶颈,以及未来解决方案的展望。市场竞争和变化:介绍市场竞争和变化对项目的影响,以及应对策略和措施。资源利用和效率问题:介绍资源利用和效率方面的问题,包括人力资源的配置、设备资源的利用等方面的问题。第五页:结论与展望标题:新能源汽车开发项目结论与展望内容模板:项目结论:总结项目的成果、经验教训和问题点,强调项目的贡献和价值。未来展望:展望新能源汽车市场的未来发展趋势和机遇,以及项目未来的发展方向和策略。建议和推荐:提出对公司高层的建议和推荐,包括项目的继续发展、资源的调配和市场营销等方面的建议。第六页:附录标题:新能源汽车开发项目附录内容模板:项目数据和图表:展示项目数据和图表,包括新能源汽车市场的规模、增长率等方面的数据,以及项目各个阶段的数据和图表。技术文献和参考资料:列举项目中使用的技术文献和参考资料,以及其他有用的资源和信息。以上是新能源汽车开发项目的PPT结构模板,可以根据具体情况进行适当调整和补充。希望能对您的项目总结PPT的制作有所帮助。

这个太牛逼了,大部分建议都是真的能派上用途,关于PPT内结构方面也做得非常完善,就算是职场老鸟都甘拜下风。

AI画图的关键在于想象力和对细节的描述能力,但是这种能力大部分人都是欠缺的。

比如你想画一个美女,但你只知道说:请帮我画一个美女在沙滩上,脸蛋好,身材好,颜值高。

AI根据这些提示词,虽然也能画,但最后肯定不是你想要的效果。

这个问题,我们不妨直接先问它应该怎么给提示词。

ChatGPT暂时还不支持AI画图,但是基于ChatGPT的New Bing可以,尝试用问(用咒语)问New Bing:

我想请你画一个美女在沙滩上,脸蛋好,身材好,颜值高,请帮我写一段中英文prompt,请站在专业摄影师的角度来写。

New Bing 回答:

中文:一幅高分辨率的数字插画,描绘一位美丽女孩在海滩上,阳光明媚照耀在她的脸和身体上,与阴影形成对比,广角镜头捕捉整个场景,使她看起来更加接近观察者,蓝天和海洋的背景反射光线,创造出一种深度感,戴着草帽遮住部分头发,白皙的皮肤在阳光下闪耀,长长的黑色头发在发梢处卷曲垂落在肩膀上,眼睛闪烁着喜悦,以逼真的风格描绘,类似于一张照片。英文:A high-resolution digital illustration of a beautiful girl on the beach, with bright sunlight shining on her face and body, creating a contrast with the shadows, a wide-angle lens that captures the whole scene and makes her look closer to the 【【微信】】, a blue sky and sea background that reflects the light and creates a sense of depth, wearing a straw hat that co【【微信】】, with fair skin that glows in the sun, long black hair that curls at the ends and falls o【【微信】】, and eyes that sparkle with joy, in a realistic style that resembles a photograph

这个描绘提到了光线、镜头、衣着、头饰、头发特征,这是我们自己写的时候很容易忽略的。

New Bing切换到"更有创造力“模式,可以直接在聊天窗口画图,试了一下:

感觉是有了,美女也美,细节也很丰富,能达到基本要求,但是似乎更像油画而不是照片,分辨率比较低,可能New Bing并不擅长画真人:

于是同时也用Stable diffusion本地版跑了一下,这个工具更适合画真人,可怜的笔记本只有2G独立显卡,只能跑小图,但效果还不错:

当然,我们还可以继续玩无限套娃,继续问如何向它提问来画一个美女:

我想请你画一幅画一幅美女照片,请问我应该如何向你提问才能得到最满意的答案,请提供全面、详细的建议,而且站在专业摄影师的角度,针对每一个建议请你提供具体的提问范例,注意这些范例都是关于如何向你提问画图的,最后根据你所有的建议,再综合提供一个总的提问范例,注意这个范例必须同时体现你所有的建议。

New bing回答:

你好,我很高兴你想请我画一幅美女照片。为了得到最满意的答案,你应该注意以下几点:请明确你想要的画的风格,是写实的还是卡通的,是彩色的还是黑白的,是平面的还是立体的,等等。例如,你可以问我:“请画一幅写实风格的彩色照片。”请描述你想要的美女的外貌特征,包括年龄、肤色、发色、发型、眼睛颜色、脸型、身材、服装、饰品等。你可以尽可能地详细描述,也可以提供一些参考图片。例如,你可以问我:“请画一幅二十岁左右的亚洲女孩,肤色白皙,头发黑色长直,眼睛棕色,脸型瓜子,身材苗条,穿着一件白色连衣裙,戴着一顶草帽和一副墨镜。”请指定你想要的画的背景和环境,包括地点、时间、气氛、光线、角度等。你可以根据你想要表达的主题和情感来选择合适的背景和环境。例如,你可以问我:“请画一幅在海边的照片,时间是傍晚,气氛是浪漫,光线是暖色调,角度是广角镜头。”请告诉我你想要的画的分辨率和尺寸,以及是否需要其他特殊要求。例如,你可以问我:“请画一幅高清分辨率的照片,尺寸是1920x1080像素,不需要其他特殊要求。”综合以上建议,一个总的提问范例是:“请画一幅写实风格的彩色照片,画一个二十岁左右的亚洲女孩,肤色白皙,头发黑色长直,眼睛棕色,脸型瓜子,身材苗条,穿着一件白色连衣裙,戴着一顶草帽和一副墨镜,在海边傍晚浪漫地微笑着看着远方。光线是暖色调,角度是广角镜头。分辨率是高清1920x1080像素。”希望这些建议对你有帮助。如果你有任何其他问题或意见,请随时告诉我。

真心给跪了,太全面了。大家可以拿这个prompt试试。

我是芬哥,欢迎关注我的微信公众号 「史蒂芬的专栏」,知乎职场领域优秀回答者,五百强外企高级工程师,擅长职场、职业发展、职业选择、外企、商务英语领域。

昨天,我,一个 python 小白,花了 2 个小时时间,让 ChatGPT4 帮我实现了一个股票量化盯盘系统。

开通 plus 会员后,我一直想探寻 ChatGPT4 和 ChatGPT3.5 的区别。

毕竟,钱不能白花呀。

经过一段时间的体验,我明显感受到,比起 ChatGPT3.5,ChatGPT4 拥有无比强大的记忆力,和令人震惊的上下文理解能力,这也意味着,它可以理解更复杂的需求,实现系统级别的项目!

于是,我抱着试试的想法,让 ChatGPT4 帮我实现一个股票量化盯盘系统,没想到最后真的实现了!

而且用时很短,前前后后只花了我 2 小时的时间!

整个实现过程中,我和 ChatGPT4 沟通十分顺畅,让人折服,它对知识理解的深度和广度,已经远远超出了我的想象力,我感受到了一种无与伦比的思维冲击。。。

下面就来说说,我是如何 prompt ChatGPT4 来实现这个股票量化盯盘系统的。

1. 提出需求,先让他给出一个整体设计方案

2. 让 chatgpt 分模块设计

3. 让 chatgpt 分模块实现

4. 在实现的过程中让他解决遇到的问题

5. 让 chatgpt 整合所有模块

6. 简单调试

7. 大功告成!

看到这里,你应该能理解我的震惊,和 ChatGPT4 爆火的原因了。

它真的值得我们花大量时间去研究,再重视也不为过!

除了领域专家,ChatGPT4 的能力和知识储备能碾压任何一个普通人类。

从用上 ChatGPT4 开始,我感觉自己被赋予了无限能力,可以做任何以前想都不敢想的事情。

想要源码的朋友可以关注我的公众号:疯刀,并回复"源码"。



ChatGPT 推出插件功能,可联网获取最新信息,订酒店、看股价都可以,将有何影响?会带来哪些冲击?

chatgpt,chatgpt怎么下载,chatgpt怎么读,chatgpt怎么注册

自去年11月30日发布以来,OpenAI的ChatGPT迭代速度超乎人们的想象――在将大模型更新到GPT-4后,OpenAI在美西时间3月23日又甩出一个“王炸”――宣布推出插件功能,赋予ChatGPT使用工具、联网、运行计算的能力。有分析称,这项全新的功能目的是增强ChatGPT语言模型的能力,使其能够访问最新信息、执行计算和使用第三方的服务。

OpenAI在一篇博客文章中表示,这些插件是“专门为以安全为核心原则的语言模型设计的工具,可以帮助ChatGPT访问最新信息、运行计算或使用第三方服务。”

ChatGPT开始联网,订酒店、看股价都可以!谷歌之后,这下该苹果慌了? | 每经网

以下内容经由SE小助手编辑整理自3月28日SETalk直播间大咖对话:“ChatGPT对软件工程的新机遇”线上沙龙访谈,内容很干货,万字长文,建议收藏和分享给更多关注同学一起来看。点击关注公众号持续获得最新资讯。

正式开场前,我们先来看一段Copilot X的实操视频 编码提效55%,75%开发成就感强!!!实操动手实操Copilot X 五大核心功能体感如何?惊叹非常的丝滑,更有强大的代码刷,test pilot,代码可视化等功能~~

25分钟带你体验ChatGPT for SE的强大!!!,视频时长24:53

ChatGPT对软件工程的新机遇

SETalk系列沙龙对话嘉宾:

王昊奋 OpenKG联合创始人,同济大学特聘研究员

彭鑫 复旦大学 计算机科学技术学院副院长

茹炳晟(主持人) 腾讯Tech Lead,腾讯研究院特约研究员

看起来非常Impressive,大家一定会觉得“哇”,好像是一个新的时代已经来临,一个极大的生产力解放工具。

先来看看软件研发的流程:

第一:链路非常长

第二:研发工程师的工种越来越细分

第三:从单点的PC桌面软件-->移动端软件-->分布式云端软件-->云原生云边端协同软件。

复杂度越来越高,软件研发的难度越来越大,周期越来越长,成本越来越高,并且Bug的数量会随着增多,很多问题暴露。

Copilot这样一个生产力工具,第一:拉高了下线:很多原来没有能力开发复杂软件的程序员,或者开发复杂软件,代码质量无法控制、非常耗时才能完成的程序员,帮他降低了门槛。低代码和无代码工具都有一定危机了,可能通过Copilot,无代码和低代码时代真正来临了。

第二:虽然有了Copilot工具,像茹老师刚才演示Leetcode代码,是因为大模型见过类似Leetcode代码,并不需要告诉它,要完成什么代码,而只是在Leetcode上面,非常简短的描述,就可以完成。

充分告诉我们,以后在很多研发岗位面试过程当中不要死记背题、刷题,同时数据结构和算法的教育或培训应该发生变化,应该把原来知识型的教授转换成思路型的教授。知识这件事情我们永远比不过大模型,完全可以通过大模型赋予的能力作为我们的外脑来增强。做重复的工作,是最容易被淘汰的。相反,原来不会写代码,但是对需求的表达相对比较清晰、调理,逻辑性比较强的人,对他们绝对是利好的。

以前都说Talk is cheap,Show me the code,现在反过来了,在大模型的支持下Talk is no cheap,动动嘴皮子,模型可以自动帮我们生成Code。

从去年11月底ChatGPT出来,到后面GPT-4,震撼一波接着一波,不断突破我们的想象空间。回顾一下我的感受,最早copilot出来的时候,能够实现整函数,整方法的代码生成,我觉得确实进展很大,但没有那么震惊,因为它看不懂代码,只是按照概率模型生成了一段代码,但这段代码他没法解释,也不会改。但到了ChatGPT,GPT-4就都实现了。像刚才演示的,看得懂代码,你选一行,他就能够给出一个解释。不光企业界开发人员瑟瑟发抖,其实对学术界冲击也很大,说实话我们今年规划的好几个研究就不做了,因为大模型全会了,后续我们要规划怎么去拥抱大模型。

上面演示Copilot X的功能,像leetcode 接雨水还不太能显出他的本事,基本还是片段代码层的能力,这些任务的特点是只要基于当前代码,基本几十行范围内就能搞定,不需要更多其他代码,也不用懂架构设计。其实大模型能做的更多,还有更高级的应用:比如大模型从头到尾一行代码都不写,生成一个俄罗斯方块、或者贪吃蛇,更加震撼,当然这个程序规模不大。

首先像低级程序员肯定就很容易被取代,比如外包。越是这时候,我们越要想经典的一些东西,布鲁克斯在没有银弹那篇文章写过:软件开发的困难分为:accidental和essential。Accidental是偶然的困难,在于怎么把想法用代码表示出来,这部分相对不那么难。另外一种是概念上,需求和设计essential的困难其实更难。

软件工程过去几十年的进展,大多都在accidental层面。比如20多年前我们还没有IDE,用文本文件,直接写Java代码、C代码编译,到后来有了IDE,有很多语法提示,就不用记那么多API了,到现在accidental层面一直在发展。当然今天大模型带来的进展远远比我刚讲那些要大的多。确实一些简单编程任务真的不太需要初级程序员,因为大模型很擅长把非常相似的地方做杂揉和组合。让一部分不会写代码的人也能基于大模型写,把简单劳动和复杂劳动分界线,往上又抬高了一点。像业界资深技术专家,他会很高兴大模型的出现,以前他要配合几个初级程序员一起工作,他设计好后靠初级程序员来实现,完成后可能代码质量还不高,他还得花时间改,最后想法才能得到验证。这个迭代周期是比较慢的,现在有了大模型,初级程序员的工作可以被大模型所取代,这个变化我觉得是显而易见的。

接下来就说哪些是不容易被取代?

就像刚刚讲的大模型不擅长什么呢?我理解不一定对,欢迎拍砖。

大模型不擅长创新性的东西,比如你让他生成个操作系统,解决我们卡脖子问题,他可能也做不到那种很创新,有挑战性的代码。另外一个就是规模和复杂性问题,几百万行大规模的软件系统,可能需要几十个人开发,大模型能干多少事情,特别是在需求和设计层面,在这么大范围的上下文理解能力,是个问号。

大规模的复杂软件架构设计大模型是很难学到的,当然如果给他足够的数据可能也能学会,但设计的数据不是那么容易获得的,我经常把它叫暗数据。我跟腾讯专家也聊过,其实我们很多设计在哪儿呢 ? 白板上的草图,大家靠脑子里经验一画就懂,然后写代码,这些暗数据很难获得。

抽象能力是大模型难学到的,设计跟代码的对应关系是非常抽象的。刚才例子:leetcode 接雨水,大模型马上就把代码生成了,这个例子太完美了,以至于我们会质疑他的能力。如果连我要做什么的需求都讲的很含糊,大模型不来跟我进一步澄清、细聊需求,而是马上就实现了,这样的解决方大家敢用么?这种大概率有两种情况:

第一种情况是这个信息网上到处都有,你提出,他直接就拿过来给你。

第二种就是大模型可能随便给了你个答复,毕竟大模型一本正经胡说八道,也是大家诟病比较多的。

我承认大模型写代码,总体代码质量是非常好的,可能比很多程序员写的都好,因为他看过太多的代码。但问题是:他十句话里藏着一个问题或一句假话,要找到它并且修复它是要花很大功夫的。

大模型的上限是什么?包括Open AI的人自己都不知道。对比ChatGPT和GPT4的上下文的大小,ChatGPT差不多是4,000 token,GPT4是32k token。32K token是什么概念?差不多25,000个词,50几页的A4纸的word文档。GPT-4演示的过程当中,是希望把模型做大,把上下文做长,把各种各样可能使用到的数据都充分利用上,使它产生各种各样神奇的能力,包括涌现,形成很多复杂问题分解的思维链等。像彭老师讲的,通过多轮引导生成俄罗斯方块或贪吃蛇,可以给大模型更长的上下文,从而更容易地学习和记住相关的模式和规则。这种情况下,只需要一种机制,能够将多个关联的上下文进行合并,就可以让大模型更加系统化地使用这些知识,向前迈进一大步。

我们一直诟病大模型是生成式的,一本正经胡说八道,可能也没有时效性。最简单的,现在用ChatGPT,基本上就用Chrome里面的插件web ChatGPT,大家基本都知道,现在的ChatGPT有自己的plugin,很大一部分是在解决增强式的语言模型。

第一点:增强使用工具的能力

像copilot,还是copilot X,不管什么版本,在这个过程当中他会使用各种各样的CICD、代码编译、运行甚至发布等。

第二点:增强推理能力

随着上下文的增加,推理能力一定会有更大的容量,只是我们并不知道,这个容量到底是能走两步还是三步,还是直接就从需求到最终的部署模型、应用。

第三点:ACT的能力

它可以有更多的行为和动作,增强式的语言模型会随着ChatGPT的plugin催生很多东西。现在已经不是Open AI在做这件事情,而是全世界的开发工程师都在帮他,所以ChatGPT出来之后,为什么有很多像ChatPDF的应用。

比如以前开发Linux级别复杂的代码,我们需要神级程序员,现在有了LLM之后它的能力也是与时俱进,适用性越来越强,让中等或者相对有一定年资的工程师有机会逼近神级程序员,相当于他们用了外挂,使他变的更强。这样情况下会出现很多超级个体,通过人机协同,我们就能完成规模比较复杂的软件。一旦有更复杂的模型,更好的软件催生出来,现阶段的瓶颈和天花板其实就会被打破,拉高了我们的下线。另一方面是极大的拉高我们的上限,原来可能是周或者天级别,现在就是分钟秒级别。

研发人员具备的需求解读能力和需求翻译能力,还有需求分解能力,架构能力,我觉得这件事情大模型不是那么容易做。大模型时代一个新的工种:提示工程师,引导模型生成一些东西,激活它,启发它,在这个过程当中进行需求分解,架构引导,将很多抽象的内容进行具象,或者往具象的方向引导。不同水平的人,最后即使用了同样的大模型,同样的工具,可能产生的质量是不一样的。原来的资深研发人员甚至包括架构师、需求分析的人,他们可能会类似于现在大模型提示工程师,成为大模型时代软件开发提示工程师,产生新的细分岗位和需求,我们需要与时俱进。

第一点

大模型生成的Code,要做Code Review,找到他当中可能存在的错误其实也要花很多时间。

第二点

现阶段很多资深提示工程师生成文案和编剧这样的内容,其实你要输入给他的东西一点都不比他生成的东西少,最后数据量可能也是2到3倍,只是把你从原来的工作转到了其他方面

你极度依赖他,对他的结果极度相信,结果他给你埋了一个坑,最后导致产生了很不好的后果;另一种是你极度不相信他,他生成的代码越多,软件构建越多,用来验证和review的代价并没有完全被消减。

大模型可以看做是一种新型IDE,使得我们现有的工作变得简单,透明。

编程趋势的变化,最早机器代码,到汇编到高级语言,到面相对象,发展脉络就是编程的抽象层面越来越接近人的思维方式而远离机器。最早的软件程序是要解决充分利用机器资源的问题,越接近机器越高效,后面随着硬件逐渐的发展,逐渐变成解决人的复杂性问题,所以刚刚讲的用自然语言驱动变成好像是很自然的趋势。

未来趋势是统一门户,目前软件开发的一个很大问题是上下文切换,需要不断地在不同的应用程序之间切换,如搜索网页、查看Word文档、打开聊天工具等。大模型可以通过建立统一的门户,将这些不同的应用程序统一管理和交互,从而解决上下文切换的问题,这种方式可以使开发人员更专注于他们的应用程序开发。

AI技术的发展我们要始终保持敬畏,我跟我们团队老师和学生讨论,经常讲要想一想这个技术路线的天花板。哪些会成为天花板呢?

第一点:人会成为瓶颈

以俄罗斯方块为例 ,一个人一个小时,一行代码不写通过大模型生成俄罗斯方块,那是因为俄罗斯方块的复杂性比较小,他脑子里对整个俄罗斯方块程序的整体复杂性有完整的掌握,每一步给的提示都非常恰当,当这个软件规模变成几百万,几千万的代码,人会不会成为瓶颈?

第二点:Code review

编译器的输入是高级语言的代码,高级语言本身有严格的语法,编译的翻译过程也非常严格。但是大模型用自然语言驱动是概率性生成,无法保证精确性。现实的软件需要多人评审,协调工作。大模型生成的代码还是需要强调可读性和可理解性。

大模型难以完全接管复杂软件项目,因为有很多暗知识,需要静下心来把研发数字化和知识积累做起来。软件开发最大浪费是知识的浪费,需要重复思考的浪费。

从自然语言到代码这种翻译是概率性的,而且需求可能本来就没讲清楚,如果你很有经验,我跟你讲了一个需求,你可能在动手写代码之前会先确认需求,再写代码。但是大模型可能他就按照他理解的直接生成了,会给你带来误解。即使AI能力再发展,精确性也无法保证。

关于设计方面,我认为需要帮助大模型做研究和探索,比如挖掘软件工程中的暗知识并数字化喂给大模型。此外,需要先打好软件工程的基础,做好研发数字化和知识沉淀,才能更好地利用大模型。

建议将系统建成之后,通过特定的工具或流程将Feature到Task任务,包括Bug,Code Commit以及后续的持续集成全过程拉通,并以特定的格式方式喂给大模型。这样做可以帮助大模型更好地理解需求,从而提高生成的代码质量。

大模型来了之后,对我们学术界冲击很大,之前我们规划的研究:做代码解释就不做了。现在大模型提示词可能很长,长到比写代码还要费劲,那我们软件工程研究的就是如何自动化那些原来只有高手能写的东西,让普通人也能用。可能做的就是把提示词自动化,做一个管道工具,在用户的IDE界面和大模型之间做双向沟通,同时还能结合知识图谱,提出更好的问题,做更好的提示,这个工具还能掌握很多提示模板,和大模型打交道。对工业界来讲,这方面再加强能让AI的能力能迸发的更好。

现在关键问题是如何将单点的能力串成完整的流水线,实现企业级的大规模软件开发,并能够比较系统化地使用它。像复用code reviews,局部软件复用一点都不难,难的地方在怎么让整个软件基于复用开发,从偶然性的局部复用扩张到系统性的复用。

大模型怎么变成项目级的生产力工具,变成一个大平台,我觉得还是有很长的路要走。

目前有三大派

第一派:LLM for SE

就是我们今天在聊的重点,怎么利用大模型的强大能力来解放生产力,或者说简化软件工程的流程。

第二派:SE for LLM

LM已经形成生态,包括LLM自身在模型生产过程当中,MLOPS机器学习研发、训练、部署、运营一体化,在LLM过程中变得非常严苛,涉及到多级多卡情况,它的复杂程度远比我们想象的高很多。大模型不仅有数据,代码,在模型训练的微调和推理之外还有新物种,例如 Hugging Face 中的 Hub 模块,怎么对他进行有效的管理,就需要SE更好的设计。还有LLM模型的中间件,做模型的路由、评估, prompt提示的优化,和外部第三方工具的编排。这些都是我们在云原生软件工程过程当中 微服务、Devops带来的价值。

到后面人变成了瓶颈,因为人的memory是有限的,适合在小数据上面。在LLM开发中,确实需要一些工具和方法来简化记忆、分工和协同,以适应大规模代码的生产。在现代软件工程当中我们这些工具都有,开发人员可以使用这些工具和方法来更好地管理和维护代码,从而更好地适应大规模代码的生产。

复杂软件的开发和 AI系统开发的人的思维方式不完全一样,很多能做AI系统开发的人理解的复杂性,和我们软件的复杂性是两种不同的复杂性,所以说这两种复杂性是需要进行叠加、甚至乘积才能产生更复杂、更高效的,AI驱动复杂软件的迸发和成熟。

第三派 LLM as SE

模型的出现确实会对软件工程的链路和条例带来一定的挑战,在某些特定领域,中间态的过程其实没有必要了,端到端的开发方式,不需要做code review,使得开发人员能够更加专注于业务逻辑的实现。但是不可能在所有的情况产生,为什么:

  • 第一, 没有记载过的,数据永远不可能做组合泛化的情况,大模型一定是追随者的角色。对于大多数人,在整个研发工作年限中,复杂度达不到上限的情况下,确实就是LLM as SE,直接从需求到产品,这样的情况在一些相对可控和简单的软件或明确、能充分习得的地方是可以产生的。
  • 第二,用生成式大模型从需求到最后生成软件是不是完全不靠谱的东西?它毕竟是一个完全基于概率语言模型。Yann LeCun一直在抨击说我们现在自回归了只用解码器的一种大模型会产生非常大的diverse和不可控的因素,例如answer set的长度和多样性,但在大多数情况下,他的多样性和可变性没有这么多的情况,此外,生成式大模型的生成结果也可能受到编码器、解码器和其他因素的影响,因此我们希望它是在一个确定的,明确语义的空间里。我们唯一需要对生成式模型做出的改变是可控生成。可控生成有两种:
    • 第一种:自然可控,它逃离出去的可能性非常小,永远在如来佛的手掌心里面,那基本上我们就可以放心的将这些工作交给他。完全的安全和完全可控制这件事情是不需要追求的,但是他需要在一个很小的概率里面。
    • 第二种:需要给生成式大模型增加更多的知识,特别是暗知识,使其能够根据约束和设计产生更好、更高质量、可控的生成。这将是我们后续重点发展的方向。第一什么叫暗知识,第二暗知识怎么表示,第三暗知识不是数字化的,仅通过专家提示是不是一个最高效的方式、即使他是最高效的,我们也通常需要多轮迭代来优化模型。这里面有大量的不确定性和各种可能性,不同的可能性会带来效果有非常大差别,需要通过最佳实践、理论指导和证明来约束和证明。
  • 第三,大模型的一个重要限制是其成本,很多情况他所产生的价值还不如招一些程序员划算。做即时战略时候到底是发展科技术去造出高级兵种,还是用很廉价的低级兵种去抱兵做群海战术,我觉得这件事情是留在我们软件工程面前一个新的话题,企业需要权衡投入产出比。

我们也知道60分到90分和90分到100分, 90分到100分花的代价会高很多。所以千万不要因为大模型现在能做到一些东西,就完全拥抱大模型,不需要人了。也不要变成完全悲观,无视技术的发展,我们应该进入到当中的量子纠缠态,叠加态,让各种情况都出现。刚刚讲到的需求分解,架构设计,我觉得这件事情永远逃不掉,只是说是从一种表达方式变到了另一种表达方式。大方接受它,这样的心态更利于我们理性看待大模型,给软件工程带来新的机遇和变革。

首先是测试还有界面设计,测试经常有图片要处理,当然还有界面设计本来就有图,多模态的应用能做的很好,把美工画的界面设计稿,自动转换为前端代码,实现多模态的应用,像阿里等等有些企业已经有这种工具。

我以前上需求工程的课,当时一本书里提到,场景描述的创造层次是可以逐步提升,最详细或创造层次最低的是录像,把录像喂给大模型读,读完之后是不是可以转成结构化的场景表示。我感觉普通软件跟多模态相关的不算特别多,能想的基本是跟UI有关的。当然一种例外,像机器人,他是在物理学中存在的,他本来就是个多模态的交互模式。

在LLM出现之后,在应用大模型方面走的最激进的细分领域之一是RPA(机器流程自动化)。为什么?

第一点 RPA原本是一种自动化技术,但是为了让它能够更好地理解和执行任务,需要将其与多模态技术结合使用,将场景描述转换为结构化的流程,并将API调用等任务转换为可重复执行的结构化流程,这一定是多模态相关的。

其实炳晟刚刚讲的也存在,GPT 4最强的东西是在于做非自然图像的理解,特别是对于图表。例如,它可以通过嵌入在Word文档、PPT或其他文字工作中,帮助解决原本RPA难以解决的文档智能处理问题。现在,GPT 4可以通过Document AI技术,非常好地解决这一问题。非自然图像蕴含了很多领域知识,暗知识,对大模型来说,这种暗知识是人通过类似于提示的东西引导或者增强他。

另一方面,为什么先是语言模型迸发出来,因为语言是包含知识最密集的非自然信号。虽然视觉和语音也包含信息,但由于动物也具备类似的能力,其中包含的信息密度不够高,因此在理解方面存在一定的局限性。而非自然图像包含的信息量相对于自然图像丰富很多,特别是领域知识的信息,通过增强这些内容,有望让人类更充分地理解。

大模型另一个很重要的点就是对也错,对的就是GPT-4,它可能是涂鸦或草稿画了一些东西,然后它被称为【【淘密令】】或sketch to HTML,加上CSS和JS的代码。这件事情本身并不稀奇,因为chat GPT或大模型做的所有这些东西我们都曾经做过,甚至在一些评测的benchmark数据集上比那些好。如果我们按照原来刷Sota的角度来说,它可能还不如以前,那为什么我们这么兴奋?因为单一的模型解决了很多成千上万的任务,它的通用性决定了这一切,所以从这个角度来说,软件工程如果始终要在很多界面和上下文中切换,没有统一的门户情况下,这件事情一定是会被某种技术或某种范式颠覆的。大模型正好利用AI的理念,成为支撑万物的基座。

数据管理和数据治理过程中有很多任务是使用GPT进行数据补全、清洗、纠错和理解等,以前需要使用ETL完成这些任务,现在GPT可以通过自然语言处理进行这些任务,从而使得数据管理和数据治理变得更加高效。我们需要大模型可控的生成结构化的内容,这件事情已经发生了,大家可以看到一些新型的数据库非常积极地拥抱大模型。甚至之前的Augmented BI就是增强式BI,能帮你做一些聚合、分析、扩充清洗等等,原来的数据链路不仅是建模,过程当中所有内容都会像原来的代码和自然语言处理一样重新的进行复盘,有些任务可能用LLM直接就做完了,或者LLM与原来的方法结合可以达到前所未有的高度。

我补充下LLM to Code,要看不同的应用类型,像上层应用,自然语言驱动,包括刚刚讲的只review功能就够了,举个例子比如我有很多场景,把一些资源API都封装好,只要编排API就能够完成应用,像智能家居,智能座舱。但是也有很多应用涉及非常详细的代码,还有复杂逻辑,目前看让大模型做的精确还是很难的。

比如说严格确定性的数值运算和和逻辑推理的话,用大模型即使他能做,其投入产出比和性价比其实是非常低的。

思维链有两个不确定性和挑战

  • 第一件 当模型的参数量达到600亿及以上时,才会产生思维链的涌现。
  • 第二件 一般来说,视觉大模型的参数量约为百亿,而语言大模型的参数量约为千亿。因此,当我们看到一个1,750亿的GPT时,它的规模非常庞大。另外,像Palm的参数量约为5,400亿,而Golfer的参数量差不多为2,600亿。DeepMind的大模型规模与此类似,其思维链推理长度约束在2跳左右,勉强能达到3跳。对于复杂的任务,人类可能需要对其进行分解或进行递归或迭代调用,以使其能够在一个可承受的搜索空间内完成任务。在这种情况下,不要过于依赖大模型,还是要依靠自己的经验和知识来启发它,就像知识注入一样。我们可以通过引导、注入和引导之间的协同来实现更好的效果。这个问题还没有一个完全定论,需要进一步探索和研究。

我认为测试代码的自动生成或测试脚本的自动生成有两个层面。一个层面在文字层面,它可能会列出一些测试场景、测试方法,相当于它能够枚举出一些测试的case,并自动生成测试代码。但这个地方有一个主要问题是Oracle的问题,也是整个过程中很难的一件事,Oracle最终还是需要人工的确认。

  • 第一层面:方法论层面就是让你可以在设计测试用例时有一些方法论上的支撑。这可以帮助你避免一些常见的问题,如测试场景单一、测试方法过于简单等。通过让你考虑多样性和边缘情况,你可以更好地覆盖整个应用程序的各个方面。
  • 第二层面: 框架式测试用例它实际上是在这个过程中形成了一些框架式的测试用例,这些测试用例中会有一些占位符(placeholder),它们并不代表它们可以直接执行,但只需进行微调或简单修改,就可以解决自身的重复性劳动和代码本身的问题。
  • 第三层面:如果代码本身的取值范围已知,那么在采样过程中可以非常均匀地进行采样,使得生成的测试用例能够覆盖整个应用程序的各个方面。但是对于代码中不确定的部分,需要进行人工确认。这个过程相对来说不难,但需要一定的知识和经验。

我认为小模型一定需要,现阶段基于大模型加原来软件工程会产生很多设计模式,大模型加小模型,很重要的在于加上私域流量,本地或者离线的知识做增强的过程当中一定是需要小模型,不仅仅是prompt 提示,甚至是需要小模型或其他的组件来帮助你。

office 365的copilot提到几个东西非常需要