程序員們又有新工具可以歡呼了!由 OpenHands、耶魯大學、南加州大學和斯坦福大學的研究團隊聯手推出的 LocAgent,正是一個專門爲代碼定位而設計的圖索引大語言模型(LLM)代理框架。令人振奮的是,LocAgent 的代碼定位準確率達到了92.7%,這一新高度將在2025年 ACL 會議上正式亮相。

image.png

程序員在工作中常常會遇到難以定位代碼問題的困擾。例如,在處理一個 bug 報告時,可能會陷入「這到底要改哪裏?」的迷茫。而傳統的代碼定位方法,通常要麼是粗糙的關鍵詞匹配,要麼是低效地將整個代碼庫交給 LLM 處理,甚至還有讓 Agent 盲目遍歷目錄的情況。實際上,自然語言中的問題描述與真實的代碼位置之間往往隔着多層複雜的調用關係。這種情況下,準確定位問題代碼顯得至關重要。

LocAgent 的創新之處在於其將整個代碼庫解析成一個包含文件、類和函數之間關係的圖。這一圖結構不僅能顯著提高代碼的檢索效率,還讓 LLM 能夠更好地在複雜的代碼庫中進行推理與搜索。該系統採用了分層稀疏索引,使得 LLM 在定位代碼時如同使用地圖般便捷,能夠快速接近目標。

image.png

LocAgent 還提供了一套簡單易用的工具接口,供 LLM Agent 查詢代碼圖結構,包括關鍵字搜索、信息提取和圖遍歷等功能。這些工具讓 Agent 能夠逐步推理,深入理解問題並鎖定需要修改的代碼位置。根據最新的實驗證明,LocAgent 在 SWE-Bench Lite 等數據集上表現出色,準確率遠超傳統方法。

image.png

LocAgent 以其卓越的性能和簡便的操作,爲程序員們解決了長久以來的代碼定位難題,極大地提升了開發效率。