Image: Pexels.com with own adaptation

Qualität von KI-ChatBots


Author Image

Michael Rubin


Ein Experiment zeigt, warum kuratiertes Branchenwissen in der Energieversorgung zentral ist

Energieversorgungsunternehmen (EVU) stehen zunehmend unter Druck im Kundensupport. Die Anzahl der Kundenanfragen steigt kontinuierlich, während gleichzeitig regulatorische Anforderungen und Marktmodelle komplexer werden. Mit der Einführung des Mantelerlasses hat sich diese Komplexität zusätzlich erhöht.

Chatbots werden daher zunehmend als Instrument eingesetzt, um den Kundensupport effizienter zu gestalten. Dabei wird bis heute noch wenig Fokus auf die Qualität der Antworten gelegt. Gerade im Kundendialog ist sie jedoch zentral, da sie direkt das Vertrauen der Kunden und das Image des EVU beeinflusst.

Diese Antwortqualität hängt stark davon ab, welche Technologien und vor allem welche Datenbasis verwendet wird. Dieses Dokument vergleicht drei Technologien - LLM-only-Bots, Standard RAG-Bots und der AUREA-Bot entwichelt von PowerBrain - und zeigt in einem Experiment, warum der der AUREA-Bot mit kuratiertem Branchenwissen eine deutlich höhere Antwortqualität aufweist.

Ergebnisse

Die Tabelle fasst die Ergebnisse des Experiments zusammen:

Bot-Typ Schwierigkeitsgrad Trefferquote Skill
LLM-only-Bot
LLM-only-Bot Einfach 46 % -8 %
LLM-only-Bot Schwierig 10 % -80 %
Standard RAG-Bot
Standard RAG-Bot Einfach 90 % 80 %
Standard RAG-Bot Schwierig 70 % 40 %
AUREA-Bot
AUREA-Bot Einfach 100 % 100 %
AUREA-Bot Schwierig 100 % 100 %

Die schlechte Performance des LLM-only-Bots überrascht. Für beide Fragen sind die Skills negativ, d. h. ein Zufallsgenerator wäre besser.

Die Ergebnisse des Standard-RAG-Bots entsprechen ungefähr den Erwartungen. Für einfache Fragen werden relativ hohe und für schwierige Fragen eher tiefe (aber positive) Skills erzielt. Das heisst, die Zuverlässigkeit hängt massgeblich von der gestellten Frage ab. Dies macht Sinn, denn diese Technologie wurde für relativ einfache Branchen wie E-Commerce und allgemein für einen Level-1-Support entwickelt.

Der AUREA-Bot konnte sowohl die einfachen als auch die schwierigere Frage zuverlässig beantworten. Was beeindruckt: Ihm wurde nur das Glossar zugespielt. Er konnte weder Finetuning noch RAG-Komponenten noch den Knowledge Graph verwenden.

Als Schlussfolgerung können wir folgende Punkte mitnehmen:

  • LLM sind Sprachmodelle, keine Wissensmodelle. Das Wissen muss unbedingt kontrolliert werden.
  • Website-Inhalte alleine reichen i.d.R. als Wissensquelle nicht aus
  • In der Energiebranche ist dieses Wissen sehr umfassend. Daher braucht es zwingend kuratiertes Branchenwissen.
  • Der AUREA-Bot wurde genau dafür entwickelt und konnte dies im Experiment zeigen.

Methodik

Technologien

Für Chatbots im Energiebereich existieren verschiedene technologische Ansätze. Vereinfacht lassen sich drei Kategorien unterscheiden:

  • LLM-only:
    Der Chatbot verwendet ausschliesslich das Sprachmodell (LLM) als Wissensquelle.

  • Standard-RAG (Retrieval Augmented Generation):
    Der Bot greift zusätzlich auf Dokumente zu, typischerweise Inhalte von Websites.

  • Kuratiertes Wissen / GraphRAG:
    Die Wissensbasis ist strukturiert und kuratiert (z. B. Glossare, Wissensgraphen oder speziell aufbereitete Fachinformationen).

Ältere, menügeführte Chatbots werden in diesem Experiment nicht betrachtet, da sie im modernen Kundensupport kaum noch eingesetzt werden.

Testfragen

Für das Experiment definieren wir zwei Fragen aus dem Bereich der lokalen Elektrizitätsgemeinschaften (LEG). Beide können im Alltag des EVU-Kundensupports realistischerweise auftreten.

Eine eher einfachere Frage:

Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?

Korrekte Antwort: Nein. Eine der zentralen Voraussetzungen ist dieselbe Gemeinde.

Eine eher schwierigere Frage:

Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?

Korrekte Antwort: Nein, weil er u.U. auch das öffentliche Verteilnetz verwendet (VSE-LEG 2025)

Anmekrung: Die Fragen sind bewusst eher umgangssprachlich und nicht sehr präzise formuliert Die Erfahrung zeigt, dass User eines ChatBots oft wenig präzise Fragen stellen.

Aufbau des Experiments

Die Fragen wurden über die API an das Modell OpenAI GPT-4o gestellt, welches derzeit den meisten Chatbot-Anwendungen eingesetzt wird.

Für das Experiment werden drei typische Systemkonfigurationen simuliert:

  1. Chatbot ohne zusätzliche Wissensbasis (LLM-only)
  2. Chatbot mit Standard-RAG (mit typischen Wissensquellen)
  3. AUREA-Bot mit kuratierter Wissensbasis für Begriffsdefinition

Die moderneren Modelle von OpenAI (z. B. GPT-5.2) sollten derzeit als API-Version noch nicht verwendet werden, da diese noch keine Deployments mit europäischer Datenresidenz offerieren (Datenschutzvorgaben). Dies könnte sich in Zukunft ändern. Die Schlussfolgerung des Experiments wird sich aufgrund eines neueren Modells jedoch nicht ändern.

Auswertung

Für jede Konfiguration werden 50 unabhängige Durchläufe (Turns) durchgeführt. Die Fragen und Prompts sind so definiert, dass der Bot immer folgende Antwortstruktur ausgibt:

  • Ja/Nein Entscheidung
  • 1-Satz-Begründung der Entscheidung

Dies erlaubt es, sowohl die Trefferquote (Zuverlässigkeit) zu messen als auch die Herleitung der Entscheidung nachzuvollziehen. Zusätzlich wird ein Skill-Wert berechnet, der die Leistung relativ zu einer Zufallsentscheidung misst.

\[ \text{Skill} = \frac{\text{Trefferquote} - 0.5}{0.5} \times 100 \]

Da es sich um eine Ja/Nein-Frage handelt, entspricht eine Trefferquote von 50 % einem Zufallsergebnis (Münzwurf). Der Skill misst daher die Leistung relativ zu dieser Baseline: 0 % entspricht Zufall, +100 % perfekter Zuverlässigkeit und −100 % systematisch falschen Antworten.

