接手網站卻找不到登入程式?用 graphify 先找入口,再核對原始碼
重點摘要
- 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,這只證明這次程式碼建圖未使用模型額度。

第二步:把需求問成要找的程式位置
登入狀態如何放進瀏覽器,是接手時可能先查的問題。實測指令:
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。