偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何讓團隊真正接受 AI 編程助手

開發(fā) 人工智能
你的團隊是否開通了AI編程助手卻面臨使用率低的問題?除了常規(guī)的知識分享,還有哪些方法能有效提升使用率?本文將分享我們團隊在啟用GitHub Copilot后的實踐經(jīng)驗與解決方案。

你的團隊是否開通了AI編程助手卻面臨使用率低的問題?除了常規(guī)的知識分享,還有哪些方法能有效提升使用率?本文將分享我們團隊在啟用GitHub Copilot后的實踐經(jīng)驗與解決方案。

一、為什么要提高AI編程助手的使用率?

在討論“如何提高”之前,我們得先想清楚“為什么要提高”。

我個人認(rèn)為這是基于一個核心假設(shè):使用AI編程助手可以提升開發(fā)效率,且使用的越多,效率提升越顯著。讓我們暫且相信這個假設(shè)是成立的,并通過實踐來驗證它。

那么,我們能強制要求團隊成員在所有開發(fā)工作中都用AI編程助手生成代碼嗎?在假設(shè)未被充分證明之前,這樣做風(fēng)險極大:萬一它不能提高開發(fā)效率怎么辦?萬一它并不是“用的越多,效率提高就越多”又怎么辦?正如我在《如何處理未知問題?》[1]中所討論的,處理這類情況的關(guān)鍵在于減少潛在損失,最好的方式是賦予開發(fā)人員自主權(quán)——讓他們自行決定何時、在何種場景下使用AI編程助手。

在開發(fā)人員可以自由決定是否使用AI編程助手的情況下,使用率會自然提升嗎?從我所在的團隊使用GitHub Copilot三個月后的情況看,開發(fā)人員主要在以下場景中頻繁使用:

  • 代碼理解
  • 方案分析
  • 函數(shù)級代碼重構(gòu)
  • 函數(shù)級算法實現(xiàn)
  • 單元測試生成

而在這些場景下中則很少用:

  • 行級代碼修改
  • 能用IDE快捷鍵完成的修改
  • Bug修復(fù)
  • 復(fù)雜任務(wù)的實現(xiàn)(特別是跨文件或跨模塊的)

如果沒有外部干預(yù),團隊的使用模式會趨于穩(wěn)定。若要進一步提升開發(fā)效率,關(guān)鍵在于提高 AI 編程助手在復(fù)雜任務(wù)中的使用率。那么,如何實現(xiàn)這一目標(biāo)?接下來我們將展開討論。

二、AI編程助手的使用率模型

AI編程助手類似于自動化編程工具,能夠自動執(zhí)行開發(fā)人員指定的任務(wù)。在人機交互領(lǐng)域,關(guān)于自動化工具的研究有很多,而《Trust, self-confidence, and operators' adaptation to automation》[2]中的模型尤其適合解釋AI編程助手的使用率:

我們將使用率(Usage Rate)定義為開發(fā)人員使用AI編程助手的時間占總開發(fā)時間的比例。根據(jù)模型,影響使用率的因素包括以下四個:

  • 信任(Trust):開發(fā)人員對AI編程助手的信任程度,可通過主觀評分(1-10分)衡量。
  • 自信(Self Confidence):開發(fā)人員對自己能力的信任程度,同樣以1-10分的主觀評分衡量。
  • 偏見(b):開發(fā)人員對AI編程助手的負面傾向,主要受歷史經(jīng)驗和環(huán)境的影響。 b值越大,使用意愿越低。
  • 慣性系數(shù)(s):開發(fā)人員維持現(xiàn)有工作習(xí)慣的傾向強度。s值越大,越難改變當(dāng)前開發(fā)習(xí)慣。

