AutoGPT Challenges 挑战体系:定义、参与方式与 agbenchmark 演进路径 AutoGPT Challenges 挑战体系定义、参与方式与 agbenchmark 演进路径【免费下载链接】AutoGPTAutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.项目地址: https://gitcode.com/GitHub_Trending/au/AutoGPT本文介绍 AutoGPT 项目中「Challenges挑战」体系的完整脉络挑战是什么、为什么重要、社区成员如何通过「提交挑战」与「击败挑战」两条路径参与以及该体系如何演进为仓库中可直接运行的 agbenchmarkdirect-benchmark基准框架。读完本文你能够理解 AutoGPT 社区驱动的能力评估机制并在classic/direct_benchmark目录中实际运行、筛选和扩展挑战用例。什么是挑战Challenges挑战是AutoGPT 难以解决或尚未完成的任务与问题。根据官方介绍challenges/introduction.md挑战的典型形态包括改进特定功能improving specific functionalities增强模型对特定领域的理解enhancing the models understanding of specific domains开发当前版本尚不具备的新特性developing new features that the current version of AutoGPT lacks。从源码结构看挑战在仓库中经历了两代落地形态文档 pytest 测试形态早期挑战以 Markdown 文档形式收录于 docs/content/challenges/ 目录并配套 Python 集成测试数据驱动的基准形态当前仓库将可执行挑战集中到 classic/direct_benchmark/challenges/每个挑战是一个包含data.json与输入/输出工件目录artifacts_in/、artifacts_out/的独立文件夹由 direct-benchmark 框架直接实例化 Agent 执行。挑战为什么重要官方文档给出的理由集中在三点提升性能、可用性与通用性逐个击破挑战能持续改进 AutoGPT 的实际表现打造更强、更高效的工具协作攻克挑战使项目对全体用户更有价值真正意义的开源贡献社区通过挑战机制主动参与项目演进让贡献不再局限于提交代码。值得注意的是挑战体系还承担了「能力标尺」的角色——docs/content/challenges/memory/introduction.md 对「记忆类挑战」的定义说明挑战被设计用于测试 Agent「在一连串任务中记住并使用信息」的能力涉及指令跟随、文本文件处理与关键数据跟踪。这类能力指标正是基准框架试图量化的对象。参与方式一提交挑战Submit a Challenge如果你发现 AutoGPT 在某个任务上表现挣扎可以将其提交为挑战供社区攻克。根据 submit.md提交流程为在 AutoGPT 仓库的challenges目录中创建一个新的.md文件并选择正确的分类目录用描述性标题命名文件用连字符代替空格例如improve-context-understanding.md在文件内按照 challenge_template.md 模板描述问题、界定范围、定义成功标准提交文件并创建 Pull Request。挑战模板定义了文档骨架包含四个必备小节小节作用Description清晰简洁地描述挑战可附示例或文件说明问题Input描述挑战涉及的输入文件文件名与内容用代码块格式化Scope界定挑战范围包括相关约束、要求与限制Success Evaluation说明如何衡量或评估成功让他人明确期望结果提交后社区会评审并讨论该挑战若被采纳就会被收录进挑战列表页list.md。参与方式二击败挑战Beat a Challenge根据 beat.md攻克一个已存在挑战的指引如下选择挑战浏览挑战列表挑选感兴趣或与自身专长匹配的挑战理解问题彻底理解问题本身、其范围与期望结果开发解决方案着手为该挑战构建解决方案并贡献你的实现。挑战在代码层面的抽象输入 → Agent → 工件早期的挑战编写指南 building_challenges.md 说明了挑战的核心抽象——挑战「扮演一个希望完成某件事的用户」不绑定特定框架保持技术中立输入INPUT用户意图User desire 文件等其他输入输出Output工件Artifact如文件、图片、代码等。该文档给出了完整的编写路径可作为理解挑战运行机制的实例定义 Agent 夹具在classic/original_autogpt/tests/integration/的 agent_factory.py 中创建 agent fixture。文档示例展示了如何为一个「Kubernetes 部署模板专家」Agent 注册命令file_operations、app等模块、构建AIProfileai_name、ai_role、ai_goals再实例化Agent并关闭连续模式set_continuous_mode(False)编写挑战测试在tests/challenges目录下创建test_your_test_description.py并放入对应分类文件夹。文档示例展示了一个典型测试的完整写法使用input_generator生成器模拟用户输入序列如[s, s, ..., EXIT]通过monkeypatch将autogpt.utils.session.prompt替换为从输入序列取值从而自动化驱动交互循环run_interaction_loop执行后读取输出工件如kube.yaml先做关键字断言apiVersion、kind、metadata、spec再用yaml.safe_load做结构化校验尚未被攻克beaten的挑战以pytest.mark.skip(This challenge hasnt been beaten yet.)标记并配合pytest.mark.vcr录制/回放 LLM 调用与pytest.mark.requires_openai_api_key标记管理测试成本与依赖。这套「mock 用户输入 校验输出工件」的模式是理解后续基准框架评估逻辑的关键。挑战目录的分类组织当前仓库的挑战按分类组织便于社区选择攻关方向。文档侧的分类收录在 docs/content/challenges/ 下例如memory/introduction.md记忆类挑战介绍并含 challenge_a 至 challenge_d 等具体挑战文档information_retrieval/introduction.md信息检索类挑战介绍。挑战总览页 list.md 则作为入口指向各分类的挑战清单并引导读者按 submit.md 提交新挑战。演进从 agbenchmark 到 direct-benchmarkintroduction 文档末尾的官方提示值得单独强调AutoGPT 正在逐步过渡到 agbenchmark——一种更简单的改进 AutoGPT 的方式只需运行agbenchmark然后尽可能多地击败挑战。这标志着挑战体系从「文档 人工测试」向「可自动化批量执行」转变。当前仓库中的实际形态direct-benchmark在当前仓库中这一演进落地为 classic/direct_benchmark/ 目录——一个高性能基准框架其特点是直接实例化 Agent省去 HTTP 服务器开销支持多配置并行执行。根据 direct_benchmark/README.md其核心特性包括直接 Agent 实例化无 HTTP 服务器、无 Agent Protocol 开销并行执行同时运行多个策略/模型组合多次尝试每个挑战运行多次以获得统计可靠性富 UI基于 Rich 库的实时进度展示支持 defaultrich、quiet、verbose、JSON面向 CI等输出模式。安装与常用命令所有命令从classic/目录即该目录的上级执行cd classic poetry install常用运行方式完整说明见 classic/direct_benchmark/README.md# 以默认配置运行基准 poetry run direct-benchmark run # 指定策略与模型并行运行 poetry run direct-benchmark run \ --strategies one_shot,rewoo \ --models claude,openai \ --parallel 4 # 只运行单个测试 poetry run direct-benchmark run \ --strategies one_shot \ --tests ReadFile # 每个挑战运行多次 poetry run direct-benchmark run \ --strategies one_shot \ --attempts 3 # 只运行回归测试此前已被击败的挑战 poetry run direct-benchmark run --maintain # 只运行非回归测试尚未稳定击败的挑战 poetry run direct-benchmark run --improve # 只运行从未被击败的挑战 poetry run direct-benchmark run --explore # 列出可用挑战 / 模型预设 / 策略 poetry run direct-benchmark list-challenges poetry run direct-benchmark list-models poetry run direct-benchmark list-strategies关键 CLI 选项README 中对两类常用选项的说明如下挑战筛选类--strategies, -s逗号分隔的策略one_shot、rewoo、plan_execute、reflexion、tree_of_thoughts--models, -m逗号分隔的模型预设claude、openai 等--categories, -c按挑战分类筛选--skip-category, -S排除分类--tests, -t按测试名筛选。执行控制类--attempts, -N每个挑战的运行次数--parallel, -p最大并行数默认 4--timeout单挑战超时秒数默认 300--cutoff为其别名--no-cutoff, --nc可禁用时限--max-steps单挑战最大步数默认 50。其中--maintain/--improve/--explore三种模式与「击败挑战」的社区叙事直接对应已稳定击败的走回归维护未稳定击败的走改进从未击败的走探索。已击败挑战的记录保存在 classic/direct_benchmark/challenges_already_beaten.json。挑战目录的实际组织从源码结构看classic/direct_benchmark/challenges/将挑战按能力维度分为四个子目录每个挑战文件夹以data.json为配置入口辅以artifacts_in/输入工件与artifacts_out/期望输出工件目录内容示例abilities/基础能力read_file、write_filealignment/对齐能力1_distraction干扰抵抗、2_injection注入抵抗library/外部集成类如ethereum/check_priceverticals/垂直领域codePython 执行、三数之和、文件整理、海战棋等、dataCSV 排序/标注/合并/问答、scrape搜索、价格与营收检索、synthesize内容生成这种「data.json 输入/输出工件」的数据驱动结构正是早期「用户意图 → Agent → 工件」抽象的工程化实现框架读取data.json组装输入运行 Agent再由 evaluator.py 对照artifacts_out判定是否击败挑战。框架其余关键模块包括 challenge_loader.py挑战加载、runner.py执行、parallel.py并行调度与 report.py报告生成多 Agent 协议接入则通过 adapters/ 下的适配层实现。小结AutoGPT 的挑战体系是一条完整的社区驱动能力改进链路定义挑战是 AutoGPT 当前解决不了的任务按记忆、信息检索等维度分类以模板化的文档Description / Input / Scope / Success Evaluation描述参与社区通过「提交挑战」在 challenges 目录按模板建文档并 PR与「击败挑战」理解问题、开发方案、贡献实现两条路径协作执行挑战从早期 pytest 集成测试mock 用户输入、校验输出工件演进为 direct-benchmark 数据驱动基准支持策略 × 模型组合的并行批量评估并提供 maintain/improve/explore 三种模式对接「持续击败挑战」的社区目标。如果你想动手参与最短路径是浏览 docs/content/challenges/list.md 挑选一个挑战然后在classic/目录下执行poetry run direct-benchmark run --explore开始验证你的解决方案。【免费下载链接】AutoGPTAutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.项目地址: https://gitcode.com/GitHub_Trending/au/AutoGPT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考