AI 編程還有前景嘛?

自從各個大廠相繼出品 AI 編程助手之后,AI 在編程領域的發展,可謂是幾無寸進。

相比于 AI 在多模態領域火熱,AI 在編程領域的熱度已經完全下來了。

阿七在公眾號搜索了關鍵詞「AI編程」,發現搜索出來的公眾號寥寥無幾,在更新的基本上一只手都能數得過來。

同樣在微信指數上看了一下「AI編程」,基本上除了 2023 年 11 月有一波熱度之后,基本上沒什么熱度了。

在這里插入圖片描述

AI 在編程領域,到底有沒有未來?前景如何呢?

先說結論,AI 在編程領域在長期來看,會在很大程度上變革整個工作流;但是,在短期,只能在某些特定領域進行提效。

先說說阿七在各個渠道了解的一些落地案例:

1、AI 根據 UI 設計圖,編寫前端代碼,實現 UI 圖效果。

2、AI 在某知名互聯網公司內部的 CR 比賽中獲得了第一名,內部已經在 CR 流程中推廣 AI CR 代碼,從而提升代碼質量。

3、AI 生成測試 case,簡單場景下,代替部分 QA 完成測試 case 的生成。

4、AI 在運維場景下,執行標準化運維操作,從而提效運維。

5、使用 AI 編程助手,自動補全代碼,提效編程,讓程序員在更短的時間寫出更多的代碼。

在一篇 2023 年的舊文中,阿七也分享了 AI 在編程領域碾壓人類的 10 個場景:

1、正則表達式編寫。

2、編寫測試代碼,包含各類邊界條件驗證。

3、使用難以記憶關鍵字編寫代碼,比如:HTML/CSS編寫。

4、編寫/不熟悉的復雜算法。

5、使用/學習不熟悉的編程語言。

6、按常識完善對象字段。

7、示例/測試數據生成。

8、復雜參數填寫和上下文匹配。

9、理解復雜代碼并編寫文檔,評審代碼,提出改進意見。

10、自動編寫單元測試,一次性提高代碼測試覆蓋率。

可以看到,AI 在編程領域的確,暫時還沒有變革性質的產品出來。

說完了現狀,再說說 AI 在編程領域的未來暢想:

基于 AI 在長文本理解能力的不斷提升,AI 未來能夠做到完整理解一個代碼工程。

針對已有工程,它有可能能做到對代碼的架構進行總結,提出問題,給出優化方向。

針對「描述完好」的需求文檔,對需求進行技術方案的設計,給出修改代碼在整個工程中所處的位置,之后到自動編碼,從而基本實現需求。

這個過程,之前在參加微軟組織的 GitHub Copilot 培訓的時候,使用編程助手,根據需求文檔,不斷編寫提示詞,也的確做到了基本 0 代碼從 0 到 1 完成了一個簡單需求的開發。

可以參考舊文:https://mp.weixin.qq.com/s/x-r5uWf4mnv2vo9-HcqhsA

雖然說,在公司實際進行開發需求,大部分場景都是在已有大量系統上進行開發,相比于這種所有東西 從 0 到 1 進行搭建,有很大區別。

但是,只要 AI 能做到理解大量已有知識庫,理解需求文檔,理論上,在現有系統上進行開發,它也是完全有可能實現的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/35225.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/35225.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/35225.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LLM生成模型在生物蛋白質應用:ESM3

參考: https://github.com/evolutionaryscale/esm 通過GPT模型原理,輸入蛋白質序列等模態輸出預測的蛋白質序列及結構 使用 參考:https://colab.research.google.com/github/evolutionaryscale/esm/blob/main/examples/generate.ipynb#sc…

(六)使用統計學方法進行變量有效性測試(43道選擇題)

本文整理了使用統計學方法進行變量有效性測試相關的練習題,共43道,適用于想鞏固理論基礎的同學。來源:如荷學數據科學題庫(CDA二級-第7章)。 1) 2) 3) 4) 5)…

【無人機三維路徑規劃】基于樹木生長算法TGA實現復雜城市地形下無人機避障三維航跡規劃附Matlab代碼

