Skip to content

[Feature]: Implement explicit "Operating Modes" (Architect, Builder, Maintainer) to prevent context collapse #385

Description

@ashp15205

Is there an existing feature request for this?

  • I have searched existing issues and feature requests, and this is not a duplicate.

Problem or Use Case

When using the agent for different types of tasks, it applies a generic, one-size-fits-all "mindset." As a developer, if I ask the agent to fix a minor bug in a legacy file, it will often attempt a massive, unprompted refactor because it doesn't know it should be in a conservative state. Conversely, if I ask it to design an architecture, it often jumps straight into writing premature code.

This lack of behavioral constraints leads to severe context collapse, wasted API tokens, and unnecessary regressions in production code.

Proposed Solution

I propose adding a feature that allows users to select an explicit "Operating Mode" before starting a task. These modes would inject specific behavioral constraints into the agent's system prompt.

Based on my research in building the Vibe Coding Essentials runtime, configuring the agent with 4 distinct modes drastically improves outcomes:

Architect Mode: No code generation. Optimized for system thinking, planning, and tradeoffs only.
Builder Mode (Default): Optimized for shipping fast. Allows some technical debt and ignores premature abstractions.
Maintainer Mode: Stability first. Forces surgical, minimal diffs. Refuses to add new dependencies or refactor unbroken code.
Economy Mode: Strict token discipline. Bypasses large codebase scans for simple, routine tasks to save costs.

Alternatives Considered

Currently, I have to manually type out these constraints ("don't refactor", "just give me the diff", "don't write code yet") in every single prompt. This is extremely tedious, error-prone, and the model frequently ignores these constraints if they aren't phrased perfectly as system-level instructions.

Priority / Severity

High - Significant impact on productivity

Estimated Scope

Medium - New feature with moderate complexity

Feature Area

Agent / AI behavior

Technical Implementation Ideas (Optional)

  1. Store the behavioral rules as standalone markdown templates (e.g., builder.md, maintainer.md).
  2. Add a persistent dropdown in the chat UI (perhaps next to the model selector) to choose the active mode.
  3. When the prompt is constructed and sent to the LLM, append the text of the selected mode to the system instructions.
  4. I have already battle-tested the specific system prompts for these modes in my repository, and I would be happy to contribute them directly to the OpenHands core prompts.

Additional Context

You can see the exact rules, failure patterns, and prompts I've developed for these modes in my open-source repository: Vibe Coding Essentials. I'd love to help bring this behavioral architecture natively into OpenHands!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions