【大模型】AI 辅助编程操作实战使用详解

目录

一、前言

[二、AI 编程介绍](#二、AI 编程介绍)

[2.1 AI 编程是什么](#2.1 AI 编程是什么)

[2.1.1 为什么需要AI辅助编程](#2.1.1 为什么需要AI辅助编程)

[2.2 AI 编程主要特点](#2.2 AI 编程主要特点)

[2.3 AI编程底层核心技术](#2.3 AI编程底层核心技术)

[2.4 AI 编程核心应用场景](#2.4 AI 编程核心应用场景)

[三、AI 代码辅助编程解决方案](#三、AI 代码辅助编程解决方案)

[3.1 AI 大模型平台](#3.1 AI 大模型平台)

[3.1.1 AI大模型平台代码生成优缺点](#3.1.1 AI大模型平台代码生成优缺点)

[3.2 AI 编码插件](#3.2 AI 编码插件)

[3.3 AI 编码工具产品](#3.3 AI 编码工具产品)

[Cursor AI](#Cursor AI)

Tabnine

[GitHub Copilot](#GitHub Copilot)

通义灵码

MarsCode

CodeGeeX

腾讯云AI代码助手

[OpenAI Codex](#OpenAI Codex)

[四、Prompt 提示词在AI编程中的操作实践](#四、Prompt 提示词在AI编程中的操作实践)

[4.1 前置准备](#4.1 前置准备)

[4.2 AI编程中的Prompt提示词编写技巧](#4.2 AI编程中的Prompt提示词编写技巧)

[4.3 AI 编码操作实践](#4.3 AI 编码操作实践)

[4.3.1生成html css代码](#4.3.1生成html css代码)

[4.3.2 生成python代码](#4.3.2 生成python代码)

[4.3.3 生成Java代码](#4.3.3 生成Java代码)

[4.3.4 生成python爬虫程序](#4.3.4 生成python爬虫程序)

[4.3.5 生成搭建mysql环境docker命令](#4.3.5 生成搭建mysql环境docker命令)

[4.3.6 生成shell脚本](#4.3.6 生成shell脚本)

五、写在文末


一、前言

AI大模型的出现,让很多行业的从业人员大大解放了传统的纯手工从0到1的过程,从而在相当的程度上提升了工作效率,比如AI写作,AI创作各类文案,AI辅助数据分析,AI绘画和设计等,可以说各类AI助手的出现正是大模型从实验室走进人们工作和生活的最直接的体现,本文将介绍AI在编程领域的使用。

二、AI 编程介绍

2.1 AI 编程是什么

AI 编程,或称智能编程、自动化编程,是指利用人工智能(AI)技术来创建、优化和管理计算机程序的过程。它不仅涵盖了开发能够执行特定任务的 AI 算法,还包括使用 AI 工具和技术来辅助人类程序员完成软件开发中的各种活动。

2.1.1 为什么需要AI辅助编程

很多IT从业人员会有这样的疑问,AI生成的代码可以用吗?AI生成的代码可以直接拿来运行吗?AI生成的代码可以替代程序员吗?...在回答这些问题之前,个人觉得有必要先结合下面几个问题来对照一下当前的个人情况:

  • 你的日常编码习惯是怎样的?

    • 是先设计再开干?便想边干边调整?先干完再调整?
  • 你平时的开发模式如何?

    • 标准的开发模式:需求->产品设计->交互评审->开发设计->编码开发->测试 ...

    • 非标开发模式:进入稳定阶段的日常维护,改改bug?偶尔加点小功能?

  • 编码开发对应的属性

    • 业务性很强的产品或项目

    • 偏向工具类的产品

    • 偏向运维?自动化等...

这里仅列举了几个比较核心的问题,这几个问题与是否使用AI编程,以及如何使用AI编程,以及AI编程能够给你日常工作是否具备提效的关键,在后续的介绍中会详细谈到。

2.2 AI 编程主要特点

AI代码编程结合了人工智能技术和编程技能,旨在提高编程效率、减少错误,并实现更智能的代码生成和优化。它利用机器学习、自然语言处理等先进技术,使计算机能够理解和生成人类编写的代码。其主要具备如下特点:

  • 高效性

    • AI代码编程可以显著加快软件的开发速度,通过预测开发者接下来可能编写的代码来减少编写时间。同时,它还能自动化重复性任务,如代码补全、错误检测等,从而进一步提高编程效率。
  • 准确性

    • 借助于大数据分析和机器学习算法,AI能够理解和适应开发者的编程风格,进而提供个性化的代码补全建议。这种自动化的代码辅助不仅提高了编程效率,还通过减少手动编码错误,提高了代码的整体质量。
  • 智能化

    • AI代码编程具有自然语言理解和智能推断的能力,使得编程变得更加直观、高效和易于学习。它可以根据开发者的需求和上下文环境,提供智能的代码生成和优化建议。

2.3 AI编程底层核心技术

AI 编程是一个复杂的过程,依赖如下多种先进技术:

  • 机器学习 (ML):

    • 通过数据驱动的方法让计算机从经验中学习,而不需要明确编程指令。常见的 ML 方法包括监督学习、非监督学习、强化学习等。
  • 深度学习 (DL):

    • 一种特殊的机器学习形式,它模仿人脑神经网络的工作方式,特别适用于图像识别、语音识别等领域。
  • 自然语言处理 (NLP):

    • 使计算机能够理解、解释和生成人类语言,广泛应用于聊天机器人、文本摘要、情感分析等方面。
  • 计算机视觉 (CV):

    • 赋予计算机"看"的能力,即处理和分析图像或视频的能力,用于物体检测、人脸识别等场景。
  • 专家系统:

    • 基于规则的知识库系统,模拟人类专家在某一领域内的决策过程。

2.4 AI 编程核心应用场景

AI 代码编程通过应用机器学习、自然语言处理(NLP)、深度学习等 AI 技术,使计算机系统能够自动或半自动地生成、修改、优化代码,以及进行调试和维护等活动。其目的是提高软件开发效率、减少人为错误、增强代码质量,并加速创新。包括如下核心应用场景:

  1. 自动化代码生成:

    1. 基于给定的需求说明或功能描述,AI 可以自动生成完整的代码片段甚至整个应用程序。这涉及到从简单的函数实现到复杂系统的架构设计。
  2. 智能代码补全与建议:

    1. 在开发者编写代码的过程中,AI 提供实时的代码补全、语法提示、最佳实践建议等功能,帮助他们更快更准确地完成工作。
  3. 静态分析与错误检测:

    1. AI 能够对源代码进行深入分析,识别潜在的问题如逻辑错误、安全漏洞等,并提供修复建议或直接应用修正措施。
  4. 动态调试与性能优化:

    1. 利用运行时数据监控程序行为,AI 可以协助定位故障点、评估性能瓶颈,并提出改进方案。
  5. 代码理解和重构:

    1. 通过对现有代码库的学习,AI 可以理解代码结构和意图,进而支持大规模的代码重构、文档生成等任务。
  6. 协作与知识共享:

    1. AI 平台促进了团队成员之间的交流和技术传承,例如记录最佳实践、常见问题解答及历史变更记录。
  7. 持续集成/部署(CI/CD)支持:

    1. 某些 AI 工具还集成了 CI/CD 流程管理功能,帮助团队更好地规划构建、测试和发布流程,同时监控各项指标以保证产品质量。

三、AI 代码辅助编程解决方案

截止到目前,对于程序员或懂代码的IT从业人员来说,AI 代码辅助编程解决方案有很多,每一种方案都有特定的应用场景,同时对于个人的技能、素质要求也不尽相同,下面列举一些常用的可作为日常AI 代码辅助编程的解决方案。

3.1 AI 大模型平台

直接借助一些AI大模型工具进行辅助编程,比如chatgpt,通义千问,文心一言等,直接基于这些工具让它们根据你的Prompt提示词生成代码,或代码解决方案,如下在通义千问中,输入你的需求,即可生成对应的代码

再比如使用ChatGPT生成一段代码

对比两个平台生成的代码质量和代码风格来看,各有千秋,开发者在使用的时候需要进行适当的甄别,合理选择使用

3.1.1 AI大模型平台代码生成优缺点

除了上面演示的通义千问,其他的平台也类似,AI大模型工具进行代码辅助编程具备如下优缺点:

1)优势

  • 提高开发效率:

    • AI大模型能够快速理解开发人员用自然语言描述的功能需求,并生成相应的代码。这大大缩短了从需求到代码实现的时间。

    • 在开发过程中,AI还能实时为开发人员提供代码补全建议,加快编码速度。

  • 优化代码质量

    • AI大模型通过对大量代码数据的学习,能够识别出潜在的代码缺陷、性能瓶颈以及不符合规范的代码,从而提高代码质量。

    • AI还可以对现有代码进行优化,提高代码的可读性、可维护性和性能。

  • 智能测试与文档生成:

    • AI能够根据代码的输入和预期输出生成自动化测试用例,并执行这些测试,以确保软件质量。

    • AI大模型还可以基于代码自动生成API文档、注释、技术文档等,极大地节省了人工编写文档的时间,并确保文档与代码保持一致。

  • 提供新思路与方法:

    • AI大模型通过分析大量不同类型的软件项目,能够为开发人员提供新的设计思路和方法,有助于创新。

2)缺点:

  • 处理复杂需求时的局限性:

    • 尽管AI大模型在代码生成方面取得了显著进展,但在处理复杂业务需求、个性化定制化的场景、设计模式的理解和生成方面仍存在一定难度。

    • 对于需要创新思维和独特解决方案的问题,AI可能无法胜任。

  • 适应性挑战:

    • AI大模型的性能在很大程度上依赖于训练数据。如果训练数据不够全面或存在偏差,生成的代码可能无法适应各种复杂场景。

    • 在特定领域或专业场景中,由于缺乏足够的针对性训练数据,AI可能生成不准确或不适用的代码。

  • 代码可读性与可维护性问题:

    • AI生成的代码有时可能缺乏清晰的结构和变量命名,导致代码可读性降低。

      • AI生成代码时很难考虑到每个细节的完善,而这个却需要使用人员在拿到AI生成的代码进行完善的。
    • 在长期维护过程中,这些问题可能会给开发人员带来困扰。

  • 数据隐私与安全问题:

    • AI系统需要大量的数据进行训练,这些数据往往包含敏感信息。在使用AI技术时,如何保护用户隐私和数据安全成为一个亟待解决的难题。

    • AI生成的代码同样可能潜藏着引发安全漏洞的缺陷与错误,这些缺陷往往缺乏明显的规律或易于辨识的特征,从而显著增加了漏洞的检测与修复难度。

  • 知识产权与合规性问题:

    • AI工具依赖于海量数据集进行训练,不可避免地会接触到包括公开代码及可能存在的专有或敏感信息在内的各种资源。这增加了无意间触碰知识产权红线的风险。

    • 在强调安全、隐私与道德标准的行业中,缺乏透明度的AI决策可能触犯法规红线,引发合规性问题。

3.2 AI 编码插件

随着各个大模型推向市场后,基于大模型基座的各类AI小产品小工具等也应运而生,其中AI编程助手便是其催生出来的产品。有了这些编程助手或插件,程序员在集成开发工具中只需要一键安装插件,然后即可借助这些插件进行辅助编码,可以理解为这些插件将原本AI大模型平台中的某些能力搬过来了,使得编码能力更加出色。下面介绍几种开发人员可能用到的AI编码助手或插件。

  • GitHub Copilot

    • 由OpenAI开发,这是一个基于Codex模型的代码生成器,可以直接在编辑器中提供代码建议。GitHub Copilot能理解编程语境并生成代码片段,帮助开发者快速编写代码。
  • Tabnine

    • 这是一个代码自动完成工具,使用机器学习模型来预测开发者接下来可能会写的代码,支持几乎所有主流编程语言。Tabnine可以集成到多种编辑器和IDE中,如Visual Studio Code、IntelliJ IDEA等。
  • Kite

    • Kite是一个代码自动完成和文档工具,使用AI来提供编程时的代码补全、函数签名和文档查看。Kite支持Python和其他几种语言,可以帮助开发者减少查找文档的时间。
  • IntelliJ IDEA:

    • 虽然主要是一个集成开发环境(IDE),但IntelliJ IDEA包括了许多AI增强的功能,比如代码建议、重构工具和代码分析,这些都可以帮助开发者提高编码效率和代码质量。
  • AI Code Buddy (AICB)

    • 这是一个相对较新的工具,专注于通过AI技术提供代码修复建议、代码重构选项以及性能优化建议。
  • DeepCode

    • DeepCode使用AI对代码库进行分析,找出潜在的错误和安全漏洞。它可以作为CI/CD流程中的一部分,以确保代码的质量和安全性。
  • Codota

    • Codota提供基于AI的代码补全功能,可以根据上下文自动提供代码建议,支持Java、JavaScript、Python等多种语言。

类似上面的一些AI编码插件还有很多,有兴趣的同学可以继续探索,比如可以在git上探索更多的此类工具或产品,比如很多程序员在使用的通义旗下的一款产品,通义灵码,可以在Idea,vscode中进行集成,使用起来非常方便

当你在idea或vscode中安装了通义灵码之后,在编程的时候,AI助手会根据你的编码习惯、上下文理解学习从而快速进行代码补全,生成与编码人员代码风格类似的代码,甚至可以在聊天窗口中输入你的需求,生成完整的代码。

3.3 AI 编码工具产品

2024年是各行各业AI产品快速爆发的一年,在编码领域,也涌现出了不少优秀的可用于辅助编码的专业产品,比如最近势头很火的Cursor AI,可以一站式的帮助程序员完成甚至从开发到编码到部署指导的完整过程,下面介绍几种比较流行的AI编码工具。

Cursor AI

  • 工具定位:AI驱动的编码助手。地址: https://www.cursor.com/

  • 产品简介:Cursor AI旨在提高软件开发效率,能自动执行重复性编码任务、减少错误并提供重构建议。其主要目标是简化编码过程,提高整体代码质量。

  • 主要特点:根据正在编写的内容的上下文提供智能、实时的代码建议;提供自动完成功能,帮助开发人员更快地编写代码,还能检查语法错误,确保代码遵循最佳实践;具有协作工具,可让多名开发人员实时协作,共享代码建议和调试解决方案,还能与流行的版本控制系统很好地集成,包括Git。

Tabnine

  • 工具定位:AI代码完成工具。地址:https://www.tabnine.com/install/

  • 产品简介:Tabnine是一款注重隐私的AI代码完成工具,可提高编码速度和代码质量,并提供本地和云端AI模型的灵活性。它通过提供智能的、上下文感知的代码建议来帮助开发人员。它支持80多种编程语言和框架,并与大多数主流集成开发环境集成。

  • 主要特点:提供情境感知建议;具有本地模式和云模式,本地模型允许开发人员在自己的机器上保留一切,这对隐私敏感或专有项目非常有利;为团队提供经过团队培训的模型,这些模型从开发团队使用的共享代码库中学习,建议反映了团队特有的编码标准、模式和框架。

GitHub Copilot

  • 出品公司:GitHub与微软共同推出。

  • 工具定位:实时代码建议。

  • 网址:++什么是 GitHub Copilot? - GitHub 文档++

  • 产品简介:GitHub Copilot是一款AI代码自动补全工具,它能在开发人员输入代码时为他们推荐整行代码或代码块。GitHub Copilot可直接集成到Visual Studio Code、GitHub Codespaces、JetBrains IDE和Neovim等代码编辑器中,根据编写代码的上下文提供实时建议。

  • 主要特点:支持多种编程语言,包括Python、JavaScript、TypeScript、Ruby、Go等;具有可定制和互动功能,开发人员不会被Copilot提供的建议所束缚;具有聊天功能,可让开发人员与AI进行更多互动协作,提出问题、获得澄清并完善对代码的理解。

  • 收费情况:提供不同的订阅计划,包括适用于个人用户的按月或按年订阅选项,以及适用于组织和企业的订阅服务。个人用户在开始付费订阅前可以享受一次性的30天免费试用版。

通义灵码

  • 出品公司:阿里巴巴。

  • 工具定位:智能编码。

  • 网址:++通义灵码_智能编码助手-阿里云++

  • 产品简介:通义灵码是阿里云推出的一款基于通义大模型的智能编码助手,它能够提供代码智能生成、研发智能问答等功能,旨在帮助开发者提升编码效率和代码质量。通义灵码插件支持包括Java、Python、Go、C/C++、JavaScript等在内的多种编程语言,并且适配了Visual Studio Code、JetBrains IDEs等主流IDE。

  • 收费情况:个人专业版处于限免阶段,所有用户均可享受个人专业版服务;限免期结束后,也会对所有开发者免费提供个人基础版服务;对于企业用户,提供企业标准版和企业专属版,企业标准版的价格为79元/个月,企业专属版的价格为159元/个月。

MarsCode

  • 出品公司:字节跳动。

  • 工具定位:智能代码补全。

  • 网址:++豆包 MarsCode - 编程助手++

  • 产品简介:MarsCode是由字节跳动公司推出的AI编程助手,它支持超过100种编程语言,包括但不限于Python、Go、JavaScript、HTML/CSS、TypeScript、C++、Java和Rust等。MarsCode的智能代码补全功能通过理解当前代码上下文,自动提供单行或多行的代码推荐,也支持通过注释生成代码片段,从而提升代码编写速度。其高级功能"代码补全Pro"能够基于用户的编辑行为和代码情况,预测下一个改动点并提供推荐代码,帮助完成编码过程。此外,MarsCode还集成了代码解释、单元测试生成、错误修复、AI问答等辅助功能,以提高编码效率和代码质量。

  • 收费情况:目前面向国内开发者免费开放。

CodeGeeX

  • 出品公司:清华大学知识工程实验室。

  • 工具定位:代码生成。

  • 网址:++https://www.codegeex.cn/++

  • 产品简介:CodeGeeX具备强大的多语言代码生成和翻译能力。它是一个基于大模型的全能智能编程助手,能够实现代码的生成与补全、自动添加注释、代码翻译以及智能问答等功能,支持包括Python、Java、C++、JavaScript、Go等在内的多种编程语言,并适配了VS Code、IntelliJ IDEA、PyCharm等多种主流IDE。

  • 收费情况:对个人用户完全免费,并且其代码和模型权重已经开源,供研究使用;提供了企业版,具备代码仓库级补写、问答和检索增强等功能,以及本地或云端私有化部署的企业级管理平台,但具体的收费情况需要沟通咨询。

腾讯云AI代码助手

  • 出品公司:腾讯云。

  • 工具定位:编程助手。

  • 网址:++腾讯云AI代码助手_代码智能补全_代码智能诊断- 腾讯云++

  • 产品简介:腾讯云AI代码助手是腾讯云推出的一款AI编程辅助工具,它基于腾讯自研的混元代码模型,提供代码智能补全、技术对话、代码补全、自动补全单元测试等功能。它支持多种编程语言,包括但不限于Python、JavaScript/TypeScript、Java、C/C++、Go、C#、Rust、Swift、Lua、Kotlin、TSX/JSX、Vue、Proto、PHP等,并支持主流IDE,如VS Code和JetBrains系列。

  • 收费情况:目前处于公测阶段,公测期间用户可以免费使用该产品。

OpenAI Codex

  • 支持语言:Python、Java、Ruby、C++等。

  • 优势:具有超强的多功能性,适合从自动生成到调试的各种需求。

  • 局限性:需要稳定的互联网连接,部分情况下可能会收费。

四、Prompt 提示词在AI编程中的操作实践

通过之前学习ChatGPT,到现在这个阶段大多数同学应该了解到掌握AI工具并熟练使用各类AI产品的一个基本技能就是掌握Prompt提示词的使用。优秀的Prompt提示词可以让AI大模型得到更好更精准的专业回答。AI编程也不例外,对很多使用AI工具辅助编码使用不深的同学来说,简单的输入问题得到答案并不是一件难事,但是这样得到的答案效果肯定不尽如人意,如何更好的使用AI工具帮助程序员完成高效的辅助编码,仍然需要从如何更好的使用Prompt提示词进行切入,但是这里需要注意的是,不同领域的Prompt提示词在编写的时候技巧是不尽相同的,而AI编程所需要的Prompt提示词也有其特定的编写技巧,接下来将通过一些案例进行深入的说明。

4.1 前置准备

在正式开始操作之前,可以选择一款或2款适合自己的AI产品,比如CahtGPT,文心一言,或通义千问等,当然,这里还是推荐你使用主流的且具备较高知名度的AI产品,毕竟有实力的AI产品,其基座模型能力、算法、稳定性、可靠性等方面也有更好的保障。下面的演示中主要使用到CahtGPT和文心一言。

4.2 AI编程中的Prompt提示词编写技巧

在AI编程中,尤其是与大型语言模型(如 GPT 系列)交互时,如何编写有效的提示词(Prompt)至关重要。一个良好的提示词不仅能提高模型的响应质量,还能更准确地引导模型做出你所期望的输出。以下是编写提示词的一些技巧:

1)明确和具体的指示

  • 简洁明确:尽量避免模糊或过于宽泛的问题,明确说明你希望AI做什么。例如:

    • 不明确:解释如何使用数据库。

    • 明确:如何在 Java 中使用 JDBC 连接 MySQL 数据库并执行查询操作?

  • 提供背景信息:如果问题涉及到特定的背景或上下文,可以提供更多细节来帮助AI理解问题。例如,描述特定的开发环境、数据库类型、框架等。

2)结构化和分步提示

  • 将复杂问题分解成多个小问题,逐步引导AI给出答案。

    • 通过分步提示可以让AI清晰地理解每一步要求,从而生成更有条理的代码或解答。例如:

    • 请提供一段 Java 代码,完成以下任务:

      • 连接 MySQL 数据库。

      • 执行一个简单的查询(如 SELECT * FROM users)。

      • 处理查询结果。

3)使用示例或格式

提供一个简单的输入/输出示例来明确你期望的格式。示例帮助AI理解问题的精确要求。例如:我需要一段代码,处理以下用户数据:

bash 复制代码
[
  {"id": 1, "name": "Alice", "email": "alice@example.com"},
  {"id": 2, "name": "Bob", "email": "bob@example.com"}
]

解释如何使用 Python 对这些数据进行处理并输出用户的邮箱。

4)指定语言或工具

  • 明确指出你希望使用的编程语言、工具或库。这可以帮助AI生成符合要求的代码。例如:

    • 请使用 Python 和 Pandas 库读取 CSV 文件并处理数据。

    • 用 Java 和 JDBC 编写一个简单的 MySQL 数据库连接示例。

5)适当的上下文和约束条件

提供一些必要的上下文或约束条件,以帮助AI限制输出范围。例如:

  • 请生成一个 SQL 查询,要求查询出所有电子邮件地址不重复的用户,并按用户名称升序排序。

约束条件有助于模型在复杂的情况下更好地聚焦到正确的答案。

6)迭代改进

  • 在与AI交互时,可以先进行一次初步提问,然后根据AI的回答进一步迭代和细化提示。如果第一次输出不完全符合预期,可以逐步修改并向AI提供反馈,直到得到满意的结果。

    • 例如,初始提示:"写一个 Python 函数计算数组的平均值。"

    • 如果输出不完整或没有符合要求,可以继续优化提示:"请修改该函数,添加对空数组的检查,并在遇到异常时抛出合适的错误。"

7)避免过于复杂或不必要的要求

提示词过于复杂时,模型可能会难以理解或给出不准确的答案。避免一次性提出太多要求,尤其是当这些要求相互矛盾时。例如,避免"生成一个完整的 Web 应用程序,它既要有数据库、用户认证,也要支持多语言和国际化。"这种过于宽泛的请求。

8)使用调节和假设

如果希望模型在特定条件下给出不同的答案,可以明确指定这些条件。例如:

  • 如果用户输入的年龄大于 18,则返回"成年人";否则返回"未成年人"。

通过这种方式,AI可以根据给定的条件灵活应对。

9)控制输出的格式和长度

  • 在某些情况下,你可能希望控制输出的格式、长度或风格。例如:

    • 请用 JSON 格式输出包含以下字段的用户数据: {"name": "Alice", "email": "alice@example.com", "age": 30}
  • 通过明确要求输出的格式,AI能生成符合预期结构的结果。

10)反复调试和微调

尝试不同的提示方式,查看哪种方式能产生最佳结果。在复杂的编程任务中,反复微调提示词以改进输出是很常见的做法。

4.3 AI 编码操作实践

4.3.1生成html css代码

需求,生成一个系统中常用的登录+注册的页面,完整的Prompt提示词如下:

bash 复制代码
使用用html css写一个用户注册+登录的代码,要求如下:
1、页面背景是淡灰色
2、内容居中显示
3、表单有用户名、密码、确认密码、邮箱、手机号
4、有一个登录按钮,注册按钮,以及找回密码的按钮
4、表单上下有11px的距离、
5、表单高度为40px
6、表单采用圆角设计
7、表单的宽度为400px ,按钮高度改为40px
8、表单上面加一个用户注册的标题

将上述需求输入到AI对话框,比如这里使用文心一言,等待输出代码

然后我们将输出的代码放在一个html文件中进行预览看下效果,当然这个效果如果你不满意可以继续进行多轮对话微调

再来看看ChatGPT生成的效果

将上面GPT生成的代码拷贝到一个html文件中再来看看生成页面效果

4.3.2 生成python代码

有这样的需求,希望AI帮我们生成一段操作数据库某个表增删改查的代码,事实上,对于编写后端代码的同学应该指导,代码的运行还需要依赖一些外部的包组件,所以在编写Prompt时,建议还需指定依赖包,完整的提示词如下:

bash 复制代码
帮我写一个使用Python读取Mysql的案例代码,完整的需求描述信息如下:
1、Mysql数据库地址是:192.168.1.111 ,mysql用户名是:root, Mysql密码是:Admin&123456,要操作的数据库是:test_db
2、需要提供一个可以运行的python代码用于查询mysql里面user表数据的案例,其中user表中有id,user_name,email字段
3、并提供python需要安装的依赖

将上述的Prompt拷贝至AI对话窗口,得到下面的代码输出

在上文中我们提到服务端代码的运行需要依赖一定的外部环境,比如这段代码的运行需要依赖mysql连接的依赖包,以及提前准备好数据库和表数据

1)数据库表

并提前准备一条测试数据

2)安装mysql依赖包

3)拷贝AI生成的代码

简单修改下代码中的数据库连接配置信息(根据你自己的实际情况修改和调整)

4)运行代码观察效果

这里仅仅调整了数据库的连接信息,其他的代码未作调整的情况下直接运行,通过控制台的打印输出,不难看出,一次成功,就能按照需求的描述取出了user表的数据

4.3.3 生成Java代码

仍以上面类似的需求为背景,生成Java操作mysql的程序,参考如下完整的Prompt提示词

bash 复制代码
帮我写一个使用Java jdbc的方式操作Mysql的案例代码,完整的需求描述信息如下:
1、Mysql数据库地址是:192.168.1.111 ,mysql用户名是:root, Mysql密码是:Admin&123456,要操作的数据库是:test_db
2、需要提供一个可以运行的Java代码用于查询mysql里面user表数据的案例,其中user表中有id,user_name,email字段
3、并提供Java运行代码依赖的包

输入到AI对话框,等待输出

按照上面的步骤,首先在pom文件中引入jdbc的依赖,然后将代码拷贝至Java类中,简单调整下数据库的配置连接信息即可,运行代码可以看到如下效果

4.3.4 生成python爬虫程序

在实际项目中经常需要爬取一些外部网站的数据到自己的系统数据库中使用,这里使用AI为我们生成一段爬虫程序,爬取下面网页中的数据

参考下面的Prompt提示词

bash 复制代码
帮我写一个Python语言爬取数据并写入到Mysql的程序,完整的需求描述信息如下:
1、Mysql数据库地址是:192.168.1.111 ,mysql用户名是:root, Mysql密码是:Admin&123456,要操作的数据库是:db_sky
2、目标要爬取的网址是 : http://bbs.itying.com/
3、把爬取的每一条新闻信息写入到info_msg表,info_msg表有id,title,status字段
4、并提供运行代码依赖的安装包

输入到AI对话框,看到输出了完整的操作步骤和代码

不仅生成了代码,而且配有详细的代码注释和解释说明,需要注意的是,由于爬取的数据不一样,需要解析的html标签有一定的差别,所以需要根据实际情况简单调整一下代码中的爬取数据对应的原始网站中的标签

调整完成之后,运行上面的代码,控制台可以看到完整的爬取过程

检查数据库,可以看到也已经成功写入进去

4.3.5 生成搭建mysql环境docker命令

平时开发中为了快速搭建起mysql的开发环境,可以考虑使用docker命令运行一个mysql容器,这里我们使用AI帮我们生成一个可以运行的mysql容器命令,完整的提示词如下:

bash 复制代码
帮我写一个使用docker安装mysql的命令,完整的需求描述如下:
1、mysql的数据需要持久存储,因此需要创建数据卷目录
2、root账户的密码是:Admin@123456
3、mysql端口号为13306

输入命令到对话框,AI生成了完整的docker命令,以及对各个参数项的解释

然后将这段命令找一个服务器运行一下,除了调整了一下数据卷的本地映射目录之后,即可正常运行起来

4.3.6 生成shell脚本

shell脚本是系统日常运维过程中非常重要的工具,这里我们借助AI工具生成一个可以删除日志文件的脚本,完整的提示词如下:

bash 复制代码
帮我写一个使用linux的shell脚本,完整的需求描述如下:
1、检测/etc/logs目录下的日志文件
2、日志文件的名称后缀以日志结尾,例如:data_20250111.log,data_20250110.log,data_20250109.log
3、检测到这样的日志文件之后,删除时间为3天之前的日志,其他的保留

输入到对话框得到下面的脚本,同时还给出了详细的解释和说明

为了验证shell脚本的效果,我们实际在服务器的 /etc/logs目录下创建下面几个日志文件

创建一个脚本文件,拷贝上面AI生成的脚本

执行上面的shell脚本,验证下效果如何

五、写在文末

本文通过较大的篇幅详细介绍了AI编程相关的理论与实践,最后通过几个实际的案例验证了AI辅助编程的强大之处,更多的场景看到的同学可以结合自己在实际工作中遇到的进行尝试使用,本篇到此结束,感谢观看。

相关推荐
IT果果日记2 天前
Ollama+OpenWebUI部署本地大模型
人工智能·ai编程·ollama·openwebui
某公司摸鱼前端2 天前
本地部署DeepSeek教程(Mac版本)
macos·ai编程·ollama·deepseek·deepseek r1
小众AI2 天前
AI-on-the-edge-device - 将“旧”设备接入智能世界
人工智能·开源·ai编程
时光追逐者3 天前
Visual Studio使用GitHub Copilot提高.NET开发工作效率
c#·github·.net·copilot·ai编程·微软技术·visual studio
Blockchina3 天前
如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?
人工智能·python·ai编程·deepseek
tuan_zhang3 天前
第1章 量子暗网中的血色黎明
人工智能·ai编程·探索未来
三天不学习4 天前
【AI编程助手系列】国产AI编程工具 DeepSeek+Cline+VSCode 快速集成
ide·vscode·ai编程·deepseek
CodeCodeBond5 天前
RAG:实现基于本地知识库结合大模型生成(LangChain4j快速入门#1)
java·后端·ai·语言模型·langchain·个人开发·ai编程