百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

产品经理如何用ChatGPT提效520倍

toyiye 2024-06-21 12:34 11 浏览 0 评论

随着ChatGPT的发展,各行各业都受到了其的影响,有人因为它被取代,有人通过利用它来提高效率。本文作者通过用ChatGPT写代码的方式,阐述其是如何提高效率的,一起来看看吧。

当产品经理开始用ChatGPT写代码了,会发生什么?

在过去的几个月里,随着ChatGPT、Midjourney、Stable Diffusion等国外产品的快速迭代,以及国内百度、阿里、飞书、网易等大厂发布的大模型,一些设计、研发、自媒体从业者开始感到自危,仿佛他们的工作在AI的洪流中瞬间会被取代。那人人都能做的产品经理(bushi),在这次的AI革命中能做什么?

我在第一时间接受和学习了ChatGPT,并在实际工作中进行了一次代码优化的测试。作为产品经理,我选择尝试使用GPT优化代码的原因有两个:首先,我对新技术非常感兴趣,对于GPT模型也非常好奇。

其次,企业越来越需要复合型人才,而GPT能够帮助我快速学习和成长。因此,我决定让GPT介入我的实际工作,以提高我的工作效率和技能水平。

我选取的CASE是一段SQL查询代码,对应的业务需求是一个使用频次较高的日报。旧代码行数有近1900行,每天更新一次,每次的运行时长在一个多小时,而且只能查询最近一个月的日报数据,业务没法做历史数据的同环比分析。而我作为一个产品经理,缺乏读写和优化这种超长SQL的能力,因此我决定使用GPT,解决性能差和历史数据存档的问题。

结果非常的完美,最终的SQL执行时间从4200秒缩短到8秒,效率提升了520倍,复杂度降低了6倍,同时还能保存所有的历史数据,报表可以秒开。

我将这个案例社区后,还得到了一位清华大学计算机系数据库组成员的邀请,将本次的优化过程分享给了他们,作为他们研究实际场景的应用case。

令人惊奇的是,GPT的优化不仅仅局限于原代码结构,而且还能根据真实的业务需求提出与原代码不同的解决思路。下面详细介绍一下我的整个优化过程:

背景前提:

我不是专业的BI工程师,所以对数据治理、SQL优化思路等不太了解,只能跟着GPT的提示以及查询资料来一步步进行。我相信如果是专业的BI工程师,这些问题可能都只是小儿科,GPT提出的优化思路在专业人士看来可能也比较初级。但本次分享的主题是打工人如何利用强大的GPT,来帮助自己解决不擅长领域的问题以及快速学习成长。

由于充值的问题没有解决,所以本次只用到了免费的ChatGPT-3.5版本,但也足够了。而且写文章写到一半的时候账号登录不上了,提示访问被拒,所以暂时无法截图还原完整的对话过程…

以下是完整的使用过程:

在开始前,我对GPT的认知是:它是一个知识储备无比丰富的助理,但需要一个清晰、准确的prompt,它才会给出一个符合需求的输出。所以我先整理了我要和GPT交互的基本思路以及步骤:

旧代码输入>需求及现状问题输入>调试优化>结果输出验证

接下来开始实操:

Step1:旧代码输入

首先,将需要优化的旧代码输入到ChatGPT模型中,旧代码有1900行,GPT直接提示too long,所以我做了分次输入。

直接粘贴提示报错。

分段输入,再进行联合。

这一步的作用是让GPT理解旧代码实现的效果以及熟悉查询表和字段,方便后续GPT生成优化代码时可以直接复制粘贴到数据库中运行。

原SQL的主要逻辑就是统计近30天内每一天的业务数据日报,把近30个结果指标,按照天和地区进行分组汇总,需要查询多张表几百万条数据。这里GPT的理解基本正确,甚至在我没有提需求的情况下,就提出了一些优化建议。

Step2:需求及现状问题输入

在完成第一步的原SQL输入后,GPT已经对需求有了初步的理解,这里我再将真实的业务需求场景以及现在的问题输入给GPT:

