synsema
DE Deutsch

Programmiersprache · KI-Agenten-Framework · standardmäßig sicher

Menschen lesen die Seite.
Agenten lesen die Quelle.

Eine URL, per Content Negotiation. Synsema ist eine schnelle, standardmäßig sichere Programmiersprache für KI-Agenten mit eingebautem Agenten-Framework: dieselbe Route liefert Menschen HTML und Modellen Markdown. Schalten Sie das Panel um und sehen Sie genau das Markdown, das ein LLM von dieser Seite bekommt.

Lernen durch Bauen auf try.synsema.com: Kurse mit echter Sandbox, nichts zu installieren.

GET synsema.com/de
200 OK · Content-Type: text/markdown
# Synsema
> Eine Programmiersprache für KI-Agenten.

## Was es ist
- Schnell. 47.200 req/s, vor Go und Node.
- Standardmäßig sicher. Ohne `require` kein Zugriff.
- Für Agenten gebaut. Eine Route, HTML oder Markdown.

## Installieren
curl -fsSL synsema.com/install.sh | sh
Index für Agenten: /llms.txt

Synsema

Eine Programmiersprache für KI-Agenten.

Durchsatz
47.200req/s
vs Go (net/http)
+10 %
Standardmäßig sicher
Für Agenten gebaut

↑ dieselbe Ressource, zwei Darstellungen · curl -H "Accept: text/markdown" synsema.com/de

Schnell · req/s bei c=50

47.200req/s

Vor Go (42.800) und Node (38.700)1. Nativ asynchron, echtes Multi-Core, eine statische Binärdatei, keine Laufzeitumgebung.

Standardmäßig sicher

-- ohne require kein Zugriff
require net("api.shop.com")
fetch("api.shop.com")  ✓ erlaubt
fetch("evil.com")      ⊘ verweigert

Ohne require kein Zugriff: der Interpreter verweigert, nicht ein Code-Review. Authentifizierung, Validierung und Intent sind deklarativ.

Für Agenten gebaut

Diese Seite ist die Demo. Jede Route liefert Menschen HTML und Agenten Markdown/JSON, mit /llms.txt, /sitemap.xml und /openapi.json, abgeleitet aus der Routentabelle.

Die Dokumentation stellt einen MCP-Server bereit: Agenten suchen, lesen, führen aus und testen Code über einen Endpunkt.

1 · gemessen auf einem Linux-VPS, 6 Workloads, c=50, Median der Läufe (der erste verworfen). Reproduzierbares Harness: synsema-arena.

Was Sie damit bauen

Ein KI-Agenten-Framework und eine Programmiersprache, in einer Binärdatei.

Alles, was eine agentische Anwendung braucht, steckt in der Sprache, nicht in einem obendrauf geklebten Framework: LLM-Aufrufe, Werkzeugnutzung, Gedächtnis, menschliche Freigabe, Multi-Agenten-Orchestrierung, ein Produktionsserver und das Sicherheitsmodell. Dieselbe Sprache baut deshalb auch die API, die Website, den Cron-Job und die CLI rund um den Agenten.

Agenten

KI-Agenten und LLM-Apps

reason, decide, analyze und generate sind Primitive: validierte Antworten, Wiederholungen, jeder Anbieter, der Schlüssel als Secret versiegelt.

Docs ↗

Orchestrierung

Multi-Agenten-Systeme

Agenten auf echten Threads, ein gemeinsames Blackboard, Signale, ein Event-Bus und dauerhaftes Gedächtnis, ohne Message-Broker im Betrieb.

Docs ↗

Mensch im Loop

Freigaben und Gates

approve, confirm und ask warten auf einen echten Menschen, im Terminal oder hinter Einmal-Links in der Warteschlange; ist niemand da, wird abgelehnt.

Docs ↗

Werkzeuge

MCP-Server

Machen Sie, was ein Programm kann, für Claude Code, Cursor oder Lampson verfügbar. Der MCP-Server der Dokumentation selbst ist so geschrieben.

Docs ↗

Backends

REST-APIs und CRUD

Routen, deklarative Auth und Validierung, Paginierung, SQLite, Postgres, MySQL, Mongo oder Redis, in einer Datei, mit eingebautem Produktionsserver.

Docs ↗

Echtzeit

Agentische Apps

Eingehende WebSockets, Kindprozesse zeilenweise beobachtet, ein select über alles, Abbruch und geordnetes Herunterfahren.

Docs ↗

Web

Websites, SSR

Templates, Layouts und Komponenten; jede Seite für Agenten verhandelt; /llms.txt, Sitemap und OpenAPI gratis. Diese Website ist eine davon.

Docs ↗

Deployment

Automatisches HTTPS

--tls-auto sie@site.com: Zertifikate und Erneuerungen von Let's Encrypt, HTTP/2, www auf den Apex, ein Reverse Proxy, wenn Sie einen brauchen.

Docs ↗

Apps

Eine App: Web, Handy und Desktop

synsema init --desktop: dieselbe serverseitig gerenderte App wird auf Android und iOS als PWA mit nativem Push installiert und als Desktop-App ausgeliefert — eine Binärdatei, ein App-Fenster des Browsers, Ihr Icon, keine Konsole.