Nachvollziehbarkeit

Das ganze Experiment wurde mit einem einfachen R-Code durchgeführt. Dieser kann unten eingesehen werden, womit das Experiment jederzeit nachvollzogen werden kann (eigenes OpenAI-Passwort nötig):

Show Code
## WRITTEN BY MICHAEL C. RUBIN, 20.1.2026

## loading the packages. Tidyverse + Ellmer
library(here)
source(here::here("scripts","global.R"), local = FALSE)

api_key <- "your_openai_password"
Sys.setenv("OPENAI_API_KEY" = api_key)

### Helpers ------------------

# PowerBrain Function returning the relevant terms definitions recursively
cuarate_glossary <- function(glossary, terms){
  ## PowerBrain IP... we cannot reveal it. But as a good programmer, you may find it out. 
  ## Free Tip: define a stopper for the recursive ;)

}

# helper: joins the RAG entries for LEG as context
make_context_string <- function(rag){
  paste0(
    "## Context:\n",
    paste(rag$text, collapse = "\n")
  )
}

# helper to parse the json answer // variant-tolerant
parse_llm_json <- function(txt){
  
  # normalize answer
  txt <- gsub("'", "\"", txt)
  txt <- gsub(",\\s*}", "}", txt)
  txt <- gsub("\n", " ", txt)
  
  # try JSON
  out <- tryCatch(
    fromJSON(txt, simplifyVector = FALSE),
    error = function(e) NULL
  )
  
  # fallback regex if JSON fails
  if(is.null(out)){
    decision <- sub('.*"decision"\\s*:\\s*"([^"]+)".*', '\\1', txt)
    reason   <- sub('.*"reason"\\s*:\\s*"([^"]+)".*', '\\1', txt)
    
    out <- list(
      decision = decision,
      reason   = reason
    )
  }
  
  out
}

## Runner Function for LLM only Bot
run_experiment_chat <- function(q, n = 20){

  res <- vector("list", n)
  
  # iterates n times
  for(i in seq_len(n)){
    # gives birth to new bot in each iteration
    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
          You are a friendly assistant who answers question for EVU clients.
          Answer very short and succinct.
          Output German.
          
          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification
          
          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")
    # parsing and concating answer
    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )
    
  }
  do.call(rbind, res)
}


run_experiment_rag <- function(q, n = 3){
  
  res <- vector("list", n)
  # iterates n times
  for(i in seq_len(n)){
    # gives birth to new bot in each iteration
    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
         You are a friendly assistant who answers question for EVU clients 'User query'. 
         You are given a 'Context'. Use this context to answer the questons. 
          Answer very short and succinct.
          Output German.
          
          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification
          
          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")
    # parsing and concating answer
    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )
  }
  do.call(rbind, res)
}


run_experiment_powerbrain <- function(q, n = 3){
  
  res <- vector("list", n)
  # iterates n times
  for(i in seq_len(n)){
    # gives birth to new bot in each iteration
    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
         You are a friendly assistant who answers question for EVU clients 'User query'. 
         You are given a 'Glossary' and term definitions. You must strictly use these given term definitions. You must consider these term definitons very carefully and make sure the answer is exactly related to these term definitons.
          Answer very short and succinct.
          Output German.
          
          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification
          
          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")
    # parsing and concating answer
    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )
    
  }
  
  do.call(rbind, res)
}


### Standard Chat --------------

# execute question 1 // results in df RES_chat_1
q1 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"
RES_chat_1 <- run_experiment_chat(q1, 50)

# execute question 2 // results in df RES_chat_2
q2 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
RES_chat_2 <- run_experiment_chat(q2, 50)


### Standard RAG --------------

# getting all chunks // predefined // all LEG-relevant texts
rag <- read.csv(here("DB", "rag_leg.csv")) %>% make_context_string()

# question 1 // enhance query and run experiment
q1 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  rag
)

RES_rag_1 <- run_experiment_rag(q = enhq1, n = 50)


# question 2 // enhance query and run experiment
q2 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
enhq2 <- paste0(
  "## User query:\n",
  q2,"\n\n",
  rag
)

RES_rag_2 <- run_experiment_rag(q = enhq2, n = 50)


### PowerBrain RAG --------------

# getting the glossary // together with the question, we choose the relevant terms and then their relevant terms recursively
q1 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"
glossary <- read.csv(here("DB", "pb_energy_glossary.csv")) %>% cuarate_glossary(q1)
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  glossary
)

RES_powerbrain_1 <- run_experiment_powerbrain(q = enhq1, n = 50)


# getting the glossary // together with the question, we choose the relevant terms and then their relevant terms recursively
q2 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
glossary <- read.csv(here("DB", "pb_energy_glossary.csv")) %>% cuarate_glossary(q2)
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  glossary
)

RES_powerbrain_2 <- run_experiment_powerbrain(q = enhq2, n = 50)

Der Datensatz Glossar PowerBrain, sowie die Funktion cuarate_glossary ist geistiges Eigentum der PowerBrain AG und kann daher nicht publiziert werden.



Test LLM-only-ChatBot

Als erstes erklären und testen wir einen LLM-only-Chatbot. Diese Bots funktionieren im Prinzip ähnlich wie ein Chat auf der Website von ChatGPT und sind als White-Label-Lösung direkt auf der Website eines Energieversorgungsunternehmens (EVU) eingebettet, jedoch ohne auf dessen Inhalt zugreifen zu können.


Funktionsweise





Alle Fragen: Der Bot hat keinen Kontext und kann halluzinieren.

Prinzip

Bei LLM-only-Chatbots verbindet sich der Chatbot direkt mit einem Large Language Model (LLM). Das LLM übernimmt dabei sowohl die sprachliche Verarbeitung der Frage, als auch die Generierung der Antwort. Sämtliche Fakten und Inhalte stammen dabei direkt aus dem Trainingskorpus des Modells. Es wird keine zusätzliche Wissensquelle wie Dokumente oder Website verwendet.

LLM-Trainingskorpus

Large Language Models werden auf sehr grossen Textsammlungen trainiert. Diese bestehen aus Büchern, Websites, Artikeln, Foren und vielen weiteren öffentlich verfügbaren Quellen. Der Trainingskorpus ist daher extrem gross und deckt ein breites Spektrum an Themen ab. Für den Chatbot wirkt dieses Wissen nahezu „unendlich“, da das Modell viele verschiedene Informationen kombiniert.

Limitationen

  • Wissen ist fachlich ungenau und nicht für die Energiebranche optimiert.
  • Wissen ist unspezifisch und bezieht sich nicht auf das konkrete EVU.
  • Inhalte stammen aus unkontrollierten Quellen und können teilweise falsch sein.
  • Antworten sind instabil: dieselbe Frage kann einmal korrekt und einmal falsch beantwortet werden.
  • Generell sind die Antworten oft oberflächlich und wenig hilfreich.

