我前段時(shí)間在學(xué)習(xí)交流群內(nèi)答應(yīng)一朋友蛔垢,寫一篇新形勢(shì)下AI編程學(xué)習(xí)分享泵额,結(jié)果一周來工作很忙,難得周末偷得半日閑谆趾,剛好拿來寫個(gè)分享躁愿。
我曾經(jīng)認(rèn)為編程是門深不可測(cè)的技術(shù)。大學(xué)時(shí)便是學(xué)地理信息系統(tǒng)沪蓬,受限于當(dāng)時(shí)的網(wǎng)絡(luò)技術(shù)彤钟,教程資源沒有現(xiàn)在這么豐富,當(dāng)然這是拿得出手的借口跷叉。真實(shí)原因是當(dāng)年受不了精彩紛呈的游戲誘惑逸雹,跟著老師敲兩年代碼后,我一打開電腦性芬,便會(huì)投入到戰(zhàn)火紛飛的CS戰(zhàn)場(chǎng)峡眶,或者精彩刺激的足球場(chǎng),亦或是魔幻的崔斯特凡姆植锉”栌#總之,就是不會(huì)再去調(diào)代碼俊庇,看到那黑乎乎的窗口狮暑,就覺得心煩,最終自己放棄辉饱,選擇制圖方向搬男,匆忙畢業(yè)。以為從此與編程無緣彭沼。
一晃畢業(yè)多年缔逛,不曾想在三十五歲那年又重拾編程手藝。那時(shí)因?yàn)榫唧w負(fù)責(zé)數(shù)據(jù)處理項(xiàng)目,一開始全部純手工操作褐奴,在數(shù)據(jù)處理圈內(nèi)按脚,純手工可不像美食圈或者工藝品圈,在那個(gè)圈子敦冬,純手工意味著落后辅搬,沒有效益。作為具體負(fù)責(zé)人脖旱,本著認(rèn)真負(fù)責(zé)的態(tài)度堪遂,開始琢磨自動(dòng)化方法,一同事向我介紹了python萌庆。python作為解釋型語言溶褪,上手確實(shí)比較容易,連學(xué)一周之后踊兜,便寫出幾個(gè)批處理小工具竿滨,嘗到編程甜頭佳恬。從此以后捏境,我便在網(wǎng)上瘋狂刷教程,偶然一天在某乎上刷到一句話毁葱,讓我迎來編程第一個(gè)小高峰垫言。
“官方定義程序就是數(shù)據(jù)加算法,程序員需要寫出算法來處理數(shù)據(jù)倾剿。而國內(nèi)95%以上的程序員不是這個(gè)定義筷频,而是數(shù)據(jù)加某度,調(diào)用API前痘×菽螅”一句話驚醒夢(mèng)中人,天南地北分飛燕芹缔,圈內(nèi)盡是調(diào)包客坯癣。于是,我遇到問題最欠,便在網(wǎng)上搜索示罗,期間結(jié)識(shí)數(shù)據(jù)處理最好的包——pandas,說它是數(shù)據(jù)處理最好的包芝硬,一點(diǎn)都不夸張蚜点。免費(fèi)開源共享,關(guān)鍵是好用拌阴,像用excel一樣簡(jiǎn)單便捷绍绘,據(jù)說全球有800多名志愿者在維護(hù)這個(gè)包,python獨(dú)有,就連王者Java都沒有這樣好用的包陪拘。某度加數(shù)據(jù)階段实辑,我陸續(xù)開發(fā)了很多工具,極大提升工作效率藻丢,讓我可以一邊摸魚剪撬,一邊被表揚(yáng)。這個(gè)階段相對(duì)最開始理解悠反,有很大進(jìn)步残黑,但是還存在很多問題,網(wǎng)友們給的代碼斋否,往往和自己的數(shù)據(jù)格式不能做到完全吻合梨水,想要盡量精準(zhǔn)描述數(shù)據(jù)后,再某度茵臭,往往又難以獲取到精確答案疫诽,調(diào)試過程還是比較繁瑣。漸漸形成一些小工具集之后旦委,我便又開始半躺平奇徒,期間偶爾試著去做下web開發(fā),感覺還是不太適合缨硝,倒是學(xué)會(huì)一些運(yùn)維部署工具摩钙。直到今年加入七年老師的訓(xùn)練營,一次偶然機(jī)會(huì)查辩,讓我迎來編程又一次革命胖笛,對(duì)絕大多數(shù)調(diào)包客程序員來說,應(yīng)該也是一次革命宜岛,相信能夠迎來一個(gè)新的高峰长踊。
一日,一同事滿面愁容萍倡,向我請(qǐng)求幫忙解決一個(gè)問題身弊,他是用一商業(yè)軟件,遇到一嚴(yán)重BUG遣铝,計(jì)算出的圖幅號(hào)有重復(fù)佑刷,沒有辦法使用,而業(yè)主單位又追得緊酿炸,問我能不能想辦法解決下瘫絮。聽到他這個(gè)請(qǐng)求,我心里有點(diǎn)猶豫填硕,因?yàn)橹拔易鲞^一個(gè)工具麦萤,但存在缺陷鹿鳖,那個(gè)缺陷恰恰是他現(xiàn)在需要用到的大比例尺部分。同事看我眉頭緊鎖壮莹,他臉上表情更加難看翅帜,如果我拒絕他的話,估計(jì)他很難短時(shí)間內(nèi)找到解決辦法命满。我和他平日里關(guān)系還不錯(cuò)涝滴,也不忍心直接讓他失望,便答應(yīng)他試試看胶台,兩天之內(nèi)給他答復(fù)歼疮。
事情答應(yīng)下來了,卻并不好做诈唬。當(dāng)年我便是通過某度檢索韩脏,自己加工處理形成的工具,我花了半天時(shí)間铸磅,繼續(xù)某度赡矢,看看能不能有新發(fā)現(xiàn),結(jié)果很失望阅仔。我想要放棄吹散,不想再去翻規(guī)范上的公式,把公式搬到程序里霎槐,太費(fèi)勁送浊,我沒有十足的把握。我想要放棄丘跌,想著拖一拖下午給同事說一聲,讓他另想辦法唁桩。
吃過午飯闭树,我半躺在辦公椅里,刷手機(jī)荒澡,忽然看到學(xué)習(xí)交流群里报辱,有人提了一句,可以用ChatGPT編程单山。我馬上來了精神碍现,顧不得午休,馬上打開ChatGPT米奸,輸入對(duì)話昼接,按照七年老師教的套路,一定要注意是對(duì)話悴晰,不是一錘子問題慢睡。
我先問你知道python嗎逐工?答曰:知道。你知道國家某某規(guī)范嗎漂辐?答曰:知道泪喊。問完這兩個(gè)前置問題,我開始給它定位髓涯,說:你是一位優(yōu)秀的Python程序員袒啼,請(qǐng)幫我寫一段程序,實(shí)現(xiàn)以下功能纬纪×隼幔基于某某規(guī)范,根據(jù)輸入內(nèi)容育八,實(shí)現(xiàn)圖幅號(hào)計(jì)算对途。答曰:謝謝夸獎(jiǎng),我會(huì)盡力幫你完成髓棋。答完之后实檀,屏幕上開始刷刷出現(xiàn)代碼。代碼寫完之后按声,我略微一看膳犹,目瞪口呆,這以后寫小工具的沒飯吃了签则,代碼及其規(guī)范须床,包括導(dǎo)入包、注釋渐裂、封裝非常標(biāo)準(zhǔn)豺旬。我下載下來,拷貝到IDE中柒凉,居然直接就可以運(yùn)行族阅。我把其中大比例尺部分代碼稍作調(diào)整,嵌入到我原來的程序中膝捞,然后對(duì)著規(guī)范上給出得示例進(jìn)行驗(yàn)證旅东,完美無誤季希。我趕緊把同事喊來我衬,讓他將范圍線發(fā)過來谚中。十多分鐘時(shí)間,完成將近兩萬幅圖紙計(jì)算林艘,與商業(yè)軟件結(jié)果做下對(duì)比盖奈,我的程序完全沒有重復(fù),結(jié)果正確北启。
自此以后卜朗,一段時(shí)間以來拔第,我沉迷于聊天編程之中。改進(jìn)了很多以往的小工具场钉,期間有些也不能一次性完美運(yùn)行蚊俺,也會(huì)報(bào)錯(cuò)。我將懶人精神發(fā)揮到極致逛万,將報(bào)錯(cuò)提示再發(fā)給機(jī)器人泳猬,讓他自己調(diào)試,往往他也能調(diào)試正確宇植。
說到數(shù)據(jù)處理的程序開發(fā)得封,特別是很多人需要做自動(dòng)化做報(bào)表,讓機(jī)器人知道原始數(shù)據(jù)格式和想要的結(jié)果很關(guān)鍵指郁。偏偏機(jī)器人又不支持文檔或者數(shù)據(jù)上傳忙上,在此過程中我想出一種方法,就是給它舉例子闲坎,它完全可以聽懂疫粥。最常用的便是告訴它,處理一個(gè)excel表格數(shù)據(jù)腰懂,根據(jù)A列數(shù)值梗逮,給B列設(shè)置不同的下拉列表選型,例如A列值為條件一绣溜,則B列下拉列表選項(xiàng)為選項(xiàng)一慷彤、選型二、選項(xiàng)三怖喻,A列值為條件二底哗,則B列下拉列表選項(xiàng)為選項(xiàng)三、選項(xiàng)四罢防、選項(xiàng)五艘虎。以此類推。它會(huì)根據(jù)你給的例子寫出代碼咒吐,直接替換條件及選項(xiàng)即可。我非常驚嘆于機(jī)器人的能力水平属划,之前好像有人說過它的能力水平約相當(dāng)于九歲孩子恬叹,現(xiàn)在我完全不認(rèn)同了。然而這還不是最高境界同眯,讓我最為驚嘆的還在后面绽昼。
一日,閑來無事须蜗,問機(jī)器人硅确,推薦幾個(gè)自動(dòng)編程工具目溉。刷刷出來一堆,排第一個(gè)的便是copilot菱农,點(diǎn)開詳情了解下缭付,微軟聯(lián)合GitHUB共同推出。心下大喜循未,趕緊登錄網(wǎng)站陷猫,準(zhǔn)備是用這個(gè)插件,不料確實(shí)收費(fèi)版的妖,收得還是美金绣檬,這明顯不符合我的要求,嚴(yán)重違背開源精神嫂粟。于是娇未,我果斷棄之不用。
繼續(xù)找機(jī)器人問替代品星虹,要求好用免費(fèi)零抬。眾里尋他千百度,得來全不費(fèi)工夫搁凸。在此媚值,鄭重推薦codeium,集成到vscode护糖,支持中文提問褥芒,支持讀取本地文件。我現(xiàn)在測(cè)試可以完美讀取當(dāng)前工程下py文件嫡良,后續(xù)試下表格锰扶,不過既然有了py,在py里面寫一段讀取表格的程序寝受,然后讓機(jī)器人完成后續(xù)工作坷牛,想來也不難。試著用codeium做了幾個(gè)數(shù)據(jù)處理程序很澄,它不僅會(huì)寫出程序京闰,還會(huì)告訴你需要安裝什么包,具體版本等信息甩苛。
對(duì)于codeium蹂楣,我只想說完美,值得擁有讯蒲。想想最開始學(xué)代碼時(shí)痊土,能用kite做個(gè)代碼智能補(bǔ)全,文檔自動(dòng)提示都興奮不已墨林,現(xiàn)在對(duì)比看來赁酝,真是弱爆了犯祠。kite可以下崗了。
積極擁抱AI技術(shù)酌呆,提升職場(chǎng)競(jìng)爭(zhēng)力『庠兀現(xiàn)實(shí)很殘酷,同樣的工作肪笋,不用AI月劈,用AI形成兩種結(jié)果,正如兩根金條藤乙,或許用AI的那根還要更大些猜揪,假使這兩根金條同時(shí)擺在老板面前,他能說哪根是高貴的坛梁,哪根是卑微的嗎而姐?或許老板只會(huì)認(rèn)更大的那一根。所以你不用AI划咐,用AI的人就要淘汰你拴念。