现代开发工作流程实验
今天,我要分享我的ChatGPT和Copilot之旅。这些工具为我提供了新的视角和战略性洞见,增强了我的日常开发任务。我甚至参加了四次黑客马拉松,使用ChatGPT和Copilot从零开始构建了项目。让我们一起探索不断发展的开发世界,揭示这些人工智能工具的令人难以置信的好处。
每天都从问题分析和策略开始。在这里,ChatGPT和Copilot是关键的盟友,为我的项目提供新鲜的见解和可用的代码片段。在Nextgen Gen AI黑客马拉松比赛中,我花费了超过一半的时间与其他参与者和导师交流,以磨炼问题陈述并确定我项目“Pathways”的良好MVP /演示用例。
记住,这些 AI 工具是增强而不是取代人的开发者。它们擅长生成代码片段和常见问题的解决方案,但缺乏完整的上下文理解和创造力。它们最有效的作用是作为支持性的工具,而不是完全的替代品。在 FiddleJam 中,我需要为我的后端构建 FE 图表。我最多只有基本的 React 理解。ChatGPT 帮助我得到脚手架,然后我可以通过 copilot 的帮助来改变和增强它,解决途中的逻辑漏洞。
ChatGPT和Copilot的力量在代码创建中闪耀。它们促进了更快的构思和测试。通过采用人工智能制作的代码片段,开发人员可以节省时间和精力,同时保持高水准的编码标准。在构建时间序列数据的缓存框架时,我们尝试了各种方案。我们尝试将所有时间序列数据都保留在内存中,只保留所需的时间序列“块”在内存中,我们进行预缓存与被动缓存的对比。我们可以快速构建出所有这些配置,并将其与我们的后端集成,看看哪个效果最好。
在我的经验中,ChatGPT在新项目方面比Copilot更有优势。它让代码生成更加个性化,而Copilot在加速正在进行的项目方面表现突出。在这些工具之间进行选择取决于手头的项目。ChatGPT简化了编码实验的过程,帮助开发人员在决定最佳方法之前测试各种解决方案。另一方面,一旦解决方案清晰,Copilot可以加快编码速度。
使用ChatGPT时,我遇到的挑战之一是上下文窗口的限制,在超出限制后,模型的响应变得不可靠。此外,GPT-3.5-turbo和GPT-4之间的响应质量存在差异,通常情况下,GPT-4会产生更好的结果。然而,GPT-4目前的信息支持数量存在限制。为了克服这些挑战,我找到了一个解决方法,即使用GPT-3.5-turbo对初始问题进行整理,使其处于可用状态,然后将对话转移到GPT-4,以构建出解决方案。这种组合使我能够利用GPT-4的改进质量,同时绕过上下文窗口和消息限制的限制。
产品开发的一个重要方面是文档记录。这正是 ChatGPT 脱颖而出的地方。它简化了创建易懂指南的过程,让用户能够访问复杂代码功能。ChatGPT 的界面帮助开发人员对代码元素获得详细说明,简化了文档记录的过程。
这次探讨也引发了有关技术招聘流程的问题。例如,我们应该优先考虑某人如何“实现”红黑树的知识,还是更关注他们表达使用这种树的好处和适当用例的能力,以及确保实现的正确性?我们应该根据个人的逻辑推理、区分好坏解决方案的能力、沟通能力以及对软件开发的广泛理解来评估个人。
我强烈鼓励开发人员在他们的工具箱中拥抱人工智能工具,因为它们提供了显著的 leverage (杠杆作用)。通过这样做,他们可以缓解对 AI 取代编程的担忧,而是培养出对这些工具所带来的令人惊叹的机会的敬畏之情,这对软件开发领域来说非常重要。将我们关于“编程”的思考转变到仅仅生产代码行的视野之外,并采用一个全面的、战略性的观点是至关重要的。这种转变能让开发人员从端到端地解决问题,从客户到交付,赋予他们更具影响力的角色,成为软件开发过程中更有帮助的贡献者。