開發者使用AI的五種創意方式
我們與開發人員進行了交流,了解他們對 AI 的創造性使用方式,包括 PR 審查、創建學習路徑和生成數據模型。
譯自5 Creative Ways Developers Are Using AI,作者 Jeff James。
隨著 AI 在科技領域的廣泛應用,以及隨之而來的人工智能驅動的編碼平臺、工具和服務的數量不斷增加,開發者們正在努力尋找最佳方式利用 AI 來幫助他們完成編程任務和目標,利用 AI 來提高效率,同時處理一些更繁重和耗時的編程任務。
為此,我與幾位開發者進行了交談,了解他們使用 AI 的一些創意方式。雖然許多人使用GitHub Copilot、Claude 3 Opus、Pieces for Developers和Codeium等工具來幫助生成代碼和自動化任務,但開發者們一直在探索 AI 可以幫助他們提高效率的其他方式。
1. 代碼測試和 PR 審查
“我知道有人使用 AI 來編寫他們編寫的代碼的單元測試,”資深軟件工程師兼Audiofeed聯合創始人 Shane Thomas 說。“這為他們節省了大量時間,不必一遍又一遍地編寫相同類型的測試。他們仍然需要驗證結果,但他們似乎從中獲得了良好的結果。”
雖然使用 AI 進行單元測試有其優勢,但其他專家(如Tia的技術主管Swizec Teller)建議謹慎依賴 AI 進行測試。在X 上發布的筆記中,Teller 建議開發者在某些情況下使用 AI 進行測試,例如使用 AI 生成大量“多樣化的生產級輸入”。
開發者們還使用 AI 來模擬代碼審查,這可以幫助開發者為與人類同事的審查做好準備。“我知道有人使用 AI 作為其團隊成員拉取請求審查的第一步,”Thomas 說。“他告訴我,他收到了其他工程師關于他的 PR 審查的全面性的評論……但他的許多筆記最初是由 AI 標記的。”
2. 學習路徑
教育和學習是開發者將 AI 用于好處的另一個領域。
“Bekah Hawrot Weigel,OpenSauced的技術 AI 倡導者說:“我一直使用 ChatGPT 為我創建學習路徑,以便我能夠更深入地了解提示。我給了它關于我們每天應該做什么的指示,并要求它想出一個我們可以討論的活動。”
3. 自動化重復性任務
開發者使用 AI 的另一種創意方式是自動化一些最繁重和耗時的開發任務,例如通過分析復雜的代碼來幫助進行代碼維護和跟蹤難以捉摸的錯誤。在最近發表在 The New Stack 上的一篇文章中,Tabnine的首席技術官兼聯合創始人Eran Yahav建議 AI 將有助于消除一些枯燥乏味的工作。
Yahav 寫道:“AI 編碼工具自動化了如此多的任務,開發者可能會發現他們獲得的一些技能將不再需要。但這沒關系,因為許多技能都涉及開發者樂于放棄的枯燥乏味的工作。”
4. 面向程序員的 AI 驅動的搜索
雖然所有開發者都依賴搜索和 AI 工具來幫助他們解決代碼問題,但有些人一直在使用新的 AI 驅動的工具來幫助找到人類專業知識。
Weigel 說:“我在這里有偏見,因為我在 OpenSauced 工作,但我們創建了一個名為StarSearch的工具,它允許你通過索引各種形式的開發者活動(包括 git 歷史記錄)來找到開源領域的‘明星’。例如,你可以要求它幫助你找到既了解 Rust 又了解 Tailwind 的開發者。這是一個很好的例子,說明 AI 如何能夠超越代碼補全,并提供對開源的更深入見解,從而增強開發者發現和協作。”
5. 生成文檔和數據模型
“Pieces for Developers的首席技術官兼創始工程師Mark Widman說:“我經常使用的一些非常棒的 [例子] 是 [使用 AI 來] 編寫單元測試、文檔,以及幫助進行數據模型和名稱生成。”
The New Stack 撰稿人 Jon Udell 也撰寫了有關使用人工智能改善文檔的文章,并且詳細介紹了他使用 Unblocked 等由 LLM 支持的工具來增強代碼文檔的創建和維護的經驗。
“從頭開始編寫文檔和從頭開始編寫代碼一樣罕見。您通常會更新、擴展或重構現有文檔。”Udell 寫道。“我的期望是,一個包含代碼和文檔的 LLM 支持的工具可以提供有力的幫助,而 Unblocked 做到了。”
注意事項與顧慮
雖然 Widman 總的來說(特別是 OpenAI API)樂于見到 OpenAI 取得的全部進展——特別是后者如何更貼合開發者工作流——但他警告說要讓迄今為止所做工作變得更好,還有很多工作要做。“我相信,他們在數據隱私、額外操作系統支持[和減少大型]延遲成本等方面仍然有很長的路要走。”
我已經稍微涉及了人工智能供應商尚未在數據隱私方面進行的工作——請參見我上一篇專注于 AI 驅動的開發工具的文章中的“缺點和警告”部分——但在考慮將 AI 用于創意用途時,開發者還應關注其他問題。一種危險是對 AI 過度依賴以完成過多任務,這可能導致代碼質量降低,而開發人員在沒有 AI 幫助的情況下無法執行開發任務。
2023 年,GitClear 發表了一項研究,表明 AI 輔助開發對“代碼質量施加了‘向下壓力’”,對“可維護性造成了‘令人不安的趨勢’”,并強調了“... 創作者在撰寫后的兩周內被還原或更新的 [代碼] 行數百分比預計與 2021 年人工智能前基線相比,2024 年將翻一番。”
人工智能輔助編程:最好的還在后頭嗎?
盡管存在一些警告和潛在缺點,但技術的不可阻擋的進步意味著未來還將有更多的人工智能驅動的發展,程序員可以期待并根據自己的定制需求進行創造性改編。Rainstorm Technologies 所有者、經驗豐富的軟件開發人員克里斯蒂安·蘭斯特倫指出了 GitHub Copilot Workspace 等即將推出的工具如何將開發人員的生產力提升到新的高度。“
它尚未向公眾開放,但我對 Copilot Workspace 非常感興趣,”蘭斯特倫說。“我已被列入候補名單,我很高興看到它將如何加速我的工作。”
Ranstrom 表示:“它尚未向公眾開放,但對于 Co-pilot Workspace 我非常期待。“我在等待名單上,并很高興看到它將如何加快我的速度。”
Widman 鼓勵開發人員檢查人工智能在軟件開發以外的其他方式中的使用方式以獲得靈感,然后針對開發人員對這些示例進行調整和應用。他還認為,由于人工智能研究人員和開發人員的開創性工作,將會出現更多富有創意的用例。
“我堅守的最重要的事情之一就是,我們建立在巨人的肩膀上,因此看看目前有哪些可用并且應用于你的領域來幫助改善流程、節省時間[和]金錢以及更多驚人的事情,并沒有什么壞處!”