Skip to content

Orchestration Mode: Coordinating Complex Workflows

Orchestration mode allows you to break down complex projects into smaller, more manageable parts. You can think of it as delegating portions of work to specialized assistants. Each subtask runs in its own context, typically using a different mode tailored for that specific job (such as code, architect, or debug).

Why Use Orchestration Mode?

  • Manage Complexity: Break large, multi-step projects (e.g., building a complete feature) into focused subtasks (e.g., design, implementation, documentation).

  • Leverage Specialized Modes: Automatically delegate subtasks to the mode best suited for the job, harnessing its expertise for optimal results.

  • Maintain Focus and Efficiency: Each subtask runs in its own isolated context with a separate conversation history. This prevents the parent task (the orchestrator) from being cluttered by detailed execution artifacts (such as code diffs or file analysis output), allowing it to stay focused on high-level workflow management and efficiently steer the overall process based on concise summaries of completed subtasks.

  • Streamline Workflows: The output of one subtask can be automatically passed to the next, creating smooth workflows (e.g., architectural decisions are directly handed off to the coding task).

How It Works

  1. Using orchestration mode, VJSP can analyze a complex task and propose breaking it into subtasks (this context is passed via the message parameter of the new_task tool).

  2. The parent task pauses, and a new subtask starts in a different mode (the subtask’s mode is specified at launch via the mode parameter of the new_task tool).

  3. When the subtask’s objective is achieved, VJSP signals completion.

  4. The parent task resumes and receives only a summary of the subtask (this summary is passed via the result parameter of the attempt_completion tool when the subtask finishes). The parent uses this summary to continue the main workflow.

Key Considerations

  • Requires Approval: By default, the creation and completion of each subtask require your approval. If desired, this can be automated via Auto-Approval Actions.

  • Context Isolation and Handoff: Each subtask runs in a fully isolated context with its own conversation history. It does not automatically inherit the parent task’s context. Information must be explicitly passed:

    • Downward: Via the initial instruction when the subtask is created.

    • Upward: Via the final summary when the subtask completes. Note: only this summary is returned to the parent task.

  • Task Switching: VJSP’s interface helps you visualize the task hierarchy (which task is the parent, which are children). You can typically switch between active and paused tasks.

Orchestration mode provides a powerful way to manage complex development workflows, directly leveraging specialized modes within VJSP for maximum efficiency.

💡Keep tasks focused

Use subtasks to maintain clarity. If a request significantly shifts focus or requires different expertise (mode), consider creating a subtask instead of overloading the current one.