Was ist zu erwarten

Dieser Bot kann auf jede Frage eine Antwort geben. Jedoch ist die Zuverlässigkeit, je nach Thema, eher niedrig. Die Hypothese ist, dass bei der einfachen Frage eine Zuverlässigkeit von ca. 70% und bei der schwierigeren eine von maximal 50% erreicht wird (=reiner Zufall).

Aufbau des Test-Bots

Der Chatbot wurde mit einem einfache System-Prompt kreiert. Dieser stellt sicher, dass die Resultate immer in derselben, strukturierten Form geliefert werden. Der Bot wurde dabei für jede Frage neu initialisiert, damit die verschiedenen Resultate einander nicht beeinflussen (Kontext).

Show Code
run_experiment_chat <- function(q, n = 50){

  require(ellmer)

  res <- vector("list", n)
  for(i in seq_len(n)){

    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
          You are a friendly assistant who answers question for EVU clients accurately.
          Answer very short and succinct.
          Output German.

          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification

          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")

    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )

  }

  do.call(rbind, res)
}

# execute question 1 // results in df RES_chat_1
q1 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"
RES_chat_1 <- run_experiment_chat(q1, 50)

# execute question 2 // results in df RES_chat_2
q2 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
RES_chat_2 <- run_experiment_chat(q2, 50)

Einfache Frage

Testresultate

  • Frage: Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?
  • Korrekte Antwort: Nein. Eine der zentralen Voraussetzungen ist dieselbe Gemeinde.
  • Korrekte Antworten: 23 von 50 Antworten
  • Trefferquote: 46 %
  • Skill: -8 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Ja FALSE Innerhalb einer LEG ist das Teilen von Strom unter bestimmten Voraussetzungen erlaubt.
Nein TRUE Stromsharing zwischen unterschiedlichen Haushalten ist in einer LEG nicht erlaubt.
Ja FALSE Innerhalb einer lokalen Energiegemeinschaft (LEG) ist das Teilen von Strom zwischen Mitgliedern möglich.
Nein TRUE Das Teilen von Strom zwischen unterschiedlichen Haushalten ist innerhalb einer LEG nicht gestattet.
Nein TRUE Die Stromversorgung innerhalb einer LEG ist in der Regel für den Eigenverbrauch der Teilnehmer vorgesehen und beinhaltet keine Genehmigung zur externen Weitergabe an Nachbargemeinden.
Nein TRUE Das Teilen von Strom über die Grenzen einer LEG hinweg ist nicht gestattet.
Nein TRUE Innerhalb einer LEG ist das Teilen von Strom über Gemeindegrenzen hinaus nicht zulässig.
Ja FALSE Innerhalb einer Lokalen Energie-Gruppe (LEG) ist es erlaubt, Strom mit anderen Mitgliedern zu teilen.
Ja FALSE Innerhalb einer Local Energy Community (LEG) ist es möglich, Strom mit Nachbarn zu teilen.
Ja FALSE Das Teilen von Strom innerhalb einer lokalen Energiegemeinschaft (LEG) ist grundsätzlich möglich, solange die gesetzlichen Vorschriften und technischen Anforderungen erfüllt sind.

Schwierige Frage

Testresultate

  • Frage: Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?
  • Korrekte Antwort: Nein, weil er u.U. auch das öffentliche Verteilnetz verwendet (VSE-LEG 2025)
  • Korrekte Antworten: 5 von 50 Versuche
  • Trefferquote: 10 %
  • Skill: -80 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Ja FALSE Der Stromaustausch innerhalb einer LEG zählt als Eigenverbrauch, da er innerhalb eines geschlossenen Systems genutzt wird.
Ja FALSE In einer LEG (lokale Energiegemeinschaft) wird der ausgetauschte Strom als Eigenverbrauch betrachtet, da er innerhalb der Gemeinschaft genutzt wird.
Ja FALSE Der Strom, der innerhalb einer leitungsgebundenen Erzeugungsgemeinschaft (LEG) ausgetauscht wird, gilt laut deutscher Gesetzgebung als Eigenverbrauch.
Nein TRUE Der Strom, der in einer Liefergemeinschaft (LEG) ausgetauscht wird, gilt in der Regel nicht als Eigenverbrauch, da er zwischen verschiedenen Parteien geteilt wird.
Nein TRUE In einer LEG wird Strom zwischen verschiedenen Parteien und nicht für den Eigenverbrauch ausgetauscht.
Nein TRUE In einer LEG wird der Strom in der Regel zwischen den Mitgliedern ausgetauscht, was nicht als Eigenverbrauch gilt.
Ja FALSE In einer LEG (lokale Energiegemeinschaft) wird Strom für den eigenständigen Verbrauch innerhalb der Gemeinschaft genutzt.
Nein TRUE Der Strom, der in einer lokalen Energie-Gemeinschaft (LEG) ausgetauscht wird, fällt nicht unter den Begriff Eigenverbrauch, sondern wird als Energieaustausch innerhalb der Gemeinschaft betrachtet.
Nein TRUE Der Austausch von Strom in einer LEG (lokale Energiegesellschaft) zählt nicht als Eigenverbrauch, da er gemeinsam genutzt wird.
Ja FALSE Der Strom, der innerhalb einer LEG (lokale Energiegemeinschaft) genutzt wird, gilt als Eigenverbrauch.

Möglicherweise könnte sich diese schlechte Performance mit einem neueren Modell von OpenAI verbessern. Jedoch wird auch dieses die Zuverlässigkeit nicht auf ein befriedigendes Niveau heben können.



Test Standard RAG-Chatbot

Nun beleuchten und testen wir das Prinzip eines Standard RAG-Bots. Diese Bots haben zusätzlich das Wissen aus der Website des EVU zur Verfügung. Solche Systeme sind sehr populär und werden in vielen Branchen verwendet.


Funktionsweise





Einfache Frage: Der Bot kann auf den Web-Inhalt zurückgreifen.





Schwierige Frage: Der Bot hat keinen Kontext und kann halluzinieren

Prinzip

Bei einem RAG-Chatbot (Retrieval Augmented Generation) wird das Large Language Model nicht allein verwendet. Der Chatbot kombiniert das Sprachmodell mit einer zusätzlichen Wissensdatenbank. Der Chatbot findet für die gestellte Frage in der Wissensdatenbank die relevaten Texte und sendet diese, gemeinsam mit der Frage, als Kontext an das LLM. Das LLM übernimmt dann die sprachliche Verarbeitung der Frage, hält sich jedoch an die Fakten des mitgelieferten Kontexts.

