自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

豆包 MarsCode 落地編程助手場景的探索實踐

人工智能
本文將分享豆包 MarsCode 編程助手的落地實踐。接下來將圍繞代碼補全和代碼補全 Pro 兩個方面展開介紹豆包 MarsCode 的現狀與發(fā)展。

一、豆包 MarsCode 編程助手起源

1. IDE 智能化探索

早期階段,IDE 智能化萌芽于靜態(tài)代碼分析,基于語法與結構提供預測性建議,初步提升了開發(fā)效率。隨著 AI 技術的逐步成熟,引入了 Machine Learning 與 Deep Learning,使輔助功能顯著增強,如智能代碼推薦與優(yōu)化。

近年,大模型的火熱催生了 AI 助手深度嵌入編程流程,如智能代碼生成與調試等,助力效率飛躍。

AI 編程助手顯著提升了編碼速度,使開發(fā)者能夠更專注于業(yè)務邏輯,擺脫了繁瑣的重復任務,同時降低了語言與框架的學習成本,賦能普通程序員成為全能高手,從而適應多元化項目需求。

圖片

2. 開發(fā)者對 AI Coding 的訴求

根據 Stack Overflow 調研,開發(fā)者亟需編程助手支持代碼編寫、調試與文檔注釋,覆蓋全流程開發(fā)周期。

開發(fā)者對 AI Coding 最關心的功能聚焦于:

  • 代碼生成:自動化補全、模板填充,大幅提升生產率。
  • 理解與解讀:即時解析代碼含義,助于快速定位與修正問題。
  • 自動修復:智能識別并解決 bug,如 Auto Debug,Link Fix 等功能,減輕調試負擔。

圖片

3. 豆包 MarsCode 進化

自 2022 年起,豆包 MarsCode 開啟了代碼補全領域的探索,自主研發(fā) LLM 評測系統(tǒng),超越離線評測局限,構建了全面工程鏈路與在線評估平臺,加速策略與模型驗證,直面用戶真實體驗。

初始階段雖聚焦于補全產品,但單一工具無法滿足多樣編碼情境,因此引入了對話式編程助手后,拓展服務范圍。近期則瞄準高階自動化,推出了代碼補全 Pro,預知用戶意圖,即時推送代碼建議,實現高效編程。

豆包 MarsCode 始終以用戶為中心,不斷迭代,旨在塑造無縫銜接的開發(fā)流程,助力每位開發(fā)者提升效率與創(chuàng)作自由。

二、豆包 MarsCode 的現狀與發(fā)展

接下來將圍繞代碼補全和代碼補全 Pro 兩個方面展開介紹豆包 MarsCode 的現狀與發(fā)展。

1. 代碼補全

代碼補全是 AI 輔助編程的關鍵組件,要求模型深刻理解現有代碼及其工程背景,以精準預測用戶意圖,實現個性化推薦。

傳統(tǒng)方法借助下拉菜單供用戶挑選代碼選項。近期微軟引領變革,引入了“幽靈文本”(Ghost Text)概念——編輯器內即時展示推薦,只需 Tab 鍵即可確認,極大提升了開發(fā)效率。該方式通過即時反饋,實現了實時編碼協助,尤其適用于多行補全,彰顯了性能優(yōu)勢。

實現這一功能的核心在于高性能模型快速準確推理,捕捉細微編碼語境,精準匹配開發(fā)者需求,顛覆常規(guī),推動編程效率飛躍。同時,理解代碼上下文,準確預測續(xù)寫字符,增強用戶體驗。

(1)工程

Prompt 工程的核心目標是:精確定位開發(fā)者意圖,提供精準代碼建議,增進用戶體驗。

整體流程如下圖所示。

圖片

IDE 捕獲代碼屬性(如語言、文件信息),形成完整的 prompt,上下文整合后傳遞給模型作補全依據。模型接收 prompt,進行推理,并反饋結果,實現代碼補全。此外還需要反復迭代,優(yōu)化輸出結果,提升準確度與效率。

上下文信息對推理性能至關重要,因此我們探索了一套基于用戶編碼行為的優(yōu)化策略。用戶編寫代碼時,要調用函數,經常需要打開函數文件查看詳細定義和注釋,打開文件的動作與當前編碼的相關性是比較高的,因此我們對打開文件的上下文進行收集,用于 prompt 構造。另外,編輯器中的歷史內容也會作為上下文給到模型。

因為 prompt 的長度是有限的,我們需要對上下文進行排序和裁剪,還需要對低質量的 Prompt 進行過濾和完善,再提供給大模型進行推理,模型給出結果后,需要過濾掉重復和不正確的內容,以及敏感詞,最終給出補全提示。

