Thinker
2 weeks ago
使用小型語言模型分析大型程式碼發現的幾個問題。1. 由於知識量不足,語言模型需要針對每個 function call 展開分析。然而程式碼數量太大,語言模型往往不會一一展開。2. 太深太隱晦的線索,小型語言模型難以理解。例如 code generator 產生的 code,需要先瞭解 code generator 的行為,才能理解整個系統的行為。而且需要意識到 code generator 的存在。
latest #13
Thinker
2 weeks ago
這和人類面對陌生程式碼的情況類似。額外的提示,補充知識,能帶來有效的幫助。如果,一個 project 裡有多個主程式。需要額外提示,否則很可能搞錯。
Thinker
2 weeks ago
而讓語言模型以筆記為中心進行程式碼分析,會遇到幾個問題題。1. 隨著使用者原本的輸入被移出 context window,語言模型會開始迷失方向。因此必需把使用的輸入內容保留在筆記裏,避色迷失方向的情況發生。 2. 如果因為提示不足,使語言模型將不適用的內容記入筆記,之後將很難移除。這可能是個別模型的問題,但模型很難在新舊資訊間進行取捨。
Thinker
2 weeks ago
整體來說,以 gpt-oss:20b + 筆記的程式碼分析架構,目前已有能力分析百萬行等級的程式碼。但對於隱晦線索和大量展開的問題,雖然能夠提供額外提示加以解決,但 fine tune 的方式似乎更好。需要將初階 programmer 到資深 programmer 之間的經驗差距教給語言模型。或許包括一些 domain knowledge.
立即下載
所以現在可以讓ai幫忙修裡legacy code?
jimmyliao ()
2 weeks ago
我的理想是: local model 為主, claude/codex/gemini 為輔, 但是現在 gpt-oss:20b 可以了嗎?
Thinker
2 weeks ago
我試了幾個 model ( <= 30b), 工具使用能力都比不上 got-oss:20b . GPT-OSS 在維持目標不迷失的表現也比其他 model 好。
Thinker
2 weeks ago
benlau: 應該可行。
Thinker
2 weeks ago
momofarm: 還沒測試到那個程度。現在主要測試和開發的方向是讓你問 code base 相關的內容。例如,你想知道為什麼在某處收到了一個 event ,或發現變數被修改了,你想知道是誰觸發 event 或修改變數等。系統會幫你 search code base,分析可能的 root cause,或是分析行為或架構等。
Thinker
2 weeks ago
gpt-oss:20b 有時侯會鑽牛角尖,很像一位剛畢業的工程師。或許需要 fine tune ,讓 gpt-oss:20b 更願意相信使用者提供的額外資訊,移除之前因資訊不足而得到的錯誤資料。
你準備做什麼項目?我在想投PR給Open Notebook計劃.
Thinker
2 weeks ago
只是自己的 side project ,什麼是 open notebook?
NotebookLM 的 open source alternative
What is Open Notebook? | Open Notebook
back to top