Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Subagents

Delegeer gericht werk van de ene agent naar geïsoleerde child agent-runs.

Subagents stellen een LibreChat Agent in staat om een geïsoleerde child run te starten voor gericht werk. De child agent krijgt zijn eigen contextvenster en tool-uitvoeringsstroom. De parent ontvangt het resultaat van de child zonder elke tussenliggende tool call, trace of uitgebreide bestandsbewerking in zijn eigen context op te nemen.

Gebruik subagents voor:

  • Onderzoek subtaken die lange tussenresultaten kunnen genereren
  • Beoordelingsrondes met een gespecialiseerde agent
  • Tool-intensief werk dat buiten de bovenliggende context moet blijven
  • Decompositie in parallelle stijl waarbij de ouder coördineert en samenvat

Hoe Subagents verschillen van Agent Chain

Agent Chain bouwt een multi-agent graaf waarbij agents resultaten doorgeven via geconfigureerde ketenstappen. Subagents worden door een agent aangemaakt als een tool call tijdens een run.

  • Agent Chain: workflow voor multi-agents op graaf-niveau
  • Subagents: runtime delegatie van een parent agent naar geïsoleerde child runs

Beide kunnen bestaande agents gebruiken, maar subagents zijn ontworpen voor gedelegeerde taken binnen de redeneerlus van een enkele agent.

De functionaliteit inschakelen

De subagents functionaliteit is standaard ingeschakeld. Beheerders kunnen deze verwijderen uit de lijst met mogelijkheden van het agents endpoint om de functie uit te schakelen.

endpoints:
  agents:
    capabilities:
      - 'deferred_tools'
      - 'execute_code'
      - 'file_search'
      - 'web_search'
      - 'artifacts'
      - 'subagents'
      - 'actions'
      - 'context'
      - 'skills'
      - 'tools'
      - 'chain'
      - 'ocr'

Een Agent configureren

Open in de Agent Builder Advanced Settings en schakel Subagents in.

Beschikbare instellingen:

  • Subagents inschakelen: voegt de subagent spawn-tool toe aan de agent.
  • Allow self-spawn: laat de agent een nieuwe kopie van zichzelf aanmaken in een geïsoleerde context. Dit is standaard ingeschakeld wanneer subagents zijn ingeschakeld.
  • Aanvullende subagents: selecteert specifieke agents die de parent mag aanmaken.

Gelijkwaardige agentvorm:

subagents:
  enabled: true
  allowSelf: true
  agent_ids:
    - 'agent_researcher'
    - 'agent_reviewer'

Een Model Spec configureren

Admins kunnen ook Subagents inschakelen voor tijdelijke agents die zijn aangemaakt vanuit een Model Specs. Dit is handig wanneer een Model Specs zich moet gedragen als een gefocust agentprofiel, zonder dat gebruikers een blijvende bovenliggende agent hoeven aan te maken of te selecteren.

modelSpecs:
  list:
    - name: 'research-assistant'
      label: 'Research Assistant'
      subagents:
        enabled: true
        allowSelf: true
        agent_ids: []
      preset:
        endpoint: 'agents'
        model: 'gpt-4o'

Alleen enabled en allowSelf worden naar clients verzonden in de opstartconfiguratie. De agent_ids allowlist blijft aan de serverzijde en wordt gevalideerd tegen de gedeelde MAX_SUBAGENTS limiet. Client-request payloads kunnen de Model Specs Subagent-configuratie niet leveren of overschrijven.

Runtime Gedrag

Wanneer subagents zijn ingeschakeld, ontvangt de parent agent een subagent tool. De tool kan het volgende aanmaken:

  • self, wanneer allowSelf niet false is
  • Elke geconfigureerde onderliggende agent in agent_ids

Child agents draaien met een geïsoleerde context. De tool-search status van de parent en de verzamelde context worden niet gekopieerd naar de child run. Het modelgebruik van de child run wordt gefactureerd in de parent-transactie en opgenomen in de gebruikstotalen van de parent. De UI toont de child run als een uitklapbaar agent-activiteitsonderdeel met status, ticker-updates en het eindresultaat.

Limieten

LibreChat dwingt deze limieten af om subagent-grafen begrensd te houden:

KeyTypeDescriptionExample
MAX_SUBAGENTSNumberMaximaal aantal expliciete subagents per bovenliggende agent.10
MAX_SUBAGENT_DEPTHNumberMaximaal aantal expliciete subagent-hops vanaf een root-agent.5
MAX_SUBAGENT_GRAPH_NODESNumberMaximaal aantal unieke expliciete subagent-doelen geladen tijdens runtime.50
MAX_SUBAGENT_RUN_CONFIGSNumberMaximaal aantal uitgebreide subagent-configuraties ingebed in één run-verzoek.100

Toegangscontrole

Geconfigureerde child agents moeten zichtbaar zijn voor de gebruiker. Als de gebruiker geen weergavetoegang heeft tot een verwezen agent, slaat LibreChat die subagent over. Voor aanmaak- en updateverzoeken worden ongeldige of ongeautoriseerde subagents.agent_ids vermeldingen geweigerd.

Ontwerptips

  • Schakel self-spawn in wanneer de bovenliggende agent al goed is afgebakend en enkel een nieuwe context nodig heeft voor een deeltaak.
  • Voeg specifieke child agents toe wanneer de taak een ander model, instructieset, toolset of skill allowlist vereist.
  • Houd beschrijvingen van kinderen duidelijk. De ouder gebruikt de naam en beschrijving van elk kind om het juiste delegatiedoel te kiezen.
  • Gebruik subagents voor tussenliggend werk dat een compact resultaat moet opleveren, niet voor permanente overdrachten naar een ander gespreksverloop.

Hoe is deze gids?