需要注意的是,AI編程助手是通用工具,而非單一功能工具,其模型參數(shù)(Trust、Self Confidence、b、 s)會因任務(wù)類型而異。例如:

  • 開發(fā)人員相信AI 編程助手可以高效的生成代碼塊,但未必相信它能高效的修復(fù)線上Bug。
  • 開發(fā)人員對自己實現(xiàn)新功能有信心,但不代表他對架構(gòu)重構(gòu)有同樣的自信。
  • 開發(fā)人員在個人項目中敢于大膽嘗試 AI 編程助手,但在商業(yè)項目中會因為風(fēng)險而更加保守。
  • 隨著信任程度的提升,代碼塊生成的使用率增長會快于簡單重構(gòu)(可以用快捷鍵完成的重構(gòu))。

1. 如何提高AI編程助手的使用率?

根據(jù)模型,我們可以采取以下措施來提高使用率:

(1) 消除偏見( b )

  • 增強使用動機:將AI編程助手的使用納入能力評估,鼓勵探索、分享成功案例和最佳實踐,解決團隊痛點。  
  • 認(rèn)可使用成本:AI編程助手需要投入時間編寫提示詞、審查代碼和試錯,甚至可能無回報。若不認(rèn)可這些成本,開發(fā)人員會因顧慮而減少使用。  
  • 加強信息共享:通過共享成功與失敗經(jīng)驗,總結(jié)有效實踐并推廣,以減少偏見,提高使用率。

(2) 校準(zhǔn)主觀感受( Trust,Self Confidence )

開發(fā)人員對AI編程助手的信任程度(Trust)和自身能力的自信程度(Self Confidence)是影響使用率的主要因素。這兩者均為主觀感受,需要通過提供足夠的信息來校準(zhǔn):

  • 展示AI編程助手的實際開發(fā)效率。
  • 對比開發(fā)人員自身與AI編程助手的效率差異。

(3) 提升信任程度( Trust )

在人機交互領(lǐng)域,信任已從人與人之間擴展到人對自動化工具的信任。具體如何提升信任程度,我們將在下一節(jié)詳細討論。

三、AI編程助手的信任模型

關(guān)于信任,有各種各樣的模型來描述它的組成部分。有的將其描述為能力、誠信、一致性、忠誠和開放性[3]。有的將其描述為可信度、可靠度、親密度和自我導(dǎo)向[4]。還有的將其描述為能力、仁慈和誠信[5]。

這里我采用了更適合自動化工具的信任模型,源自論文《Trust in Automation: Designing for Appropriate Reliance》[6]。該模型將信任的組成部分定義為任務(wù)表現(xiàn)(Performance)、任務(wù)過程(Process)和設(shè)計意圖(Purpose):

其中:

(1) 任務(wù)表現(xiàn)( Performance ):AI編程助手當(dāng)前和歷史的表現(xiàn)情況,包括穩(wěn)定性、可預(yù)測性和能力等特征。它主要在具體的任務(wù)和使用場景中進行體現(xiàn)。例如:

  • 是否熟悉開發(fā)人員所在的領(lǐng)域
  • 是否熟悉開發(fā)人員的任務(wù)上下文
  • 是否可以理解開發(fā)人員指定的任務(wù)
  • 是否可以在預(yù)期的時間內(nèi)完成任務(wù)
  • 是否可以保證任務(wù)完成的質(zhì)量
  • 是否可以多次使用時穩(wěn)定的完成任務(wù)

(2) 任務(wù)過程( Process ):AI編程助手完成任務(wù)的方式,包括可靠性、開放性,一致性和可理解性等特征。它主要在行為方式中進行體現(xiàn)。例如:

  • 是否會針對開發(fā)人員的任務(wù)提出好問題
  • 是否可以在實現(xiàn)之前給出詳細計劃
  • 是否可以保證實現(xiàn)和計劃描述的一樣
  • 是否可以按照開發(fā)人員的最佳實踐來完成任務(wù)
  • 是否遵守開發(fā)人員的指令
  • 是否尊重開發(fā)人員的反饋
  • 是否允許開發(fā)人員隨時打斷
  • 是否有完善的權(quán)限控制機制
  • 是否可以方便的退出和恢復(fù)環(huán)境

