====== Discovery im Agent Collective Framework ======
Das **Discovery-System** des Agent Collective Framework (ACF) sorgt dafür,  
dass Agenten sich gegenseitig finden, ohne auf zentrale Server angewiesen zu sein.  
Es bildet das **kommunikative Fundament** eines dezentralen Agentennetzwerks.
Während die [[agent_collective_framework:registry|Registry]] die formale,  
signierte Identitäts- und Vertragsverwaltung übernimmt,  
kümmert sich Discovery um **Erreichbarkeit, Präsenz und Fähigkeitsabgleich**.
===== Ziel des Discovery-Systems =====
  * Dezentraler Austausch von Präsenzinformationen („Wer ist aktiv?“)  
  * Identifikation möglicher Partner für Aufgaben („Wer kann was?“)  
  * Aufbau von Nachbarschaftsbeziehungen („Wer ist in meiner Zone oder Umgebung?“)  
  * Vorbereitung für sichere Session-Verhandlungen über AGLX  
===== Discovery-Ebenen =====
Das ACF Discovery-System ist **mehrstufig** aufgebaut:
^ Ebene ^ Beschreibung ^
| **1. Lokale Erkennung (AGLX-Beacons)** | Agenten senden periodische UDP-Beacons im lokalen Subnetz, um Präsenz und Basisinformationen bekannt zu machen. |
| **2. Dezentrales Discovery über DHT** | Weltweit oder zonenweit verteilte Suche über den [[agent_collective_framework:discovery:dht|Distributed Hash Table (DHT)]]. |
| **3. Registry Lookup** | Formale Verifikation der Identität über die [[agent_collective_framework:registry|Registry]]. |
| **4. Session Negotiation (AGLX)** | Aufbau einer gesicherten Peer-to-Peer-Verbindung nach erfolgreicher Authentifizierung. |
===== Ablauf eines typischen Discovery-Prozesses =====
1. Agent startet und sendet UDP-Beacon (AGLX_HELLO)
2. Lokale Nachbarn empfangen und verifizieren Beacons
3. Agent tritt dem DHT bei und veröffentlicht Capability-Hashes
4. Andere Agenten führen Capability- oder Zonen-basierte Suchanfragen aus
5. DHT liefert Kandidaten-Agenten zurück
6. Über AGLX-Session wird Authentifizierung und Contract-Verhandlung eingeleitet
===== Daten, die beim Discovery verwendet werden =====
| Datenfeld | Quelle | Beschreibung |
|------------|---------|--------------|
| Agent-ID (Hash) | DHT / Registry | Pseudonymisierte Identität des Agenten |
| Zone-ID | Registry | Zugehörigkeit zu logischer Gruppe |
| Capability-Hashes | DHT | Hash-Repräsentation der Fähigkeiten |
| Endpoint-Hints | DHT | AGLX-Endpunkt für Kontaktaufnahme |
| Trust-Level | Registry | Bewerteter Vertrauensindex eines Agenten |
===== Sicherheit und Datenschutz =====
Das Discovery-System ist **bewusst informationssparsam**.  
Agenten veröffentlichen nur die notwendigsten Metadaten —  
keine personenbezogenen oder organisationsinternen Details.  
Mechanismen zur Sicherheit:
  * Signierte Discovery-Pakete (AGLX_HELLO_SIGNED)  
  * Prüfsummen und Nonce-basierte Wiederholschutzverfahren  
  * Kurzlebige TTLs (Time-To-Live) für Präsenz-Infos  
  * Möglichkeit der Anonymisierung über „Capability-Bloomfilter“  
===== Erweiterungen (geplant) =====
^ Erweiterung ^ Beschreibung ^
| **Zonen-spezifische DHT-Cluster** | Erlaubt interne Discovery-Netze für abgeschlossene Organisationen (z. B. Krankenhausnetz, Forschungseinrichtung). |
| **Hybrid Discovery** | Kombination aus DHT und Multicast-Beacons für bessere Performance im LAN. |
| **Trust-Propagation** | Vertrauensvererbung über signierte Beziehungsgraphen („Dieser Agent vertraut jenem“). |
| **Context-Aware Discovery** | Suche nach Agenten anhand thematischer oder geografischer Nähe („Finde Datenagenten im medizinischen Umfeld“). |
===== Beispiel: UDP-Beacon (AGLX_HELLO) =====
AGLX/1.0 HELLO
agent-id: agent://node22
zone: research-hub
capabilities: data.analyze,vision.detect
ttl: 45
sig: b3c9fa8e12...
===== Zielbild =====
Discovery ist der **dynamische Teil des ACF-Ökosystems**.  
Es ersetzt zentrale Verzeichnisse durch ein Netz aus selbstorganisierten Agenten,  
die sich gegenseitig erkennen, bewerten und vernetzen können —  
schnell, sicher und autonom.
----
**Verwandte Seiten:**  
  * [[agent_collective_framework:discovery:dht|DHT-Discovery (Technische Details)]]  
  * [[agent_collective_framework:registry|Registry & Zonen]]  
  * [[agent_collective_framework:protokoll:aglx|AGLX-Protokoll]]