Wissensdatenbank

Die Wissensdatenbank wird typischerweise aus vorhandenen Inhalten aufgebaut, beispielsweise aus Texten der EVU-Website. Diese Inhalte werden in eine maschinenlesbare Form überführt und in einer Datenbank gespeichert. Dabei werden die Texte meist in kleinere Abschnitte (Chunks) zerlegt, sodass die relevantesten Textstellen bei einer Anfrage als Kontext an das Sprachmodell übergeben werden können.

Entscheidend ist dabei die Qualität und Vollständigkeit der Wissensbasis. Wenn wichtige Informationen fehlen oder Inhalte unklar formuliert sind, kann auch der Chatbot keine korrekte Antwort liefern.

Limitationen

  • Zuverlässiges Wissen nur bei Inhalten, die auf der Website vorhanden sind.
  • Kein fachliches Verständnis - Website erklärt nicht die ganze Branche.
  • Antworten sind instabil für Fragen, die nicht vorgesehen sind.
  • Massiver Aufwand, um die Wissensquellen seriös zu komplettieren.

Was ist zu erwarten

Dieser Bot kann bereits auf eine seriöse, EVU-spezifische Wissensquelle zugreifen.

Sofern die gestellte Frage ein Thema betrifft, welches auf der Website behandelt wird, kann der Bot diese korrekt beantworten. Wir erwarten, dass dies bei der einfacheren Frage der Fall ist und der Bot entsprechend nahe an 100% Zuverlässigkeit ist. Diese Situation wird rechts im oberen Bild dargestellt.

Wenn die gestellte Frage ein Thema ausserhalb des Webinhaltes betrifft, oder relativ komplex ist, dann wird der Bot nicht zuverlässig Antworten, da ihm der Kontext fehlt. Wir erwarten dies bei der schwierigeren Frage und vermuten, dass die Zuverlässugkeit um die 75% sein wird. Die Situation ist auf dem zweiten Bild dargestellt.

Aufbau des Test-Bots

Der Chatbot wurde mit einem einfache System-Prompt kreiert. Dieser stellt sicher, dass die Resultate immer in derselben, strukturierten Form geliefert werden. Zusätzlich wird der Bot darauf hingewiesen, dass er mit der Frage einen Kontext (vom RAG) erhält, den er für die Antwort benutzen soll. Der Bot wurde dabei für jede Frage neu initialisiert, damit die verschiedenen Resultate einander nicht beeinflussen (Kontext).

Show Code
run_experiment_rag <- function(q, n = 50){
  
  res <- vector("list", n)
  
  for(i in seq_len(n)){
    
    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
         You are a friendly assistant who answers question for EVU clients 'User query'. 
         You given a 'Context'. Use this context to answer the questons. 
          Answer very short and succinct.
          Output German.
          
          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification
          
          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")
    
    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )
    
  }
  
  do.call(rbind, res)
}



# getting all chunks // predefined // all LEG-relevant texts
rag <- read.csv(here("DB", "rag_leg.csv")) %>% make_context_string()

# question 1 // enhance query and run experiment
q1 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  rag
)

RES_rag_1 <- run_experiment_rag(q = enhq1, n = 50)


# question 2 // enhance query and run experiment
q2 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"
enhq2 <- paste0(
  "## User query:\n",
  q2,"\n\n",
  rag
)

RES_rag_2 <- run_experiment_rag(q = enhq2, n = 50)

Wissensquelle des RAG

Entscheidend für die Qualität eines RAG-Systems ist die Wissensquelle, die dem Modell als Kontext bereitgestellt wird. Umfang, Qualität und Vollständigkeit dieser Inhalte bestimmen massgeblich, wie korrekt und präzise die Antworten des Chatbots sind. Ziel dieses Experiments ist es daher, eine möglichst realistische Situation eines Standard-RAG-Systems bei einem Energieversorgungsunternehmen (EVU) zu simulieren.

Da sich die Testfragen ausschliesslich auf das Thema Lokale Elektrizitätsgemeinschaften (LEG) beziehen, ist die relevante Textmenge überschaubar. Für das Experiment wurden sämtliche verfügbaren Texte zum Thema LEG von der Website zweier Schweizer Stadtwerken, sowie alle LEG-bezogenen Inhalte der Website Lokaler Strom gesammelt und als Wissensbasis verwendet. Die Website Lokaler Strom wird von vielen EVU als weiterführende Informationsquelle zu LEG verlinkt und stellt daher eine realistische Ergänzung zum EVU-Website-Content dar. Der Chatbot erhält somit den Inhalt, welcher typischerweise bei Standard-RAG vektorisiert wird (vermutlich sogar etwas mehr).

Da die gesamte Textmenge relativ klein ist, können alle Text-Chunks gleichzeitig als Kontext an das Modell übergeben werden, ohne an die Kontextgrenzen des Modells zu stossen.

Untenstehend ist das vollständige Query inklusive des gesamten Kontexts dargestellt, der dem Chatbot für die Beantwortung der Frage bereitgestellt wird.

Show Code
> cat(enhq1)
## User query:
Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?

## Context:
LEG Produkt
Eine lokale Elektrizitätsgemeinschaft (LEG) ermöglicht es, lokal produzierten Strom über Grundstücksgrenzen hinweg gemeinsam zu nutzen.
Indem sich verschiedene Parteien zusammenschliessen, um gemeinsam Energie zu erzeugen, zu speichern und zu verbrauchen. Fehlender Strom wird wie gewohnt zuverlässig über das öffentliche Netz bezogen. Ab 2026 kann der Stromhandel innerhalb einer Gemeinde oder eines Quartiers direkt über das Verteilnetz erfolgen. Für Strom, der über das öffentliche Netz gehandelt wird, gelten reduzierte Netznutzungskosten.

Sind Sie interessiert an einer LEG oder möchten Sie mehr darüber erfahren?
Was ist eine lokale Elektrizitätsgemeinschaft (LEG)? Eine lokale Elektrizitätsgemeinschaft (LEG) ermöglicht es, LEG Strom aus lokaler Produktion innerhalb eines Quartiers oder über eine ganze Gemeinde hinweg zu verkaufen und zu nutzen. Durch solche lokale Energiegemeinschaften entsteht ein lokaler Strommarktplatz, auf dem Produzent:innen und Endverbraucher:innen flexibel miteinander Strom handeln können. LEG Strom in der Schweiz schafft damit neue Möglichkeiten für eine dezentrale, nachhaltige und gemeinschaftliche Stromversorgung.
Energiegemeinschaften
Gemeinsam Solarstrom erzeugen und nutzen
Immer mehr HauseigentümerInnen und Unternehmen produzieren heute ihren eigenen Solarstrom. Die Wirtschaftlichkeit von Solaranlagen kommt jedoch durch sinkende Marktpreise unter Druck. Doch wie lässt sich der lokal produzierte Strom am besten effizient nutzen? Neben dem klassischen Eigenverbrauch gibt es neue Modelle, die mehr Ertrag bringen und gleichzeitig die Stromkosten senken: ZEV, vZEV und LEG.

