COMPUTERZUGRIFFSSYSTEM

Zu Hause kostenlos Agenten bauen: Open-Source-Tools und Modelle


Du kannst ein funktionsfähiges Multi-Agenten-System auf deinem Laptop bauen — ausschließlich mit kostenlosen Tools und Open-Source-Modellen. Keine Kreditkarte, keine API-Rate-Limits, keine Vendor-Abhängigkeit. Der Kompromiss? Langsamere Inferenz und etwas geringere Leistungsfähigkeit. Aber zum Lernen, Experimentieren und für kleine Automatisierungen reicht das mehr als aus.

Am Ende dieses Leitfadens hast du einen lokalen Recherche-Agenten, der auf deiner eigenen Hardware läuft — Websuche, Dateilesen, Informationssynthese — vollständig kostenlos.

Das Argument für Open-Source-Agenten

Kostenrealität

Die Claude-API-Preise sind für Produktions-Workloads vertretbar, aber Lernen und Experimentieren summiert sich schnell. Lokale Inferenz eliminiert diese Sorge vollständig — unendliche Iterationen zum Nulltarif.

Datenschutz und Datenkontrolle

Manche Workloads dürfen nicht zu Cloud-APIs. Patientendaten, proprietärer Code, sensible Geschäftslogik — all das profitiert davon, auf der eigenen Maschine zu bleiben. Lokale Modelle liefern dasselbe intelligente Verhalten, ohne dass Daten das Hardware verlassen.

Der Realitätscheck

Open-Source-Modelle mit 7–13B Parametern liegen bei komplexem Reasoning, Code-Generierung und Instruktionsbefolgung merklich hinter Frontier-Modellen zurück. Für Produktion, wo Genauigkeit zählt, sind kommerzielle APIs die bessere Wahl. Für Lernen und Prototyping sind lokale Modelle ausgezeichnet.

Das richtige Open-Source-LLM wählen

LLM-Familien

  • Llama (Meta): Die am breitesten unterstützte Familie. Llama 3 ist besonders leistungsfähig.
  • Mistral: Hervorragendes Qualitäts-/Parameter-Verhältnis. Mistral-7B übertrifft seine Größe.
  • Phi (Microsoft): Extrem effiziente kleine Modelle. Phi-3 Mini läuft ohne GPU.
  • Qwen (Alibaba): Starke mehrsprachige Leistung.

Modellgröße und Hardware-Anforderungen

ModellParameterQuantisierungVRAMGeschwindigkeitQualität
Phi-3 Mini3,8B4-Bit4 GBSehr schnellGut
Mistral-7B7B4-Bit8 GBSchnellGut
Llama-3-8B8B4-Bit8 GBSchnellSehr gut
Llama-3-13B13B4-Bit10 GBMittelSehr gut
Mixtral-8x7B46,7B (MoE)4-Bit24 GBLangsamExzellent

Quantisierung: Warum sie wichtig ist

Quantisierung komprimiert Modellgewichte, um weniger Speicher zu benötigen. Ein 7B-Modell in voller Präzision braucht ~28 GB RAM. Dasselbe Modell mit 4-Bit-Quantisierung braucht ~4 GB — mit minimalem Qualitätsverlust.

Einstiegspunkte nach Hardware:

  • Laptop (8–16 GB RAM): Phi-3 Mini oder Mistral-7B mit 4-Bit
  • Desktop mit mittlerer GPU: Mistral-7B oder Llama-3-8B mit GPU-Beschleunigung
  • Desktop mit High-End-GPU: Mixtral-8x7B oder Llama-3-70B mit 4-Bit

Lokale Inferenz einrichten

Ollama: Der einfachste Einstieg

Terminal window
# Installation auf macOS
brew install ollama
# Installation auf Linux
curl -fsSL https://ollama.com/install.sh | sh
# Mistral-7B herunterladen
ollama pull mistral
# Leichtere Option für schwächere Hardware
ollama pull phi3
# Inferenz-Server starten
ollama serve

Funktionalität prüfen:

Terminal window
curl http://localhost:11434/api/generate -d '{
"model": "mistral",
"prompt": "Was ist ein KI-Agent in einem Satz?",
"stream": false
}'

LM Studio: Grafische Alternative

LM Studio ist eine Desktop-Anwendung mit grafischer Oberfläche zum Herunterladen und Ausführen von Modellen. Es stellt einen OpenAI-kompatiblen API-Endpunkt bereit.

Open-Source-Agenten-Frameworks

FrameworkAm besten fürLernkurve
LangChainBreite Tool-UnterstützungMittel
LangGraphWorkflows mit ZustandsmaschinenMittel-Hoch
AutoGenMulti-Agenten-GesprächeNiedrig
CrewAIRollenbasierte Multi-AgentenNiedrig-Mittel

Starte mit AutoGen oder LangChain. AutoGen ist schneller zum Prototypen; LangChain gibt mehr Kontrolle über den Agenten-Loop.

Deinen ersten Agenten bauen: Lokaler Recherche-Assistent

Umgebungseinrichtung

Terminal window
python3 -m venv agent-env
source agent-env/bin/activate
pip install langchain langchain-ollama langchain-community duckduckgo-search

Der vollständige Agent

