懶惰之最|GitHub 實測

接手網站卻找不到登入程式?用 graphify 先找入口,再核對原始碼

2026-10-26|專案:Graphify-Labs/graphify|Markdown 版

重點摘要

  • Flask 的 24 個 Python 檔共 347,908 位元組,graphify 約 1.2 秒建成 892 個節點、1,816 條連線。
  • 登入記憶查詢列出 sessions.py 第 284 行,僅定位候選程式,未測試登入修復。
  • 6,689 位元組輸出只顯示 174 個候選中的 78 個,不能當成實際 AI 費用節省率。
  • 問沒有內建的信用卡付款仍回傳 317 個候選,必須閱讀原始碼核對。
  • 結論: 適合先定位陌生專案,再讀程式核對。
  • 適合: 接手陌生專案、需要查程式位置的人
  • 不適合: 期待它直接修復登入、或保證回答正確的人
實測項目 結果
建圖 約 1.2 秒/24 個 Python 檔
輸入量 347,908 位元組
節點/連線 892/1,816
查詢輸出 6,689 位元組;78/174 候選
付款反例 317 個候選;未提示找不到

網站剛交到你手上,使用者一直被登出。想請 AI 幫忙,卻連登入狀態放在哪個檔案都不知道。這時需要的第一步是找到相關程式,才有辦法判斷問題。graphify 把程式的檔案、類別與關係整理成可查詢的索引,像翻目錄一樣提供閱讀入口。

影片開場是用途情境;下面才是實際跑過的 Flask 測試。我們沒有修復某個真實網站的登入問題,也沒有量到 AI 帳單降低多少。測試設備是 Mac mini M4 Pro(12 核、64GB)。沿用 2026 年 10 月 26 日實錄,受測來源是當時主線,專案頁更新日期為 10 月 23 日;未保存精確套件版號,不把日期當作可完全重現的版本鎖定。

第一步:安裝,對程式資料夾建圖

套件名稱是 graphifyy,結尾兩個 y;執行指令是 graphify。在適合執行陌生程式的測試環境操作,別拿正式網站或私人資料當第一份樣本。以下用公開的 Flask 示範:

pip install graphifyy
git clone --depth 1 https://github.com/pallets/flask.git
cd flask
graphify update src
cd src

建圖輸出在 src/graphify-out/。上面的最後一步先進入 src,後續查詢才會找到正確路徑。原測試安裝約 11.17 秒;建圖實錄約 1.2 秒,產生 892 個節點與 1,816 條連線。資料量為 24 個 Python 檔、347,908 位元組,是 wc -c 的結果,不是字數。報告顯示 Token cost: 0 input · 0 output,這只證明這次程式碼建圖未使用模型額度。

Flask 建圖實錄

第二步:把需求問成要找的程式位置

登入狀態如何放進瀏覽器,是接手時可能先查的問題。實測指令:

graphify query "how are sessions stored in cookies" --graph graphify-out/graph.json

結果列出 src/flask/sessions.py 的 SecureCookieSessionInterface,位置是第 284 行。接著回到編輯器,開啟該檔案讀附近實作,再讓 AI 對照問題找原因。這是查到候選入口,沒有證明它已找到所有登入故障原因。

本次輸出為 6,689 位元組;完整原始碼為 347,908 位元組,約五十二分之一。但結果也標示:174 個候選節點只顯示 78 個。輸出短包含截斷的效果,不能拿來當作相同資訊量的比較,更不能直接推論實際省下多少模型額度。找不到時先縮小問題、核對路徑與原始碼,再考慮調整輸出預算。

第三步:別把有結果當成功

graphify query "how does Flask process credit card payments" --graph graphify-out/graph.json

Flask 沒有內建信用卡收款流程,這個問題卻仍找出 317 個候選節點,起點包含 Flask 與 .process_response(),沒有「找不到」提示。不能因為清單很長,就認為專案具備付款能力。

不存在的付款功能仍回傳候選節點

正確順序是:先查索引、開啟候選程式、閱讀確認,最後才決定怎麼改與怎麼測。適合接手陌生專案、想先知道從哪讀的人;期待直接得到正確答案或自動修好網站的人,仍需要後續判斷。

測試範圍

本次沿用程式碼建圖、查詢與反例實錄。雲端版、文件與 PDF 的語意抽取沒有測試;官方雲端版省八成額度的宣稱也沒有驗證。這些限制保留在本文,不拿宣傳數字當實測結論。

專案:Graphify-Labs/graphify。授權:Apache-2.0。測試樣本:pallets/flask。

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測