santismm-knowledge-mcp 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/content/CONVENTIONS.md +77 -0
  4. package/content/LICENSE +55 -0
  5. package/content/architectures/ai-workforce.json +280 -0
  6. package/content/architectures/customer-service-agent.json +292 -0
  7. package/content/architectures/enterprise-knowledge-assistant.json +292 -0
  8. package/content/architectures/operations-center.json +280 -0
  9. package/content/architectures/sales-copilot.json +280 -0
  10. package/content/governance/agentic-ai-governance-checklist.json +323 -0
  11. package/content/governance/audit-framework-for-agentic-systems.json +280 -0
  12. package/content/governance/enterprise-ai-governance-framework.json +277 -0
  13. package/content/governance/eu-ai-act.json +162 -0
  14. package/content/governance/human-oversight-and-accountability-policy.json +275 -0
  15. package/content/governance/iso-42001.json +161 -0
  16. package/content/governance/mitre-atlas.json +280 -0
  17. package/content/governance/nist-ai-rmf.json +161 -0
  18. package/content/governance/owasp-llm-top10.json +301 -0
  19. package/content/harness/HRN-001-definition-and-overview.es.md +76 -0
  20. package/content/harness/HRN-001-definition-and-overview.md +125 -0
  21. package/content/harness/HRN-001-definition-and-overview.pt.md +76 -0
  22. package/content/harness/HRN-002-a-brief-history-of-harness-engineering.es.md +83 -0
  23. package/content/harness/HRN-002-a-brief-history-of-harness-engineering.md +113 -0
  24. package/content/harness/HRN-002-a-brief-history-of-harness-engineering.pt.md +83 -0
  25. package/content/harness/HRN-003-the-harness-taxonomy.es.md +105 -0
  26. package/content/harness/HRN-003-the-harness-taxonomy.md +158 -0
  27. package/content/harness/HRN-003-the-harness-taxonomy.pt.md +105 -0
  28. package/content/harness/HRN-004-harness-engineering-principles.es.md +91 -0
  29. package/content/harness/HRN-004-harness-engineering-principles.md +135 -0
  30. package/content/harness/HRN-004-harness-engineering-principles.pt.md +91 -0
  31. package/content/harness/HRN-005-memory-in-agentic-systems.es.md +98 -0
  32. package/content/harness/HRN-005-memory-in-agentic-systems.md +145 -0
  33. package/content/harness/HRN-005-memory-in-agentic-systems.pt.md +98 -0
  34. package/content/harness/HRN-006-observability-for-agentic-systems.es.md +97 -0
  35. package/content/harness/HRN-006-observability-for-agentic-systems.md +139 -0
  36. package/content/harness/HRN-006-observability-for-agentic-systems.pt.md +97 -0
  37. package/content/harness/HRN-007-evaluation-of-agentic-systems.es.md +96 -0
  38. package/content/harness/HRN-007-evaluation-of-agentic-systems.md +145 -0
  39. package/content/harness/HRN-007-evaluation-of-agentic-systems.pt.md +96 -0
  40. package/content/harness/HRN-008-governance-within-the-harness.es.md +105 -0
  41. package/content/harness/HRN-008-governance-within-the-harness.md +146 -0
  42. package/content/harness/HRN-008-governance-within-the-harness.pt.md +105 -0
  43. package/content/harness/HRN-009-planning-and-goal-management.es.md +102 -0
  44. package/content/harness/HRN-009-planning-and-goal-management.md +142 -0
  45. package/content/harness/HRN-009-planning-and-goal-management.pt.md +102 -0
  46. package/content/harness/HRN-010-orchestration.es.md +107 -0
  47. package/content/harness/HRN-010-orchestration.md +149 -0
  48. package/content/harness/HRN-010-orchestration.pt.md +107 -0
  49. package/content/harness/HRN-011-security-for-agentic-systems.es.md +107 -0
  50. package/content/harness/HRN-011-security-for-agentic-systems.md +147 -0
  51. package/content/harness/HRN-011-security-for-agentic-systems.pt.md +107 -0
  52. package/content/harness/HRN-012-case-studies-in-harness-engineering.es.md +120 -0
  53. package/content/harness/HRN-012-case-studies-in-harness-engineering.md +157 -0
  54. package/content/harness/HRN-012-case-studies-in-harness-engineering.pt.md +120 -0
  55. package/content/harness/HRN-013-glossary.es.md +109 -0
  56. package/content/harness/HRN-013-glossary.md +124 -0
  57. package/content/harness/HRN-013-glossary.pt.md +109 -0
  58. package/content/harness/HRN-014-bibliography.es.md +89 -0
  59. package/content/harness/HRN-014-bibliography.md +109 -0
  60. package/content/harness/HRN-014-bibliography.pt.md +89 -0
  61. package/content/homeric/episodes/achilles-and-hector.json +139 -0
  62. package/content/homeric/episodes/aeolus-and-the-winds.json +131 -0
  63. package/content/homeric/episodes/agamemnons-murder.json +162 -0
  64. package/content/homeric/episodes/calypso-ogygia.json +157 -0
  65. package/content/homeric/episodes/catalogue-of-ships.json +177 -0
  66. package/content/homeric/episodes/cattle-of-the-sun.json +131 -0
  67. package/content/homeric/episodes/chryse-and-the-plague.json +131 -0
  68. package/content/homeric/episodes/cicones-at-ismarus.json +131 -0
  69. package/content/homeric/episodes/circe-on-aeaea.json +131 -0
  70. package/content/homeric/episodes/cyclops-polyphemus.json +162 -0
  71. package/content/homeric/episodes/laestrygonians.json +153 -0
  72. package/content/homeric/episodes/lotus-eaters.json +138 -0
  73. package/content/homeric/episodes/menelaus-and-proteus.json +130 -0
  74. package/content/homeric/episodes/nekyia.json +160 -0
  75. package/content/homeric/episodes/phaeacians-on-scheria.json +129 -0
  76. package/content/homeric/episodes/priams-ransom.json +131 -0
  77. package/content/homeric/episodes/return-to-ithaca.json +167 -0
  78. package/content/homeric/episodes/scylla-and-charybdis.json +131 -0
  79. package/content/homeric/episodes/suitors-ambush-at-asteris.json +131 -0
  80. package/content/homeric/episodes/telemachus-at-pylos.json +130 -0
  81. package/content/homeric/episodes/telemachus-in-sparta.json +130 -0
  82. package/content/homeric/episodes/the-achaean-camp.json +138 -0
  83. package/content/homeric/episodes/the-sirens.json +129 -0
  84. package/content/homeric/episodes/wooden-horse.json +168 -0
  85. package/content/homeric/places/aeaea.json +129 -0
  86. package/content/homeric/places/aeolia.json +161 -0
  87. package/content/homeric/places/asteris.json +120 -0
  88. package/content/homeric/places/aulis.json +122 -0
  89. package/content/homeric/places/cape-malea.json +126 -0
  90. package/content/homeric/places/chryse.json +120 -0
  91. package/content/homeric/places/dodona.json +129 -0
  92. package/content/homeric/places/dulichium.json +177 -0
  93. package/content/homeric/places/egypt.json +125 -0
  94. package/content/homeric/places/ephyra-acheron.json +127 -0
  95. package/content/homeric/places/hellespont.json +125 -0
  96. package/content/homeric/places/house-of-hades.json +91 -0
  97. package/content/homeric/places/ismarus.json +120 -0
  98. package/content/homeric/places/ithaca.json +240 -0
  99. package/content/homeric/places/knossos.json +132 -0
  100. package/content/homeric/places/laestrygonia.json +168 -0
  101. package/content/homeric/places/land-of-the-cyclopes.json +169 -0
  102. package/content/homeric/places/land-of-the-lotus-eaters.json +122 -0
  103. package/content/homeric/places/mount-ida.json +126 -0
  104. package/content/homeric/places/mycenae.json +152 -0
  105. package/content/homeric/places/ogygia.json +125 -0
  106. package/content/homeric/places/pharos.json +120 -0
  107. package/content/homeric/places/planctae.json +77 -0
  108. package/content/homeric/places/pylos.json +188 -0
  109. package/content/homeric/places/same.json +177 -0
  110. package/content/homeric/places/scheria.json +129 -0
  111. package/content/homeric/places/scylla-and-charybdis.json +135 -0
  112. package/content/homeric/places/sirens.json +127 -0
  113. package/content/homeric/places/sparta.json +179 -0
  114. package/content/homeric/places/tenedos.json +129 -0
  115. package/content/homeric/places/thrinacia.json +116 -0
  116. package/content/homeric/places/tiryns.json +123 -0
  117. package/content/homeric/places/troy.json +224 -0
  118. package/content/homeric/places/zacynthus.json +126 -0
  119. package/content/homeric/routes/achaean-expedition.json +132 -0
  120. package/content/homeric/routes/nostoi-of-the-others.json +205 -0
  121. package/content/homeric/routes/odysseus-nostos.json +307 -0
  122. package/content/homeric/routes/telemachy.json +134 -0
  123. package/content/knowledge/agent-memory.json +153 -0
  124. package/content/knowledge/agentic-ai.json +158 -0
  125. package/content/knowledge/agentic-evaluation.json +156 -0
  126. package/content/knowledge/agentic-threat-model.json +287 -0
  127. package/content/knowledge/ai-agent.json +153 -0
  128. package/content/knowledge/ai-cyberdefense.json +274 -0
  129. package/content/knowledge/ai-governance.json +155 -0
  130. package/content/knowledge/ai-observability.json +156 -0
  131. package/content/knowledge/context-engineering.json +153 -0
  132. package/content/knowledge/embeddings.json +153 -0
  133. package/content/knowledge/enterprise-rag.json +154 -0
  134. package/content/knowledge/fine-tuning.json +153 -0
  135. package/content/knowledge/foundation-models.json +154 -0
  136. package/content/knowledge/guardrails.json +153 -0
  137. package/content/knowledge/harness-engineering.json +158 -0
  138. package/content/knowledge/human-in-the-loop.json +153 -0
  139. package/content/knowledge/mcp-security.json +284 -0
  140. package/content/knowledge/model-context-protocol.json +154 -0
  141. package/content/knowledge/multi-agent-architecture.json +153 -0
  142. package/content/knowledge/prompt-engineering.json +153 -0
  143. package/content/knowledge/prompt-injection.json +138 -0
  144. package/content/knowledge/reasoning-models.json +153 -0
  145. package/content/knowledge/tool-use.json +156 -0
  146. package/content/library/cognitive-architecture-emergent-ai.md +15 -0
  147. package/content/library/devready-ep108-ai-customer-experiences.md +14 -0
  148. package/content/library/how-genai-impact-business.md +12 -0
  149. package/content/library/lmm-reshaping-industries-2024.md +12 -0
  150. package/content/library/rethinking-ai-pause.md +12 -0
  151. package/content/library/rise-of-agentic-ai.md +16 -0
  152. package/content/library/self-improving-autonomous-ai.md +16 -0
  153. package/content/library/the-stopwatch-and-the-exam.md +12 -0
  154. package/content/library/unlock-gpt4-secrets.md +12 -0
  155. package/content/library/vibe-coding-enterprise.md +15 -0
  156. package/content/library/video-transformando-negocios-genai.md +14 -0
  157. package/content/library/video-volando-alto-sky-airlines.md +13 -0
  158. package/content/matrix/agentic-control-matrix.json +967 -0
  159. package/content/patterns/attributed-memory.json +237 -0
  160. package/content/patterns/context-compression.json +304 -0
  161. package/content/patterns/egress-allowlist.json +310 -0
  162. package/content/patterns/evaluator-optimizer.json +180 -0
  163. package/content/patterns/goal-decomposition.json +290 -0
  164. package/content/patterns/human-approval-gate.json +311 -0
  165. package/content/patterns/human-escalation.json +288 -0
  166. package/content/patterns/least-privilege-tooling.json +333 -0
  167. package/content/patterns/long-term-memory.json +305 -0
  168. package/content/patterns/orchestrator-workers.json +202 -0
  169. package/content/patterns/parallelization.json +180 -0
  170. package/content/patterns/prompt-chaining.json +181 -0
  171. package/content/patterns/recovery-strategy.json +305 -0
  172. package/content/patterns/reflection.json +298 -0
  173. package/content/patterns/routing.json +294 -0
  174. package/content/patterns/sandboxed-execution.json +311 -0
  175. package/content/patterns/semantic-caching.json +201 -0
  176. package/content/patterns/supervisor-agent.json +290 -0
  177. package/content/patterns/task-prioritization.json +307 -0
  178. package/dist/content.js +181 -0
  179. package/dist/index.js +27 -0
  180. package/dist/shape.js +649 -0
  181. package/dist/tools.js +652 -0
  182. package/package.json +47 -0