Seit 2018 kann mit dem Zusammenschluss zum Eigenverbrauch (ZEV) lokal produzierter Solarstrom direkt gemeinsam genutzt werden. Mit dem neuen Stromgesetz gibt es seit Januar 2025 zusätzlich die Möglichkeit, einen virtuellen ZEV (vZEV) zu gründen. Ab 2026 kommen die lokalen Elektrizitätsgemeinschaften (LEG) als weitere Möglichkeit dazu.

Alle diese Modelle machen den Eigenverbrauch nicht nur attraktiver, sondern erhöhen die Wirtschaftlichkeit einer Photovoltaik-Anlage und tragen damit aktiv zur Energiewende bei.

Vorteile der neuen Modelle von Energiegemeinschaften:

Sie nutzen mehr Ihres eigenen Solarstroms und erhöhen die Wirtschaftlichkeit Ihrer Anlage
Lokal Strom produzieren und nutzen (direkte Belieferung von Nachbarn oder Quartieren)
Einsparungen bei Netznutzungsentgelten
Sie tragen aktiv zur Energiewende bei – mit lokal produzierter, erneuerbarer Energie
LEG
Lokale Elektrizitätsgemeinschaft
Eine lokale Elektrizitätsgemeinschaft (LEG) ermöglicht den Verkauf von lokal produziertem Strom im Quartier oder innerhalb einer ganzen Gemeinde. Dabei entsteht ein lokaler Markplatz, auf welchem Stromproduzent:innen und Endverbraucher:innen Strom handeln können. Die Möglichkeit, eine LEG zu bilden, wird durch die Gemeindegrenze und die Netztopologie begrenzt.
LEG Ausdehnung
Der Austausch des lokal produzierten Stroms kann innerhalb einer Gemeinde erfolgen. Die mögliche Ausdehnung wird durch die Topologie des Verteilnetzes bestimmt. Diese kann bis und mit Netzebene 5 (NE5) genutzt werden. Alle Teilnehmenden müssen sich zudem im Einzugsgebiet des gleichen Verteilnetzbetreibers befinden und auf derselben Netzebene angeschlossen sein.
LEG Vertragsverhältnis
Die LEG-Betreibenden liefern nur den LEG-Strom. LEG-Teilnehmende können ihre Teilnahme am LEG gemäss den vertraglich vereinbarten Kündigungsfristen einseitig kündigen. Bei einem Mieter- oder Eigentümerwechsel werden die neuen Mieter:innen/ Eigentümer:innen nur LEG- Teilnehmende, wenn sie sich mit dem LEG- Betreibenden vertraglich einigen.
LEG Tarife
Der Tarif für den LEG- Strom kann frei gewählt werden und wird vertraglich mit den LEG- Teilnehmenden vereinbart. Die Einnahmen aus dem LEG-Stromtarif gehen an den LEG-Betreibenden. Der Tarif für den Netzstrom entspricht dem von den Teilnehmern individuell gewählten Stromprodukt.
Abrechnung LEG Lokalstrom
Die LEG-Betreiberin/der LEG-Betreiber oder der von der LEG beauftragte LEG- Abrechnungsdienstleister stellt den LEG- Teilnehmenden die Rechnung für den lokal konsumierten Strom und die Dienstleistungskosten für die Abwicklung der LEG. Der VNB stellt den LEG- Teilnehmenden die Rechnung für die reduzierten Netznutzungskosten für den aus der LEG bezogenen Strom.
Abrechnung Netzstrom LEG
Der VNB stellt den LEG- Teilnehmenden die Rechnung für die reduzierten Netznutzungskosten für den aus der LEG bezogenen Strom. Der VNB stellt den LEG- Teilnehmenden die Rechnung für den aus dem Netz bezogenen Strom und die Messkosten für den VNB-Zähler. Die Rechnungsstellung kann indirekt auch über den LEG- Abrechnungsdienstleister erfolgen.
LEG- Teilnehmer:in (Stromkonsument:in)
Regelt mit der LEG den Preis für den Strombezug aus der LEG sowie die Kostentragung für die Administration und Abrechnung.
Kauft den Strom prioritär aus der LEG ein.
Kauft den Reststrombezug beim VNB ein (oder bei Dritten bei Marktzugang).
Verteilnetzbetreiber (VNB)
Erteilt innerhalb von 15 Tagen Auskunft über die Netztopologie.
Prüft bei der Anmeldung die Erfüllung der LEG-Voraussetzungen.
Installiert Smart Meter (falls noch nicht vorhanden).
Schaltet bei Bedarf die Kundenschnittstelle am Smart Meter frei.
Berechnet die LEG-internen und -externen Stromflüsse und stellt sie den LEG-Betreiber:innen (oder deren Vertretung) zu.
Optional: Rechnet die Netzkosten und die Stromlieferung ausserhalb der LEG ab.
Vergütet den überschüssigen, ins Netz eingespeisten Strom.
LEG-Dienstleister:in
Rolle kann von den LEG-Betreibenden selbst übernommen werden, wird aber in der Regel von einem Dienstleister ausgeführt. Dienstleister können spezialisierte Anbieter, Energieversorgungsunternehmen oder Verwaltungen sein.
Steht im Vertragsverhältnis mit den LEG-Betreibenden.
Übernimmt die Abrechnung der LEG für die LEG-Betreibenden.

