====== API & Schnittstellen ====== Das **Agent Collective Framework (ACF)** definiert mehrere Schnittstellenebenen (Interfaces), um eine saubere Trennung zwischen Planung (Cognitive Layer), Ausführung (Execution Layer) und Kommunikation (AGLX / Netzwerk) zu gewährleisten. Ziel ist, dass alle Agenten unabhängig von Implementierungssprache oder Plattform über standardisierte Datenstrukturen und Protokolle miteinander interagieren können. ===== Übersicht ===== ^ Schnittstellenebene ^ Richtung ^ Beschreibung ^ | **Cognitive → Execution** | intern | Übergibt Aufgaben vom Entscheidungsmodul an das Ausführungsmodul. | | **Execution → Cognitive** | intern | Rückmeldung von Ergebnissen, Fehlern und Status. | | **Agent ↔ Agent (AGLX)** | extern | Kommunikation zwischen Agenten über TCP/UDP mit gesicherten Sessions. | | **Agent ↔ Registry** | extern | Registrierung, Authentifizierung, Policy-Updates und Credit-Synchronisierung. | | **Agent ↔ DHT (Discovery)** | extern | Veröffentlichung und Suche nach Präsenzinformationen. | ===== 1. Cognitive → Execution ===== Diese Schnittstelle ist die interne Übergabe von Aktionen, die der Cognitive Layer geplant hat. ^ Feld ^ Beschreibung ^ Beispiel ^ | **action_id** | Eindeutige ID der Aktion | `act-73d2` | | **capability** | Angeforderte Fähigkeit / Modul | `data.analyze` | | **parameters** | Eingabedaten oder Referenzen | `{ "file": "/data/report.csv" }` | | **constraints** | Rahmenbedingungen, Deadlines, Priorität | `{ "deadline": "2025-10-31T12:00Z" }` | | **ethic_checked** | Boolean, ob Ethikprüfung erfolgreich war | `true` | **Antwort (Execution → Cognitive):** { "action_id": "act-73d2", "status": "completed", "result": { "summary": "Analysis complete, 125 entries processed." }, "duration_ms": 2332 } ===== 2. Agent ↔ Agent (AGLX Session) ===== Kommunikation erfolgt über das [[agent_collective_framework:protokoll:aglx|AGLX-Protokoll]] auf TCP/UDP-Basis. Jede Nachricht besitzt Kopf- und Nutzlastbereich. **Header-Format (vereinfacht):** [ Version | Type | Flags | Length | Signature | Payload ] **Typische Nachrichtentypen:** ^ Typ ^ Beschreibung ^ | `HELLO` | Präsenzmeldung oder Verbindungsaushandlung | | `TASK` | Übertragung einer Aufgabe | | `RESULT` | Rückgabe von Ergebnissen | | `PING` | Verbindungsprüfung | | `ACK` | Empfangsbestätigung | | `ERROR` | Fehlermeldung mit Code | ===== 3. Agent ↔ Registry ===== Registrierung, Authentifizierung und Synchronisierung mit der [[agent_collective_framework:registry|Registry]]. **Beispiel: Registrierungspayload** { "agent_id": "agent://node21", "zone": "research-hub", "public_key": "MIIBIjANBgkqhkiG9w0B...", "capabilities": ["vision.detect", "data.analyze"], "ethic_version": "1.1.0" } **Antwort der Registry:** { "status": "accepted", "session_token": "ZT-982f-11bb", "trust_level": 0.84, "expires": "2025-11-30T00:00:00Z" } ===== 4. Agent ↔ Discovery (DHT) ===== Nutzung der [[agent_collective_framework:discovery:dht|DHT-Struktur]] zur Veröffentlichung von Präsenzinformationen. **Beispiel: PUT-Eintrag** { "key": "hash(agent://node21)", "endpoint": "aglx://192.168.91.14:2594", "zone": "research-hub", "capabilities_bloom": "af9b22e...", "ttl": 3600 } ===== 5. Erweiterte Schnittstellen (optional) ===== ^ Typ ^ Zweck ^ | **REST-API (HTTP)** | Ermöglicht Integration externer Systeme, Dashboards und Tools. | | **MQTT / WebSocket-Bridge** | Für Echtzeitkommunikation mit UI oder IoT-Geräten. | | **CLI / Telnet-Interface** | Lokale Steuerung und Debugging eines Agenten. | | **RPC Layer (JSON-RPC / gRPC)** | Optionale Remote-Steuerung zwischen vertrauenswürdigen Zonen. | ===== Schnittstellenprinzipien ===== * **Maschinenlesbarkeit:** JSON als Basisaustauschformat (leicht serialisierbar). * **Erweiterbarkeit:** Alle Objekte können um benutzerdefinierte Felder ergänzt werden. * **Sicherheit:** Authentifizierung und Signaturen über AGLX-Header. * **Abwärtskompatibilität:** Versionierung aller Schnittstellen. ===== Beispiel: Cognitive ↔ Execution-Kommunikation ===== [Cognitive Layer] | | → plan_action("data.analyze") | check_ethics() ✅ | send_to_executor() | [Execution Layer] | | → execute_task() | return_result() ===== Zielbild ===== Die Schnittstellenarchitektur von ACF soll **vollständig interoperabel** sein — Agenten unterschiedlicher Hersteller oder Zonen sollen sich über dieselben Protokolle verständigen können, ohne zentrale Koordination oder proprietäre Gateways. ---- **Verwandte Seiten:** * [[agent_collective_framework:implementierung|Implementierung & Referenzarchitektur]] * [[agent_collective_framework:protokoll:aglx|AGLX-Protokoll]] * [[agent_collective_framework:sicherheit|Sicherheit im Framework]] * [[agent_collective_framework:integration:lokale_agenten|Integration lokaler Agenten]]