% 定義無人機起始位置和目標位置 start_point [0, 0, 0]; % 起始位置 [x, y, z] target_point [100, 100, 100]; % 目標位置 [x, y, z] % 定義城市地形和障礙物信息 city_map imread(‘city_map.png’); % 城市地形圖像 obstacles [ 20, 30, 10; % 障礙物1位置 [x, y, z] …

三分之一的違規行為未被發現

Gigamon 調查顯示,隨著漏洞的針對性越來越強、越來越復雜,企業在檢測漏洞方面也面臨越來越大的困難,超過三分之一的企業表示,現有的安全工具無法在漏洞發生時檢測到它們。 隨著混合云環境變得越來越復雜,以及惡意行為…

Java 語言特定指南

Java 語言特定指南 本 Java 入門指南將教您如何使用 Docker 創建一個容器化的 Spring Boot 應用程序。在本模塊中,您將學習如何: 使用 Maven 容器化并運行一個 Spring Boot 應用程序設置本地開發環境以將數據庫連接到容器、配置調試器,并使…

篩斗數據:引領未來,以技術創新推動在線推廣新紀元

在數字化浪潮的推動下,企業在線推廣已成為市場拓展的關鍵手段。然而,在海量信息中精準定位目標用戶,有效提升轉化率,卻是一大挑戰。篩斗數據,作為一家專注于數據提取與分析的技術公司,正以其獨特的技術優勢…

云計算基礎知識

前言: 隨著ICT技術的高速發展,企業架構對計算、存儲、網絡資源的需求更高,急需一種新的架構來承載業務,以獲得持續,高速,高效的發展,云計算應運而生。 云計算背景 信息大爆炸時代&#xff1a…

Linux 標準IO的fopen和fclose

getchar(),putchar() ‐‐‐‐ 一個字符 gets(buf),puts(buf) ‐‐‐‐ 一串字符 scanf(),printf() ‐‐‐‐ 一個字符,一串字符都可以 fopen函數的形式 FILE * fopen(constchar *path , cost char *mode) /* * description : 打開一個文件 * param ‐ path…

進階篇07——InnoDB引擎介紹

概覽 邏輯存儲結構 架構 當執行增刪改查操作時,操作的是緩沖區的數據,如果緩沖區里沒有要操作的數據,就會從磁盤中讀取數據加載到緩沖區中;緩沖區的數據會以一定的頻率通過后臺線程刷新到磁盤中永久存儲。 內存結構 磁盤結構 后…

數據結構(Java):順序表集合類ArrayList

1、線性表 線性表,在邏輯結構上是連續的(可理解為連續的一條直線,一對一的關系),而在物理結構上不一定連續,通常以數組和鏈式結構進行存儲。 線性表是一種在實際中廣泛使用的數據結構,常見的線…

Vue介紹與入門(一篇入門)

Vue.js 是一個流行的 JavaScript 框架,專門用于構建用戶界面和單頁面應用程序。它簡單易學,但功能強大,能夠幫助開發者快速構建交互性強的 Web 應用。 本教程旨在幫助那些剛開始學習 Vue.js 的開發者快速入門,并掌握一些基礎知識…

【UE5.1 角色練習】12-坐騎——Part2(讓角色騎上坐騎)

目錄 前言 效果 步驟 一、坐騎的父類 二、將角色附加到坐騎 三、添加坐姿 四、騎上坐騎 五、從坐騎上下來 前言 在上一篇(【UE5.1 角色練習】11-坐騎——Part1(控制大象移動))基礎上繼續實現角色騎上坐騎的功能。 效果 …

語言的數據結構:樹與二叉樹(二叉樹篇)

語言的數據結構:樹與二叉樹(二叉樹篇) 前言概念特別的二叉樹滿二叉樹完全二叉樹 存儲結構順序存儲鏈式存儲 查找方式 前言 上文說到了樹,有人認為二叉樹是樹的每一個分支都有兩個子節點。其實這也對。但二叉樹在此基礎上還做了限…

RS422串口通信協議介紹和基礎代碼實現

**RS-422串口協議介紹**RS-422是一種工業標準的通信接口,其全稱是“平衡電壓數字接口電路的電氣特性”。它是在RS-232的基礎上發展而來,旨在解決RS-232通信距離短和速率低的缺點。以下是對RS-422串口協議的詳細介紹:傳輸速率與距離&#xff1…

MyCAT 2 簡單入門

MyCAT 2 基礎 什么是 MyCAT 2? MyCAT 2 是一款開源的數據庫中間件,它主要用于解決數據庫的分庫分表、讀寫分離等問題。MyCAT 2 基于 MyCAT 1 的架構進行優化和重構,具有更高的性能和穩定性,支持多種數據庫類型,包括 …

【QCustomPlot實戰系列】QCPGraph區域高亮

使用QCPDataSelection來設置選中的區域&#xff0c;并將QCPGraph的可選擇區域設置成QCP::stMultipleDataRanges void AreaPieces::initCustomPlot(QCustomPlot *parentPlot) {QVector<double> x {0, 1, 2, 3, 4, 5, 6, 7, 8};QVector<double> y {200, 560, 750…

《mysql篇》--mysql常用命令

數據庫操作 顯示當前數據庫 show databases;(database 后面要加s) 這行命令用來顯示當前有多少個數據庫 //mysql中有自帶的四個庫 創建數據庫 create database 數據庫名(name); 創建一個數據庫 create dabase if not exists <數據庫名(name)>; //如果系統有與當前創建…

前端vite+vue3——利用環境變量和路由區分h5、pc模塊打包(從0到1)

?前言 大家好&#xff0c;我是yma16&#xff0c;本文分享 前端vitevue3——利用環境變量和路由對前端區分h5和pc模塊打包&#xff08;從0到1&#xff09;。 背景&#xff1a; 前端本地開發pc和h5的項目&#xff0c;發布時需要區分開h5和pc的頁面 vite Vite 通過在一開始將應…

圖片怎么加水印?快來試試這6個圖片加水印方法(2024年新)

圖片怎么加水印&#xff1f;作為打工人在日常的工作生活中總會遇到各種各樣的工作難題&#xff0c;相信從事電商或者是設計等工作的小伙伴們&#xff0c;遇到最多的問題應該就是給圖片添加水印了。為什么要給圖片加水印&#xff1f;其實給圖片加水印最主要的目的是保護我們的圖…

刷題——二叉樹的中序遍歷

雙指針法 void midorder(vector<int>&res, TreeNode* root){if(root NULL) return;midorder(res, root->left);res.push_back(root->val);midorder(res, root->right);}vector<int> inorderTraversal(TreeNode* root) {// write code herevector<…