Erlebe künstliche Intelligenz komplett transparent in nativem JavaScript implementiert. Keine Blackbox – reiner ausführbarer Code direkt in deinem Browser.
Hier siehst du ein echtes, funktionales künstliches Neuron und ein vollständiges Schicht-System (Layer), das direkt in JS-Objektstrukturen umgesetzt ist.
class Neuron {
constructor(inputSize) {
this.weights = Array.from({length: inputSize}, () => Math.random() - 0.5);
this.bias = Math.random() - 0.5;
}
activate(x) { return 1 / (1 + Math.exp(-x)); } // Sigmoid
forward(inputs) {
let sum = this.bias;
for(let i=0; i<inputs.length; i++) {
sum += inputs[i] * this.weights[i];
}
return this.activate(sum);
}
}
Das Netz berechnet die gewichteten Summen der Inputs dynamisch über die Instanzen der JavaScript Klassen.
Transformer und moderne LLMs nutzen fast ausschließlich parallele Matrix-Multiplikationen, um Gewichte und Tokens abzugleichen. Das ist die algorithmische Grundlage.
function matMul(matrixA, matrixB) {
let res = [];
for (let i = 0; i < matrixA.length; i++) {
res[i] = [];
for (let j = 0; j < matrixB[0].length; j++) {
let sum = 0;
for (let k = 0; k < matrixB.length; k++) {
sum += matrixA[i][k] * matrixB[k][j];
}
res[i][j] = sum;
}
}
return res;
}
Ein vollwertiges RAG-System sucht Dokumente über Vektoren. Dieser Algorithmus berechnet die exakte Kosinus-Ähnlichkeit (Winkelabstand) zweier JS-Arrays live.
function cosineSimilarity(vecA, vecB) {
let dot = 0, nA = 0, nB = 0;
for(let i=0; i<vecA.length; i++) {
dot += vecA[i] * vecB[i];
nA += vecA[i]**2; nB += vecB[i]**2;
}
return dot / (Math.sqrt(nA) * Math.sqrt(nB));
}
Dieser Agent steuert selbstständig einen Loop aus Zustand + Ziel -> Entscheidung -> Werkzeug-Aufruf -> Reflexion, bis das Endziel erreicht ist.
while(agent.running) {
let decision = agent.think(state, goal);
if(decision.action === "CALL_TOOL") {
let res = await tools[decision.tool](decision.args);
state = "Neuer Zustand: " + res;
} else {
agent.running = false;
}
}