Class: ActiveHarness::PromptBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/active_harness/pipeline/prompt_builder.rb

Overview

Assembles system and user messages from agent DSL config.

system_prompt accepts:

- String
- Class/module with .prompt -> String

The user message is always safe_input.processed (the guard-normalized input).

Instance Method Summary collapse

Constructor Details

#initialize(agent_config) ⇒ PromptBuilder

Returns a new instance of PromptBuilder.



10
11
12
# File 'lib/active_harness/pipeline/prompt_builder.rb', line 10

def initialize(agent_config)
  @agent_config = agent_config
end

Instance Method Details

#build(safe_input, _context = {}, _constraints = {}, language: nil) ⇒ Hash

Returns { system: String, user: String }.

Parameters:

  • safe_input (InputResult)
  • language (Symbol, String, nil) (defaults to: nil)

    response language (e.g. :ru, :ko)

Returns:

  • (Hash)

    { system: String, user: String }



17
18
19
20
21
22
# File 'lib/active_harness/pipeline/prompt_builder.rb', line 17

def build(safe_input, _context = {}, _constraints = {}, language: nil)
  {
    system: build_system(language),
    user:   safe_input.processed
  }
end