agentscope-ai / agentscope-ai/agentscope-java

[Feature]: subagent-inherit-parent-context

Aperta
#1,912 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area/core/agent enhancement
Lingua principale
Java
Stelle
5.6k
Fork
1.3k
Merge medio
4g 12h
PR unite (30g)
77

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.