====== 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]]