Regelt die Konditionen innerhalb der LEG mit den Teilnehmenden in einem Vertrag.
Vertritt die LEG gegenüber dem VNB.
Meldet dem VNB  Mutationen in der LEG.
Optional: Rechnet die Netzkosten und den vom VNB gelieferten Strom ab.
LEG-Teilnehmer:in (Stromproduzent:in)
Regelt mit der LEG den Preis für die Stromeinspeisung in die LEG sowie die Kostentragung für die Administration und Abrechnung.
Kauft den Strom prioritär aus der LEG ein.
Kauft den Reststrombezug beim VNB ein (oder bei Dritten bei Marktzugang).
Ausdehnung LEG
Eine LEG kann mit Energieerzeugungsanlagen, Speichern und Endverbraucher:innen gebildet werden, die in der gleichen Gemeinde, beim gleichen Verteilnetzbetreiber (VNB) und auf der gleichen Netzebene (d.h. gleiche Spannung am Netzanschluss) angeschlossen sind.
Gemeindegebiet
Gleicher VNB und gleiches Gemeindegebiet
Alle Teilnehmer:innen einer LEG müssen sich im Einzugsgebiet desselben VNB und im gleichen Gemeindegebiet befinden.
Verhältnis Anschlussleistung
Verhältnis Produktions- und Anschlussleistung
Es gilt ein Verhältnis Produktionsleistung der Anlagen zur Anschlussleistung der Endverbraucher:innen von mindestens 5%. Anhand folgender Formel ermittelt der zuständige Verteilnetzbetreiber das zulässige Verhältnis:
Datenübermittlung
Wie beim vZEV kommen auch bei LEG Strom die Smart Meter des VNB zum Einsatz, um die Messdaten für die interne Abrechnung zu erfassen. Es werden zwei Typen von Messdaten benötigt:
Abrechnungsdaten für die interne Abrechnung (werden vom VNB elektronisch (SDAT Standard) an die ZEV-Betreibenden versendet und evtl. zusätzlich über ein Webportal zur Verfügung gestellt)
In der LEG benötigen die LEG-Betreibenden für das Erstellen der Stromrechnungen pro
Abrechnungsperiode und pro LEG-Teilnehmer:in mindestens die Information, wie viele kWh Solarstrom die entsprechenden Teilnehmenden bezogen haben. In manchen Fällen werden die LEG-Betreibenden zusätzlich die 15-Minuten-Lastgangdaten benötigen, um z.B. dynamische Solartarife zu verrechnen.

Die VNB arbeiten an einer gemeinsamen Lösung zur Übermittlung der Abrechnungsdaten an die LEG- Dienstleister. Aufgrund der Vielzahl von Anpassungen und der kurzen Zeit sind die Arbeiten aber noch nicht abgeschlossen. Updates zu einer gemeinsamen Lösung folgen auf dieser Website.



Abrechnungsvarianten LEG
Variante 1: Der VNB sendet allen LEG-Teilnehmenden direkt die Stromrechnungen für den
Netzstrombezug und die weiteren Kosten wie z.B. Messtarif und Netzgebühren. Die LEG-Betreibenden senden separat allen LEG-Teilnehmenden eine Stromrechnung für den Solarstrombezug.

Variante 2: Der VNB sendet die einzelnen Stromrechnungen für den Netzstrombezug an die LEG-
Betreibenden, zusammen mit einer Sammelrechnung. Die LEG-Betreibenden bezahlen die
Sammelrechnung und stellen den LEG-Teilnehmenden dann die gesamten Stromkosten in Rechnung (Solarstrombezug, Netzstrombezug, Netzgebühren etc.). Auch in dieser Variante trägt die LEG-Betreiber:in nur das Inkassorisiko für den Solarstrom. Das Inkassorisiko für Netzstrombezug und Netzgebühren etc. bleibt beim VNB.

Echtzeitdaten für die Steuerung und Optimierung des Eigenverbrauchs vor Ort (können optional über einen Smart Meter Reader (Adapter) via Kundenschnittstelle am Smart Meter ausgelesen werden)
Wie wird der LEG-Stromtarif berechnet?
Die Höhe des LEG-Stromtarifs ist gesetzlich nicht vorgeschrieben und kann deshalb frei gewählt werden. Wenn der LEG-Stromtarif so gewählt wird, dass er dem Stromtarif des Elektrizitätswerks + 20% des Netztarifs des Elektrizitätswerks entspricht, bezahlen die LEG- Teilnehmenden gleich viel wie ohne LEG (Bei einem LEG innerhalb eines Trafokreises können 40% anstelle 20% des Netztarifs verwendet werden).
Wo finde ich LEG-Stromanbieter:innen und -Abnehmer:innen?
Nachbarschaft, persönlich oder über Matching-Plattformen
Wann können LEG gegründet werden?
Die Gründung der LEG wird ab dem 01.01.2026 möglich sein. Bis dahin müssen die Details ausgearbeitet werden (VNB haben nach der Anmeldung 3 Monate Zeit für die Umsetzung).
Kann ich auch private Zähler in einer LEG nutzen?
Nein, für die LEG müssen zwingend Smart Meter des VNB eingesetzt werden.

Einfache Frage

Testresultate

  • Frage: Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?
  • Korrekte Antwort: Nein. Eine der zentralen Voraussetzungen ist dieselbe Gemeinde.
  • Korrekte Antworten: 45 von 50 Antworten
  • Trefferquote: 90 %
  • Skill: 80 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Ja FALSE Eine LEG ermöglicht den Stromaustausch innerhalb einer Gemeinde, vorausgesetzt alle Teilnehmer sind im gleichen Netzgebiet und auf der gleichen Netzebene verbunden.
Nein TRUE Der Austausch des lokal produzierten Stroms kann nur innerhalb einer Gemeinde erfolgen.
Nein TRUE Der Austausch von Strom innerhalb einer LEG ist nur innerhalb derselben Gemeinde möglich, nicht zwischen Nachbargemeinden.
Ja FALSE Innerhalb einer lokalen Elektrizitätsgemeinschaft (LEG) in einer Gemeinde kann Strom über Grundstücksgrenzen hinweg gemeinsam genutzt werden, vorausgesetzt alle Teilnehmer befinden sich im gleichen Gemeindegebiet und beim gleichen Verteilnetzbetreiber.
Ja FALSE Ab 2026 kann Strom innerhalb einer gesamten Gemeinde gehandelt werden, sofern alle Teilnehmer im gleichen Gemeindegebiet und beim gleichen VNB sind.
Ja FALSE Eine LEG erlaubt den Stromhandel innerhalb einer Gemeinde oder eines Quartiers, daher ist es möglich Strom gemeinschaftlich mit einem Freund in der Nachbarsgemeinde zu teilen.
Nein TRUE Der Austausch des lokal produzierten Stroms kann nur innerhalb derselben Gemeinde erfolgen, nicht über Gemeindegrenzen hinweg.
Nein TRUE LEG kann nur innerhalb derselben Gemeinde und bei demselben Verteilnetzbetreiber genutzt werden.
Ja FALSE Innerhalb einer LEG kann Strom über Grundstücksgrenzen hinweg innerhalb der gleichen Gemeinde genutzt werden, sofern alle Teilnehmer denselben Verteilnetzbetreiber haben.
Nein TRUE Eine LEG kann nur innerhalb derselben Gemeinde gebildet werden, nicht zwischen Nachbargemeinden.

Schwierige Frage

Testresultate

  • Frage: Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?
  • Korrekte Antwort: Nein, weil er u.U. auch das öffentliche Verteilnetz verwendet (VSE-LEG 2025)
  • Korrekte Antworten: 35 von 50 Antworten
  • Trefferquote: 70 %
  • Skill: 40 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Ja FALSE In einer lokalen Elektrizitätsgemeinschaft (LEG) wird der Strom lokal gemeinsam genutzt, was als Erweiterung des klassischen Eigenverbrauchs betrachtet werden kann.
