经典 AutoGPT 与 Forge
回到 2023 那个引爆"自主 AI 智能体"热潮的原始 AutoGPT。读 classic/ 的 think→plan→act 循环和 Forge 框架——理解整个 Agent 领域的来路。
👶 小白:经典 AutoGPT 当年那么火,为什么反而被"退役"、团队转去做平台?
👨🏫 老师:正因为它是个"自言自语的独行侠"——给个目标就自己 think/plan/act 一路狂奔。问题是不可控:会跑偏、会陷入死循环、会把 token(钱)烧光还给你编数据,没法交给企业用于生产。于是团队把"一个人放飞"改成"你搭好流水线、AI 只在每个工位上发挥"的工厂(平台)。这正好呼应 Day 01:整个行业都在从"炫技的放飞"走向"可靠的工程化"。
回到 2023
classic/original_autogpt/README.md:1 原文:"AutoGPT is an experimental open-source application... driven by GPT-4, chains together LLM 'thoughts', to autonomously achieve whatever goal you set. As one of the first examples of GPT-4 running fully autonomously..."
classic/README.md:6 明确它已停止维护、建议用 Platform。think → plan → act 循环
经典 AutoGPT 的核心是一个自主循环(classic/README.md:13 概括):
web_search("扫地机器人 品牌 排名") → Observe 得到一串品牌名。第 2 轮 · Think「挑 3 家,逐个查参数」→ Act
browse_website(品牌A官网) → Observe 抓到价格/吸力。第 3 轮 · …重复查 B、C… → 第 N 轮 · Think「资料齐了」→ Act
write_file("对比.md") → 目标达成,结束循环。全程没人逐步指挥——每一轮都是 LLM 自己看着上一轮的结果决定下一步。这就是
cycle_count 在数的东西。Agent 循环源码
while 循环:每轮把"目标 + 历史观察"塞进 prompt → LLM 吐出"下一步动作" → 代码真的去执行工具 → 把结果喂回下一轮。cycle_count += 1(agent.py:337)就是这个循环在计数。是"循环 + 工具执行 + 把结果回灌"这层外壳,把一次性的 LLM 变成了能持续行动的 Agent。这正是后来所有 Agent 框架的共同内核。classic/original_autogpt/autogpt/agents/agent.py 的 Agent 类(:128)体现循环:
# propose_action (agent.py:266):收集 directives、准备消息、构建 prompt、
# 调 LLM complete_and_parse 得出下一步动作,cycle_count += 1(:337 —— "循环"计数!)
# execute (agent.py:373):执行 LLM 选定的工具/命令
# (支持并行执行多工具 _execute_tools_parallel, :499)
cycle_count += 1(:337)——这个"循环计数"就是自主循环的字面证据。propose_action(想下一步)+ execute(做)反复交替。和现代框架比,它更"放飞"——LLM 决定每一步该干什么,没有预定义的图/流程约束。complete_and_parse 把 LLM 的自由文本输出解析成结构化动作——和 CrewAI 的 parser(Day 07)一个道理。组件化 pipeline
经典 AutoGPT 后期用了组件化设计(run_pipeline)——SystemComponent、DirectiveProvider(提供 resources/constraints/best_practices)、CommandProvider(提供可用命令)、MessageProvider,还有 prompt 策略如 TreeOfThoughtsPromptStrategy、plan_execute、ReWOO。
TreeOfThoughts(思维树,探索多条推理路径)、ReWOO(推理与观察分离)——都是当时前沿的"如何让 LLM 更好地规划"的技巧。经典 AutoGPT 是这些 Agent 提示词技巧的试验场。组件化(把 directives/commands/messages 拆成可插拔组件)则是为了让 Agent 行为可定制——这个思想后来演化成了 Platform 的 Block(更彻底的组件化)。Forge 框架
classic/forge/ 是"造 Agent 的脚手架框架"(README.md:155):"a ready-to-go toolkit to build your own agent application. It handles most of the boilerplate code..."。目录含 agent/、agent_protocol/、command/、components/、llm/、file_storage/、permissions.py。
agbenchmark(基准测试)——目标是让"造 Agent"标准化、可评测。它是早期"Agent 框架"的探索之一。虽然现在停维护了,但它验证了很多想法(组件化、Agent 协议、基准评测),这些想法在后来的框架(包括 AutoGPT Platform、你学过的 eino/CrewAI)里都能看到影子。Forge 是那个"人人都想造 Agent 框架"年代的产物。权限沙箱
经典 AutoGPT 的 Agent 在 workspace 沙箱中运行,有分层权限系统 allow/deny(classic/README.md:114)——默认拒绝 .env、sudo、rm -rf 等危险操作。
rm -rf?),经典 AutoGPT 就有了 workspace 沙箱 + 权限系统。这正是 OpenHands(Day 09/17 的沙箱、Day 17 的纵深防御)继承并发扬的思路。不过经典版的隔离没那么严——classic/README.md:182 明确说"该代码有已知漏洞、仅供学习"。"能自主执行的 AI 必须被沙箱和权限约束"——这个教训从 AutoGPT 诞生起就存在,一直贯穿到今天所有 Agent 系统。为什么它转型了(呼应 Day 01)
经典 AutoGPT 的核心问题:全自主 = 不可控。它经常:跑偏(理解错目标)、陷入循环(反复做无用功)、烧钱(每轮都调 GPT-4)、结果不可靠。demo 惊艳,但难以用于真实生产。
今日小结 + 动手
🧠 今天你应该能回答
- 经典 AutoGPT 2023 年为什么震撼?"fully autonomously"什么意思?
- think→plan→act 循环和现代框架的循环什么关系?
- 经典版和 Platform 在"控制"上的本质区别?
- Forge 是什么?历史地位?
- 为什么"全自主"难以生产化?整个行业怎么觉悟的?
✋ 动手:读起源代码
cat classic/original_autogpt/README.md | head -20
grep -n 'cycle_count\|def propose_action\|def execute' \
classic/original_autogpt/autogpt/agents/agent.py
ls classic/forge/forge/
sed -n '114,180p' classic/README.md # 权限系统