@@ -0,0 +1,201 @@
1
+ {
2
+ "slug": "semantic-caching",
3
+ "category": "cost",
4
+ "updated": "2026-06-24",
5
+ "version": "1.1",
6
+ "technologies": ["Embedding models", "Vector databases", "GPTCache", "Redis / KV stores"],
7
+ "related": ["routing", "prompt-chaining"],
8
+ "references": [
9
+ { "title": "OpenAI — Vector embeddings guide", "url": "https://platform.openai.com/docs/guides/embeddings" }
10
+ ],
11
+ "evidence": {
12
+ "evidenceLevel": "production",
13
+ "confidenceLevel": "low",
14
+ "sourceType": ["production_system", "personal_experience", "industry_observation"]
15
+ },
16
+ "locales": {
17
+ "en": {
18
+ "name": "Semantic Caching",
19
+ "summary": "Semantic caching stores past model responses and reuses them when a new request is semantically similar to a previous one — matching by meaning via embeddings, not exact text. It cuts cost and latency for repetitive or near-duplicate queries common in production.",
20
+ "problem": "Many production queries are paraphrases of ones already answered, so re-running the full model on each wastes cost and latency.",
21
+ "context": "Use semantic caching when traffic contains many similar or repeated questions and answers are stable enough to reuse — FAQs, support, documentation assistants.",
22
+ "solution": [
23
+ "Embed each incoming request and search a cache of prior request embeddings. If a sufficiently similar entry exists (above a similarity threshold), return its stored response; otherwise call the model and store the new pair.",
24
+ "Tune the similarity threshold carefully: too loose returns wrong answers for subtly different questions; too strict misses valid hits. Add TTLs and invalidation so cached answers do not go stale."
25
+ ],
26
+ "components": ["Embedding of the request", "Vector cache", "Similarity threshold", "TTL / invalidation", "Fallback to model"],
27
+ "benefits": [
28
+ "Lower cost by avoiding repeat model calls.",
29
+ "Lower latency on cache hits.",
30
+ "More consistent answers to similar questions."
31
+ ],
32
+ "risks": [
33
+ "A loose threshold serves wrong cached answers.",
34
+ "Stale cache without TTL or invalidation.",
35
+ "Personalized or time-sensitive answers cache poorly."
36
+ ],
37
+ "whenNot": [
38
+ "When most queries are unique.",
39
+ "When answers depend on fresh, user- or time-specific data.",
40
+ "When even small mismatches are unacceptable."
41
+ ],
42
+ "examples": [
43
+ "Reusing the answer to 'how do I reset my password' across its many phrasings.",
44
+ "Caching common documentation questions in a support assistant.",
45
+ "Short-circuiting repeated identical analytics questions."
46
+ ],
47
+ "productionEvidence": {
48
+ "context": "Single-operator, local-first OpenClaw deployment observed over 57 days (161 sessions / 2,776 turns), aggregated from the agent's own trajectory traces.",
49
+ "scenario": "Prompt and context caching is engineered with cache_control markers plus a workspace file cache and a route cache, so repeated structure is served from cache.",
50
+ "technology": "Anthropic cache_control injection on system and messages, OpenRouter passthrough, workspace file cache, route cache, and cache_read/write cost accounting.",
51
+ "load": "28.1M total tokens over 57 days, of which ~19.6M were served as cache-read.",
52
+ "results": "About 70% of tokens were served from cache, holding blended cost to $15.21 per 1M tokens ($41 of cache-read versus $374 of fresh input). Single-operator local-first deployment — the ratio reflects this workload's repetition; measure your own."
53
+ },
54
+ "kpis": [
55
+ { "metric": "Cache hit rate", "note": "Share of requests served from cache; the lever for both cost and latency savings." },
56
+ { "metric": "False-hit rate", "note": "How often a semantically 'similar' hit returns a wrong or stale answer — the central risk of caching by meaning." },
57
+ { "metric": "Cost & latency saved per hit", "note": "Tokens and time avoided on cache hits, the upside you're trading the false-hit risk for." },
58
+ { "metric": "Similarity threshold calibration", "note": "Whether the match threshold balances hit rate against false hits; too loose hurts quality, too strict kills savings." }
59
+ ],
60
+ "failureModes": [
61
+ "False hits: two queries are similar in embedding space but need different answers, so the cache returns a wrong one.",
62
+ "Staleness: cached answers go out of date while the underlying facts change.",
63
+ "Threshold mis-tuning: too loose returns wrong answers, too strict yields almost no hits.",
64
+ "Cache poisoning: a bad answer gets cached and then served repeatedly."
65
+ ],
66
+ "lessons": [
67
+ "Tune the similarity threshold against real traffic; it is the make-or-break parameter.",
68
+ "Never cache where freshness or correctness is critical without an invalidation strategy.",
69
+ "Validate or sample cache hits to catch false matches before users do.",
70
+ "Scope caches narrowly (per tenant, per context) to avoid leaking the wrong answer across users."
71
+ ],
72
+ "faqs": [
73
+ { "q": "How is this different from a normal cache?", "a": "A normal cache matches exact keys; a semantic cache matches by meaning using embeddings, so paraphrased questions still hit." },
74
+ { "q": "What is the main risk?", "a": "A too-loose similarity threshold returns a cached answer for a question that is actually different. Tune the threshold and validate on real traffic." },
75
+ { "q": "How do I avoid stale answers?", "a": "Set TTLs and invalidate entries when the underlying data changes; avoid caching personalized or time-sensitive responses." }
76
+ ]
77
+ },
78
+ "es": {
79
+ "name": "Caché Semántica (Semantic Caching)",
80
+ "summary": "La caché semántica almacena respuestas pasadas del modelo y las reutiliza cuando una nueva petición es semánticamente similar a una previa, casando por significado mediante embeddings, no por texto exacto. Reduce coste y latencia en consultas repetitivas o casi duplicadas, comunes en producción.",
81
+ "problem": "Muchas consultas en producción son paráfrasis de otras ya respondidas, así que reejecutar el modelo completo en cada una desperdicia coste y latencia.",
82
+ "context": "Usa la caché semántica cuando el tráfico contiene muchas preguntas similares o repetidas y las respuestas son lo bastante estables para reutilizarse: FAQs, soporte, asistentes de documentación.",
83
+ "solution": [
84
+ "Embebe cada petición entrante y busca en una caché de embeddings de peticiones previas. Si existe una entrada suficientemente similar (por encima de un umbral de similitud), devuelve su respuesta almacenada; si no, llama al modelo y guarda el nuevo par.",
85
+ "Ajusta el umbral de similitud con cuidado: demasiado laxo devuelve respuestas erróneas a preguntas sutilmente distintas; demasiado estricto pierde aciertos válidos. Añade TTLs e invalidación para que las respuestas no queden obsoletas."
86
+ ],
87
+ "components": ["Embedding de la petición", "Caché vectorial", "Umbral de similitud", "TTL / invalidación", "Fallback al modelo"],
88
+ "benefits": [
89
+ "Menor coste al evitar llamadas repetidas al modelo.",
90
+ "Menor latencia en los aciertos de caché.",
91
+ "Respuestas más consistentes a preguntas similares."
92
+ ],
93
+ "risks": [
94
+ "Un umbral laxo sirve respuestas cacheadas erróneas.",
95
+ "Caché obsoleta sin TTL ni invalidación.",
96
+ "Las respuestas personalizadas o sensibles al tiempo se cachean mal."
97
+ ],
98
+ "whenNot": [
99
+ "Cuando la mayoría de consultas son únicas.",
100
+ "Cuando las respuestas dependen de datos frescos, de usuario o de tiempo.",
101
+ "Cuando incluso pequeños desajustes son inaceptables."
102
+ ],
103
+ "examples": [
104
+ "Reutilizar la respuesta a 'cómo reseteo mi contraseña' en sus muchas formulaciones.",
105
+ "Cachear preguntas comunes de documentación en un asistente de soporte.",
106
+ "Cortocircuitar preguntas analíticas idénticas repetidas."
107
+ ],
108
+ "productionEvidence": {
109
+ "context": "Despliegue OpenClaw local-first y mono-operador observado durante 57 días (161 sesiones / 2.776 turnos), agregado desde las propias trazas del agente.",
110
+ "scenario": "El caching de prompt y contexto está diseñado con marcadores cache_control más una caché de archivos de workspace y una caché de rutas, de modo que la estructura repetida se sirve desde caché.",
111
+ "technology": "Inyección de cache_control de Anthropic en sistema y mensajes, passthrough de OpenRouter, caché de archivos de workspace, caché de rutas y contabilidad de coste cache_read/write.",
112
+ "load": "28,1M de tokens totales en 57 días, de los cuales ~19,6M se sirvieron como cache-read.",
113
+ "results": "Cerca del 70% de los tokens se sirvieron desde caché, manteniendo el coste mezclado en $15,21 por 1M de tokens ($41 de cache-read frente a $374 de input nuevo). Despliegue local-first mono-operador — el ratio refleja la repetición de esta carga; mide el tuyo."
114
+ },
115
+ "kpis": [
116
+ { "metric": "Tasa de aciertos de caché", "note": "Proporción de peticiones servidas desde caché; la palanca de ahorro en coste y latencia." },
117
+ { "metric": "Tasa de falsos aciertos", "note": "Con qué frecuencia un acierto 'similar' devuelve una respuesta errónea u obsoleta; el riesgo central de cachear por significado." },
118
+ { "metric": "Coste y latencia ahorrados por acierto", "note": "Tokens y tiempo evitados en los aciertos, la ventaja por la que cambias el riesgo de falso acierto." },
119
+ { "metric": "Calibración del umbral de similitud", "note": "Si el umbral equilibra tasa de aciertos y falsos aciertos; demasiado laxo daña la calidad, demasiado estricto elimina el ahorro." }
120
+ ],
121
+ "failureModes": [
122
+ "Falsos aciertos: dos consultas similares en el espacio de embeddings necesitan respuestas distintas, y la caché devuelve la equivocada.",
123
+ "Obsolescencia: las respuestas cacheadas quedan desactualizadas mientras los hechos subyacentes cambian.",
124
+ "Mal ajuste del umbral: demasiado laxo devuelve respuestas erróneas, demasiado estricto da casi ningún acierto.",
125
+ "Envenenamiento de caché: una respuesta mala se cachea y luego se sirve repetidamente."
126
+ ],
127
+ "lessons": [
128
+ "Ajusta el umbral de similitud con tráfico real; es el parámetro decisivo.",
129
+ "Nunca caches donde la frescura o la corrección sean críticas sin una estrategia de invalidación.",
130
+ "Valida o muestrea los aciertos de caché para detectar falsos antes que los usuarios.",
131
+ "Acota las cachés de forma estrecha (por tenant, por contexto) para no filtrar la respuesta equivocada entre usuarios."
132
+ ],
133
+ "faqs": [
134
+ { "q": "¿En qué se diferencia de una caché normal?", "a": "Una caché normal casa claves exactas; una caché semántica casa por significado usando embeddings, así las preguntas parafraseadas también aciertan." },
135
+ { "q": "¿Cuál es el riesgo principal?", "a": "Un umbral de similitud demasiado laxo devuelve una respuesta cacheada para una pregunta que en realidad es distinta. Ajusta el umbral y valida con tráfico real." },
136
+ { "q": "¿Cómo evito respuestas obsoletas?", "a": "Fija TTLs e invalida entradas cuando cambian los datos subyacentes; evita cachear respuestas personalizadas o sensibles al tiempo." }
137
+ ]
138
+ },
139
+ "pt": {
140
+ "name": "Cache Semântico (Semantic Caching)",
141
+ "summary": "O cache semântico armazena respostas passadas do modelo e as reutiliza quando uma nova requisição é semanticamente similar a uma anterior, casando por significado via embeddings, não por texto exato. Reduz custo e latência em consultas repetitivas ou quase duplicadas, comuns em produção.",
142
+ "problem": "Muitas consultas em produção são paráfrases de outras já respondidas, então reexecutar o modelo completo em cada uma desperdiça custo e latência.",
143
+ "context": "Use o cache semântico quando o tráfego contém muitas perguntas similares ou repetidas e as respostas são estáveis o bastante para reutilizar: FAQs, suporte, assistentes de documentação.",
144
+ "solution": [
145
+ "Embede cada requisição recebida e busca num cache de embeddings de requisições anteriores. Se existe uma entrada suficientemente similar (acima de um limiar de similaridade), devolve sua resposta armazenada; senão, chama o modelo e guarda o novo par.",
146
+ "Ajuste o limiar de similaridade com cuidado: frouxo demais devolve respostas erradas a perguntas sutilmente distintas; estrito demais perde acertos válidos. Adicione TTLs e invalidação para que as respostas não fiquem obsoletas."
147
+ ],
148
+ "components": ["Embedding da requisição", "Cache vetorial", "Limiar de similaridade", "TTL / invalidação", "Fallback ao modelo"],
149
+ "benefits": [
150
+ "Menor custo ao evitar chamadas repetidas ao modelo.",
151
+ "Menor latência nos acertos de cache.",
152
+ "Respostas mais consistentes a perguntas similares."
153
+ ],
154
+ "risks": [
155
+ "Um limiar frouxo serve respostas em cache erradas.",
156
+ "Cache obsoleto sem TTL nem invalidação.",
157
+ "Respostas personalizadas ou sensíveis ao tempo se armazenam mal."
158
+ ],
159
+ "whenNot": [
160
+ "Quando a maioria das consultas é única.",
161
+ "Quando as respostas dependem de dados frescos, de usuário ou de tempo.",
162
+ "Quando até pequenos descompassos são inaceitáveis."
163
+ ],
164
+ "examples": [
165
+ "Reutilizar a resposta a 'como redefino minha senha' em suas muitas formulações.",
166
+ "Armazenar perguntas comuns de documentação num assistente de suporte.",
167
+ "Curto-circuitar perguntas analíticas idênticas repetidas."
168
+ ],
169
+ "productionEvidence": {
170
+ "context": "Implantação OpenClaw local-first e de operador único observada por 57 dias (161 sessões / 2.776 turnos), agregada a partir dos próprios rastros do agente.",
171
+ "scenario": "O caching de prompt e contexto é projetado com marcadores cache_control mais um cache de arquivos de workspace e um cache de rotas, de modo que a estrutura repetida é servida do cache.",
172
+ "technology": "Injeção de cache_control da Anthropic em sistema e mensagens, passthrough do OpenRouter, cache de arquivos de workspace, cache de rotas e contabilidade de custo cache_read/write.",
173
+ "load": "28,1M de tokens totais em 57 dias, dos quais ~19,6M foram servidos como cache-read.",
174
+ "results": "Cerca de 70% dos tokens foram servidos do cache, mantendo o custo combinado em $15,21 por 1M de tokens ($41 de cache-read ante $374 de input novo). Implantação local-first de operador único — a proporção reflete a repetição desta carga; meça a sua."
175
+ },
176
+ "kpis": [
177
+ { "metric": "Taxa de acertos de cache", "note": "Proporção de requisições servidas do cache; a alavanca de economia em custo e latência." },
178
+ { "metric": "Taxa de falsos acertos", "note": "Com que frequência um acerto 'similar' devolve uma resposta errada ou obsoleta; o risco central de cachear por significado." },
179
+ { "metric": "Custo e latência economizados por acerto", "note": "Tokens e tempo evitados nos acertos, a vantagem pela qual você troca o risco de falso acerto." },
180
+ { "metric": "Calibração do limiar de similaridade", "note": "Se o limiar equilibra taxa de acertos e falsos acertos; frouxo demais prejudica a qualidade, estrito demais elimina a economia." }
181
+ ],
182
+ "failureModes": [
183
+ "Falsos acertos: duas consultas similares no espaço de embeddings precisam de respostas distintas, e o cache devolve a errada.",
184
+ "Obsolescência: as respostas cacheadas ficam desatualizadas enquanto os fatos subjacentes mudam.",
185
+ "Mau ajuste do limiar: frouxo demais devolve respostas erradas, estrito demais dá quase nenhum acerto.",
186
+ "Envenenamento de cache: uma resposta ruim é cacheada e depois servida repetidamente."
187
+ ],
188
+ "lessons": [
189
+ "Ajuste o limiar de similaridade com tráfego real; é o parâmetro decisivo.",
190
+ "Nunca cacheie onde a atualidade ou a correção sejam críticas sem uma estratégia de invalidação.",
191
+ "Valide ou amostre os acertos de cache para detectar falsos antes dos usuários.",
192
+ "Restrinja os caches de forma estreita (por tenant, por contexto) para não vazar a resposta errada entre usuários."
193
+ ],
194
+ "faqs": [
195
+ { "q": "Como difere de um cache normal?", "a": "Um cache normal casa chaves exatas; um cache semântico casa por significado usando embeddings, então perguntas parafraseadas também acertam." },
196
+ { "q": "Qual é o risco principal?", "a": "Um limiar de similaridade frouxo demais devolve uma resposta em cache para uma pergunta que na verdade é distinta. Ajuste o limiar e valide com tráfego real." },
197
+ { "q": "Como evito respostas obsoletas?", "a": "Defina TTLs e invalide entradas quando os dados subjacentes mudam; evite armazenar respostas personalizadas ou sensíveis ao tempo." }
198
+ ]
199
+ }
200
+ }
201
+ }
@@ -0,0 +1,290 @@
1
+ {
2
+ "slug": "supervisor-agent",
3
+ "category": "orchestration",
4
+ "updated": "2026-06-21",
5
+ "version": "1.0",
6
+ "featured": false,
7
+ "technologies": [
8
+ "LangGraph (supervisor)",
9
+ "OpenAI Agents SDK",
10
+ "Multi-agent frameworks",
11
+ "Message routing"
12
+ ],
13
+ "related": [
14
+ "orchestrator-workers",
15
+ "routing",
16
+ "goal-decomposition"
17
+ ],
18
+ "references": [
19
+ {
20
+ "title": "Anthropic — Building Effective Agents (2024)",
21
+ "url": "https://www.anthropic.com/research/building-effective-agents"
22
+ },
23
+ {
24
+ "title": "LangGraph — Multi-agent systems",
25
+ "url": "https://langchain-ai.github.io/langgraph/concepts/multi_agent/"
26
+ }
27
+ ],
28
+ "evidence": {
29
+ "evidenceLevel": "industry_observation",
30
+ "confidenceLevel": "high",
31
+ "sourceType": [
32
+ "industry_observation",
33
+ "paper"
34
+ ]
35
+ },
36
+ "locales": {
37
+ "en": {
38
+ "name": "Supervisor Agent",
39
+ "summary": "A supervisor agent is a persistent coordinator that manages a team of specialized sub-agents. It reads the conversation state, decides which specialist should act next, routes messages to it, and integrates returned results toward the goal. Unlike a one-shot decomposer, the supervisor stays in the loop across many turns, delegating by capability and re-planning until the task is done or handed back to the user.",
40
+ "problem": "A single agent given many tools, instructions, and domains becomes unfocused: its prompt bloats, tool selection degrades, and it confuses unrelated concerns. Real workflows need different expertise at different steps (research, coding, billing, compliance), but no single flat agent reliably picks the right capability at the right moment or keeps long multi-step interactions coherent.",
41
+ "context": "Use a supervisor when work spans several distinct, reusable specialist capabilities that must collaborate over a multi-turn conversation or loop, when routing decisions depend on evolving state rather than a fixed plan, and when you need a clear, central place to enforce policy, manage handoffs, and observe which agent did what. It fits heterogeneous teams of agents more than uniform parallel workers.",
42
+ "solution": [
43
+ "The supervisor owns the control loop and the shared conversation state. On each turn it inspects the latest messages and goal, then decides whether to answer directly, delegate to a named specialist, or finish. Delegation is by capability: each sub-agent has a declared scope (for example a code agent, a data agent, a knowledge agent), and the supervisor routes the relevant slice of context to the chosen one. The specialist runs its own focused tool loop and returns a result or a request for clarification, which the supervisor records before deciding the next step.",
44
+ "Control returns to the supervisor after every specialist turn, so it remains the single decision point rather than letting agents call each other freely. The supervisor integrates partial results, resolves conflicts between specialists, decides when a goal is satisfied, and decides when to hand back to the user. Guardrails such as step budgets, allowed-transition rules, and explicit termination conditions keep the loop from cycling. Structured handoff messages and a shared trace make every delegation auditable, so teams can see who was asked to do what and why."
45
+ ],
46
+ "components": [
47
+ "Supervisor (router/planner)",
48
+ "Specialist sub-agents with declared scopes",
49
+ "Shared conversation/state store",
50
+ "Handoff protocol and message schema",
51
+ "Step budget and termination guard",
52
+ "Trace and per-agent observability"
53
+ ],
54
+ "benefits": [
55
+ "Focused specialists with smaller, cleaner prompts",
56
+ "Centralized routing and policy enforcement",
57
+ "Modular agents that can evolve independently",
58
+ "Clear audit trail of who did what"
59
+ ],
60
+ "risks": [
61
+ "Infinite or ping-pong handoff loops",
62
+ "Coordination overhead inflates latency and cost",
63
+ "Supervisor becomes a routing bottleneck",
64
+ "Context loss across handoffs degrades quality"
65
+ ],
66
+ "whenNot": [
67
+ "Single capability handles the whole task",
68
+ "Fixed parallel fan-out fits better (orchestrator-workers)",
69
+ "Latency or cost budgets forbid extra hops"
70
+ ],
71
+ "examples": [
72
+ "Customer support routing across billing, technical, and account specialists",
73
+ "Software task split among coding, testing, and documentation agents",
74
+ "Research assistant delegating to search, analysis, and writing agents"
75
+ ],
76
+ "kpis": [
77
+ {
78
+ "metric": "Task success / goal-completion rate",
79
+ "note": "Share of sessions reaching the intended outcome without human rescue; the headline quality signal for the supervisor team."
80
+ },
81
+ {
82
+ "metric": "Handoffs per resolved task",
83
+ "note": "Average delegations to completion; watch for upward drift signaling indecision or routing thrash, not richer work."
84
+ },
85
+ {
86
+ "metric": "Coordination overhead",
87
+ "note": "Extra tokens, calls, and latency attributable to the supervisor versus a single agent; good means routing earns its cost."
88
+ },
89
+ {
90
+ "metric": "Routing accuracy",
91
+ "note": "Fraction of delegations sent to the correct specialist on first try, judged against labeled cases."
92
+ }
93
+ ],
94
+ "failureModes": [
95
+ "Two agents hand work back and forth without progress until a budget cuts the loop",
96
+ "Supervisor mis-routes to the wrong specialist and never recovers the thread",
97
+ "Critical context is dropped in the handoff, so the specialist solves the wrong problem",
98
+ "Specialists' partial results conflict and the supervisor merges them incoherently"
99
+ ],
100
+ "lessons": [
101
+ "Enforce hard step budgets and explicit termination so loops always end",
102
+ "Make handoffs structured, with intent and scope, not raw message dumps",
103
+ "Keep specialist scopes narrow and non-overlapping to reduce routing ambiguity",
104
+ "Instrument every delegation; you cannot debug a multi-agent loop you cannot see"
105
+ ],
106
+ "faqs": [
107
+ {
108
+ "q": "How is this different from orchestrator-workers?",
109
+ "a": "Orchestrator-workers decomposes one task into parallel, often homogeneous worker calls and merges them. A supervisor is a persistent coordinator over heterogeneous specialists across a multi-turn loop, re-deciding routing as state evolves rather than executing a fixed plan."
110
+ },
111
+ {
112
+ "q": "How do I prevent infinite handoff loops?",
113
+ "a": "Route control back to the supervisor after each specialist turn, forbid free peer-to-peer calls, set a step or token budget, define allowed transitions, and add explicit termination conditions so the loop cannot cycle indefinitely."
114
+ },
115
+ {
116
+ "q": "When should a specialist hand back to the supervisor?",
117
+ "a": "Whenever it finishes its scoped task, needs a capability it does not own, hits ambiguity needing a decision, or detects it is the wrong agent for the request. The supervisor then integrates and picks the next step."
118
+ }
119
+ ]
120
+ },
121
+ "es": {
122
+ "name": "Agente Supervisor",
123
+ "summary": "Un agente supervisor es un coordinador persistente que gestiona un equipo de subagentes especializados. Lee el estado de la conversación, decide qué especialista debe actuar a continuación, le enruta los mensajes e integra los resultados hacia el objetivo. A diferencia de un descompositor de un solo paso, el supervisor permanece en el bucle durante muchos turnos, delegando por capacidad y replanificando hasta que la tarea se completa o se devuelve al usuario.",
124
+ "problem": "Un único agente con muchas herramientas, instrucciones y dominios pierde el foco: su prompt se infla, la selección de herramientas se degrada y confunde asuntos no relacionados. Los flujos reales requieren distinta experiencia en cada paso (investigación, código, facturación, cumplimiento), pero ningún agente plano elige de forma fiable la capacidad correcta en el momento correcto ni mantiene coherentes las interacciones largas de varios pasos.",
125
+ "context": "Usa un supervisor cuando el trabajo abarca varias capacidades especializadas, distintas y reutilizables que deben colaborar en una conversación o bucle de varios turnos, cuando las decisiones de enrutamiento dependen de un estado que evoluciona en lugar de un plan fijo, y cuando necesitas un punto central claro para aplicar políticas, gestionar traspasos y observar qué hizo cada agente. Encaja con equipos heterogéneos de agentes más que con trabajadores paralelos uniformes.",
126
+ "solution": [
127
+ "El supervisor posee el bucle de control y el estado compartido de la conversación. En cada turno inspecciona los últimos mensajes y el objetivo, y decide si responde directamente, delega en un especialista nombrado o termina. La delegación es por capacidad: cada subagente tiene un alcance declarado (por ejemplo un agente de código, uno de datos, uno de conocimiento), y el supervisor enruta al elegido la porción de contexto relevante. El especialista ejecuta su propio bucle de herramientas enfocado y devuelve un resultado o una solicitud de aclaración, que el supervisor registra antes de decidir el siguiente paso.",
128
+ "El control regresa al supervisor después del turno de cada especialista, de modo que sigue siendo el único punto de decisión en lugar de permitir que los agentes se llamen libremente entre sí. El supervisor integra resultados parciales, resuelve conflictos entre especialistas, decide cuándo se satisface un objetivo y cuándo devolver el control al usuario. Salvaguardas como presupuestos de pasos, reglas de transiciones permitidas y condiciones de terminación explícitas evitan que el bucle se cicle. Mensajes de traspaso estructurados y una traza compartida hacen auditable cada delegación, para que los equipos vean a quién se le pidió qué y por qué."
129
+ ],
130
+ "components": [
131
+ "Supervisor (enrutador/planificador)",
132
+ "Subagentes especialistas con alcances declarados",
133
+ "Almacén compartido de conversación/estado",
134
+ "Protocolo de traspaso y esquema de mensajes",
135
+ "Presupuesto de pasos y guardia de terminación",
136
+ "Traza y observabilidad por agente"
137
+ ],
138
+ "benefits": [
139
+ "Especialistas enfocados con prompts más pequeños y limpios",
140
+ "Enrutamiento y aplicación de políticas centralizados",
141
+ "Agentes modulares que evolucionan de forma independiente",
142
+ "Rastro de auditoría claro de quién hizo qué"
143
+ ],
144
+ "risks": [
145
+ "Bucles de traspaso infinitos o de ida y vuelta",
146
+ "La sobrecarga de coordinación infla latencia y costo",
147
+ "El supervisor se convierte en cuello de botella de enrutamiento",
148
+ "La pérdida de contexto en los traspasos degrada la calidad"
149
+ ],
150
+ "whenNot": [
151
+ "Una sola capacidad resuelve toda la tarea",
152
+ "Encaja mejor un fan-out paralelo fijo (orchestrator-workers)",
153
+ "Los presupuestos de latencia o costo prohíben saltos extra"
154
+ ],
155
+ "examples": [
156
+ "Enrutamiento de soporte al cliente entre especialistas de facturación, técnicos y de cuenta",
157
+ "Tarea de software repartida entre agentes de código, pruebas y documentación",
158
+ "Asistente de investigación que delega en agentes de búsqueda, análisis y redacción"
159
+ ],
160
+ "kpis": [
161
+ {
162
+ "metric": "Tasa de éxito de tareas / cumplimiento del objetivo",
163
+ "note": "Proporción de sesiones que alcanzan el resultado previsto sin rescate humano; la señal principal de calidad del equipo supervisor."
164
+ },
165
+ {
166
+ "metric": "Traspasos por tarea resuelta",
167
+ "note": "Promedio de delegaciones hasta la finalización; vigila una deriva al alza que señale indecisión o rebote de enrutamiento, no más trabajo útil."
168
+ },
169
+ {
170
+ "metric": "Sobrecarga de coordinación",
171
+ "note": "Tokens, llamadas y latencia extra atribuibles al supervisor frente a un solo agente; lo bueno es que el enrutamiento justifique su costo."
172
+ },
173
+ {
174
+ "metric": "Precisión de enrutamiento",
175
+ "note": "Fracción de delegaciones enviadas al especialista correcto en el primer intento, evaluada contra casos etiquetados."
176
+ }
177
+ ],
178
+ "failureModes": [
179
+ "Dos agentes se devuelven el trabajo sin avanzar hasta que un presupuesto corta el bucle",
180
+ "El supervisor enruta mal al especialista equivocado y nunca recupera el hilo",
181
+ "Se pierde contexto crítico en el traspaso, así que el especialista resuelve el problema equivocado",
182
+ "Los resultados parciales de los especialistas entran en conflicto y el supervisor los integra de forma incoherente"
183
+ ],
184
+ "lessons": [
185
+ "Aplica presupuestos de pasos estrictos y terminación explícita para que los bucles siempre acaben",
186
+ "Haz los traspasos estructurados, con intención y alcance, no volcados de mensajes en bruto",
187
+ "Mantén alcances de especialista estrechos y sin solapamiento para reducir la ambigüedad de enrutamiento",
188
+ "Instrumenta cada delegación; no puedes depurar un bucle multiagente que no puedes ver"
189
+ ],
190
+ "faqs": [
191
+ {
192
+ "q": "¿En qué se diferencia de orchestrator-workers?",
193
+ "a": "Orchestrator-workers descompone una tarea en llamadas paralelas, a menudo homogéneas, y las fusiona. Un supervisor es un coordinador persistente sobre especialistas heterogéneos a lo largo de un bucle de varios turnos, que vuelve a decidir el enrutamiento a medida que evoluciona el estado en lugar de ejecutar un plan fijo."
194
+ },
195
+ {
196
+ "q": "¿Cómo evito bucles de traspaso infinitos?",
197
+ "a": "Devuelve el control al supervisor tras el turno de cada especialista, prohíbe llamadas libres entre pares, fija un presupuesto de pasos o tokens, define transiciones permitidas y añade condiciones de terminación explícitas para que el bucle no se cicle indefinidamente."
198
+ },
199
+ {
200
+ "q": "¿Cuándo debe un especialista devolver el control al supervisor?",
201
+ "a": "Siempre que termine su tarea acotada, necesite una capacidad que no posee, encuentre ambigüedad que requiera una decisión, o detecte que es el agente equivocado para la solicitud. El supervisor entonces integra y elige el siguiente paso."
202
+ }
203
+ ]
204
+ },
205
+ "pt": {
206
+ "name": "Agente Supervisor",
207
+ "summary": "Um agente supervisor é um coordenador persistente que gerencia uma equipe de subagentes especializados. Ele lê o estado da conversa, decide qual especialista deve agir em seguida, roteia mensagens para ele e integra os resultados em direção ao objetivo. Diferente de um decompositor de uma única etapa, o supervisor permanece no laço por muitos turnos, delegando por capacidade e replanejando até a tarefa terminar ou voltar ao usuário.",
208
+ "problem": "Um único agente com muitas ferramentas, instruções e domínios perde o foco: seu prompt incha, a seleção de ferramentas piora e ele confunde assuntos sem relação. Fluxos reais exigem expertise diferente em cada etapa (pesquisa, código, faturamento, conformidade), mas nenhum agente plano escolhe de forma confiável a capacidade certa no momento certo nem mantém coerentes as interações longas de várias etapas.",
209
+ "context": "Use um supervisor quando o trabalho abrange várias capacidades especializadas, distintas e reutilizáveis que precisam colaborar em uma conversa ou laço de vários turnos, quando as decisões de roteamento dependem de um estado em evolução em vez de um plano fixo, e quando você precisa de um ponto central claro para aplicar políticas, gerenciar transferências e observar o que cada agente fez. Ele se encaixa em equipes heterogêneas de agentes mais do que em trabalhadores paralelos uniformes.",
210
+ "solution": [
211
+ "O supervisor detém o laço de controle e o estado compartilhado da conversa. A cada turno ele inspeciona as mensagens mais recentes e o objetivo, e então decide se responde diretamente, delega a um especialista nomeado ou encerra. A delegação é por capacidade: cada subagente tem um escopo declarado (por exemplo um agente de código, um de dados, um de conhecimento), e o supervisor roteia ao escolhido a fatia de contexto relevante. O especialista executa seu próprio laço de ferramentas focado e devolve um resultado ou um pedido de esclarecimento, que o supervisor registra antes de decidir o próximo passo.",
212
+ "O controle volta ao supervisor após o turno de cada especialista, de modo que ele permanece o único ponto de decisão em vez de deixar os agentes se chamarem livremente. O supervisor integra resultados parciais, resolve conflitos entre especialistas, decide quando um objetivo foi satisfeito e quando devolver o controle ao usuário. Salvaguardas como orçamentos de passos, regras de transições permitidas e condições de término explícitas impedem que o laço entre em ciclo. Mensagens de transferência estruturadas e um rastro compartilhado tornam cada delegação auditável, para que as equipes vejam a quem foi pedido o quê e por quê."
213
+ ],
214
+ "components": [
215
+ "Supervisor (roteador/planejador)",
216
+ "Subagentes especialistas com escopos declarados",
217
+ "Repositório compartilhado de conversa/estado",
218
+ "Protocolo de transferência e esquema de mensagens",
219
+ "Orçamento de passos e guarda de término",
220
+ "Rastro e observabilidade por agente"
221
+ ],
222
+ "benefits": [
223
+ "Especialistas focados com prompts menores e mais limpos",
224
+ "Roteamento e aplicação de políticas centralizados",
225
+ "Agentes modulares que evoluem de forma independente",
226
+ "Trilha de auditoria clara de quem fez o quê"
227
+ ],
228
+ "risks": [
229
+ "Laços de transferência infinitos ou de vai e volta",
230
+ "A sobrecarga de coordenação infla latência e custo",
231
+ "O supervisor vira gargalo de roteamento",
232
+ "A perda de contexto nas transferências degrada a qualidade"
233
+ ],
234
+ "whenNot": [
235
+ "Uma única capacidade resolve a tarefa inteira",
236
+ "Um fan-out paralelo fixo se encaixa melhor (orchestrator-workers)",
237
+ "Orçamentos de latência ou custo proíbem saltos extras"
238
+ ],
239
+ "examples": [
240
+ "Roteamento de suporte ao cliente entre especialistas de faturamento, técnicos e de conta",
241
+ "Tarefa de software dividida entre agentes de código, testes e documentação",
242
+ "Assistente de pesquisa que delega a agentes de busca, análise e redação"
243
+ ],
244
+ "kpis": [
245
+ {
246
+ "metric": "Taxa de sucesso de tarefas / cumprimento do objetivo",
247
+ "note": "Parcela de sessões que atingem o resultado pretendido sem resgate humano; o principal sinal de qualidade da equipe supervisora."
248
+ },
249
+ {
250
+ "metric": "Transferências por tarefa resolvida",
251
+ "note": "Média de delegações até a conclusão; observe uma deriva de alta que sinalize indecisão ou repique de roteamento, e não mais trabalho útil."
252
+ },
253
+ {
254
+ "metric": "Sobrecarga de coordenação",
255
+ "note": "Tokens, chamadas e latência extras atribuíveis ao supervisor frente a um único agente; o bom é o roteamento justificar seu custo."
256
+ },
257
+ {
258
+ "metric": "Acurácia de roteamento",
259
+ "note": "Fração de delegações enviadas ao especialista correto na primeira tentativa, avaliada contra casos rotulados."
260
+ }
261
+ ],
262
+ "failureModes": [
263
+ "Dois agentes devolvem o trabalho um ao outro sem progredir até um orçamento cortar o laço",
264
+ "O supervisor roteia mal para o especialista errado e nunca recupera o fio",
265
+ "Contexto crítico é descartado na transferência, então o especialista resolve o problema errado",
266
+ "Os resultados parciais dos especialistas conflitam e o supervisor os integra de forma incoerente"
267
+ ],
268
+ "lessons": [
269
+ "Imponha orçamentos de passos rígidos e término explícito para que os laços sempre acabem",
270
+ "Faça transferências estruturadas, com intenção e escopo, não despejos de mensagens em bruto",
271
+ "Mantenha escopos de especialista estreitos e sem sobreposição para reduzir a ambiguidade de roteamento",
272
+ "Instrumente cada delegação; você não consegue depurar um laço multiagente que não consegue ver"
273
+ ],
274
+ "faqs": [
275
+ {
276
+ "q": "Como isto difere de orchestrator-workers?",
277
+ "a": "Orchestrator-workers decompõe uma tarefa em chamadas paralelas, muitas vezes homogêneas, e as funde. Um supervisor é um coordenador persistente sobre especialistas heterogêneos ao longo de um laço de vários turnos, redecidindo o roteamento à medida que o estado evolui em vez de executar um plano fixo."
278
+ },
279
+ {
280
+ "q": "Como evito laços de transferência infinitos?",
281
+ "a": "Devolva o controle ao supervisor após o turno de cada especialista, proíba chamadas livres entre pares, defina um orçamento de passos ou tokens, defina transições permitidas e adicione condições de término explícitas para que o laço não entre em ciclo indefinidamente."
282
+ },
283
+ {
284
+ "q": "Quando um especialista deve devolver o controle ao supervisor?",
285
+ "a": "Sempre que concluir sua tarefa delimitada, precisar de uma capacidade que não possui, encontrar ambiguidade que exija uma decisão, ou detectar que é o agente errado para o pedido. O supervisor então integra e escolhe o próximo passo."
286
+ }
287
+ ]
288
+ }
289
+ }
290
+ }