(2)科學的評測體系

在優(yōu)化和迭代之外,還需要一套指標體系來進行科學評測。早期我們使用采納率這一指標進行評測,即采納次數/推薦次數。采納率在一定程度上可以體現模型推薦的質量,但只關注采納率很容易被誤導,比如有些場景通過減少推薦來提升采納率,顯然并不能真實反應推薦效果。另外,根據采納率,也不容易拆解分析,不利于歸納出鏈路優(yōu)化路徑。

為此引入了 CPO 這一更為科學的綜合性指標。

CPO 定義:綜合衡量每次觸發(fā)補全機會給予用戶平均字符數。

公式解讀:嘗試率×反饋率×采納率×每次采納平均token 數×token 平均字符長度。

  • 嘗試率:每當用戶在編輯器中進行操作,比如輸入新字符或刪除一些代碼時,都是 AI 給出補全建議的機會。嘗試率指標反映了 AI 實際為用戶提供建議的頻率。AI 不進行嘗試可能是由于延遲(如 Debounce)或需要根據上下文情況來決定是否給出補全建議。
    例如,用戶敲擊了 10 次按鍵,只有 6 次觸發(fā)了請求,那么嘗試率就是 6/10。
  • 反饋率:AI 在給出補全建議時是存在延遲的,包括上下文檢索到網絡開銷,再到實際模型推理,都會引入延遲。如果延遲太高,開發(fā)人員將繼續(xù)在編輯器中執(zhí)行新的操作,觸發(fā)新的推薦機會,并使現有推薦機會變得無意義。此外,在推薦完成后,工具可能因各種原因決定不向開發(fā)人員顯示建議,比如置信度不夠高、觸發(fā)了過濾器等。反饋率代表了有多少比例的建議最終被傳遞給開發(fā)人員以獲得人類反饋。
    例如,用戶觸發(fā)了 6 次補全請求,最后只有 3 次被展示,那么反饋率就是 3/6。
  • 低值預警:嘗試率和反饋率降低,會使用戶體驗下降,反饋缺失,需審視鏈路延遲與策略合理性。
  • 采納率:反映了展示出的建議中有多少被開發(fā)者采納。
  • 每次采納平均 token 數:在其它條件相同的情況下,較長和較短的代碼推薦所帶來的價值有很大差異。大模型以 token 的形式處理輸入,并生成輸出,這些 token 通常是一小段字符,因此每個被采納建議中平均 token 數反映了每條被采納建議所傳遞出的實際價值。
  • Token 平均字符數:開發(fā)人員看到的是字符而不是 token,不同大語言模型可以有不同的分詞器,因此,如果一個大模型的每個 token 生成了更多字符,實際上它會寫出更多代碼,而每個 token 的平均字符數正體現了這一點。

有了這些指標,還需要一個 A/B 測試系統(tǒng),快速驗證和迭代模型、prompt 策略。首先,要進行離線評測,驗證模型和 prompt 工程的離線效果。但僅有離線評測難以準確判斷用戶體驗和整體性能。因此還需要一套 A/B 系統(tǒng),觀測線上核心指標表現。

圖片

2. 代碼補全 Pro

代碼補全適用于編寫全新代碼的場景,而研發(fā)中還會面臨修改已有代碼的挑戰(zhàn)。當前技術趨勢為,在模型訓練語料中加入帶有時間序列的操作,以強化理解邏輯順序。

代碼補全 Pro,旨在于編程助手場景中,準確識別用戶意圖,預測下一次光標位置,下一次行動是新增、編輯還是替換操作,以及下一次需要編輯的內容。

(1)概述

例如,打印日志的場景,開發(fā)者已實現一個 log 函數,并在 do_something 和 do_something_else 兩個函數中調用。

圖片

我們?yōu)?log 函數增加 sourceMethod 和 level 兩個參數,用于打印日志觸發(fā)時所在的方法及日志級別。這時開發(fā)者需要同時修改 do_something和 do_something_else 函數。智能解決方案為,由 AI 識別需求,自動完成參數添加,加速了編碼進程。

圖片

(2)數據構建

在 Git 倉庫中蘊藏著海量用戶編輯行為數據,可用于模型訓練。但這些數據中也存在很多噪音,需要構建一系列的啟發(fā)式規(guī)則,用于提取有關聯的編輯信息。利用 CT 與 SFT 格式,使模型精準理解數據,優(yōu)化推理與訓練效果。

三、未來展望

1. 編程助手業(yè)界趨勢觀察

