Maguyva 對 Fortran 的支援:科學運算程式碼庫的程式碼圖譜
對於比作者還長壽的數值程式碼,呼叫圖就是第一份文件。
副檔名
.f, .f03, .f08, .f90, 還有 3 個
R 把基礎函式、套件函式和你自己的函式放在同一個扁平命名空間裡。點號是名字的一部分,而不是成員存取:is.na、data.frame 和 print.summary_table 都是單個識別字。把 print.summary_table 讀成 print 上方法的工具會弄錯結構,而記錄每個基礎呼叫的工具會把你的函式埋在 c() 和 paste() 底下。
Maguyva 保持 R 名稱完整,並過濾基礎函式雜訊,讓代理看到分析真正依賴的函式。
Maguyva 把 .R、.Rmd 和 .Rnw 檔案對應為 R。賦值給名字的函式(如 clean_survey <- function(df))會以該名字擷取,匿名函式不視為定義。帶點號的名字永遠不會被拆成接收者和成員。
一些基礎 R 呼叫會被刻意保留在圖譜中,因為它們展示了分析程式碼的連接方式:S3 與 S4 分派(UseMethod、standardGeneric)、apply 家族(lapply、sapply、vapply、mapply)、模型擬合(lm、predict、anova)、套件載入(library、require),以及用 tryCatch 進行的錯誤處理。
圖譜還會記錄實例化和讀寫。
clean_survey,哪些模型使用了它的輸出?」(先用 find_symbol,再用 dependency_search 的 incoming 方向)fit_model?」(dependency_search)load_raw_data 到最終迴歸的路徑。」(get_task_context)stats 和 graphics 名稱會從關係中過濾掉,例如 print、paste、c、data.frame、繪圖呼叫和隨機數生成函式。查詢它們請使用 text_pattern_search。structural_search 中的 classes、imports 和 variables 預設集什麼也選不到。請使用 find_symbol 和 text_pattern_search。.Rmd 和 .Rnw 檔案會整體按 R 語法讀取,而不是逐個程式碼區塊讀取,因此 R Markdown 和 Sweave 文件的結果可能不完整。最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要清洗、建模或 S3 方法名的定義和呼叫端時使用它。
修改輔助函式的輸出之前,對它使用 incoming 方向走訪,檢視哪些分析依賴它。
用於「追蹤從原始資料載入到最終迴歸的路徑」這類提示。
相關指南