Docs ↗

Automatisierung

Cron, Webhooks, Jobs

Geplante Aufgaben und Live-Feeds über WebSocket; lang laufende Arbeit auf einer echten Event-Loop, Observability inklusive.

Docs ↗

Daten

Daten und Diagramme

CSV, SQL, Statistik, numerische Arrays und native SVG-Diagramme, die Agenten als Daten und Menschen als Bilder lesen; Export als PNG und PDF.

Docs ↗

Ausliefern

Eine Binärdatei oder WASM

synsema build versiegelt Programm und Assets in einer ausführbaren Datei; der Interpreter läuft auch im Browser, am Edge und in TEEs.

Docs ↗

Eine Datei

Das ganze Backend, mit seinen Berechtigungen obenauf.

Ein Synsema-Programm beginnt damit, zu deklarieren, was es anfassen darf. Alles unter dieser Zeile läuft darin: die Routen, die Datenbank, die Secrets, das Modell. Beide Dateien unten parsen und laufen genau so.

api.synEine REST-API bauen ↗
-- A bookshop API. The `require` lines are the whole permission
-- surface: a port, one database file, one secret. Nothing else.
intent: "public read API; writes need the staff token"

require serve(8080)
require db("./shop.db")
require secret("API_TOKEN")

task check_token(token)
    let want be hmac_sha256("staff", token)
    when verify_hmac("staff", want, secret("API_TOKEN"))
        give {"role": "staff"}
    give nothing

serve on 8080
    auth with check_token
    rate_limit 120 per minute

    route "GET /books"
        give paged("SELECT id, title, price FROM books")

    route "POST /books" requires auth
        expect body {title: text, price: number}
        let b be json of request
        sql_exec("INSERT INTO books (title, price) VALUES (?, ?)",
                 [b.title, b.price])
        give created(b)

    route "GET /about"
        let doc be page([heading(1, "Bookshop"),
                         prose("HTML or Markdown, one route.")],
                        {"title": "Bookshop"})
        give content(doc)
agent.synLLM-Primitive ↗
-- An agent that triages support tickets. The model decides;
-- a human approves refunds; the API key is a sealed secret.
intent: "triage open tickets; refunds wait for a human"

require llm
require net("api.example.com")
require secret("SUPPORT_TOKEN")

let api be "https://api.example.com"
let auth be {"Authorization": bearer(secret("SUPPORT_TOKEN"))}
let r be http_get(api + "/tickets?open=1", auth)
let tickets be json_decode(body of r)

each t in tickets
    let msg be t["text"]
    let kind be decide between ["bug", "billing", "other"] given msg
    when kind == "billing"
        let amount be analyze msg for "the amount to refund"
        let who be t["customer"]
        approve "Refund " + text(amount) + " to " + who + "?" within 1h
    otherwise
        let reply be generate "a short, kind answer" given msg
        let url be api + "/tickets/" + t["id"] + "/reply"
        http_post(url, {"text": reply}, auth)
  • require ist die Berechtigungsoberfläche. Ein Port, eine Datenbankdatei, ein Secret. Ein fetch zu jedem anderen Host wird vom Interpreter verweigert.
  • Auth und Validierung sind Deklarationen. auth with benennt die Task, die sagt, wer ein Token ist; expect body weist eine falsche Nutzlast mit einem 400 ab, das das Feld nennt.
  • Eine Route, jeder Leser. content() antwortet Browsern mit HTML und Agenten mit Markdown oder JSON; paged() paginiert große Ergebnisse für Sie.
  • Das Modell ist ein Primitiv. decide liefert eine der Optionen oder versucht es erneut; analyze und generate sind typisiert, keine von Hand zusammengeklebten Prompt-Strings.
  • Ein Mensch ist auch ein Primitiv. approve … within 1h wartet auf eine echte Person; ist niemand da, lehnt es ab.
  • Secrets materialisieren sich nie. Der Schlüssel reist versiegelt bis zum Socket; das Modell sieht einen Platzhalter.

Gebaut mit Synsema

Drei Dinge, die Sie heute nutzen können.

Coding-Agent

Lampson

Ein Open-Source-KI-Coding-Agent für Terminal und Browser, vollständig in Synsema geschrieben: Werkzeuge auf Ihr Projekt beschränkt, Berechtigungen unter Ihrer Kontrolle, Sub-Agenten, geplante Aufgaben, Plugins.

lampson.org ↗

Capabilities für Agenten

Lamps

Portable Einheiten von Capability: ein Manifest deklariert, was der Code anfassen darf, eine Laufzeit setzt es durch und auditiert jeden Aufruf. lamp add, dann lamp mcp für Claude Code, Cursor oder jeden MCP-Agenten.

lamps.sh ↗

Lernen

Try Synsema

Lernen Sie durch Bauen von Software für echte Unternehmen, im Browser: Kurse, Missionen, die in einer echten Sandbox geprüft werden, XP und Level. Nichts zu installieren.

try.synsema.com ↗

Aus dem Blog

Benchmarks, Designentscheidungen, Anleitungen.

Alle Beiträge → · RSS