ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

用forkd给思考中的Agent分叉:LangGraph ReAct BRANCH扇出Demo完整复现

用forkd给思考中的Agent分叉:LangGraph ReAct BRANCH扇出Demo完整复现 用forkd给思考中的Agent分叉LangGraph ReAct BRANCH扇出Demo完整复现【免费下载链接】forkd高性能Agent沙箱预热虚拟机可以在约 100 毫秒内派生出 100 个独立实例运行过程中约 150 毫秒“分叉”出一个新的运行环境。底层使用 KVM 隔离并利用快照写时复制降低资源开销。项目地址: https://gitcode.com/deeplethe/forkdforkd 是一个专为 AI Agent 设计的高性能微虚拟机microVM沙箱运行时基于 KVM 隔离 快照 写时复制CoW构建预热后的虚拟机约 100 毫秒即可派生 100 个独立实例而运行中的沙箱还能通过BRANCH原语在约 150 毫秒内分叉出一个新的运行环境。本文带你完整复现仓库中最有说服力的 Demo——在 Agent 思考到一半时对它执行 BRANCH扇出 3 个孙子沙箱让同一份认知状态走出 3 种不同的结论。BRANCH 是什么给思考中的 Agent拍一张思维快照传统沙箱只能从零冷启动一个环境而 forkd 的 BRANCH 可以把一个正在运行的 Agent 暂停、把它的完整内存 虚拟机状态快照成新 tag、再立刻恢复运行。整个过程对沙箱内的 Agent 几乎无感官方基准中 v0.4 live 模式 p50 暂停窗口仅 56 ms。本 Demo 的流程可以概括为源 Agent 加载上下文 → 跑 2 步 ReAct查天气 搜地点 │ POST /v1/sandboxes/:id/branch ┌────┴────┬────────┐ ▼ ▼ ▼ 子Agent A 子Agent B 子Agent C 提示: 提示: 提示: 求全 极简 省钱 三者继承同一份认知状态对话历史、工具结果、Python 内存 只有下一步思考被各自不同的提示hint引导关键点在于分叉后每个子 Agent 通过读取/tmp/forkd-hint.txt里的提示文件被导向不同的决策——它们继承父 Agent 的全部上下文却在下一步想法上分道扬镳。这是状态型 Agent 上的投机式并行探索最廉价的忠实模型。复现准备forkd 沙箱环境一键搭建1. 安装 forkd 并体检。forkd 提供 Python SDKpip install forkd运行forkd doctor会自动探测 KVM、userfaultfd等前置条件pip install forkd forkd doctor2. 克隆仓库获取 recipes 目录Demo 脚本与真实结果都在仓库内git clone https://gitcode.com/deeplethe/forkd3. 构建父镜像并创建快照。官方配方基于python:3.12-slim安装依赖约 5 分钟再通过守护进程的POST /v1/snapshots打成名为langgraph的快照。这一步只需做一次之后所有扇出都从这个热快照起步。Demo 六步跑通从快照到扇出 3 个子 Agent完整流程由 demo.sh 编排手动理解的话就是 6 步拉起源沙箱POST /v1/sandboxes从langgraph快照派生 1 个源实例每个子沙箱独立网络命名空间。后台启动 Agent通过 exec API 在沙箱内运行 agent.py——一个标准 ReAct 循环配备weather与search_places两个确定性合成工具见 tools.py。等待分叉信号Agent 跑完 2 步后打印ready_to_branch标记并睡眠 45 秒给宿主机留出分叉窗口。执行 BRANCHPOST /v1/sandboxes/:id/branch守护进程暂停源、落盘内存镜像、恢复源返回pause_ms。该接口的完整参数mode: full/diff/live、wait见 docs/API.md。扇出 3 个孙沙箱从新 tag 一次性n3派生各自继承暂停中的 Agent 进程再分别写入不同提示求全thorough、极简minimal、省钱cost。收集对比等 4 份运行轨迹transcript落盘summarize.py 自动生成并排对比表。跑完后所有产物写入results/时间戳/包含 4 份 JSONL 轨迹、branch.json与summary.md。真实结果对比同一份认知状态三种迥异的行程仓库提交了真实硬件上的两轮完整运行最新一轮DeepSeek-V3记录在 results-2026-05-18/核心数据指标数值BRANCH 暂停窗口4007 msSATA SSD 存储tmpfs 下为163 ms源内存镜像513 MiB扇出孙沙箱数3网络重试0 次Agent 对暂停无感知0 超时 0 报错单 Agent Token 消耗1395–1546任务让 4 个 Agent 规划京都 大阪两日游。最精彩的分叉点父 Agent无提示对照组把锦市场Nishiki Market排进第一天下午而 3 个带提示的子 Agent 不约而同地把它替换成了免费的岚山竹林——没人告诉模型删掉锦市场是提示驱动的自主重排。省钱版更进一步主动给餐饮点标注了may be pricey警告并附了成本优化脚注。完整的四份行程并排对比见 results-2026-05-18/summary.md。暂停窗口有多快BRANCH 与派生性能一览为什么值得折腾 BRANCH看两张基准图就明白了。第一张是派生 100 个导入 numpy 的沙箱的墙钟时间对比forkd 以 101 ms 完胜 Firecracker 冷启动759 ms与 Docker335 s差距接近三个数量级——这正是扇出 3 个、30 个、300 个子 Agent 时成本几乎可忽略的原因。第二张是 BRANCH 的源暂停窗口随内存规模的变化v0.3 引入 Diff 快照后4 GiB 内存源的暂停从 29.3 s 压到 205 ms143 倍且基本不随内存增长——Agent 思考到一半的分叉代价可控在亚秒级。更多测量细节可查阅 bench/pause-window/RESULTS-v0.2.md。关键文件与延伸阅读文件作用recipes/langgraph-react/README.md配方设计说明提示侧信道原理、LLM 供应商选型recipes/langgraph-react/agent.py沙箱内运行的 ReAct Agent每步读取 hint 文件recipes/langgraph-react/demo.sh宿主机编排脚本spawn → branch → 扇出 → 收集recipes/langgraph-react/results-2026-05-18/真实运行结果4 份轨迹 对比总结docs/API.md完整 HTTP API 参考含 BRANCH 端点全部参数docs/RUNBOOK.md生产环境部署与运维手册注意本 Demo 的价值在 BRANCH 原语本身而非 LLM 推理速度即使 temperature0不同运行间的模型输出仍会有波动官方只保证提示可复现。想换 OpenAI 兼容的任意模型只需改一行base_url。把冷启动 30 秒变成分叉 150 毫秒再让 3 个分身带着你的思路各奔东西——这就是 forkd 给 Agent 基础设施带来的新玩法。【免费下载链接】forkd高性能Agent沙箱预热虚拟机可以在约 100 毫秒内派生出 100 个独立实例运行过程中约 150 毫秒“分叉”出一个新的运行环境。底层使用 KVM 隔离并利用快照写时复制降低资源开销。项目地址: https://gitcode.com/deeplethe/forkd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表