AutoGPT
一句话定位
AutoGPT 仓库并非单一 harness,而是并存的三层产物:classic/(2023 年成名的 ReAct 式自主 CLI agent,官方标注”unsupported”但代码仍在改)、autogpt_platform/.../executor+blocks/(当前主推的低代码图/Block 编排引擎)、autogpt_platform/.../copilot(构建于 Anthropic Claude Agent SDK 之上的对话式 Copilot,即”AutoPilot”)。三者定位、代际、复杂度差异巨大,本 dossier 分别叙述,不做强行合并。
核心架构总览(目录结构关键路径 + 引用的 commit)
引用 commit:e2711b1748bdc3fe702ab4e44c6a11df98458c53(HEAD,commit date 2026-06-25,shallow clone 于 2026-07-07)。License:核心 MIT,autogpt_platform/ 目录采用 Polyform Shield(docs/content/index.md,本地存档为 platform/docs_index.md)。
三条代码路径:
- Classic(
classic/original_autogpt/autogpt/+classic/forge/forge/)——原始自主 agent CLI,classic/README.md明确写”This project is unsupported, and dependencies will not be updated… an experiment that has concluded its initial research phase”,但git log显示classic/original_autogpt/autogpt/agents/agent.py在 HEAD 前约 12 天(2026-06-25)仍有改动,且包含 parallel tool calls、LATS、Multi-Agent-Debate、Reflexion、ReWOO、Tree-of-Thoughts 等较新特性——“unsupported” 更像是项目自我定位(不再是主推产品),不等于代码已停止演进。 - Platform executor/blocks(
autogpt_platform/backend/backend/executor/manager.py、autogpt_platform/backend/backend/blocks/)——低代码图构建器,“agent” = 一张由 Block 组成的 DAG,节点级执行(execute_node,executor/manager.py:129-388),非 ReAct 循环。autogpt_platform/migrations/下 150+ Prisma/Postgres migrations,是重度生产化系统而非玩具项目。 - Copilot / AutoPilot(
autogpt_platform/backend/backend/copilot/)——对话式 agent 产品,直接构建于claude_agent_sdk(from claude_agent_sdk import ClaudeAgentOptions, ClaudeSDKClient, ...,copilot/sdk/service.py)之上;其 LLM 循环内部机制(消息循环、tool-call 解析)由 Anthropic SDK 提供,AutoGPT 自身只贡献工具注册表、权限系统、沙箱、记忆、transcript 持久化等”外壳”。
Agent Loop(主循环 / 何时继续何时停)
Classic:外层循环在 main.py::run_interaction_loop(607-787 行):while cycles_remaining > 0 — Plan(agent.propose_action(),agent.py:266-339,经组件流水线 run_pipeline 收集 directives/commands/messages,再调用当前 prompt strategy 的 build_prompt,最后 complete_and_parse 完成 LLM 调用与解析)→ 展示 thoughts → Execute(agent.execute(),agent.py:373-460,权限门控,单个或经 asyncio.gather 并行执行多工具调用 _execute_tools_parallel,499-557 行)→ 循环。
停止条件:agent 主动调用 finish 工具触发 AgentFinished 异常 → 提示用户输入后续任务或退出;AgentTerminated(SIGINT 或连续 3 次响应解析失败,main.py:679-703)→ 保存状态退出。值得注意:_get_cycle_budget(main.py:590-596)注释明确写”Always run continuously… cycle budget is now only used for Ctrl+C handling”——即 cycle_budget 名义上存在但实际上不是停止条件,只是交互式 Ctrl-C 记账用途(已核实源码 590-591 行)。
多种可插拔 prompt strategy 决定不同的循环形状:one_shot(默认,单步 ReAct)、plan_execute、rewoo(先规划一次,执行阶段靠 UseCachedActionException 跳过后续 LLM 调用,agent.py:309-333)、reflexion、tree_of_thoughts、lats、multi_agent_debate,经 _create_prompt_strategy(agent.py:588-648)按 app_config.prompt_strategy 选择。
Platform:无 ReAct 循环;一次”run”是图执行——execute_node()(executor/manager.py:142-388)逐节点执行 Block;AgentExecutorBlock 允许一个节点等待整张子图执行完成,实现图套图的递归编排。
Copilot:主循环内部逻辑属于 Claude Agent SDK 范畴,未在本仓库重新实现,AutoGPT 只负责套壳(工具、权限、记忆、system prompt 组装)。
记忆与上下文管理(压缩、长期记忆、会话持久化)
Classic:ActionHistoryComponent.get_messages()(action_history.py:56-115)——最近 full_message_count(默认 4)个 episode 完整展示(原始 ChatMessage + 工具结果),更早的经 LLM 压缩(EpisodicActionHistory.handle_compression,model.py:135-197)惰性执行(在 prompt 构建前才触发,prepare_messages,action_history.py:124-139),ReWOO 的 EXECUTING 阶段可跳过压缩以省一次 LLM 调用。压缩指令原文:“Condense the action taken and its result into one line. Preserve any specific factual information gathered.”。待处理的用户反馈会作为专门的 [USER FEEDBACK] user message 插入(action_history.py:105-115)。Agent 状态(含完整 episodic history)经 AgentManager/file_manager.save_state 持久化、可恢复(main.py:476-489, 285-294)。另有 ContextComponent(agent.py 中 import,未深读)负责 workspace 文件上下文。
Platform/Copilot:记忆是完全独立、重得多的系统——Graphiti(时序知识图谱,FalkorDB 后端),带类型化记忆模型(copilot/graphiti/memory_model.py):SourceKind(user_asserted/assistant_derived/tool_observed)、MemoryKind(fact/preference/rule/finding/plan/event/procedure)、MemoryStatus(active/tentative/superseded/contradicted,即带过期与矛盾检测)。首轮对话注入 <memory_context> 标记的热上下文(copilot/service.py 注释)。会话层面对原始 Claude Agent SDK transcript 做压缩/精简(copilot/transcript.py::compact_transcript, _run_compression),并在持久化 transcript 与恢复的实时会话之间做”gap”检测与回填(detect_gap, fill_hole_between_transcript_and_gap)。
工具体系(定义/调用协议/注册/权限)
Classic:@command(names, description, parameters) 装饰器(forge/command/decorator.py,未完整读但被引用)将方法包装为 Command 对象(command.py),持有 names/description/parameters: list[CommandParameter],构造时校验与函数签名匹配。各 Component 实现 CommandProvider.get_commands(),agent 每个 cycle 经 run_pipeline(CommandProvider.get_commands)(agent.py:285)聚合——即工具可用集合可逐 cycle 变化(如加载 skill 后解锁更多命令)。调度:_get_command(agent.py:559-566)按名称/别名查找,_execute_tool(478-497)执行(同步/异步均支持),未预期异常包装为 CommandExecutionError。原生 LLM tool-calling 是强制的:parse_response_content 在没有 tool_calls 时直接抛 InvalidAgentResponseError(one_shot.py:314-317),支持并行多工具调用(agent.py:405-421,OneShotAgentActionProposal.use_tools 字段)。
Platform:工具即”Block”——Pydantic Input/output_schema 类,带 id(UUID)、block_type、categories,经 initialize_blocks(data/block.py:21-77)与数据库同步供前端图构建器展示;约 62 个顶层 block 模块,含 Claude Code 和 OpenAI Codex CLI 的封装(作为可调用的图节点)。
Copilot:BaseTool(tools/base.py)——OpenAI function-calling schema 导出(as_openai_tool)、requires_auth/is_available 门控,以及一个大输出转存 workspace 文件的模式:超过 80KB 的输出被持久化到 workspace 文件,替换为截断预览 + 明确的 “use read_workspace_file(…)” 检索指引返回给模型(tools/base.py:58-107),是刻意设计的上下文窗口保护机制。约 60 个具体工具,包括 decompose_goal.py、run_sub_session.py、create_agent.py/edit_agent.py/fix_agent.py(元能力:agent 构建/修复其他 agent)、run_mcp_tool.py(MCP 透传)、bash_exec.py、e2b_sandbox.py。
Prompt 设计(系统提示结构、动态组装)
Classic one-shot 系统提示(one_shot.py::build_system_prompt,161-202 行)由多部分拼装:intro(_generate_intro_prompt)→ 可选 OS 信息 → body_template(Constraints/Resources/Commands/Best-practices/Efficiency-Guidelines,含一个明确编号的 “Efficiency Guidelines” 段落,覆盖并行执行、完整代码不留 stub、根因调试、代码风格模仿、安全不泄密)→ Task framing → RESPONSE FORMAT(JSON schema 来自 OneShotAgentActionProposal.model_json_schema(),渲染为 TypeScript interface 形式,经 to_typescript_object_interface)。使用响应 prefill(response_prefill,如 '{\n "observations":')引导 JSON 输出,对 Anthropic 模型自动禁用(use_prefill = self.llm.provider_name != "anthropic",agent.py:599,已核实)。
每种替代 strategy(ReWOO、Reflexion、Plan-Execute、ToT、LATS、Multi-Agent-Debate)定义各自独立的 prompt 模板/配置类(如 multi_agent_debate.py:127-153 的 DEFAULT_PROPOSAL_INSTRUCTION)——prompt 设计明确是按策略可插拔的,不是单一固定模板。
Copilot:系统提示经 copilot/service.py::_build_system_prompt 构建,做过 Langfuse 缓存优化,并由多个可选的补充函数动态拼接后缀(build_builder_system_prompt_suffix、get_graphiti_supplement、get_sdk_supplement),依模式/会话状态而定;用户上下文注入用显式 <user_context> XML 标签包裹(Graphiti 记忆用 <memory_context>),且会先剥离用户输入中出现的这些标签以防提示注入(service.py 中 USER_CONTEXT_TAG/MEMORY_CONTEXT_TAG 相关注释)。
Router / 编排(任务分解、多 agent、子 agent)
Classic:ExecutionContext(execution_context.py)——文件 docstring(1-11 行)明确引用 “Google ADK Multi-Agent Patterns” 与 “Anthropic Multi-Agent Research System” 作为设计参考。ResourceBudget(39-74 行,已核实):max_depth(默认 5)、max_sub_agents(25)、max_cycles_per_agent(50)、max_tokens_total;子 budget 继承 max_depth - 1,且子 agent 的 explicit_allow_rules 被清空(必须显式重新授权),但继承父级的 deny 规则。子 agent 文件存储写权限限制在 .sub_agents/{agent_id}/(clone_with_subroot/_create_child_storage,249-270 行)——对完整父 workspace 的只读访问尚未实现(代码注释 266-269 行自认这是已知简化)。DefaultAgentFactory.create_agent() 复用父级 execution_context 生成完整 Agent 实例;子 agent 强制 noninteractive_mode=True、continuous_mode=True。MultiAgentDebateStrategy 是一个具体消费者:经 PROPOSAL→CRITIQUE→REVISION→CONSENSUS→EXECUTION 五阶段派生 N 个(默认 3 个)辩论子 agent,带可配置 consensus_threshold。
Platform:编排即图本身(Block 组成的 DAG);AgentExecutorBlock(blocks/agent.py)让一个节点触发并等待整张子图执行(add_graph_execution),经 parent_execution_id 追踪——router 是图拓扑 + 这个递归 block,而非 LLM 规划步骤。
Copilot:decompose_goal.py(任务分解)与 run_sub_session.py/get_sub_session_result.py(子 agent 派生+轮询)——未完整读取具体调用签名,标记为后续待补。
Skill / 插件体系
Classic:SkillComponent(skill_component.py)明确实现”the open Agent Skills standard”,模块 docstring 第 7 行直接引用 https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview——即 AutoGPT 整体照搬了 Anthropic 的 SKILL.md 规范。三级渐进披露:Level 1 元数据始终在上下文中(约 100 token/skill,以目录形式展示,93-102 行);Level 2 完整 SKILL.md 内容在 load_skill 命令触发时加载(约 500-5000 token);Level 3 额外文件按需经 read_skill_file 加载。暴露命令:list_skills、load_skill、unload_skill、read_skill_file(仅在已加载 ≥1 个 skill 时才出现,126-132 行)。有 max_loaded_skills 上限(190-197 行,已核实)以约束上下文增长。Skill 目录:.autogpt/skills/(workspace 级)+ ~/.autogpt/skills/(用户全局级),在 Agent.__init__ 配置(agent.py:221-228)。
Classic 另有一个遗留 plugins/ 目录(classic/original_autogpt/plugins/),仅在目录列表中见到、未读取内容,推测是 SKILL.md 出现前的旧插件机制——标记为未探索的缺口。
Platform/Copilot:copilot/tools/skills.py(build_skills_context)+ CopilotPermissions.ToolName 中的 list_skills/read_skill/delete_skill 工具名——Copilot 也有 skill 概念,但走自己的工具注册表而非直接读 SKILL.md 文件(未完整读取,标记为后续待补)。
自进化能力(自我改进 / 学习型记忆 / eval 驱动纠错)
Classic:WatchdogComponent(watchdog.py,58 行,已完整读取)——每次动作解析完成后,若检测到 agent 重复上一 cycle 完全相同的 command+args,或未能指定任何命令,则回退上一个(未完成的)episode,将 big_brain 置为 True(FAST_LLM→SMART_LLM 升级做一次重新思考),并抛出 ComponentSystemError 强制重跑流水线——这是确定性、非 LLM 判断的自纠正触发器(循环/重复检测器,不是学习型信号)。ReflexionPromptStrategy(reflexion.py,模块 docstring 1-19 行)实现了发表版本的 Reflexion 模式(GENERATE→EXECUTE→REFLECT→RETRY),直接引用 arXiv:2303.11366(Reflexion)、arXiv:2303.17651(Self-Refine)、arXiv:2405.06682,声称”reflections stored in episodic memory for better future decisions”及”8 types of self-reflection”——这是最接近学习型/自适应改进循环的部分,但属于 prompt-strategy 级别(in-context,非权重更新)。
Platform/Copilot:copilot/eval/——一个”Dream-eval harness”(runner.py docstring,已完整读取)聚合 staleness suite(记忆精度/召回)与 cost_latency suite 为一个带版本号的 DreamEvalResult schema,明确设计为由外部实时集群 runner(“AgentProbe”)驱动——这是针对记忆系统质量(staleness/矛盾检测)的 CI/eval 驱动纠错基础设施,不是针对对话 agent 任务表现本身。copilot/dream/ 目录(nightly_batch.py、ratification.py、staleness.py,仅列出未深读)暗示存在夜间批处理任务对已存记忆做重新评估/“追认”——是最接近后台自维护循环的机制。data/block.py:85-100 中 Block 类上有一个从 DB 加载的 optimizedDescription 字段,暗示存在离线流程(copilot/optimize_blocks.py,未读取)对 block 描述做 LLM 重写以提升 agent 的选择准确率——是 eval 驱动的产物改进的一个具体实例,标记为后续待深读。
可观测性(日志 / trace 格式)
Classic:forge/logging/config.py——LogFormatName 枚举:simple、debug、structured_google_cloud(即支持面向云部署的 GCP 原生结构化 JSON 日志),console 与 file 可分别配置格式(log_format vs log_file_format),环境变量驱动(LOG_LEVEL、LOG_FORMAT、PLAIN_OUTPUT)。Sentry SDK 贯穿全代码(agent.py 中 import sentry_sdk,在工具报错时于 417、539 行捕获异常;telemetry.py——经 TELEMETRY_OPT_IN 环境变量选择性开启,若存在 .env 则首次运行交互式询问,DSN 硬编码,按工作树是否偏离 master 打 “production” vs “dev” 环境标签)。
Platform executor:逐节点 Sentry scope 标记(manager.py::execute_node,325-339 行)——每次 block 执行前设置 graph_id/node_id/block_name/block_id 及全部 execution_context 字段作为 Sentry tags,finally 中恢复原 scope;NodeExecutionStats/LogMetadata(逐节点累计 input_size/output_size 等执行统计)。
Copilot:OpenTelemetry(from opentelemetry import trace as otel_trace)+ Langfuse tracing(propagate_attributes)+ 专门针对 Claude Agent SDK 的 LangSmith 集成(from langsmith.integrations.claude_agent_sdk import configure_claude_agent_sdk)——三套独立 tracing 后端同时在 copilot/sdk/service.py 中接入。
安全与权限(审批门、密钥管理)
Classic:CommandPermissionManager(permissions.py,319 行,已完整读取)——分层检查顺序:agent-deny → workspace-deny → agent-allow → workspace-allow → session-denied-cache → 交互式提示。ApprovalScope 枚举:ONCE(不持久化)/ AGENT(持久化到 agent 自身权限文件)/ WORKSPACE(持久化,对 workspace 内所有 agent 生效)/ DENY。权限模式为 command_name(glob_pattern) 字符串,支持 {workspace} 占位符展开与 **/* glob→regex 转换(_pattern_matches,237-275 行);批准后模式会自动泛化(_generalize_pattern,277-318 行)——例如批准一次文件读取会泛化到父目录,批准一次 shell 命令会泛化到 executable:**。交互式审批 UI 在 main.py::prompt_permission(114-154 行),方向键 RichSelect,Once/Always-this-agent/Always-all-agents/Deny 四选项加自由文本反馈;拒绝会以 ActionInterruptedByHuman 反馈给 agent 而非静默失败(agent.py:462-476)。
Classic 的 shell/代码执行还有独立的一道 allow/deny 门:CodeExecutorConfiguration.shell_command_control("allowlist" 或 "denylist",code_executor.py:60-65),在 validate_command(283-307 行)中于权限管理器层之前先行检查——即这里叠了两道独立的门。
Copilot:CopilotPermissions(permissions.py,已读取头部/列表)——同样的 allow/deny-list 模式同时应用于工具和 block(一个 copilot 会话可限制它能调用哪些 Block),tools_exclude/blocks_exclude 标志决定黑名单还是白名单语义;关键点:递归/子 agent 调用只能与父级同等或更严格(merged_with_parent——工具集合取交集,block 权限经 _parent 链式查找)——与 classic 的 ResourceBudget.create_child_budget 遵循同一条”不可越权升级”原则。
密钥管理:classic 的 Sentry DSN 与 opt-in 流程是面向用户、需同意的(telemetry.py);LLM API key 经 ConfigBuilder.build_config_from_env 从 .env 加载(main.py:93),assert_config_has_required_llm_api_keys 缺失时快速失败(main.py:203)。
沙箱与执行隔离
Classic:Python 执行走 Docker 沙箱(code_executor.py::_run_python_code_in_docker,422-535 行)——为每个 agent 起一个(或复用/重建)python:3-alpine 容器({agent_id}_sandbox 命名+随机后缀避免并发 agent 冲突,85-97 行),把 agent workspace 以读写方式挂载到 /workspace,经 docker.exec_run 实际运行脚本,复用前总是先移除旧容器以避免挂载点残留(453-458 行)。若已经运行在 Docker 容器内(检测 /.dockerenv,we_are_running_in_a_docker_container)则直接 fallback 到 subprocess.run,避免 Docker-in-Docker。但 shell 命令(execute_shell/execute_shell_popen)直接经 subprocess.run/Popen 在宿主机上运行(不进容器),只靠 allow/denylist 门控——这是明显弱于 Python 代码路径的隔离边界,是一个值得单独标注的不对称设计。
Copilot:双重沙箱策略——bubblewrap(bwrap)用于本地/原生隔离(tools/sandbox.py,已读取头部),文件系统白名单(_SYSTEM_RO_BINDS = ["/usr","/etc"] 只读,仅 workspace 可写,网络完全阻断,针对 Debian-13 /bin→usr/bin 等符号链接兼容做了专门处理),仅 Linux 有效(macOS 上 has_full_sandbox() 恒为 False);以及 e2b(tools/e2b_sandbox.py,未完整读取,但引用了 get_or_create_sandbox、pause_sandbox_direct)用于远程/云端沙箱代码执行,推测在 bubblewrap 不可用时(如 macOS 开发环境)或需要更强隔离的生产场景使用。Workspace 路径消毒(make_session_path,sandbox.py:47-70)显式防路径穿越,用了 CodeQL 可识别的 normpath+startswith 检查模式。
Platform:在已读文件范围内未发现图引擎层面的通用沙箱代码执行机制(block 大多是类型化 API/集成封装);backend/blocks/ 下有 code_executor.py/code_executor_helpers.py(仅见于目录列表,未读取),大概率是包装类似 Docker/e2b 执行的 Block,标记为后续待补。
与模型的协同设计
Classic:use_prefill 开关专门对 Anthropic 模型禁用(self.llm.provider_name != "anthropic",agent.py:599,已核实)——承认 Anthropic API 不支持/不希望 OpenAI 风格 JSON-mode 那样的响应 prefill 用法。thinking_budget_tokens/reasoning_effort 参数一路透传到 create_chat_completion(agent.py:347-365)——模型专属的推理强度/扩展思考控制在 AppConfig 层暴露、直传给 provider。parse_response_content 中有针对”部分模型(如 GPT-5)返回 tool_calls 但无文本内容”的显式兼容处理(one_shot.py:278-298)——直接证据表明代码在适配特定模型 API 形状的怪癖。_make_result_messages(action_history.py:141-227)明确注释”both Anthropic and OpenAI require tool_use to be followed by tool_result”,为每个并行工具调用单独构造一条 ToolResultMessage 以满足两家 provider 的这一约束。
Copilot:架构上专门耦合 Claude——直接构建于 claude_agent_sdk(Anthropic 自家 SDK)之上,resolve_chat_model docstring 明确写”the Claude Agent SDK CLI refuses non-Anthropic endpoints”(copilot/service.py:53-66)——即”高级”SDK 路径按设计只支持 Anthropic,另有一条独立的”baseline”(非 SDK,普通 OpenAI 兼容 chat-completions)代码路径专门用于支持非 Anthropic 模型。这是一个完全由模型/provider 协同设计约束驱动的双层架构决策。
轨迹利用(session/trajectory 是否反哺训练/评测)
Copilot 的 transcript.py(1606 行,函数签名级读取)是具体的轨迹持久化层:上传/下载完整会话 transcript(Claude Agent SDK 自身的 JSONL transcript 格式,佐证见 _is_anthropic_model、_should_strip_thinking_block、_flatten_assistant_content 等辅助函数,1094-1259 行),复用前剥离过期 thinking-block 与进度条目(strip_progress_entries、strip_stale_thinking_blocks、strip_for_upload),检测并回填持久化 transcript 与恢复中的实时会话之间的”gap”(detect_gap/fill_hole_between_transcript_and_gap,905-1008 行),并对长 transcript 做压缩(compact_transcript、_run_compression,1354-1568 行)——就已读代码来看,这主要服务于会话连续性/上下文管理,而非明确的训练/评测反馈管线。
copilot/eval/ 的”Dream-eval harness”(见”自进化能力”节)是最接近轨迹反哺评测循环的机制,但它评估的是记忆子系统的 staleness/precision,数据来自外部的”AgentProbe” runner,而非通用的 trajectory→RL/微调管线。
在已读文件范围内未发现轨迹被用作 SFT/RLHF 训练数据的证据——若确实存在,大概率位于私有训练仓库而非本公开仓库,此处如实记录为”本仓库中未发现”而非断言不存在。copilot/dream/nightly_batch.py + ratification.py(仅列出、未完整读取)暗示存在对已存记忆做重新评估/“追认”的夜间批处理,若后续 dossier 需要深挖轨迹复用可作为待读项。
与同类 harness 的关键差异(1-3 条,可以先留一句概述,后续 synthesis 阶段会做跨 harness 对比)
- AutoGPT 是本轮调研中少见的”一仓三态”案例:同一仓库并存 ReAct 单体循环(classic)、纯图执行引擎(Platform)、寄生于 Claude Agent SDK 的对话 Copilot——三者的”agent loop”定义完全不同,跨 harness 对比时不能笼统引用”AutoGPT 的循环”。
- Classic 的
SkillComponent是本轮调研中对 Anthropic SKILL.md 规范采用得最彻底、最显式的实现之一(模块 docstring 直接引用官方文档链接),三级渐进披露与官方标准高度一致。 - Classic 的沙箱设计存在明显不对称:Python 执行走 Docker 容器,但 shell 命令直接在宿主机
subprocess执行、仅靠 allow/denylist 门控——是一个值得在跨 harness 安全对比中点名的弱隔离案例。
原始源码定位
- repo: https://github.com/Significant-Gravitas/AutoGPT
- commit/version analyzed:
e2711b1748bdc3fe702ab4e44c6a11df98458c53(HEAD,commit date 2026-06-25,shallow clone + fetch 于 2026-07-07) - 关键文件列表(相对 repo 根目录):
classic/README.mdclassic/original_autogpt/autogpt/agents/agent.pyclassic/original_autogpt/autogpt/app/main.pyclassic/original_autogpt/autogpt/agent_factory/default_factory.pyclassic/original_autogpt/autogpt/agents/prompt_strategies/one_shot.pyclassic/original_autogpt/autogpt/agents/prompt_strategies/multi_agent_debate.pyclassic/original_autogpt/autogpt/agents/prompt_strategies/reflexion.pyclassic/original_autogpt/autogpt/agents/prompt_strategies/{plan_execute,rewoo,tree_of_thoughts,lats}.py(仅确认体量,未逐行读)classic/original_autogpt/autogpt/app/telemetry.pyclassic/forge/forge/agent/execution_context.pyclassic/forge/forge/permissions.pyclassic/forge/forge/components/action_history/action_history.pyclassic/forge/forge/components/action_history/model.pyclassic/forge/forge/components/watchdog/watchdog.pyclassic/forge/forge/components/code_executor/code_executor.pyclassic/forge/forge/components/skills/skill_component.pyclassic/forge/forge/command/command.pyclassic/forge/forge/logging/config.pyclassic/forge/forge/agent_protocol/models/task.pydocs/content/index.mdautogpt_platform/backend/backend/executor/manager.pyautogpt_platform/backend/backend/blocks/agent.pyautogpt_platform/backend/backend/data/block.pyautogpt_platform/backend/backend/copilot/service.pyautogpt_platform/backend/backend/copilot/sdk/service.pyautogpt_platform/backend/backend/copilot/tools/base.pyautogpt_platform/backend/backend/copilot/permissions.pyautogpt_platform/backend/backend/copilot/tools/sandbox.pyautogpt_platform/backend/backend/copilot/graphiti/memory_model.pyautogpt_platform/backend/backend/copilot/eval/runner.pyautogpt_platform/backend/backend/copilot/transcript.pyautogpt_platform/backend/backend/copilot/bot/README.md
- 未读/待补跟进项:
classic/original_autogpt/plugins/(旧插件机制)、copilot/optimize_blocks.py(LLM 驱动的 block 描述优化器)、copilot/tools/skills.py(Copilot 侧 skill 实现细节)、copilot/tools/e2b_sandbox.py(完整实现)、backend/blocks/code_executor.py(Platform 侧代码执行 Block)
一手源存档(sources/)
/Users/zhao/projects/self-wiki/ai-research/sources/harness/autogpt/ 下存档文件:
NOTES.md— 完整调研笔记(含全部文件/行号引用)classic/README.mdclassic/action_history_component.pyclassic/action_history_model.pyclassic/agent.pyclassic/code_executor.pyclassic/default_agent_factory.pyclassic/execution_context.pyclassic/main.pyclassic/one_shot_prompt_strategy.pyclassic/permissions.pyclassic/skill_component.pyclassic/watchdog.pyplatform/agent_executor_block.pyplatform/copilot_bot_README.mdplatform/copilot_memory_model.pyplatform/copilot_permissions.pyplatform/copilot_sandbox.pyplatform/docs_index.md