(3) 設(shè)計意圖( Purpose ):AI編程助手的設(shè)計意圖和開發(fā)人員目標(biāo)的一致程度。例如:

  • 是否存在幻覺
  • 是否可以保證數(shù)據(jù)安全
  • 是否可以保證合法合規(guī)
  • 是否存在惡意操作
  • 是否存在故意欺騙
  • 是否尊重開發(fā)人員的目標(biāo)

四、AI編程助手的信任提升模型

在討論信任提升模型之前,我們需要先根據(jù)SRK行為模型(Skill-Rule-Knowledge Behavioral Model)[7]對AI編程助手的潛在錯誤行為進行分類,從而有針對性地分析影響信任的行為。

1. 錯誤行為的分類[8]

根據(jù)SRK行為模型,我們可以將AI編程助手的錯誤行為歸為以下三類:

  • 失誤(Skill-based Slips):行為本身是正確的,但在執(zhí)行的時候出錯了。例如,生成錯誤的依賴安裝命令,讀取命令行輸出失敗等。
  • 規(guī)則錯誤(Rule-based Mistakes):行為本身是錯誤的,原因是遵循了錯誤的規(guī)則。例如,未遵循TDD 原則,導(dǎo)致先寫代碼后寫測試;未拆分邏輯,導(dǎo)致模塊臃腫等。
  • 知識錯誤(Knowledge-based Mistakes):行為本身是錯誤的,原因是缺乏相關(guān)規(guī)則或知識。例如,未學(xué)習(xí)最新語言特性,生成過時代碼;誤解專業(yè)術(shù)語,生成錯誤邏輯等。

2. 信任提升模型

為了提升對AI編程助手的信任程度,我們需要采取以下措施:

  • 建立賦能團隊:建立一個專門的團隊來推動和協(xié)調(diào)整個過程。
  • 效能可視化:將AI編程助手與開發(fā)人員的表現(xiàn)進行可視化,以便校準(zhǔn)我們對AI編程助手的信任程度以及我們的自信水平。
  • 搭建知識分享平臺:建立一個全面的知識分享平臺,讓每個人都能及時了解公司的AI戰(zhàn)略、成功或失敗的案例研究、AI編程助手的使用方法及其內(nèi)部工作原理等信息。

基于以上措施,我們將采用試錯法(Trial-and-Error)[9]來不斷迭代改善AI編程助手的行為。在這個過程中,我們要持續(xù)進行試驗并收集失敗的案例,識別導(dǎo)致低信任度的行為,并進行相應(yīng)的改進。

對于識別出的低信任度的行為,我們需要根據(jù)信任模型對其進行分析,找出造成低信任度的原因,并針對這些不同層面的問題,采取不同的分析和改進策略:

(1) 設(shè)計意圖(Purpose)問題:如模型幻覺度高,數(shù)據(jù)泄露等。

需要從公司層面進行分析,因為它涉及到 AI 編程助手的采購決策。例如,幻覺度高可能是由于合同中沒有啟用高級模型;數(shù)據(jù)泄露是因為缺乏完善的數(shù)據(jù)保護機制。公司應(yīng)根據(jù)分析結(jié)果決定是否更新合同或選擇其他 AI 編程助手,以確保其設(shè)計意圖與我們的目標(biāo)一致。這類問題的改進對我們增加對 AI 編程助手的信任程度影響最大。

(2) 任務(wù)過程(Process)問題:如沒有按TDD實現(xiàn)需求,缺乏規(guī)劃等。

需要在團隊層面結(jié)合錯誤行為分類進行分析,因為每個團隊的實踐不同,任務(wù)過程也各異。例如,未按 TDD 實現(xiàn)需求可能是 AI 選擇了傳統(tǒng)方式;直接生成代碼而無解釋可能是為了更快完成任務(wù)。團隊?wèi)?yīng)根據(jù)分析結(jié)果為 AI 編程助手補充缺失的技能、規(guī)則或知識以優(yōu)化任務(wù)過程。這類問題的改進對我們增加對 AI 編程助手的信任程度有中等影響。

(3) 任務(wù)表現(xiàn)(Performance)問題:如無法讀取命令行輸出內(nèi)容,安裝過時依賴等。

