Artificial intelligence impacts software development on multiple levels,From code snippet generation to debugging suggestions,to explaining concepts programmatically。但 ChatGPT 作为程序员所能真正实现的功能仍然存在一些限制。了解这些限制对于对人工智能作为开发辅助工具抱有现实的期望至关重要。
虽然 ChatGPT 还可以生成代码片段、建议算法,甚至解释编程中的概念,但有些人需要的不仅仅是 ChatGPT 所能提供的功能。这些限制源于人工智能的设置方式,即提供文本响应,而无需真正与实时系统交互,掌握项目特定的冗长细节,并根据不完整的信息做出判断。本文将通过指出它不擅长或实际上无法执行的特定任务来解释 ChatGPT 编码限制。事实上,这将使开发人员更好地了解如何利用 ChatGPT,因为他们知道何时寻找其他工具或人类专业知识。
ChatGPT cannot complete 7 coding tasks
任务 1:与实时系统交互
ChatGPT 无法与实时系统、数据库或服务器实时交互。For example,如果你想:
- 解决方案:实时访问数据库以执行查询和获取数据。
- 与 API 交互,绘制实时数据或发出请求。
- 监控服务器日志或执行系统健康检查。
这些任务需要访问外部系统和实时数据,这超出了 ChatGPT 的能力范围。虽然 ChatGPT 可以提供脚本和编写这些任务的方法,但它无法执行这些任务,因为它无法自行运行代码,也无法连接到互联网或接触其他外部系统。
任务 2:了解项目背景和依赖关系
从事大型软件项目需要了解上下文,For example,任何组件依赖或与其他组件相关。ChatGPT 在执行以下任务时会失控:
- 浏览大型代码库的限制:因为虽然它可以推理用户提供的代码片段,但如果无法访问整个代码库,就无法了解大型项目的全貌。
- 具体的依赖关系解决:很多时候,这种依赖关系是相互关联的,而冲突解决的创建需要关于项目本身的结构和配置文件
- 了解特定的项目配置:配置、特定于环境的代码以及项目的自定义个性化组件等设置对于 ChatGPT 来说是不可见的。
ChatGPT 将能够提供一些关于如何管理依赖关系或重构代码的一般建议,但无法引导复杂的项目来识别和解决整个项目设置中可能出现的问题。
任务 3:访问专有或私人数据
ChatGPT 无法直接访问任何专有或私人信息,包括但不限于:
- 私有代码存储库,例如GitHub、GitLab、Bitbucket上的存储库。
- 公司特定文档。
- 属于机密或专有算法的业务逻辑。
由于无法访问此类数据,ChatGPT 无法提供依赖于对公司特定代码库或业务流程的理解的定制解决方案。虽然它可以帮助编写常见做法的代码并使用标准算法,但它无法对专有系统进行集成或操作,也无法执行依赖于公司特定数据源的操作。
任务 4:复杂重构
代码重构是指在不影响原有功能的情况下修改现有代码。虽然 ChatGPT 能够为改进任何代码片段提出建议,但它的缺点是:
- 复杂的大型重构项目:此类重构项目需要完全了解代码中的这些组件如何相互关联。这通常需要跟踪不同文件和模块之间的代码路径,而这通常超出了 ChatGPT 的直接范围,因为它无法看到整个代码库。
- 遵循编码标准:不同的项目遵循不同的编码约定、命名约定、设计模式等,ChatGPT 无法自行推断。
- 依赖感知重构:当涉及共享依赖项时,代码库中某一部分的更改可能会对其他部分产生影响。therefore,这是一项针对整个项目的依赖感知重构任务;ChatGPT 无法完成此类任务。
通过代码重构,开发人员通常必须手动审查建议并进行必要的更改,以确保重构的代码不仅有效,而且还符合特定于项目的标准。
任务 5:安全代码和合规性
编写安全合规的代码需要了解行业标准、法规和特定的安全要求。备受推崇的 ChatGPT 无法做到以下几点:
- 安全审计:它无法分析代码库中的漏洞或潜在的安全问题。其他工具(如静态代码分析或专门的安全软件)可用于此目的。
- 遵守法规:几乎所有的编码最佳实践都不足以保证标准的实施。遵守这些标准需要了解律师并实施适当的流程以保证数据安全和隐私。
- 第三方库审查:检查第三方依赖项的安全性涉及寻找漏洞、更新和许可,而这些都无法由 ChatGPT 执行。
虽然它可以对安全编码实践提出建议,但它的建议不能保证合规性或安全性,仍然需要专业审计。
任务 6:了解业务需求和规范
虽然 ChatGPT 可以帮助将用户故事或需求转化为代码片段,但它在以下方面存在困难:
- 模糊的需求:大多数软件规范包含模糊或不完整的信息,需要领域经验和判断才能正确解释。
- 功能优先级:当 ChatGPT 缺乏对项目目标的更深入了解,或者确定哪些功能依赖于其他功能时,很难决定首先实现哪些功能更有意义。
- 冲突解决: ChatGPT 无法根据需求解决冲突。它无法与利益相关者进行讨论以理清意图并在不同功能之间做出权衡。
这通常包括与利益相关者进行迭代沟通,以了解项目的目标并消除歧义——AI 语言模型在编写业务相关代码时无法完全满足的要求。
任务 7:为复杂系统编写生产就绪软件
虽然 ChatGPT 在生成代码片段或样板代码方面表现出色,但由于以下原因,它无法为复杂系统编写生产级代码:
- 缺乏可扩展性: ChatGPT 无法判断系统将如何运行,也无法预测在高负载条件下可能出现的问题。
- 特定领域的最佳实践:软件可能基于的不同领域,如嵌入式系统、金融和健康,都有其独特的要求,仅靠代码建议无法满足。
- 错误处理和边缘情况:健壮的代码需要考虑很多错误场景,而 AI 建议可能无法充分涵盖处理边缘情况。
- 集成测试:可用于生产的代码需要进行大量测试:单元测试、集成测试,有时还需要进行手动质量保证。ChatGPT 无法运行测试或保证其生成的代码将通过所有形式的测试。
复杂的系统需要人为干预,以便为每个项目特定的代码提供效率、可维护性和一定的风格。
in conclusion
虽然 ChatGPT 是一款非常强大的工具,可以在很多方面为开发人员提供支持,但它的局限性使其无法完全取代软件开发中的人类技能。与实时系统的交互、对特定项目的详细理解、复杂的重构、安全合规性检查、业务需求的解释和可用于生产的代码是 ChatGPT 无法发挥作用的领域。建议仅将 ChatGPT 用作开发任务的助手,而不是用于关键任务、需要深入的项目知识、与现实世界系统的交互或特定领域的洞察力的任务。
※※Get GPTGPT for free&Claudeaccount※※
This site provides free ChatGPT shared accounts,Number pool link:https://chatai.qqyunsd.com
If you want to use a low-cost and stable personal independent account,You can enter the store on this site to purchase,The lowest price account on the entire network,Full after-sales guarantee,Customer service follow-up
Store link:https://store.aiprois.com/
Customer Service WeChat:youngchatgpt
Official website of this site:https://aiprois.com/
No comments yet