{"id":66,"date":"2026-05-02T12:46:19","date_gmt":"2026-05-02T12:46:19","guid":{"rendered":"http:\/\/localhost:8080\/architektur\/"},"modified":"2026-05-03T08:25:26","modified_gmt":"2026-05-03T08:25:26","slug":"architecture","status":"publish","type":"page","link":"https:\/\/www.tb-software.ch\/ai\/architecture\/","title":{"rendered":"Architektur, wie diese Webseite wirklich funktioniert"},"content":{"rendered":"    <article class=\"tb-arch\">\n\n        <header class=\"tb-arch__hero\">\n            <div class=\"tb-arch__hero-inner\">\n                <span class=\"tb-arch__eyebrow\">Architektur \u00b7 Live-Beweis \u00b7 Open Concept<\/span>\n                <h1 class=\"tb-arch__title\">\n                    Wie diese Webseite<br>\n                    <span class=\"tb-arch__title-accent\">wirklich funktioniert.<\/span>\n                <\/h1>\n                <p class=\"tb-arch__lead\">\n                    Du schaust gerade nicht auf eine WordPress-Vorlage. Du schaust auf\n                    11 selbst gebaute Plugins, die zusammen ein lebendiges System ergeben:\n                    eine zentrale Faktenquelle, zwei KI-Bots mit klar getrennten Rollen,\n                    Live-Telemetrie, lokale Sprachmodelle. Und alles erweiterbar \u00fcber\n                    saubere Hook-Punkte.\n                <\/p>\n                <p class=\"tb-arch__lead\">\n                    Diese Seite ist <strong>der Live-Beweis<\/strong> daf\u00fcr, was du bei mir buchen kannst.\n                <\/p>\n            <\/div>\n        <\/header>\n\n        <!-- DATENFLUSS-DIAGRAMM -->\n        <section class=\"tb-arch__section\">\n            <h2 class=\"tb-arch__h2\">Datenfluss einer Bot-Anfrage<\/h2>\n            <p class=\"tb-arch__sub\">\n                Vereinfacht: was passiert, wenn du den Butler fragst \u201eWas kostet ein Pilot?\"\n            <\/p>\n\n            <div class=\"tb-arch__flow\">\n                <div class=\"tb-arch__flow-step\" data-step=\"1\">\n                    <div class=\"tb-arch__flow-icon\">\ud83d\udce5<\/div>\n                    <h3>Frage<\/h3>\n                    <p>User tippt in den Butler oder Concierge.<\/p>\n                <\/div>\n                <div class=\"tb-arch__flow-arrow\">\u2192<\/div>\n                <div class=\"tb-arch__flow-step\" data-step=\"2\">\n                    <div class=\"tb-arch__flow-icon\">\ud83d\udccb<\/div>\n                    <h3>Faktenblock<\/h3>\n                    <p><code>tb-facts<\/code> liefert Preise, Stack, Manifest, Anker, alle aus einer Quelle.<\/p>\n                <\/div>\n                <div class=\"tb-arch__flow-arrow\">\u2192<\/div>\n                <div class=\"tb-arch__flow-step\" data-step=\"3\">\n                    <div class=\"tb-arch__flow-icon\">\ud83d\udccd<\/div>\n                    <h3>Page-Kontext<\/h3>\n                    <p>Filter-Hook sammelt: aktuelle Seite, Wetter, Online-Counter.<\/p>\n                <\/div>\n                <div class=\"tb-arch__flow-arrow\">\u2192<\/div>\n                <div class=\"tb-arch__flow-step\" data-step=\"4\">\n                    <div class=\"tb-arch__flow-icon\">\ud83e\udde0<\/div>\n                    <h3>Lokales LLM<\/h3>\n                    <p>Eigene Hardware, kein Cloud-API. Antwortet in 3-8 s.<\/p>\n                <\/div>\n                <div class=\"tb-arch__flow-arrow\">\u2192<\/div>\n                <div class=\"tb-arch__flow-step\" data-step=\"5\">\n                    <div class=\"tb-arch__flow-icon\">\ud83d\udce4<\/div>\n                    <h3>Antwort<\/h3>\n                    <p>Faktentreu, mit Action-Tags ([anim:spin]) oder Markdown-Links.<\/p>\n                <\/div>\n            <\/div>\n        <\/section>\n\n        <!-- 4 PRINZIPIEN -->\n        <section class=\"tb-arch__section tb-arch__section--alt\">\n            <h2 class=\"tb-arch__h2\">Vier Architektur-Prinzipien<\/h2>\n            <div class=\"tb-arch__principles\">\n\n                <article class=\"tb-arch__principle\">\n                    <div class=\"tb-arch__principle-icon\">\ud83d\udcda<\/div>\n                    <h3>Single Source of Truth<\/h3>\n                    <p>Preise, Kontaktdaten, Stack, <strong>einmal<\/strong> im\n                    Backend pflegen, \u00fcberall aktuell. Frontend-Pills, Hero, FAQ\n                    UND die KI-Bots lesen denselben Datensatz. Du \u00e4nderst eine Zahl\n                    \u2192 keine Halluzinationen mehr.<\/p>\n                <\/article>\n\n                <article class=\"tb-arch__principle\">\n                    <div class=\"tb-arch__principle-icon\">\ud83d\udd0c<\/div>\n                    <h3>Erweiterbar via Hooks<\/h3>\n                    <p>Neue Daten in den Bot-Kontext einklinken? Eine Zeile:\n                    <code>add_filter('tb_butler_page_context', \u2026)<\/code>. Keine\n                    Code-\u00c4nderung im Bot selbst. So wurde z.B. das Wetter integriert\n                   , ohne den Butler anzufassen.<\/p>\n                <\/article>\n\n                <article class=\"tb-arch__principle\">\n                    <div class=\"tb-arch__principle-icon\">\ud83d\udee1<\/div>\n                    <h3>Anti-Halluzination<\/h3>\n                    <p>KI darf nur aus einer <strong>Whitelist<\/strong> verlinken.\n                    Antworten werden defensiv von Markdown gestrippt (Butler) oder\n                    durch Mini-Renderer (Concierge) gerendert. Kein \u201edie KI hat\n                    mir was Falsches gesagt\"-Risiko.<\/p>\n                <\/article>\n\n                <article class=\"tb-arch__principle\">\n                    <div class=\"tb-arch__principle-icon\">\u2699<\/div>\n                    <h3>SRP, kein Spaghetti<\/h3>\n                    <p>Jedes Plugin macht <strong>eine<\/strong> Sache. Persona-Loader,\n                    Chat-Handler, SVG-Renderer und Admin-Settings sind 4 getrennte\n                    Files. Das macht Bugs lokalisierbar und Erweiterungen risikoarm ,\n                    auch in 5 Jahren noch.<\/p>\n                <\/article>\n\n            <\/div>\n        <\/section>\n\n        <!-- LIVE-BEWEIS -->\n        <section class=\"tb-arch__section\">\n            <h2 class=\"tb-arch__h2\">Live-Beweis, schau selbst nach<\/h2>\n            <p class=\"tb-arch__sub\">\n                Statt Marketing-Phrasen: alles, was hier steht, l\u00e4uft auf dieser\n                Seite jetzt gerade. Hier vier Stellen wo du das \u00fcberpr\u00fcfen kannst:\n            <\/p>\n\n            <div class=\"tb-arch__proof\">\n                <article class=\"tb-arch__proof-item\">\n                    <h3>\ud83d\udcca Footer-Counter<\/h3>\n                    <p>Scroll runter zum Footer. Du siehst \u201e\ud83d\udfe2 N online \u00b7 X Views heute \u00b7 Y KI-Calls heute\". Das sind echte Zahlen aus einer eigenen DB-Tabelle, alle 60 s aktualisiert.<\/p>\n                                            <p class=\"tb-arch__proof-stat\">Gerade: <strong>1<\/strong> online \u00b7 <strong>13<\/strong> Views \u00b7 <strong>13<\/strong> KI-Calls<\/p>\n                                    <\/article>\n\n                <article class=\"tb-arch__proof-item\">\n                    <h3>\ud83e\udd16 Butler fragen<\/h3>\n                    <p>Klick auf den Butler unten. Frag \u201eWas kostet ein Pilot?\".\n                    Antwort: konkrete Werte, keine Ausweichman\u00f6ver. Frag\n                    \u201eDrehe dich\", er dreht sich.<\/p>\n                    <p class=\"tb-arch__proof-stat\"><a href=\"https:\/\/www.tb-software.ch\/ai\/butler\/\">\u2192 Spielwiese mit allen Funktionen<\/a><\/p>\n                <\/article>\n\n                <article class=\"tb-arch__proof-item\">\n                    <h3>\ud83e\uddd1\u200d\ud83d\udcbc Concierge fragen<\/h3>\n                    <p>Klick auf \ud83d\udcac unten rechts. Frag \u201eWelche Themen behandelt\n                    diese Seite?\". Antwort: strukturierte Markdown-Liste mit\n                    echten Links zu allen Sektionen.<\/p>\n                <\/article>\n\n                <article class=\"tb-arch__proof-item\">\n                    <h3>\ud83c\udf24 Wetter-Kontext<\/h3>\n                    <p>Frag den Butler \u201eWie ist das Wetter heute?\". Er kennt es ,\n                    weil das Wetter-Plugin sich per Filter-Hook in den\n                    Bot-System-Prompt einklinkt. Live-Daten aus Open-Meteo,\n                    t\u00e4glich neu vom lokalen LLM kommentiert (\u201eWetter-Ueli\").<\/p>\n                <\/article>\n\n                <article class=\"tb-arch__proof-item\">\n                    <h3>\u26a1 Cloud-Toggle (Schnell \u2194 Langsam)<\/h3>\n                    <p>Im Voll-Chat-Footer der <a href=\"https:\/\/www.tb-software.ch\/ai\/butler\/\">Spielwiese<\/a>\n                    findest du einen <strong>Modus-Schalter<\/strong>: \ud83d\udc0c Lokal \u00b7 0 \u20ac (~5-10 s) \u21c4\n                    \u26a1 Cloud \u00b7 ~Cent (&lt;1 s). Nach jeder Antwort siehst du eine\n                    Pill mit Modus, Latenz und Echt-Kosten.<\/p>\n                                            <p class=\"tb-arch__proof-stat\">Status: <strong>\u2705 Cloud aktiv<\/strong> \u00b7 Modell <code>gpt-4o-mini<\/code>, Geschwindigkeit kostet Geld, Hardware oder API-Tokens. Beides ist on-premises m\u00f6glich.<\/p>\n                                    <\/article>\n            <\/div>\n        <\/section>\n\n        <!-- CTA -->\n        <section class=\"tb-arch__cta\">\n            <h2 class=\"tb-arch__h2 tb-arch__h2--centered\">Wenn du sowas f\u00fcr dich willst.<\/h2>\n            <p class=\"tb-arch__cta-lead\">\n                Die meisten Webseiten sind tot, Folien aus dem Baukasten. Hier\n                kannst du sehen, dass es auch anders geht: ein lebendiges System,\n                das du selbst pflegen und erweitern kannst, ohne jedes Mal einen\n                Entwickler zu rufen.\n            <\/p>\n            <div class=\"tb-arch__cta-row\">\n                <a href=\"https:\/\/www.tb-software.ch\/ai\/briefing\/\" class=\"tb-arch__btn tb-arch__btn--primary\">\ud83d\udcdd Projektanfrage starten<\/a>\n                <a href=\"https:\/\/www.tb-software.ch\/ai\/craft\/\" class=\"tb-arch__btn\">\ud83d\udee0 Werdegang ansehen<\/a>\n                <a href=\"https:\/\/www.tb-software.ch\/ai\/courses\/\" class=\"tb-arch__btn\">\ud83c\udf93 Kurse & Beratung<\/a>\n            <\/div>\n        <\/section>\n\n    <\/article>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-66","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/pages\/66","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=66"}],"version-history":[{"count":1,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/pages\/66\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=\/wp\/v2\/pages\/66\/revisions\/67"}],"wp:attachment":[{"href":"https:\/\/www.tb-software.ch\/ai\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}