Nein TRUE Der Strom in einer LEG wird über Grundstücksgrenzen hinweg genutzt, was über den klassischen Eigenverbrauch hinausgeht.
Ja FALSE In einer LEG wird lokal produzierter Strom gemeinsam genutzt, was als Eigenverbrauch zählt.
Nein TRUE Innerhalb einer LEG wird der gemeinschaftlich genutzte Strom als LEG-Strom und nicht als Eigenverbrauch betrachtet.
Ja FALSE Der Strom, der in einer LEG ausgetauscht wird, wird gemeinsam genutzt und verbraucht, was als Eigenverbrauch zählt.
Ja FALSE In einer LEG wird lokal produzierter Strom über Grundstücksgrenzen hinweg gemeinsam genutzt, was als Eigenverbrauch betrachtet werden kann.
Nein TRUE Der Strom innerhalb einer LEG zählt nicht als Eigenverbrauch, da er über Grundstücksgrenzen hinaus gemeinsam genutzt wird.
Nein TRUE Der Stromaustausch in einer LEG wird als gemeinschaftliche Nutzung lokal produzierten Stroms betrachtet, nicht als Eigenverbrauch.
Nein TRUE Der in einer LEG ausgetauschte Strom wird nicht als Eigenverbrauch betrachtet, sondern als gemeinschaftlich genutzter Strom innerhalb der Gemeinschaft.
Ja FALSE Der in einer LEG ausgetauschte Strom wird lokal produziert und innerhalb der Gemeinschaft genutzt, was ihn zum Eigenverbrauch macht.



Test AUREA-Chatbot

Der PowerBrain AUREA-Chatbot ist ein RAG-System und wurde speziell für die Energieversorgung entwickelt. Nebst den Komponenten eines Standard-RAG steht diesem System ein umfangreicher und hochqualitativer Korpus an Branchenwissen der Energiewirtschaft in verschiedenen Formen zur Verfügung. Dieses Branchenwissen stellt sicher, dass der Bot bei praktisch jeder Frage innerhalb der Energiebranche relevantes Wissen zur Verfügung hat, unabhängig davon, ob die jeweilige Website des EVU vollständig ist. Zum Zeitpunkt dieser Studie (Januar 2026) ist uns kein anderes Angebot System, das diese Eigenschaften aufweist.

Der Branchenwissens-Korpus ist sehr umfangreich und mehrschichtig. Aus Gründen der Einfachheit wird in diesem Experiment nur ein stark reduzierter Datensatz – nämlich ausschliesslich das Glossar – verwendet. Dies reicht jedoch bereits aus, um die überlegene Antwortqualität zu zeigen.


Funktionsweise





Einfache Frage: Der Bot hat sowohl das Branchenwissen, wie auch den Web-Inhalt z.V.





Schwierige Frage: Trotz fehlendem Web-Inhalt hat der Bot immer noch das Branchenwissen z.V.

Prinzip

Beim PowerBrain-Ansatz wird das Sprachmodell nicht direkt mit grossen Textmengen gefüttert. Stattdessen wird die Frage zunächst analysiert, um zu bestimmen, welche Begriffe und Informationen tatsächlich benötigt werden. Nur diese gezielt ausgewählten Wissenselemente werden aus der Wissensbasis geladen und dem LLM als Kontext übergeben. Dadurch arbeitet das Modell mit einem präzisen Energie- und EVU-Kontext, anstatt mit grossen, unspezifischen Textmengen.

Glossar

Eine grosse Fehlerquelle bei LLM sind fehlende Begriffsdefinitionen. Werden wichtige Begriffe nicht definiert sind, so holt sich das LLM diese selbständig, mit dem Risiko von Verwechslungen.

Dementsprechend bildet das Glossar die einfachste Form von kuratiertem Wissen. Es enthält präzise Definitionen zentraler Fachbegriffe der Energiewirtschaft. Bei einer Anfrage werden die relevanten Begriffe identifiziert und deren Definitionen dem Modell als Kontext bereitgestellt.

Frage-Antwort Paare

Frage-Antwort-Paare enthalten typische Fragen aus dem EVU-Kontext zusammen mit fachlich korrekten Antworten. Diese dienen sowohl als Daten zum Fine-Tuning, wie auch als Testdatensatz.

In diesem Experiment werden keine Frage-Antwort Paare verwendet.

Knowledge Graphs

Knowledge Graphs beschreiben die Beziehungen zwischen Begriffen und Konzepten. Sie modellieren, wie verschiedene Elemente der Energiewirtschaft logisch miteinander verbunden sind. Dadurch kann das System nicht nur einzelne Definitionen berücksichtigen, sondern auch Zusammenhänge zwischen Konzepten etwa aus dem Energierecht, der Elektrotechnik und der Solarbranche verstehen und konsistent anwenden.

In diesem Experiment werden keine Knowledge Graphs verwendet.

Limitationen

  • Deutlich mehr Aufwand für Aufbau und Pflege der Wissensbasis
  • Für ein einzelnes EVU ohne spezialisierte Ressourcen oft schwer umsetzbar
  • Fragen ausserhalb des abgedeckten Themengebiets werden nicht beantwortet (Blocking)

Was ist zu erwarten

Wir erwarten, dass das Modell sowohl die schwierige wie auch die einfache Fragen nahezu fehlerlos beantworten kann.

Aufbau des Test-Bots

Der Chatbot wurde mit einem einfache System-Prompt kreiert. Dieser stellt sicher, dass die Resultate immer in derselben, strukturierten Form geliefert werden. Zusätzlich wird der Bot darauf hingewiesen, dass er mit der Frage ein Glossar (mit Begriffsdefinitionen) erhält, den er für die Antwort benutzen soll. Der Bot wurde dabei für jede Frage neu initialisiert, damit die verschiedenen Resultate einander nicht beeinflussen (Kontext).

Show Code
run_experiment_powerbrain <- function(q, n = 50){
  
  res <- vector("list", n)
  
  for(i in seq_len(n)){
    
    bot <- ellmer::chat_openai(
      model = "gpt-4o",
      system_prompt = "
         You are a friendly assistant who answers question for EVU clients 'User query'. 
         You are given a 'Glossary' and term definitions. You must strictly use these given term definitions. You must consider these term definitons very carefully and make sure the answer is exactly related to these term definitons.
          Answer very short and succinct.
          Output German.
          
          Rules:
          - decision must be either 'Ja' or 'Nein'
          - reason is one sentence justification
          
          output_format:
          {
           'decision': '<string>',
           'reason': '<string>'
          }")
    
    txt <- bot$chat(q)
    parsed <- parse_llm_json(txt)
    
    res[[i]] <- data.frame(
      decision = parsed$decision,
      begruendung = parsed$reason,
      stringsAsFactors = FALSE
    )
    
  }
  
  do.call(rbind, res)
}


# getting the glossary // together with the question, we choose the relevant terms and then their relevant terms recursively
q1 <- "Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?"

glossary <- read.csv(here("DB", "pb_energy_glossary.csv")) %>% cuarate_glossary(q1)
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  glossary
)