#!/usr/bin/env python3
"""
Lokaler Recherche-Agent mit Ollama + LangChain
Voraussetzungen:
- ollama serve (läuft im Hintergrund)
- ollama pull mistral
- pip install langchain langchain-ollama langchain-community duckduckgo-search
"""
import json
from langchain_core.tools import tool
from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama import ChatOllama
from langchain.agents import AgentExecutor, create_react_agent
from duckduckgo_search import DDGS
@tool
def search_web(query: str) -> str:
"""Sucht im Web nach Informationen mit DuckDuckGo."""
try:
with DDGS() as ddgs:
results = list(ddgs.text(query, max_results=5))
if not results:
return "Keine Ergebnisse gefunden."
return json.dumps(
[{"title": r["title"], "snippet": r["body"], "url": r["href"]}
for r in results],
indent=2
)
except Exception as e:
return f"Suche fehlgeschlagen: {e}"
@tool
def read_file(filepath: str) -> str:
"""Liest eine lokale Datei und gibt ihren Inhalt zurück."""
try:
with open(filepath, "r") as f:
return f.read()
except FileNotFoundError:
return f"Datei nicht gefunden: {filepath}"
@tool
def calculate(expression: str) -> str:
"""Wertet einen einfachen arithmetischen Ausdruck sicher aus."""
try:
result = eval(expression, {"__builtins__": {}}, {})
return str(result)
except Exception as e:
return f"Berechnungsfehler: {e}"
llm = ChatOllama(
model="mistral",
base_url="http://localhost:11434",
temperature=0.3,
)
prompt = ChatPromptTemplate.from_messages([
("system", """Du bist ein Recherche-Assistent. Beantworte Fragen mit deinen Tools.
Verfügbare Tools: {tool_names}
Tool-Beschreibungen: {tools}
Folge genau diesem Format:
Thought: Was muss ich herausfinden?
Action: tool_name
Action Input: die Eingabe für das Tool
Observation: Tool-Ergebnis
... (bei Bedarf wiederholen)
Thought: Ich habe jetzt genug Informationen.
Final Answer: deine vollständige Antwort"""),
("user", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
tools = [search_web, read_file, calculate]
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(
agent=agent,
tools=tools,
verbose=True,
max_iterations=8,
handle_parsing_errors=True,
)
if __name__ == "__main__":
result = agent_executor.invoke({
"input": "Was sind die drei beliebtesten Open-Source-LLMs gerade? Nenne die Namen und je eine Schlüsseleigenschaft."
})
print(f"\nENDGÜLTIGE ANTWORT:\n{result['output']}")

Ausführen

Terminal window
# Terminal 1: Ollama starten
ollama serve
# Terminal 2: Agenten ausführen
python research_agent.py

Fähigkeiten erweitern: Tools ohne APIs

Lokaler Datenbankzugriff

import sqlite3
@tool
def query_database(sql: str) -> str:
"""Führt eine schreibgeschützte SQL-Abfrage auf der lokalen Datenbank aus."""
try:
conn = sqlite3.connect("data.db")
cursor = conn.cursor()
cursor.execute(sql)
rows = cursor.fetchall()
columns = [desc[0] for desc in cursor.description]
conn.close()
return json.dumps([dict(zip(columns, row)) for row in rows], indent=2)
except Exception as e:
return f"Datenbankfehler: {e}"

Lokale Dokumentensuche mit Embeddings

Terminal window
pip install sentence-transformers chromadb
from sentence_transformers import SentenceTransformer
import chromadb
model = SentenceTransformer("all-MiniLM-L6-v2")
client = chromadb.Client()
collection = client.create_collection("docs")
@tool
def search_docs(query: str) -> str:
"""Durchsucht lokale Dokumente nach semantischer Ähnlichkeit."""
results = collection.query(
query_embeddings=[model.encode(query).tolist()],
n_results=3
)
return json.dumps(results["documents"][0], indent=2)

Reale Einschränkungen und Lösungen

Latenz

Rechne mit 2–30 Sekunden pro Inferenzschritt. Strategien:

  • Agenten mit weniger Schritten entwerfen; einfacher ist schneller
  • Tool-Aufrufe wo möglich bündeln

Genauigkeitslücken

Gegenmaßnahmen:

  • Kürzere, explizitere Prompts — Das erwartete Format genau angeben
  • Komplexe Aufgaben in Schritte aufteilen
  • Tool-Ausgaben validieren bevor sie an den Agenten zurückgegeben werden
  • Temperatur 0,1–0,3 für Tool-Nutzung verwenden

Deployment: Vom Laptop zum Dauerbetrieb

Docker

FROM python:3.12-slim
RUN pip install langchain langchain-ollama langchain-community duckduckgo-search
COPY research_agent.py .
ENV OLLAMA_HOST=host.docker.internal:11434
CMD ["python3", "research_agent.py"]

Systemd-Dienst (Linux)

Terminal window
sudo systemctl enable ollama
sudo systemctl start ollama

Tiefer gehen: Multi-Agenten-Systeme zu Hause

def run_pipeline(question: str) -> str:
research_result = researcher.invoke({"input": question})
final_output = writer.invoke({
"input": f"Schreibe basierend auf dieser Recherche eine klare Zusammenfassung:\n{research_result['output']}"
})
return final_output["output"]

Open-Source-Agenten-Entwicklung ist heute praktikabel. Der Weg: Ollama für Inferenz, LangChain oder AutoGen für den Agenten-Loop, DuckDuckGo für die Suche, und das Dateisystem deiner Maschine für alles andere.

Fang einfach an — mit dem Recherche-Agenten oben. Lass ihn laufen. Dann füge ein zweites Tool hinzu. Dann einen zweiten Agenten.


Verwandte Artikel