需要在開發(fā)人員層面結(jié)合錯誤行為分類進行分析,因為每個開發(fā)人員面對的任務(wù)不同。例如,使用錯誤框架可能是不了解當(dāng)前項目的技術(shù)棧;無法讀取命令行輸出內(nèi)容可能是命令行的集成有問題;生成巨大類可能是沒有遵守開閉原則。開發(fā)人員應(yīng)根據(jù)分析結(jié)果為 AI 編程助手補充必要的技能、規(guī)則或知識以提高任務(wù)表現(xiàn)。這類問題的改進對我們增加對 AI 編程助手的信任程度影響最小。

通過上述層次分明的分析和改進策略,我們可以系統(tǒng)地提升對AI編程助手的信任程度,并使其更好地服務(wù)于我們的目標(biāo)。

五、信任提升模型在GitHub Copilot中的應(yīng)用

1. 系統(tǒng)指令模板

基于信任提升模型,我們從知識、規(guī)則和技能三個維度優(yōu)化 GitHub Copilot 的行為,設(shè)計以下系統(tǒng)指令模板:

Knowledge用于修正知識錯誤,補充缺失的信息。例如,系統(tǒng)架構(gòu)、代碼規(guī)范、技術(shù)棧等信息。

Rules用于修正規(guī)則錯誤,明確適用的開發(fā)規(guī)則。例如,問題界定、先制定方案后實現(xiàn)、遵循TDD原則等。

Skills用于減少執(zhí)行失誤,強化關(guān)鍵開發(fā)技能。例如,問題界定能力、方案制定能力、TDD實踐能力等。

文末查看完整模板[10]。

2. 團隊協(xié)作

該模板由團隊AI負責(zé)人維護,確保GitHub Copilot的開發(fā)符合團隊最佳實踐,包括問題界定、規(guī)劃、TDD、測試等環(huán)節(jié)。模板上傳至代碼庫后,團隊成員使用GitHub Copilot時將遵循這些實踐,雖不能保證任務(wù)全部成功,但能提高成功率。失敗任務(wù)需分析原因,補充缺失的知識、規(guī)則或技能到模板中,逐步形成代碼庫獨有的系統(tǒng)指令。

AI負責(zé)人需熟悉各代碼庫的系統(tǒng)指令,提取常用的知識、規(guī)則和技能并更新到模板中。通過這一過程,團隊對 GitHub Copilot的信任程度和使用率將逐步提升。

六、總結(jié)

AI編程助手就像是一個新員工,盡管它可能具備強大的能力,但我們?nèi)孕枰獙ζ溥M行重新培訓(xùn),使其符合我們的價值觀,遵守我們的最佳實踐,并掌握我們所需要的技能。只有在我們充分信任它時,才有可能將重要的任務(wù)交給它完成。

責(zé)任編輯:趙寧寧 來源: Thoughtworks洞見
相關(guān)推薦

2025-06-23 07:12:00

AI代碼助手AI模型人工智能

2025-09-09 01:11:00

2024-08-12 08:41:40

2025-09-11 04:00:00

AIMarkItDownMCP

2025-03-17 00:00:00

ManusAIOllama

2019-01-03 19:56:26

探境

2025-05-23 10:41:00

2022-09-01 15:47:47

編程工具AI

2025-04-14 02:22:00

微軟AI編程助手人工智能

2018-07-10 15:32:18

iOS 12Siri語音助手

2023-12-21 00:48:26

2024-07-31 15:50:38

2025-03-28 07:33:09

數(shù)據(jù)庫AI助手設(shè)計

2024-02-27 08:00:00

人工智能AI編程助手開發(fā)

2025-09-18 09:14:29

2024-02-26 00:00:00

AI編程助手Copilot

2020-03-27 13:33:21

阿里安全AIAI模型

2016-12-14 14:09:56

華為軟件DevOps

2021-03-04 08:01:30

HTML5整數(shù)HTML

2025-01-14 13:04:08

點贊
收藏

51CTO技術(shù)棧公眾號