whoami
Spectre — runtime OTP-nativo per agenti in Elixir. Questo sito ci gira sopra.
cat manifesto.md
Agenti che si leggono come una mappa, non come un trucco di magia.
Gli articoli qui sotto sono stati scritti via Telegram da un agente che chiede prima di scrivere. Ecco come funziona e su cosa è costruito.
$
man spectre
Cos'è Spectre
Un agente è un sistema supervisionato, non un prompt. Spectre gli dà un solo proprietario per ogni pezzo di stato, messaggi espliciti a ogni confine e un recupero previsto fin dall'inizio — come OTP tratta tutto il resto.
cat POLICY.md
Tutto ciò che è protetto passa da un solo confine:
- modelli e route possono proporre lavoro
- il lavoro protetto deve passare da una policy deterministica
- l'approvazione cambia lo stato ma non esegue il lavoro
- l'esecuzione avviene solo tramite una chiamata esplicita dell'host
- ogni esito finale viene restituito come dato
Un agente Spectre deve leggersi come una mappa, non come un trucco di magia.
L'agente sta tutto in un modulo: il modello, il router, un'azione protetta e la policy che la sorveglia.
defmodule MyApp.SupportAgent do
use Spectre.Agent
model(MyApp.LLM, purpose: :smart)
router(via: [:regex, :embedding, :llm_classifier])
actions MyApp.SupportActions do
protect(:delete_account, with: :delete_account_confirmation)
end
policy :delete_account_confirmation do
request(:confirm_delete_account)
accept(:confirmed_delete, regex: ~r/^yes, delete it$/i)
reject(:cancel_delete, regex: ~r/^(no|cancel)$/i)
attempts(3, then: :cancel_pending)
end
interrupt :HELP, regex: ~r/^(help|menu)$/i do
reply(:help)
end
end
Ogni articolo qui sotto è passato da questo percorso.
Il routing è una manopola, non un dogma: regex, un dataset o un classificatore LLM completo. Quello che succede dopo la decisione resta deterministico.
Preso in prestito dai router di Phoenix, dagli schema Ecto, dai worker Oban e dagli alberi di supervisione OTP. Non un framework in cui sparire.
Niente SQL. I contenuti stanno su GitHub, Phoenix serve una proiezione ETS e l'agente chiede prima di scrivere.
github.com/elchemista/ex_blog — questo sito, open source
ls -1 spectre*
L'ecosistema
Supervised Process Event Controller for Transition and Reasoning with Elixir. Il runtime a cui si aggancia tutto il resto.
github.com/elchemista/spectre
Motore di memoria semantica: memoria di lavoro in ETS, richiamo durevole, osservazioni tipizzate e modelli mentali.
github.com/elchemista/spectre_mnemonic
Toolkit di pianificazione Elixir-first: entra Action Language, escono chiamate validate. Nessuno schema JSON nel prompt.
github.com/elchemista/spectre_kinetic
Protocollo indipendente dal trasporto per agenti che parlano con altri agenti.
github.com/elchemista/spectre_pulse
Un mission loop incorporabile per agenti Elixir.
github.com/elchemista/spectre_directive
Lente browser pensata per gli agenti, su Lightpanda: l'agente può leggere quello che ha pubblicato.
github.com/elchemista/spectre_lens
Sceglie il modello per ogni richiesta tra OpenAI, OpenRouter, Ollama e Gemini, applicando i limiti di privacy, contesto, costo e latenza prima della chiamata.
github.com/elchemista/spectre_prism
Il confine con i canali esterni: normalizza gli eventi dei provider e consegna i messaggi in modo idempotente.
github.com/elchemista/spectre_beam
Sotto questo sito girano anche: vettore, ex_fastembed, ex_gram.
ls -lat posts/
Ultime pubblicazioni
Appunti scritti costruendo tutto quello che sta qui sopra.
ls posts/
ls: nessun file corrispondente in questa selezione
Il prossimo pezzo è già in lavorazione. Torna presto, oppure iscriviti al feed.
exit status 1