編程助手領域發(fā)展非常迅速,模型方面,指令追隨和語義理解能力更強,模型具備代碼編輯能力,并支持更長的上下文,能夠達到百 K 甚至 M 級別。例如,要將中文轉換為 Unicode 編碼,過去可能只是給出冗長的代碼解釋,而現在可以直接給出 Unicode 編碼。

產品方面,IDE 原有交互與 AI 深度集成,比如在編輯器中支持輸入自然語言生成代碼。并且具有更強的代碼編輯能力,支持更長、更多代碼片段的修改和應用。

未來 AI 編程助手將以更精準的理解力與執(zhí)行力,變革軟件開發(fā)領域,促使編程更加順暢與高效。隨著模型持續(xù)優(yōu)化,技術壁壘進一步降低,將助力程序員群體創(chuàng)造力爆發(fā)。

2. 產品形態(tài)展望

(1)NL2Code 能力與編輯器深度集成

當前編程助手已具備 Inline Chat 能力,用戶可以通過快捷鍵喚起一個輸入框,在輸入框中輸入一些自然語言,即可讓模型來生成相應代碼。

JetBrains 支持直接在編輯器中通過自然語言生成代碼。而 VSCode 也通過 Inline Chat 支持了 NL2Code 的能力。

圖片

(2)Sketch then Generate

圖片

Sketch then Generate 倡導一種迭代式的代碼生成與修改方式,尤其適用于動態(tài)調整需求場合,旨在提升用戶體驗與開發(fā)效率。通過增量式的交互,使用戶可以獲得即時反饋,并可以直接在已有代碼基礎上進行修改。

針對大模型生成速度慢與穩(wěn)定性不足的問題,Sketch then Generate 的解決方案是根據用戶注釋或 prompt 引導模型生成中間態(tài)偽代碼。模型增量式生成,用戶實時調整,無需等待完整結果。偽代碼作為上下文反饋,模型迭代修改。用戶僅需發(fā)送,偽代碼與輸入直達模型,即時更新結果。

四、總結

本次分享介紹了豆包 MarsCode 編程助手的起源與發(fā)展歷程。強調其科學評測指標 CPO,并闡述了代碼補全 Pro 如何高效輔助用戶編碼,預測及推薦下一步代碼。

最后對發(fā)展趨勢進行了展望,未來將進一步強化模型追蹤能力、編輯能力和產品自動化,深度融合 AI 至 IDE 和編輯器,實現 Sketch then Generate 的增量互動。

豆包MarsCode 編程助手代碼補全 Pro 已推出 Beta,歡迎訪問 www.marscode.cn 下載體驗。同時,也歡迎大家關注豆包 MarsCode 公眾號,獲取更多技術干貨分享。

圖片

五、問答環(huán)節(jié)

Q:豆包 MarsCode 的定位與未來發(fā)展方向是怎樣的?

A:豆包 MarsCode 是基于豆包大模型打造的智能開發(fā)工具,提供編程助手和云端 IDE 兩種形態(tài),支持代碼補全、錯誤修復、AI 刷題等多種能力。無論你是新手程序員,還是經驗豐富的開發(fā)者,都能在開發(fā)過程中體驗到豆包 MarsCode 帶來的助力和效率提升。

豆包 MarsCode 編程助手兼容 VSCode 與 JetBrains,提供即時編程支持;云端 IDE 目標是通過場景定制提升效率,長期著眼 AI 深度集成,提高代碼自動編輯能力,為用戶提供全方位、低門檻的技術體驗。

面向未來,豆包 MarsCode 雙軌并行,兼顧場景定制與專業(yè) IDE 建設。短期內側重場景優(yōu)化,長期規(guī)劃 AI 驅動的高度自動化解決方案,增強產品力。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2024-12-12 09:02:35

2025-01-15 09:16:10

2024-07-03 12:09:08

2024-08-28 09:00:00

編程助手MarsCodeAI

2022-12-15 11:26:44

云原生

2022-12-09 18:58:10

2013-11-18 14:16:47

智慧城市

2024-11-04 15:15:00

AI模型

2023-02-20 13:45:31

數據分析騰訊 Alluxio

2023-12-27 18:46:05

云原生容器技術

2022-06-07 10:56:20

PBCEventMesh

2024-10-09 08:36:52

2023-09-11 07:40:53

2017-03-28 08:47:33

圖像識別技術

2024-10-23 20:09:47

2024-05-27 07:21:43

2022-06-01 09:18:37

抖音ReDex算法優(yōu)化

2024-10-14 08:59:11

智能體驅動AI導購人工智能
點贊
收藏

51CTO技術棧公眾號