fix(satellite): ARIA nutzt Satelliten fuer Geraete in fremden Netzen — statt zu fabulieren
Symptom: Frage nach dem Patronenstand des Heim-Druckers -> ARIA antwortet "da komm ich nicht ran", obwohl im Heimnetz ein Satellit online ist, der den Drucker findet UND http.get kann. Sie zieht Drucker-Fakten aus dem Gedaechtnis und gibt auf, ohne den Satelliten zu nutzen. Ursachen + Fixes: - Claude-Pfad: die Seed-Regel triggerte nur auf Formulierungen wie "im Buero"/ "im Netz X". Eine schlichte Geraetefrage (Patronenstand) griff sie nicht. -> Regel umformuliert: IMMER wenn ein Geraet/Host in einem Netz liegt, auf dem ARIA nicht direkt sitzt (Zuhause/Buero/private IP), ZUERST satellite_list pruefen; NIEMALS "erreiche ich nicht" sagen, bevor satellite_list lief. Drucker-http.get-Beispiel ergaenzt. - satellite_list-Tool-Beschreibung als dauerhaften Anker verstaerkt (gilt auch, wenn ein Seed mal driftet). - Lokales Tier hatte gar keine Satelliten-Tools (_LOCAL_TOOL_NAMES) -> konnte strukturell kein Geraet im fremden Netz erreichen und fabulierte. satellite_ list/devices/command ergaenzt, damit auch das lokale Qwen Satelliten nutzt. Greift beim naechsten Brain-Neustart (seed_rules.apply im Lifespan, idempotent per migration_key). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+11
-6
@@ -1184,9 +1184,11 @@ META_TOOLS = [
|
||||
"description": (
|
||||
"Zeigt welche ARIA-Satelliten (Aussenposten-Container in FREMDEN Netzen, "
|
||||
"z.B. 'Buero') gerade ONLINE sind und was sie koennen (discover / "
|
||||
"dial.launch / wol / http). Nutze das ZUERST, wenn Stefan etwas 'im "
|
||||
"Buero' / 'im Netz X' / 'auf dem <Geraet> dort' machen will — so weisst "
|
||||
"Du welche Netze erreichbar sind."
|
||||
"dial.launch / wol / http). Nutze das ZUERST, wenn es um ein Geraet/einen "
|
||||
"Host in einem Netz geht, auf dem Du nicht direkt sitzt (Zuhause, Buero, "
|
||||
"jede private IP wie 192.168.x) — z.B. Drucker-Fuellstand, NAS, Smart-TV. "
|
||||
"Rufe es IMMER auf, BEVOR Du sagst ein Geraet sei nicht erreichbar — ein "
|
||||
"Satellit im Zielnetz ist der Weg hinein."
|
||||
),
|
||||
"parameters": {"type": "object", "properties": {}},
|
||||
},
|
||||
@@ -1718,9 +1720,12 @@ class Agent:
|
||||
return False
|
||||
|
||||
# Kuratierte Tool-Auswahl fuers lokale Tier (B1b): web_search (local-only,
|
||||
# SearXNG) + memory_search/trigger_timer (aus META_TOOLS) + Spotify-Skill.
|
||||
# Bewusst klein (Speed + Sicherheit); alles andere → Claude.
|
||||
_LOCAL_TOOL_NAMES = {"memory_search", "trigger_timer"}
|
||||
# SearXNG) + memory_search/trigger_timer (aus META_TOOLS) + Spotify-Skill +
|
||||
# die Satelliten-Tools (Augen/Haende in fremden Netzen — auch das lokale Tier
|
||||
# muss ein Geraet im Heim-/Buero-Netz erreichen koennen, statt zu fabulieren).
|
||||
# Sonst bewusst klein (Speed + Sicherheit); alles andere → Claude.
|
||||
_LOCAL_TOOL_NAMES = {"memory_search", "trigger_timer",
|
||||
"satellite_list", "satellite_devices", "satellite_command"}
|
||||
|
||||
def _build_local_tools(self) -> list:
|
||||
tools = [WEB_SEARCH_TOOL]
|
||||
|
||||
Reference in New Issue
Block a user