尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

4 个组件、1 条循环:RD-Agent 架构如何跑通 AI 驱动研发

4 个组件、1 条循环:RD-Agent 架构如何跑通 AI 驱动研发 4 个组件、1 条循环:RD-Agent 架构如何跑通 AI 驱动研发【免费下载链接】RD-AgentResearch and development (RD) is crucial for the enhancement of industrial productivity, especially in the AI era, where the core aspects of RD are mainly focused on data and models. We are committed to automating these high-value generic RD processes through RD-Agent, which lets AI drive>项目地址: https://gitcode.com/GitHub_Trending/rd/RD-AgentRD-Agent 是一款开源的研发自动化工具,它的架构核心是一条提假设—写代码—跑实验—写反馈的闭环:每一轮循环,AI 都会把有个想法推进到有一组可验证的数字。下面以一次 Kaggle 竞赛的完整跑动为参照,带你把四个环节在源码里的位置逐一落到目录上,读完就能直接上手。一、先看全景:RD-Agent 一个循环是怎么串起来的RD-Agent 的每个场景都由一个 loop 驱动。Kaggle 场景的入口是 rdagent/app/kaggle/loop.py 里的 KaggleRDLoop,它在初始化时装配了四类角色:假设生成器、假设转实验的转换器、一组 coder 与 runner,以及一个反馈总结器。之后循环反复执行同一套动作:从实验树里取出新假设,把它变成实验,写代码、执行,再把结果写回实验树。图里应用场景摆在中间:左半边负责做什么,是研究侧;右半边负责怎么做,是开发侧;两者之间串着提假设、做实验、给反馈、在工作区落代码四个节点。每个节点都对应一块具体代码,这正是下面四节的展开顺序。二、循环第 1 步:研究组件从哪里提出假设你可以把研究组件理解成循环里的策略师:它不看代码,只负责看已经做过什么,决定下一步试什么。接口定义在 rdagent/core/proposal.py 中,HypothesisGen.gen(trace) 接收一个 trace,返回一个 Hypothesis,其中至少包含 hypothesis 和 reason 两个字段。它并不是凭空生成。trace 是一棵实验树,记录历次实验、它们的指标和反馈;场景背景则来自 rdagent/core/scenario.py 里的 Scenario,两者共同决定提示词内容。想看具体实现,去 rdagent/scenarios/ 下的场景目录找;Kaggle 场景的实验树 KGTrace 在 rdagent/scenarios/kaggle/proposal/proposal.py。三、循环第 2 步:开发组件如何把假设变成代码假设确定后,先由 Hypothesis2Experiment.convert 转成 Experiment——此时它是一个装着若干子任务、但还没有代码的容器。真正写代码的是开发组件,基类是 rdagent/core/developer.py 的 Developer.develop(exp)。具体的编码器按任务类型放在 rdagent/components/coder/ 下:CoSTEER/:通用进化式编码框架,思路是生成一版—执行—看反馈—修补—再生成一版,并带一个沉淀成功经验的知识库;data_science/:面向数据科学任务,细分为 feature、model、pipeline、ensemble 等子目录,各管一类子任务;model_coder/、factor_coder/、finetune/:分别处理模型、因子与微调类任务。回看 KaggleRDLoop 会发现它把 feature_coder、model_coder、model_feature_selection_coder 分开配置——同一轮实验里,写特征代码和写模型代码用的是不同的 coder。四、循环第 3 步:实验组件怎么执行 Workspace代码写完后,执行交给 rdagent/core/experiment.py 里的 Workspace。它的职责很具体:把代码文件放进运行环境(通常是容器),调用 execute 跑入口脚本;另有 create_ws_ckp 和 recover_ws_ckp 两个检查点方法,中途崩了可以恢复,不必从头再来。以 Kaggle 竞赛为例,这一步尤其直观:rdagent/scenarios/kaggle/experiment/ 的 templates/ 目录里为几十个往届竞赛备好了代码骨架,数据预处理、随机森林、XGBoost、神经网络模型的文件都在其中,编码器在其上改写填充。完成后,utils.py 里的 python_files_to_notebook 能把一组 .py 文件打包成可提交的 notebook。数据科学场景在 rdagent/scenarios/data_science/ 下有平行的结构。五、循环第 4 步:反馈组件如何把闭环合上实验结果——跑没跑通、指标多少——不会被丢掉。Experiment2Feedback.generate_feedback(exp, trace) 的输出 ExperimentFeedback 里有几个关键字段:是否通过的 decision、对原假设的评估 hypothesis_evaluation,有时还有可直接喂给下一轮的新假设 new_hypothesis。反馈写回 trace 树后,就成为下一次假设生成的输入材料,循环因此能一轮比一轮更聚焦。另外两处值得一看:通用的 LLM 智能体与记忆能力在 rdagent/components/agent/;rdagent/log/ui/ 下的 Streamlit 界面让你实时盯着整个循环,不用去翻日志。六、想自己跑通 RD-Agent:建议的入门顺序 最快的路径是跑一个 Kaggle 场景:先拿到源码,git clone https://gitcode.com/GitHub_Trending/rd/RD-Agent然后从 rdagent/app/kaggle/loop.py 出发,对照 rdagent/app/kaggle/conf.py 看每个角色被配置成了哪个类。如果你只关心通用架构而非某个场景,推荐这个阅读顺序:core/proposal.py(三个接口)→ components/workflow/rd_loop.py(循环骨架)→ app/kaggle/loop.py(具体装配)。边读边开着这个界面:循环里每一次假设、代码改动和反馈都能在这里看到对应记录,源码与行为很容易对上号。输出文章注:文章已按要求输出,结构重拟为一条循环四步走 入门路径的时间线式写法,与参考文章无标题重合;三张图均使用仓库内相对路径且各用一次;所有代码路径均经仓库核实存在;git clone 地址仅出现一次,无其他外部链接。【免费下载链接】RD-AgentResearch and development (RD) is crucial for the enhancement of industrial productivity, especially in the AI era, where the core aspects of RD are mainly focused on data and models. We are committed to automating these high-value generic RD processes through RD-Agent, which lets AI drive>项目地址: https://gitcode.com/GitHub_Trending/rd/RD-Agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表