Hoppa till innehållet

LangGraph Engine

En motor som driver ett team av AI-agenter, där konfigurationen avgör vad teamet gör

LangGraph Engine är ett utvecklingsprojekt. En ansvarig agent tar emot en brief, planerar tillsammans med personen som skickade den, ställer motfrågor och lämnar över arbetet till agenter med specialiserade roller.

  • En motor, många tjänster. Samma kärna kan driva helt olika tjänster, till exempel en kreativ byrå, bara genom att konfigurationen ändras. Koden förblir densamma.
  • En människa behåller kontrollen. Planen godkänns innan arbetet börjar, en person kan gå in under arbetets gång, och agenterna vänder sig tillbaka till den ansvariga agenten när de behöver hjälp.
  • Vilket gränssnitt som helst kan styra den. Motorn visar hur en körning fortskrider i realtid och är byggd för att fungera med olika frontends. En första håller på att byggas.
  • Byggd från en skriven specifikation. Kraven skrivs ner först, och arbetet görs i små steg, där varje steg testas innan nästa.

Ett lärprojekt på min egen tid, inte kunduppdrag.

Teknik

Arkitektur och förmågor

Motorn som kärna, utbytbara frontends ovanpå, agenter och lagring under

Arkitekturprinciper

  • Motorn är produkten, och frontends går att byta. En kärna, levererad bakom en HTTP/SSE-gräns och styrd av konfiguration, så att en annan frontend kan byggas eller kopplas på per nätverkstyp utan att kärnan rörs.
  • Domänneutral från grunden: agentroller, prompter och startdata ligger i konfigurationen (YAML + seed), så att ett nätverk för en kreativ byrå och ett för finansiella rådgivare är samma program med olika konfiguration.
  • Inget leverantörsberoende i lagringen: PostgreSQL nås via ren SQL med psycopg, utan ORM eller leverantörs-SDK. Backend och frontend ligger i separata repon, utan monorepo och utan delad kod, och är bara kopplade via API-kontraktet.

Förmågor

  • Den ansvariga agenten för en planeringsdialog, ställer motfrågor och fördelar sedan arbetet till underagenter med specialiserade roller. Underagenterna lämnar tillbaka till den ansvariga agenten när de når sina gränser.
  • En människa i loopen vid beslutspunkterna: godkänna en plan, styra under körningen eller hantera en eskalering.
  • Verktyg i en agentisk loop (t.ex. webbsökning) som agenterna kan använda under körningen.
  • Körningens läge strömmas i realtid via SSE, och referensfrontenden använder det för vyer för ny körning, lista över körningar, körningsdetaljer och status i realtid.

Designbeslut

Vad Varför Lösning
Lagringslager En ORM eller leverantörs-SDK skulle lägga till ett beroende och en abstraktion som motorn inte behöver Ren SQL via psycopg mot PostgreSQL, direkt, granskningsbart och portabelt
Koppling mellan backend och frontend Ett monorepo eller ett delat paket skulle binda ihop de två releasecyklerna Två separata repon, bara kopplade via HTTP/SSE-kontraktet, med frontenden låst mot en UI-spec från Claude Design
Beteende per domän Att förgrena koden per kund eller nätverk skulle mångdubbla det som måste förvaltas En domänneutral kärna, där beteendet kommer från konfigurationen (agentdefinitioner + startdata)

Utvecklad från en tidigare proof of concept i CrewAI (ai-creative-agency) till den nuvarande, spec-drivna ombyggnaden på LangGraph.