天天看點

開發者使用AI的5種創意方式

作者:雲雲衆生s
開發者使用AI的5種創意方式

我們與開發人員進行了交流,了解他們對 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 如何能夠超越代碼補全,并提供對開源的更深入見解,進而增強開發者發現和協作。”

“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 鼓勵開發人員檢查人工智能在軟體開發以外的其他方式中的使用方式以獲得靈感,然後針對開發人員對這些示例進行調整和應用。他還認為,由于人工智能研究人員和開發人員的開創性工作,将會出現更多富有創意的用例。

“我堅守的最重要的事情之一就是,我們建立在巨人的肩膀上,是以看看目前有哪些可用并且應用于你的領域來幫助改善流程、節省時間[和]金錢以及更多驚人的事情,并沒有什麼壞處!”

繼續閱讀