RES_powerbrain_1 <- run_experiment_powerbrain(q = enhq1, n = 50)


# getting the glossary // together with the question, we choose the relevant terms and then their relevant terms recursively
q2 <- "Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?"
glossary <- read.csv(here("DB", "pb_energy_glossary.csv")) %>% cuarate_glossary(q2)
enhq1 <- paste0(
  "## User query:\n",
  q1,"\n\n",
  glossary
)

RES_powerbrain_2 <- run_experiment_powerbrain(q = enhq2, n = 50)

Kuariertes Wissen

Im Unterschied zu einem RAG werden hier nicht einfach grosse Textmengen verwendet. Stattdessen wird die Frage analysiert und die benötigten Begriffsdefinitionen werden sorgfältig herausgefiltert. Kernprinzip ist, dass die Beschreibungen eines Begriffs wiederum neue unklare und wichtige Begriffe beinhalten können. Das Modell wird auch diese finden und dessen Definitionen suchen. In einer Art Kettenreaktion passiert dies so lange, bis alle wichtigen Begriffe sauber definiert sind.

Beispiel der Begriffskette für Eigenverbrauch LEG:

Diese Methode hat mindestens drei entscheidende Vorteile:

  1. Alle notwendigen Begriffe sind präzise und vorhanden.
  2. Das LLM hat i.d.R. deutlich weniger Text, womit die Zuverlässigkeit erhöht wird.
  3. Falls ein Begriff doch fehlen sollte, weiss das Modell es und kann entsprechend vorsichtiger antworten

In der Praxis wird dieses Modell mit RAG und anderen Wissensquellen kombiniert, was die Antwortqualität nochmals deutlich erhöht. Hier wird nur eine stark vereinfachte Version des PowerBrain Modelles verwendet, um zu zeigen, dass bereits dieses einem Standard RAG-Systemen deutlich überlegen ist.

Unterstehend ist das vollständige Query, inklusive dem Glossar für Frage 2 dargestellt. So wird es an das LLM gesendet

Show Code
> cat(enhq1)
## User query:
Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?

## Glossary:
### term: Lokale Elektrizitätsgemeinschaft (LEG)
description: Zusammenschluss von Erzeugern, Endverbrauchern und Speicherbetreibern, mit dem Zweck, lokal produzierte Energie in der Gemeinschaft auszutauschen unter Nutzung des öffentlichen Verteilnetzes.

### term: Eigenverbrauch LEG
description: Selbst produzierte Energie wird am Ort der Produktion ganz oder teilweise verbraucht oder veräussert, ohne dafür das Verteilnetz zu nutzen. LEG-Strom stellt keinen Eigenverbrauch dar (da das Netz verwendet wird).
not valid for: ZEV/vZEV

### term: Netzanschlusspunkt
description: Ort, an dem die Anbindung an das Netz des VNB erfolgt. Er wird durch den VNB bestimmt. Im VSE wird der Netzanschlusspunkt als Verknüpfungspunkt bezeichnet.

### term: Ort der Produktion
description: Die elektrische Installation hinter dem Netzanschlusspunkt, an dem eine Erzeugungsanlage angeschlossen ist und in dem der Strom ohne Nutzung des öffentlichen Verteilnetzes verbraucht werden kann.

### term: Verteilnetz
description: Das öffentliche Stromnetz der Nieder- und Mittelspannung, über das Elektrizität zwischen verschiedenen Netzanschlusspunkten transportiert und von einem VNB betrieben wird.

Einfache Frage

Testresultate

  • Frage: Kann ich mit einem Freund der Nachbarsgemeinde den Strom teilen innerhalb einer LEG?
  • Korrekte Antwort: Nein. Eine der zentralen Voraussetzungen ist dieselbe Gemeinde.
  • Korrekte Antworten: 50 von 50 Antworten
  • Trefferquote: 100 %
  • Skill: 100 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden.
Nein TRUE Bei einer LEG müssen sich alle Teilnehmer in der gleichen Gemeinde befinden.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden, was hier nicht der Fall wäre.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden.
Nein TRUE Bei einer LEG müssen sich alle Teilnehmer in der gleichen Gemeinde befinden.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden, daher ist das Teilen von Strom mit jemandem aus einer Nachbarsgemeinde nicht erlaubt.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden, daher ist ein Stromteilen mit einem Freund aus der Nachbarsgemeinde nicht möglich.
Nein TRUE Alle LEG-Teilnehmer müssen sich in der gleichen Gemeinde befinden.

Schwierige Frage

Testresultate

  • Frage: Ist der Strom, der in einer LEG ausgetauscht wird, Eigenverbrauch?
  • Korrekte Antwort: Nein, weil er u.U. auch das öffentliche Verteilnetz verwendet (VSE-LEG 2025)
  • Korrekte Antworten: 50 von 50 Antworten
  • Trefferquote: 100 %
  • Skill: 100 %

Auszug Antworten des Bots

Nachfolgend 10 zufällig gewählte Antworten

Entscheid LLM Korrekt Begründung
Nein TRUE Strom in einer LEG wird über das öffentliche Verteilnetz ausgetauscht, daher ist es kein Eigenverbrauch.
Nein TRUE LEG-Strom stellt keinen Eigenverbrauch dar, da das öffentliche Verteilnetz genutzt wird.
Nein TRUE LEG-Strom ist kein Eigenverbrauch, da das Verteilnetz genutzt wird.
Nein TRUE Strom in einer LEG wird über das öffentliche Verteilnetz ausgetauscht, was keinen Eigenverbrauch darstellt.
Nein TRUE Der Austausch von Strom in einer LEG nutzt das öffentliche Verteilnetz, was keinen Eigenverbrauch darstellt.
Nein TRUE Strom in einer LEG wird über das öffentliche Verteilnetz ausgetauscht, was keinen Eigenverbrauch darstellt.
Nein TRUE In einer LEG wird Strom über das öffentliche Verteilnetz ausgetauscht, was keinen Eigenverbrauch darstellt.
Nein TRUE Strom, der in einer LEG ausgetauscht wird, ist kein Eigenverbrauch, da das öffentliche Verteilnetz genutzt wird.
Nein TRUE Strom, der in einer LEG ausgetauscht wird, nutzt das öffentliche Verteilnetz und ist daher kein Eigenverbrauch.
Nein TRUE Der Stromaustausch in einer LEG nutzt das Verteilnetz und gilt daher nicht als Eigenverbrauch.