agentscope-ai / agentscope-ai/agentscope-java

[Feature]: subagent-inherit-parent-context

未關閉
#1,912 3 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
area/core/agent enhancement
主要語言
Java
星號
5.6k
分支
1.3k
平均合併
4 天 12 小時
30 天內合併 PR
77

描述

fix(harness): inherit parent business context into spawned subagents

Problem: When a subagent is spawned, DefaultAgentManager.invokeAgent / invokeAgentStream build a fresh RuntimeContext carrying only (sessionId, userId). The parent's custom typed/string attributes —
request-scoped business POJOs injected via RuntimeContext.put(Class, …) — are dropped. Tools relying on framework auto-injection of those POJOs (non-@ToolParam params resolved by ToolMethodInvoker →
RuntimeContext.get(Class)) therefore receive null inside a spawned subagent, though they work on the main agent. Only userId is propagated today.

Fix: invokeAgent/invokeAgentStream gain an overload taking an optional parentRc; the child RC is built via RuntimeContext.builder().from(parentRc) then overlaid with the child's own sessionId/userId.
AgentState is rebound per-call in beforeAgentExecution, so carrying the parent's reference is harmless. AgentSpawnTool forwards the parent RC on both sync (execLocalSync) and async (task) paths. Old
signatures preserved (parentRc = null) → backward compatible.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。