这一步的作用是帮助GPT更好的理解旧代码背后的真实业务需求,同时结合旧代码运行的问题,让GPT能进一步给出针对性的优化建议,输出更符合需求的代码。

这里其实有好几轮的输入输出(可以理解为讨论),不断的强化GPT对真实需求的认知。

注:SQL查询代码本身不包含涉密信息,可以放心在ChatGPT中使用。

Step3:根据优化结果不断调试

在输入完旧代码、需求和问题之后,GPT模型给出了一些新的代码。我需要不断地根据GPT的结果进行调试和优化,直到生成满足需求的新代码,这一步比较繁琐,但惊喜也是在这一步发现的。

按照原SQL的思路,是每天更新近30天的数据,并存储到一个结果表,由于指标很多且数据量大,所以耗时很长,但其实大部分的语句都是反复的读同一个表,资源浪费比较严重。

所以在跟GPT反复沟通多次后,GPT提出了3点比较重要的优化建议:

  1. 每次更新1天而不是30天的数据;
  2. 不直接统计全量指标数据,而是创建一个中间结果表,将所有非二次计算的数据存储到该表,需要二次计算的指标直接通过该表再查询(例如:中间结果表统计了昨日总数和今日总数,变化值、环比等则通过中间表再进行二次查询统计);
  3. 利用CASE WHEN合并查询约束条件基本相同的指标,这个方式大大减少了重复读表的次数,也极大的精简了SQL代码内容。

前两点是GPT直接提出的,第三点是我从GPT给出的优化代码中发现的,基于这三个核心优化思路,结合我的半吊子SQL水平,花费了半天多的时间将完整的代码优化完成,并分模块在系统中测试了一下,结果完全一致。

当然整个过程还是比较繁琐的,包括查资料、报错、纠正GPT、不断补充需求细节等等,需要有一定的耐心。

Step4:实测新代码的正确性和效果

完成前面的分模块测试后,我把所有的代码整合到一起,发现整个SQL语句由原先的1900行精简到了300行;接着拖到系统中进行运行,原先需要运行4200秒的项目,现在8秒钟就完成了,而且结果一致。

整整520倍的效率提升,一个对SQL代码一知半解的产品经理,仅用一个下午就完成了。

整个过程就好像我在和一个专业的数据开发工程师在沟通需求,我不断的提出、明确、细化我的需求和问题,它不断的更新解决方案,直到令人满意,没有battle、不用排期、没有delay。

而这还是只ChatGPT-3.5。

GPT优化代码的意义和价值在于提高代码的效率和质量。在传统的编码过程中,研发人员往往需要耗费大量的时间和精力来编写、测试和维护代码。而GPT可以帮助自动生成代码和测试用例,从而减少这些繁琐的工作,提高工作效率。此外,GPT还可以自动化文档生成和代码注释,帮助开发人员更好地理解和维护代码,提高代码的质量。

所以在个人看来,ChatGPT在编程中的应用前景非常广泛。无论是根据需求自动生成新的代码,还是用来用来改进代码的可读性和可维护性,甚至是自动化测试等,甚至是根据线框图直接创建应用、网页等,这对传统的IT工程师特别是入门级,将是一次巨大的挑战。

除了编程应用,ChatGPT还有很多其他的应用场景,后续我也会继续分享零基础使用AI的经历,包括Midjourney、StableDiffusion等。

作为产品经理,我们应该保持对新技术的敏感度和开放性,尝试利用人工智能技术来提高自己的技能和能力。复合型人才的需求越来越大,而GPT能够帮助我们快速学习和成长,提高自己的竞争力,毕竟未来连产品经理可能都不存在了。

最后,ChatGPT,或者说所有的AI产品,将会对基础的文字、设计、研发从业者产生颠覆性的影响。我们每个人能做的事情,就是在这股洪流中,迅速的转变自己的航向,站在风口上,努力让自己飞起来。

本文由 @夏捞师 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码