Nanobot

Nanobot’s multi-agent proposal now has a durable planning spine

Nanobot’s collaboration proposal asks for persistent roles, shared task state and bounded delegation beyond one-shot subagents. Supporting work stores goal graphs outside chat history and marks partial subagent completion so models do not invent sibling results before the batch has drained.

← Back to homeOriginal source ↗

HKUDS/nanobot issue #5000 is the inspected primary source: “Proposal: evolve the current subagent system toward multi-agent collaboration.” The two related records below were inspected as supporting context, not treated as independent confirmation.

The facts

- HKUDS/nanobot issue #5000 was created 2026-07-20T04:08:12Z and was open at inspection; its title is “Proposal: evolve the current subagent system toward multi-agent collaboration.” - HKUDS/nanobot PR #5034 was created 2026-07-22T08:33:39Z and was open at inspection; its title is “feat(goal): add durable state-graph planning and recovery.” - HKUDS/nanobot PR #5152 was created 2026-07-28T17:04:19Z and was open at inspection; its title is “fix(subagent): mark partial completion results.” - The repository reported 46386 stars, 782 open issues, default branch main, and last push 2026-07-29T17:13:38Z. - The latest tagged-release baseline checked was v0.3.0 published 2026-07-25T08:08:47Z.

What changed

HKUDS/nanobot issue #5000 reports: Problem / Motivation The current subagent system is closer to background task delegation than a true multi-agent system. A subagent receives a task, executes it independently, and returns a final result to the main agent. However, subagents do not have persistent identities, shared task state, agent-to-agent communication, or the ability to coordinate and delegate work among themselves. This limits more complex workflows that require multiple specialized agents to collaborate, share intermediate results, and coordinate dependent or parallel tasks. Proposed Solution Consider evolving the current design toward an optional multi-agent system

HKUDS/nanobot PR #5034 reports: Why The current /goal flow mainly stores a long-lived objective in session metadata. It does not preserve a structured execution plan, dependency state, or recovery path when part of a long task fails. After conversation history is compacted, the model may also lose track of earlier work and reconstruct too much from the remaining chat context. What this PR changes Adds a durable, versioned Goal state tree backed by a workspace-scoped SQLite store, while keeping only a compact reference in session metadata. Reloads the authoritative objective and current plan projection

HKUDS/nanobot PR #5152 reports: Summary Count still-running sibling tasks when a subagent result is announced. Attach subagent_remaining_count metadata and tell the model not to infer unfinished results. Keep the model-only notice out of scrubbed WebUI and external-channel history. Why The runner already keeps the turn alive while session subagents are running, but an early result did not tell the model that it represented only part of the batch. Less capable models could therefore invent sibling outcomes before the existing drain lifecycle supplied them. This intentionally avoids a new result mode, buffering layer, or cancellation

Why it matters

Multi-agent branding is cheap; durable ownership, dependencies and partial-result semantics are the actual product. Without them, coordination collapses back into a main model guessing from lossy conversation history. This is an operator boundary: persisted state, execution ownership and visible controls must describe the same event. A workaround that broadens access, deletes state or hides the symptom would trade a visible defect for an unmeasured one.

Current

The primary record was open when captured on 2026-07-30. The release baseline was v0.3.0 published 2026-07-25T08:08:47Z. Current repository metadata, pull requests, issues, release records, Google News discovery, Hacker News discovery, Lobsters, Metamesh and the rendered ClawCharts row were checked. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/HKUDS/nanobot/issues/5000. Supporting records are https://github.com/HKUDS/nanobot/pull/5034 and https://github.com/HKUDS/nanobot/pull/5152. Their source bodies, timestamps and states were captured in the daily evidence bundle. Test counts, reproductions and deployment observations remain attributed to their authors unless explicitly identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Issue closure would not by itself prove a deployed fix. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Keep collaboration optional at the edge, give every transition a durable owner and receipt, and distinguish “one worker finished” from “the coordinated task finished.” Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently after intervention.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.