Tvijo wiki
Каталог

Splitting work across agents — and when not to

A swarm in Tvijo is several bounded tasks in separate working copies, each with its own budget and receipt. Coordination cost is real; here is how to decide.

🎯 Для Team leads splitting work across lanes

📚 Вы узнаете
  • Decide when a swarm is worth the coordination cost
  • Give each lane a working copy and disjoint paths
  • Collect four numbers that make the run comparable

Эта страница ещё не переведена. Вы читаете английский оригинал.

A "swarm" in Tvijo is not a magic mode. It is several bounded tasks running in parallel, each in its own working copy, each with its own budget and receipt. The model does not coordinate itself; a human (or a coordinating task) hands out disjoint pieces and checks the results.

That definition is boring on purpose. It is also the only one that survives contact with a shared codebase.

🔹 The three hard rules

  1. One task = one capped call chain. Every question or dsh run is a separate task with its own limit. There is no shared "team budget" that a runaway agent can drain.
  2. Parallel agents need separate working copies. Two agents editing the same checkout will overwrite each other, and git will not tell you who won. Copy the repository per lane, or use a worktree per lane.
  3. Disjoint write paths. Lane A writes docs/, lane B writes api/. If two lanes must touch the same file, they are not parallel work — they are sequential work disguised as a swarm.

🔹 A shape that works

lane-1 (work copy A) → drafts section 1..3      → receipt-1
lane-2 (work copy B) → drafts section 4..6      → receipt-2
lane-3 (read-only)   → checks both against the source of truth → findings.md

The third lane is the one people skip. It is also the cheapest: a read-only check costs a fraction of a drafting task and catches the failures that make the whole batch unusable.

🔹 Running it from the command line

dsh login
dsh status
dsh run "Summarise docs/architecture.md into five bullet points" --json
dsh tasks
dsh task TASK_ID
dsh stop TASK_ID

--json makes the client print a machine-readable result, which is what you want when a shell script (not a person) dispatches the work. Sessions are stored locally with owner-only permissions; dsh resume SESSION_ID continues a conversation, and dsh sessions lists them.

📊 Measure the swarm, or you are guessing

For any task you plan to split, record four numbers per lane and one for the whole run:

Metric How to get it Why it matters
Accepted result Human or deterministic check A lane that "completed" but produced nothing usable cost 100% waste
Wall time Start/end timestamps Parallelism should beat sequential time, not just feel busier
Total cost Sum of receipts Coordination adds tasks; the sum is the real price
Human interventions Count of manual fixes The hidden cost of a swarm
Rework Accepted after N corrections Quality signal

The comparison you want is: one agent vs swarm vs swarm + judge, on the same task, with the same acceptance check. Without that baseline, "the swarm is faster" is a feeling.

🚧 When this does NOT work

  • The task fits in one context. Splitting it adds handoff loss and cost, not speed.
  • The pieces share a file. Serialise them instead.
  • You cannot state an acceptance check. Then you cannot tell a good lane from a fluent one, and the swarm just produces more text.
  • You are near a daily budget cap. Parallel lanes fail together; a sequential run degrades gracefully.
  • You expect the agents to negotiate. They do not see each other. Every shared decision must be written down before dispatch.

➡️ Next

Источники

Each source was opened by a human on the date shown. Product behaviour is described from this deployment, not from marketing material.

  1. CLI help and session rules · GitHub · Проверено 2026-10-27
  2. Developer endpoints · Tvijo · Проверено 2026-10-27
  3. Usage tab · Tvijo · Проверено 2026-10-27

💬 Комментарии

Комментарии публичны и модерируются. Не публикуйте персональные данные.
  • Комментариев пока нет. Будьте первым!

Следующие шаги