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 方向遍历,查看哪些分析依赖它。
用于“追踪从原始数据加载到最终回归的路径”这类提示词。