主会话别被调研淹没:同步 `Agent` 子代理
系列回顾主循环 · 代码库工具 · REPL · 项目上下文 · Skills · 权限 Write · MCP 概念 · MCP 实现 · Context Budget · Bash · compact 2.0 · autocompact · Hooks · Memory主会话一路 Read / Grep / Bash细节全堆进messages[]——下一轮还要带着这些噪音继续聊。人会说「你去旁边查一下回来只告诉我结论。」这篇讲v6-subagents内置Agent工具同步嵌套一次query()子任务用独立消息列表跑完只把摘要塞回父会话的tool_result——父循环骨架仍是原来的 ReAct。为什么需要「旁边那间屋」主会话适合定目标、做决策、改代码。不适合一次性扫半个仓库、跑一长串探索工具却把每一步轨迹永久留在父历史里。主会话自己干Agent子代理消息历史写进QueryEngine.messages独立数组不写回父回给主模型的整段 tool 轨迹末条 assistant 文本摘要上下文污染高低费用/延迟少一次嵌套多一次完整子循环所以子代理不是「另一个产品」而是同一套query()换一间干净房间干完只交报告。工具长什么样Agent({description:Find auth entrypoints,// 必填3–5 词短描述TRACE / 状态prompt:在仓库里找出登录相关入口文件只列路径与一句理由。,// 必填子任务全文tool_names:[Glob,Grep,Read],// 可选子工具白名单})字段必填作用description是给人看的短标签不当子推理正文prompt是子会话的第一条 user 消息tool_names否白名单缺省 父工具表去掉Agent后的全部父侧tool_result成功时大致是[Agent: Find auth entrypoints] src/auth/login.ts — 登录表单入口 …中间子工具的tool_use/tool_result不会进入父messages。一张图嵌套怎么跑父 querydepth0 → 模型 tool_use: Agent → AgentTool.call → createSubagentContextdepth1新 AbortController 链到父 → toolsForSubagent去掉 Agent可选白名单 → 嵌套 query({ messages: [prompt], depth: 1, … }) → 子自己 ReActcallModel → 工具 → … → 取最后一条 assistant 的 text≤32KB超长留尾 → 父 tool_result [Agent: description] 摘要 → 父继续下一轮对应实现src/tools/AgentTool.tssrc/utils/subagent.ts。防递归两道闸子代理若还能再调Agent就会无限套娃。mini 用双保险子工具池排除AgenttoolsForSubagentdepth上限默认 1父为 0 时可 spawn depth1已在 depth≥1 再调 → 直接错误tool_result不启嵌套depth 0主会话──Agent──▶ depth 1子 └── 再 Agent→ 拒绝 / 池子里根本没有depth与 Stop hooks共用同一语义只有depth 0跑 Stop子代理收尾不跑 Stop也不做单独的SubagentStop。权限、中止、失败主题行为权限默认复用父canUseTool父 deny 对子生效写操作仍可能弹 REPLy/NAbort子有独立AbortController但链到父父中止 → 子中止失败异常 /aborted/ 无文本 → 父侧is_error的tool_resultfail-soft不炸主循环Compact子用同一套 deps子历史独立不写回父 EngineAgent标成非只读、非并发安全派生子任务有副作用与串行成本不跟只读工具抢并发。和 Skills / Memory / Hooks 怎么区分机制一句话Skills往主会话注入说明书仍在同一 messagesMemorysystem 里跨会话偏好Hooks工具前后拦 / 记Stop 只在顶层Agent另开一轮嵌套 query只交摘要Skills 是「给当前大脑多读一页纸」Agent 是「派一个实习生去查回来交纪要」。30 秒感受一下bun run dev# 或 mock需能走到真实工具时再试 Agent自然语言示例用 Agent 工具在仓库里找与 MCP 配置相关的文件只返回路径列表。 description 用 Locate MCP config。TRACE1时 stderr[trace] agent.start descriptionLocate MCP config depth1 [trace] agent.end descriptionLocate MCP config oktrue reasoncompleted和主循环的关系L1 主 query / QueryEngine → 照旧Agent 只是多一个 Tool L2 AgentTool.call → 嵌套 query独立 messages L3 createSubagentContext → depth1、abort 链、工具池裁剪 L4 摘要回传 → 父 tool_result子轨迹不进父历史子代理复用query()不另写一套循环隔离的是消息列表与深度不是换引擎。刻意没做什么没做意味着什么swarm / 多 worker / Coordinator一次一个同步子任务worktree / 后台 fork子跑完才回父无并行隔离目录subagent_type命名 agent 目录不按角色配置多套 agentSubagentStop子收尾不跑 Stop顶层 Stop 另算完整 resume UI / 换模型字段入参只有 description / prompt / tool_names这一刀验证的是「隔离调研」的最小面Agent 工具 → 嵌套 query → depth≤1 排除 Agent → 权限派生 → 摘要回父 → TRACE 可观测系列拼图篇能力主循环单会话 ReActcompact / Memory主会话怎么瘦、怎么记住Hooks工具生命周期本篇旁路子任务结论回传Harness 再多一根柱子循环、工具、会话、上下文、技能、权限、MCP、预算、hooks、memory、subagent。你可以从这里带走什么子代理 嵌套query() 独立 messages——不是新框架。父只要摘要——中间工具轨迹留在子会话里。防递归靠池子 depth——去掉Agent且默认 maxDepth1。权限与中止要继承——派生canUseToolabort 链到父。depth 是全局语义——顶层才 Stop子不跑 Stop。失败 fail-soft——错误进父tool_result主循环继续。仓库与相关文档GitHubhttps://github.com/jimchou-h/react-agent-mini上一篇Memory源码AgentTool.ts · subagent.ts术语src/tools/CONTEXT.md欢迎 Star、Issue 和 PR。本文基于 react-agent-mini 变更v6-subagents同步Agent工具 depth/防递归 摘要回传撰写。

相关新闻

A-59U双通道独立拾音的串音抑制与分离度指标解读

A-59U双通道独立拾音的串音抑制与分离度指标解读

一、一个容易被指标表掩盖的问题A-59U 支持双麦双波束模式,两路波束各自输出到独立声道。规格上写得很清楚:双通道、独立定向、互不干扰。但在实际项目里,"互不干扰"这四个字究竟对应多少 dB,规格书往往不给。工程上真正…

2026/8/3 0:57:51 阅读更多
Kairos05:全局门控线性注意力(GLA)数学推导

Kairos05:全局门控线性注意力(GLA)数学推导

从注意力到动态记忆:高中生也能看懂的 Kairos 门控线性注意力(GLA)数学推导 一、先用一句话理解 GLA Kairos 使用 门控线性注意力(Gated Linear Attention, GLA) 来维护长期信息。 它可以被理解为一块固定大小的“动态记忆板”: 每当新信息到来,模型先查看记忆中原来…

2026/8/3 1:47:54 阅读更多
RFID资产管理系统到底好不好用?真实测评来了

RFID资产管理系统到底好不好用?真实测评来了

很多企业在做资产数字化升级时,都会纠结同一个问题:要不要上RFID资产管理系统?大部分推广内容,都在强调“智能化、自动化、高效率”,但对于企业管理者、行政负责人来说,大家真正关心的核心问题其实只有一个…

2026/8/3 1:47:54 阅读更多
英硕开题报告辅导避坑指南,新手必看!

英硕开题报告辅导避坑指南,新手必看!

英硕开题报告辅导避坑指南,新手必看! 嘿,新手们!准备申请英硕或者正在攻读英硕的你们,开题报告这一关肯定是绕不开的。一份优质的开题报告不仅能为你的研究指明方向,更是后续论文顺利开展的基石。不过&…

2026/8/3 1:37:54 阅读更多
3分钟搞定!QQ空间历史说说完整备份终极指南

3分钟搞定!QQ空间历史说说完整备份终极指南

3分钟搞定!QQ空间历史说说完整备份终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想过,那些年发过的QQ空间说说,那些记录青春的文字…

2026/8/2 0:04:01 阅读更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是应用材料(Applied Materials)公司生产的一款用于半导体设备的I/O信号分配电路板。该型号(0100-02186)的核心特点如下:专用于Endura等半导体工艺腔室。集成信号路由与分配功能。连接控制…

2026/8/2 2:51:21 阅读更多
Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机

Nissei Corp FFMN-32L-10-T0 40AX 三相异步电动机是日本日清(Nissei)品牌的一款工业用三相异步电机,适用于自动化设备及通用机械驱动。该型号(FFMN-32L-10-T0 40AX)的核心特点如下:三相交流异步电动机。额定…

2026/8/2 2:52:49 阅读更多