Skip to main content

Client-Server Architecture

Rogue operates on a client-server architecture that separates the core evaluation logic from the user interfaces:
  • Rogue Server: The backend that handles all evaluation logic, scenario generation, and agent interactions
  • Multiple Client Interfaces: Different ways to interact with the server:
    • TUI (Terminal UI): Modern terminal interface built with Go and Bubble Tea
    • Web UI: Gradio-based web interface for browser-based interaction
    • CLI: Command-line interface for automation and CI/CD pipelines
This architecture allows for flexible deployment patterns where the server can run independently, and multiple clients can connect simultaneously.

Evaluation Workflow

Rogue’s evaluation workflow is designed to be simple and intuitive, accessible through any of the client interfaces:
  1. Configure: You provide the endpoint and authentication details for the agent you want to test, and select the LLMs you want Rogue to use for its services (scenario generation, judging).
  2. Generate Scenarios: You input the “business context” or a high-level description of what your agent is supposed to do. Rogue’s LLM Service uses this context to generate a list of relevant test scenarios. You can review and edit these scenarios.
  3. Run & Evaluate: You start the evaluation. The Scenario Evaluation Service spins up the EvaluatorAgent, which begins a conversation with your agent for each scenario. You can watch this conversation happen live through the TUI or Web UI.
  4. View Report: Once all scenarios are complete, the LLM Service analyzes the results and generates a Markdown-formatted report, giving you a clear summary of your agent’s performance.

Interface Options

  • Default Mode: uvx rogue-ai starts both server and TUI for immediate use
  • Web UI Mode: uvx rogue-ai ui for browser-based interaction (requires server running)
  • CLI Mode: uvx rogue-ai cli for automated testing and CI/CD integration
  • Server Only: uvx rogue-ai server to run just the backend for custom integrations
I