通義靈碼實踐教程——效能實踐
點擊此處,立即下載通義靈碼!https://tongyi.aliyun.com/lingma/
應該如何衡量AI輔助編程帶來的收益
本文主要介紹了如何度量研發效能,以及AI輔助編程是如何影響效能的,進而闡述如何衡量AI輔助編程帶來的收益。
理解度量:有效區分度量指標
為了幫助研發團隊更好地理解和度量研發效能,可以將指標分為三類:能力和行為指標、交付效能指標和業務結果指標。該分類有助于從不同維度評估和改進研發工作。

- 能力和行為指標:反映團隊的實際工作方式和能力,影響交付效率,可以被改進。例如,單元測試覆蓋率、代碼掃描問題數、持續集成頻次、圈復雜度、解耦度(Decoupling Level)等因素。
- 交付效能指標:反映技術團隊的效率,與業務結果有一定相關性,但不直接影響業務結果。例如,速度、吞吐量和質量等因素。
- 業務結果指標:反映真實的經營情況,直接與公司的收入、規模和成本等相關,可以直接用于績效考核。例如,營收GAAP、毛利、凈利、成本及月活躍用戶等數據均可作為業務結果指標。
什么是研發效能,如何度量?
研發效能是指軟件研發團隊持續、快速、高質量交付有效價值的能力。具體來說,包括以下幾個方面:
- 做正確事情的能力:即交付有效價值。
- 正確地做事的能力:即持續性、速度和質量三個方面,其中質量是對速度的約束條件,持續性是對速度和質量的一貫性要求。
研發效率的度量
有效的度量能夠引導正確的改進行為,決定后續的改進行動。團隊的職責范圍決定了采用什么樣的指標。通常對于技術團隊會從以下幾個方面進行衡量:
- 效率:速度(流動效率,單個工作項的流速)和吞吐量(資源效率,單位時間內完成的工作項數量)。
- 質量:交付質量,即交付物離開團隊之后的質量。
- 員工幸福感:員工幸福感是一個主觀性調研指標,與持續性有正相關。
AI輔助編程是如何影響研發效能的?
AI輔助編程以AI為技術手段,提升編程效率,反映的編碼的能力和行為。具體可以從以下幾個方面衡量:
- 編碼效率:開發者的編碼時間占比 × AI生成代碼占比 = 節省的開發時間比例。例如,員工有30%的時間花在編碼上,AI生成了40%的代碼,則可以理解為節省了12%的開發時間。
- 代碼的缺陷密度:代碼的缺陷密度是一個滯后指標,反映代碼質量,如千行代碼缺陷量。
- 員工編程體驗的滿意度:員工編程體驗的滿意度是一個主觀指標,反映工具對于員工編程工作的幫助,如工具的易用性和實際工具的使用效果。
編碼效率提升
在軟件研發過程中,編碼效率是影響研發效率的重要因素。除編碼效率外,還有許多其他因素對整體研發效率產生影響,主要包括需求質量、協作流程、測試自動化及持續集成/持續交付(CI/CD)的工程能力等。這些因素可歸納為兩個方面:個體效率(單點改進)和協作效率(流程改進)。從問題改進的角度來看,可以總結為四個方面:阻塞、返工、負債和失能。
編碼時間占比與AI生成代碼占比
開發者的編碼時間占比 × AI生成代碼占比 = 節省的開發時間比例。例如,員工有30%的時間花在編碼上,AI生成了40%的代碼,則節省了12%的開發時間。

數據來源顯示,受訪者花費不到三分之一的時間編寫新代碼或改進現有代碼(32%),35% 的時間用于管理代碼(包括代碼維護 19%、測試 12% 和響應安全問題 4%),另有 23% 的時間用于會議和管理運營任務
綜合開發行為的提升
程序員在開發階段不僅寫代碼,還包括調試、測試、信息檢索等工作。因此,在每項工作中是否有提升點,以及提升了多少,可以形成如下的計算公式:

這里設定一個假設基線,即在沒有 AI 工具的情況下,單位工作量的成本是多少。該基線一般在企業內有相關統計數據,如果沒有,則可以參考行業統計數據。此外,還需考慮在每個開發行為中,AI提升效率的同時是否會產生額外成本,例如接受代碼后仍需進行修改,這可能會影響手工基線的準確性。
無論選擇選項一還是選項二,其背后的方法均為:行為 × 效果 = 效率。一般而言,不必過于追求數據的精確性,因為過于精確的統計可能會引導錯誤的行為或增加額外的管理成本。統計意義上的準確性就夠了,其關鍵在于能夠有效回答一個本質問題,并指導相應的改進。
開發效率提升對整體研發效能的影響
根據利特爾法則(Little's Law),速度 = 在制品數量(WIP) / 吞吐量,換算過來就是吞吐量 = 在制品數量(WIP) / 速度。通過AI方式,可以改變以下幾點:
- 交付的速度:單個工作項的速度提升了,吞吐量會增加,在途任務(任務的WIP)也會顯著下降。對于待排期需求會是一個很好的消耗,從而減少待排期需求的數量。待排期需求的數量下降,對于整個產品研發的在途需求數(需求WIP)也會下降,進而提升了整體研發速度。
- 交付的確定性:速度提升,對于軟件研發在時間上的確定性會有著與之相應的提升。
員工的編碼體驗的滿意度
為了評估智能編碼助手對員工編碼體驗的滿意度,可以通過用戶調研的方式獲取反饋,并發現可以改進的地方。問卷設計需要考慮三個因素:用戶畫像、用戶滿意度、用戶使用效率。以下是具體的問卷設計示例:
用戶畫像
- 你有多少年的編程經驗?
- 不足 1 年。
- 1-3 年。
- 3-5 年。
- 5-10 年。
- 10 年以上。
- 你在工作中的主要角色?
- 初級開發者。
- 中級開發者。
- 高級開發者。
- 架構師。
- 技術經理。
- 其他(請說明)。
- 你常用的編程語言有哪些?(多選)
- Java。
- Python。
- C++。
- JavaScript。
- Go。
- Ruby。
- PHP。
- SQL。
- XML。
- 其他(請說明)。
- 你使用智能編碼助手的頻率如何?
- 每天多次。
- 每天一次。
- 每周幾次。
- 每月幾次。
- 很少使用。
用戶滿意度
- 你對智能編碼助手的總體滿意度如何?(打分 1-5 分,5 分最高)
- 關于使用智能編碼助手的一些描述,你的看法是?
- 視覺舒適、操作符合習慣。
- 沒有被打擾的感覺。
- 上手成本低、操作流暢。
- 愿意采納生成的建議代碼。
- 編碼問題能夠得到有效回答。
- 代碼和問答生成速度快。
- 較少遇到報錯。
用戶使用效率
- 通過使用智能編碼助手,你覺得對你的編碼工作效率有多大的提升?(單選)
- 顯著提升。
- 有所提升。
- 沒有變化。
- 有所下降。
- 顯著下降。
- 回想一下,你使用智能編碼助手的場景,下方的描述,你的觀點是什么?
- 工作更加有成就感。
- 編碼時更加自信。
- 使用熟悉的語言時,效率更高。
- 使用不熟悉的語言時,進度更快。
- 減少編寫重復性代碼。
- 可以保持編碼心流。
- 減少搜索引擎使用。
最后,您可能會得到如下方所示的結論:

AI輔助編程的效果如何衡量?
針對“到底使用采納率合適,還是AI代碼生成占比合適”的問題,首先需要明確兩者的定義及其計算邏輯:

同時,可能還會有這樣的疑問,為什么不使用AI代碼生成的入庫占比來計算呢?主要原因如下:
- 版本管理工具無法識別:版本管理工具無法區分代碼是由AI生成的還是人工編寫的。代碼提交的作者是提交人本身,而非AI。
- 引入復雜度:追求入庫率會導致度量變得異常復雜。追求構建并發到生產環境的數量,引入了更多變量。
因此,建議采用最直觀的 AI 生成占比來統計編碼行為的效果是一個比較推薦的方式。如果無法獲得 AI 生成占比,采用采納率也是一種可取的方式,但過分追求統計精確性的意義不大。
衡量AI編碼工具收益的具體方式
為了更好地衡量AI編碼工具對效率的影響,可以從以下幾個方面進行觀測和分析:
- 工具使用量:
- 開發者數量:統計使用AI編碼工具的開發者數量。
- 活躍度:統計活躍用戶的數量和活躍頻率。
- 行為:某些能力使用的頻次,統計特定功能(如代碼補全、單元測試生成、代碼注釋生成等)的使用頻次。
- 效果:采納或有效生成占比,統計采納的AI生成代碼行數占總變更代碼行數的比例。
開發效率提升:通過觀測開發者在使用 AI 編碼工具前后的編碼效率變化,建立相關性。同時,通過“工具使用的行為 x 效果 ≈ 效率”這個簡單公式,來獲得對于個人開發效率提升的統計。
研發效率的貢獻:研發效率涉及多個方面,包括需求質量、協作流程、測試自動化、CI/CD工程能力等,但開發階段的效率提升對整體研發效率有顯著貢獻。
從系統思考的方式建立因果關系:從整體系統的角度出發,分析各個行為、效率和結果之間的因果關系。找到關鍵的杠桿點,即能夠帶來最大效益的改進點。
度量原則:度量指標需要回答一個本質的問題,即AI編碼工具是否真正提升了開發效率。度量指標應引導正確的改進行動,而非誤導。

浙公網安備 33010602011771號