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.
- package/LICENSE +21 -0
- package/README.md +62 -0
- package/content/CONVENTIONS.md +77 -0
- package/content/LICENSE +55 -0
- package/content/architectures/ai-workforce.json +280 -0
- package/content/architectures/customer-service-agent.json +292 -0
- package/content/architectures/enterprise-knowledge-assistant.json +292 -0
- package/content/architectures/operations-center.json +280 -0
- package/content/architectures/sales-copilot.json +280 -0
- package/content/governance/agentic-ai-governance-checklist.json +323 -0
- package/content/governance/audit-framework-for-agentic-systems.json +280 -0
- package/content/governance/enterprise-ai-governance-framework.json +277 -0
- package/content/governance/eu-ai-act.json +162 -0
- package/content/governance/human-oversight-and-accountability-policy.json +275 -0
- package/content/governance/iso-42001.json +161 -0
- package/content/governance/mitre-atlas.json +280 -0
- package/content/governance/nist-ai-rmf.json +161 -0
- package/content/governance/owasp-llm-top10.json +301 -0
- package/content/harness/HRN-001-definition-and-overview.es.md +76 -0
- package/content/harness/HRN-001-definition-and-overview.md +125 -0
- package/content/harness/HRN-001-definition-and-overview.pt.md +76 -0
- package/content/harness/HRN-002-a-brief-history-of-harness-engineering.es.md +83 -0
- package/content/harness/HRN-002-a-brief-history-of-harness-engineering.md +113 -0
- package/content/harness/HRN-002-a-brief-history-of-harness-engineering.pt.md +83 -0
- package/content/harness/HRN-003-the-harness-taxonomy.es.md +105 -0
- package/content/harness/HRN-003-the-harness-taxonomy.md +158 -0
- package/content/harness/HRN-003-the-harness-taxonomy.pt.md +105 -0
- package/content/harness/HRN-004-harness-engineering-principles.es.md +91 -0
- package/content/harness/HRN-004-harness-engineering-principles.md +135 -0
- package/content/harness/HRN-004-harness-engineering-principles.pt.md +91 -0
- package/content/harness/HRN-005-memory-in-agentic-systems.es.md +98 -0
- package/content/harness/HRN-005-memory-in-agentic-systems.md +145 -0
- package/content/harness/HRN-005-memory-in-agentic-systems.pt.md +98 -0
- package/content/harness/HRN-006-observability-for-agentic-systems.es.md +97 -0
- package/content/harness/HRN-006-observability-for-agentic-systems.md +139 -0
- package/content/harness/HRN-006-observability-for-agentic-systems.pt.md +97 -0
- package/content/harness/HRN-007-evaluation-of-agentic-systems.es.md +96 -0
- package/content/harness/HRN-007-evaluation-of-agentic-systems.md +145 -0
- package/content/harness/HRN-007-evaluation-of-agentic-systems.pt.md +96 -0
- package/content/harness/HRN-008-governance-within-the-harness.es.md +105 -0
- package/content/harness/HRN-008-governance-within-the-harness.md +146 -0
- package/content/harness/HRN-008-governance-within-the-harness.pt.md +105 -0
- package/content/harness/HRN-009-planning-and-goal-management.es.md +102 -0
- package/content/harness/HRN-009-planning-and-goal-management.md +142 -0
- package/content/harness/HRN-009-planning-and-goal-management.pt.md +102 -0
- package/content/harness/HRN-010-orchestration.es.md +107 -0
- package/content/harness/HRN-010-orchestration.md +149 -0
- package/content/harness/HRN-010-orchestration.pt.md +107 -0
- package/content/harness/HRN-011-security-for-agentic-systems.es.md +107 -0
- package/content/harness/HRN-011-security-for-agentic-systems.md +147 -0
- package/content/harness/HRN-011-security-for-agentic-systems.pt.md +107 -0
- package/content/harness/HRN-012-case-studies-in-harness-engineering.es.md +120 -0
- package/content/harness/HRN-012-case-studies-in-harness-engineering.md +157 -0
- package/content/harness/HRN-012-case-studies-in-harness-engineering.pt.md +120 -0
- package/content/harness/HRN-013-glossary.es.md +109 -0
- package/content/harness/HRN-013-glossary.md +124 -0
- package/content/harness/HRN-013-glossary.pt.md +109 -0
- package/content/harness/HRN-014-bibliography.es.md +89 -0
- package/content/harness/HRN-014-bibliography.md +109 -0
- package/content/harness/HRN-014-bibliography.pt.md +89 -0
- package/content/homeric/episodes/achilles-and-hector.json +139 -0
- package/content/homeric/episodes/aeolus-and-the-winds.json +131 -0
- package/content/homeric/episodes/agamemnons-murder.json +162 -0
- package/content/homeric/episodes/calypso-ogygia.json +157 -0
- package/content/homeric/episodes/catalogue-of-ships.json +177 -0
- package/content/homeric/episodes/cattle-of-the-sun.json +131 -0
- package/content/homeric/episodes/chryse-and-the-plague.json +131 -0
- package/content/homeric/episodes/cicones-at-ismarus.json +131 -0
- package/content/homeric/episodes/circe-on-aeaea.json +131 -0
- package/content/homeric/episodes/cyclops-polyphemus.json +162 -0
- package/content/homeric/episodes/laestrygonians.json +153 -0
- package/content/homeric/episodes/lotus-eaters.json +138 -0
- package/content/homeric/episodes/menelaus-and-proteus.json +130 -0
- package/content/homeric/episodes/nekyia.json +160 -0
- package/content/homeric/episodes/phaeacians-on-scheria.json +129 -0
- package/content/homeric/episodes/priams-ransom.json +131 -0
- package/content/homeric/episodes/return-to-ithaca.json +167 -0
- package/content/homeric/episodes/scylla-and-charybdis.json +131 -0
- package/content/homeric/episodes/suitors-ambush-at-asteris.json +131 -0
- package/content/homeric/episodes/telemachus-at-pylos.json +130 -0
- package/content/homeric/episodes/telemachus-in-sparta.json +130 -0
- package/content/homeric/episodes/the-achaean-camp.json +138 -0
- package/content/homeric/episodes/the-sirens.json +129 -0
- package/content/homeric/episodes/wooden-horse.json +168 -0
- package/content/homeric/places/aeaea.json +129 -0
- package/content/homeric/places/aeolia.json +161 -0
- package/content/homeric/places/asteris.json +120 -0
- package/content/homeric/places/aulis.json +122 -0
- package/content/homeric/places/cape-malea.json +126 -0
- package/content/homeric/places/chryse.json +120 -0
- package/content/homeric/places/dodona.json +129 -0
- package/content/homeric/places/dulichium.json +177 -0
- package/content/homeric/places/egypt.json +125 -0
- package/content/homeric/places/ephyra-acheron.json +127 -0
- package/content/homeric/places/hellespont.json +125 -0
- package/content/homeric/places/house-of-hades.json +91 -0
- package/content/homeric/places/ismarus.json +120 -0
- package/content/homeric/places/ithaca.json +240 -0
- package/content/homeric/places/knossos.json +132 -0
- package/content/homeric/places/laestrygonia.json +168 -0
- package/content/homeric/places/land-of-the-cyclopes.json +169 -0
- package/content/homeric/places/land-of-the-lotus-eaters.json +122 -0
- package/content/homeric/places/mount-ida.json +126 -0
- package/content/homeric/places/mycenae.json +152 -0
- package/content/homeric/places/ogygia.json +125 -0
- package/content/homeric/places/pharos.json +120 -0
- package/content/homeric/places/planctae.json +77 -0
- package/content/homeric/places/pylos.json +188 -0
- package/content/homeric/places/same.json +177 -0
- package/content/homeric/places/scheria.json +129 -0
- package/content/homeric/places/scylla-and-charybdis.json +135 -0
- package/content/homeric/places/sirens.json +127 -0
- package/content/homeric/places/sparta.json +179 -0
- package/content/homeric/places/tenedos.json +129 -0
- package/content/homeric/places/thrinacia.json +116 -0
- package/content/homeric/places/tiryns.json +123 -0
- package/content/homeric/places/troy.json +224 -0
- package/content/homeric/places/zacynthus.json +126 -0
- package/content/homeric/routes/achaean-expedition.json +132 -0
- package/content/homeric/routes/nostoi-of-the-others.json +205 -0
- package/content/homeric/routes/odysseus-nostos.json +307 -0
- package/content/homeric/routes/telemachy.json +134 -0
- package/content/knowledge/agent-memory.json +153 -0
- package/content/knowledge/agentic-ai.json +158 -0
- package/content/knowledge/agentic-evaluation.json +156 -0
- package/content/knowledge/agentic-threat-model.json +287 -0
- package/content/knowledge/ai-agent.json +153 -0
- package/content/knowledge/ai-cyberdefense.json +274 -0
- package/content/knowledge/ai-governance.json +155 -0
- package/content/knowledge/ai-observability.json +156 -0
- package/content/knowledge/context-engineering.json +153 -0
- package/content/knowledge/embeddings.json +153 -0
- package/content/knowledge/enterprise-rag.json +154 -0
- package/content/knowledge/fine-tuning.json +153 -0
- package/content/knowledge/foundation-models.json +154 -0
- package/content/knowledge/guardrails.json +153 -0
- package/content/knowledge/harness-engineering.json +158 -0
- package/content/knowledge/human-in-the-loop.json +153 -0
- package/content/knowledge/mcp-security.json +284 -0
- package/content/knowledge/model-context-protocol.json +154 -0
- package/content/knowledge/multi-agent-architecture.json +153 -0
- package/content/knowledge/prompt-engineering.json +153 -0
- package/content/knowledge/prompt-injection.json +138 -0
- package/content/knowledge/reasoning-models.json +153 -0
- package/content/knowledge/tool-use.json +156 -0
- package/content/library/cognitive-architecture-emergent-ai.md +15 -0
- package/content/library/devready-ep108-ai-customer-experiences.md +14 -0
- package/content/library/how-genai-impact-business.md +12 -0
- package/content/library/lmm-reshaping-industries-2024.md +12 -0
- package/content/library/rethinking-ai-pause.md +12 -0
- package/content/library/rise-of-agentic-ai.md +16 -0
- package/content/library/self-improving-autonomous-ai.md +16 -0
- package/content/library/the-stopwatch-and-the-exam.md +12 -0
- package/content/library/unlock-gpt4-secrets.md +12 -0
- package/content/library/vibe-coding-enterprise.md +15 -0
- package/content/library/video-transformando-negocios-genai.md +14 -0
- package/content/library/video-volando-alto-sky-airlines.md +13 -0
- package/content/matrix/agentic-control-matrix.json +967 -0
- package/content/patterns/attributed-memory.json +237 -0
- package/content/patterns/context-compression.json +304 -0
- package/content/patterns/egress-allowlist.json +310 -0
- package/content/patterns/evaluator-optimizer.json +180 -0
- package/content/patterns/goal-decomposition.json +290 -0
- package/content/patterns/human-approval-gate.json +311 -0
- package/content/patterns/human-escalation.json +288 -0
- package/content/patterns/least-privilege-tooling.json +333 -0
- package/content/patterns/long-term-memory.json +305 -0
- package/content/patterns/orchestrator-workers.json +202 -0
- package/content/patterns/parallelization.json +180 -0
- package/content/patterns/prompt-chaining.json +181 -0
- package/content/patterns/recovery-strategy.json +305 -0
- package/content/patterns/reflection.json +298 -0
- package/content/patterns/routing.json +294 -0
- package/content/patterns/sandboxed-execution.json +311 -0
- package/content/patterns/semantic-caching.json +201 -0
- package/content/patterns/supervisor-agent.json +290 -0
- package/content/patterns/task-prioritization.json +307 -0
- package/dist/content.js +181 -0
- package/dist/index.js +27 -0
- package/dist/shape.js +649 -0
- package/dist/tools.js +652 -0
- package/package.json +47 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Breve historia de la Ingeniería de Harness"
|
|
3
|
+
summary: "Cómo la industria pasó de la ingeniería de prompts a los sistemas agénticos, y por qué el andamiaje alrededor del modelo acabó siendo la disciplina que decide la fiabilidad."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Breve historia de la Ingeniería de Harness
|
|
7
|
+
|
|
8
|
+
## Resumen ejecutivo
|
|
9
|
+
La Ingeniería de Harness no apareció ya formada. Emergió a lo largo de cuatro eras que se solapan: ingeniería de prompts, uso de herramientas, agentes y, por fin, harnesses. Cada era resolvió un problema y dejó al descubierto el siguiente. Este capítulo recorre ese arco, nombra los puntos de inflexión y explica por qué la acumulación de esas lecciones cristalizó en una disciplina cuya unidad de trabajo es el sistema entero, no el prompt.
|
|
10
|
+
|
|
11
|
+
## Conceptos clave
|
|
12
|
+
- **Ingeniería de prompts:** dar forma a una única interacción con el modelo mediante instrucciones, ejemplos y formato.
|
|
13
|
+
- **Uso de herramientas (function calling):** dotar al modelo de la capacidad de emitir llamadas estructuradas a funciones externas.
|
|
14
|
+
- **Agente:** un modelo que ejecuta un bucle de percibir, razonar y actuar hacia un objetivo, con memoria y herramientas.
|
|
15
|
+
- **Harness:** el andamiaje de ingeniería completo alrededor del modelo que hace fiable al sistema agéntico.
|
|
16
|
+
- **Punto de inflexión:** el momento en que una abstracción anterior deja de escalar y obliga a añadir una capa nueva.
|
|
17
|
+
|
|
18
|
+
## Definición
|
|
19
|
+
La **historia de la Ingeniería de Harness** es la progresión por la que el foco del esfuerzo de ingeniería se desplazó hacia fuera: del prompt a la interacción con el modelo, luego al bucle y finalmente al sistema entero que rodea al modelo, hasta reconocer que construir ese sistema es una disciplina por derecho propio.
|
|
20
|
+
|
|
21
|
+
## Explicación detallada
|
|
22
|
+
|
|
23
|
+
### Era 1 — Ingeniería de prompts (la interacción única)
|
|
24
|
+
La primera ola trató al modelo como un oráculo: redacta el prompt correcto y lee la respuesta. Las técnicas se acumularon deprisa: instrucciones, ejemplos few-shot, encuadre de rol, cadena de pensamiento y formatos de salida rígidos. La ingeniería de prompts era real y útil, pero optimizaba *una sola* llamada al modelo. Su techo llegaba en el momento en que una tarea exigía que el modelo *hiciera* algo en el mundo, o que recordara cualquier cosa más allá de la ventana de contexto. La lección: un prompt mejor no convierte a un oráculo sin estado en un sistema.
|
|
25
|
+
|
|
26
|
+
### Era 2 — Uso de herramientas (el modelo actúa y recupera)
|
|
27
|
+
La segunda ola le dio manos al modelo. El function calling permitió al modelo emitir peticiones estructuradas que el código circundante ejecutaba: búsqueda, calculadoras, consultas a bases de datos, llamadas a API. La generación aumentada por recuperación (RAG) atacó el problema del conocimiento trayendo el contexto relevante en tiempo de consulta en lugar de confiar en que estuviera memorizado. Fue un cambio arquitectónico genuino: ahora había *código alrededor del modelo* que importaba. Pero seguía siendo en gran medida un solo salto: llamar al modelo, ejecutar una herramienta, devolver el resultado. Los problemas de fiabilidad aparecieron de inmediato: las herramientas fallan, devuelven datos mal formados, expiran o se invocan con argumentos alucinados. La lección: en cuanto el modelo toca sistemas reales hacen falta contratos, validación y gestión de fallos —ingeniería, no prompting—.
|
|
28
|
+
|
|
29
|
+
### Era 3 — Agentes (el bucle)
|
|
30
|
+
La tercera ola cerró el bucle. En vez de un salto, el modelo iteraba: observar resultados, razonar, volver a actuar, hasta cumplir el objetivo. Aparecieron patrones como los bucles de razonar-y-actuar, los planificadores con herramientas y las descomposiciones multiagente, empaquetados en frameworks populares. Los agentes ya podían reservar un viaje, refactorizar código o triar un ticket a lo largo de muchos pasos. Y aquí afloraron a escala los modos de fallo *de verdad*: bucles que no terminan, errores que se componen cuando un paso malo envenena el resto, coste desbocado, ventanas de contexto desbordadas de historial acumulado, y la imposibilidad de depurar a posteriori una ejecución no determinista de varios pasos. Los frameworks de agentes hicieron el bucle fácil de *escribir* y casi imposible de *operar con fiabilidad*. La lección: un bucle sin disciplina de memoria, observabilidad, evaluación y autoridad acotada es un pasivo, no un producto.
|
|
31
|
+
|
|
32
|
+
### Era 4 — Harnesses (el sistema)
|
|
33
|
+
La cuarta ola —donde vive hoy la disciplina— es el reconocimiento de que todo lo que rodea al modelo *es el problema de ingeniería*. Los equipos que llevaban agentes a producción empresarial descubrieron que dedicaban casi todo su esfuerzo no al modelo, ni siquiera al bucle del agente, sino a:
|
|
34
|
+
|
|
35
|
+
- La **memoria** que decide qué ve el modelo y qué olvida (HRN-005);
|
|
36
|
+
- La **observabilidad** que convierte una ejecución opaca en trazas reproducibles (HRN-006);
|
|
37
|
+
- La **evaluación** que transforma «parece que va bien» en calidad medida y protegida frente a regresiones (HRN-007);
|
|
38
|
+
- La **gobernanza** que aplica política y aprobación humana como código;
|
|
39
|
+
- La **seguridad** que trata al modelo como un componente no confiable e inyectable por prompt;
|
|
40
|
+
- La **orquestación** que acota el bucle, enruta el trabajo y degrada con elegancia.
|
|
41
|
+
|
|
42
|
+
Ese conjunto es el harness. Ponerle nombre importó: reencuadró «he construido un agente» (una demo) como «he construido un harness» (un sistema que puedes poner delante de clientes y auditores). HRN-003 formaliza los componentes como taxonomía.
|
|
43
|
+
|
|
44
|
+
### Por qué cambiaron los nombres
|
|
45
|
+
Cada renombrado reflejó una ampliación de la unidad de responsabilidad. Prompt → la llamada. Uso de herramientas → la llamada más sus acciones. Agente → el bucle. Harness → el sistema, incluidas las partes que ninguna demo enseña: qué pasa a las tres de la madrugada bajo carga, bajo ataque, bajo auditoría. La historia es, en esencia, la constatación progresiva de que la parte difícil nunca fue el modelo.
|
|
46
|
+
|
|
47
|
+
## Evidencia de producción
|
|
48
|
+
> **Nivel de evidencia:** teórico · **Confianza:** media · **Fuente:** observación de industria
|
|
49
|
+
>
|
|
50
|
+
> _Relato ilustrativo y representativo, no un despliegue verificado concreto._
|
|
51
|
+
|
|
52
|
+
- **Contexto:** equipos empresariales que adoptan agentes LLM entre 2023 y 2026.
|
|
53
|
+
- **Escenario:** un equipo entrega una demo de agente impresionante y luego dedica los dos trimestres siguientes no a mejorar el modelo, sino a construir gestión de memoria, trazado, arneses de evaluación, puertas de aprobación y defensas contra inyección de prompts para que sea seguro en producción.
|
|
54
|
+
- **Tecnología:** LLM frontera, API de function calling, almacenes vectoriales, frameworks de agentes, backends de trazado.
|
|
55
|
+
- **Carga:** de un puñado de ejecuciones de demo a tráfico sostenido de producción con usuarios adversarios.
|
|
56
|
+
- **Resultados:** la experiencia representativa es que el harness, y no el modelo, consume la mayor parte del esfuerzo de ingeniería y es lo que en última instancia condiciona el lanzamiento a producción.
|
|
57
|
+
|
|
58
|
+
## Modos de fallo observados
|
|
59
|
+
- **Equivocarse de era:** tratar un problema de uso de herramientas como un problema de prompt, o un problema de agente como uno de herramientas: aplicar la abstracción de ayer al fallo de hoy.
|
|
60
|
+
- **El framework como estrategia:** dar por hecho que un framework de agentes *es* el harness; los frameworks aportan el bucle, no la observabilidad, la evaluación, la gobernanza ni la seguridad.
|
|
61
|
+
- **Saltar directamente a multiagente:** recurrir a enjambres de agentes elaborados antes de que el harness de un solo agente sea fiable, multiplicando la superficie de fallo.
|
|
62
|
+
|
|
63
|
+
## Características de escalado
|
|
64
|
+
Cada era empujó el cuello de botella de fiabilidad más hacia fuera. A medida que los sistemas escalaron en pasos y herramientas, la restricción determinante pasó de «¿es bueno el prompt?» a «¿termina el bucle, se mantiene en presupuesto y sigue siendo auditable?», que es precisamente el dominio del harness.
|
|
65
|
+
|
|
66
|
+
## Contenido relacionado
|
|
67
|
+
- HRN-001 — Ingeniería de Harness: definición y panorama
|
|
68
|
+
- HRN-003 — La taxonomía del harness
|
|
69
|
+
|
|
70
|
+
## Referencias
|
|
71
|
+
- Observación de industria sobre la evolución de los patrones de aplicación de LLM, 2020–2026.
|
|
72
|
+
- Literatura de práctica sobre RAG, function calling y bucles de agentes.
|
|
73
|
+
- Santa María, S. — Notas de trabajo sobre la aparición de la Ingeniería de Harness.
|
|
74
|
+
|
|
75
|
+
## Preguntas frecuentes
|
|
76
|
+
**P:** ¿Algún producto o artículo inventó la Ingeniería de Harness?
|
|
77
|
+
**R:** No. Surgió de la experiencia convergente de muchos equipos que chocaron con el mismo muro: los agentes son fáciles de demostrar y difíciles de operar. La disciplina es un nombre para las lecciones, no un artefacto concreto.
|
|
78
|
+
|
|
79
|
+
**P:** ¿Están obsoletas las eras anteriores?
|
|
80
|
+
**R:** No: quedan subsumidas. El prompting, el uso de herramientas y los bucles de agentes son componentes dentro de un harness moderno. El harness añade las capas que los hacen de fiar.
|
|
81
|
+
|
|
82
|
+
**P:** ¿Qué viene después de los harnesses?
|
|
83
|
+
**R:** Probablemente estandarización y madurez de utillaje —plataformas de harness compartidas, estándares interoperables de observabilidad y evaluación, y gobernanza integrada en los runtimes— más que un paradigma enteramente nuevo. La unidad de responsabilidad (el sistema) ya es estable.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: HRN-002
|
|
3
|
+
title: A Brief History of Harness Engineering
|
|
4
|
+
domain: Harness
|
|
5
|
+
category: Foundations
|
|
6
|
+
status: Draft
|
|
7
|
+
author: Santiago Santa María
|
|
8
|
+
created: 2026-06-21
|
|
9
|
+
updated: 2026-06-21
|
|
10
|
+
summary: How the field moved from prompt engineering to tool use to agents to harnesses, and why the engineered scaffolding around the model became its own discipline.
|
|
11
|
+
evidence_level: theoretical
|
|
12
|
+
confidence_level: medium
|
|
13
|
+
source_type:
|
|
14
|
+
- industry_observation
|
|
15
|
+
- personal_experience
|
|
16
|
+
related:
|
|
17
|
+
- HRN-001
|
|
18
|
+
- HRN-003
|
|
19
|
+
tags:
|
|
20
|
+
- history
|
|
21
|
+
- harness-engineering
|
|
22
|
+
- foundations
|
|
23
|
+
- agentic-systems
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# A Brief History of Harness Engineering
|
|
27
|
+
|
|
28
|
+
## Executive Summary
|
|
29
|
+
Harness Engineering did not appear fully formed. It emerged over roughly four overlapping eras: prompt engineering, tool use, agents, and finally harnesses. Each era solved a problem and exposed the next one. This chapter traces that arc, names the inflection points, and explains why the accumulation of these lessons crystallized into a discipline whose unit of work is the whole system, not the prompt.
|
|
30
|
+
|
|
31
|
+
## Key Concepts
|
|
32
|
+
- **Prompt engineering:** Shaping a single model interaction through instructions, examples, and formatting.
|
|
33
|
+
- **Tool use (function calling):** Giving the model the ability to emit structured calls to external functions.
|
|
34
|
+
- **Agent:** A model running a perceive–reason–act loop toward a goal, with memory and tools.
|
|
35
|
+
- **Harness:** The full engineered scaffolding around the model that makes the agentic system reliable.
|
|
36
|
+
- **Inflection point:** A moment where a prior abstraction stopped scaling and forced a new layer.
|
|
37
|
+
|
|
38
|
+
## Definition
|
|
39
|
+
The **history of Harness Engineering** is the progression by which the locus of engineering effort moved outward from the prompt to the model interaction, then to the loop, and finally to the entire system surrounding the model — culminating in the recognition that building that system is a discipline in its own right.
|
|
40
|
+
|
|
41
|
+
## Architecture Diagram
|
|
42
|
+
```mermaid
|
|
43
|
+
timeline
|
|
44
|
+
title Eras of Harness Engineering
|
|
45
|
+
Prompt Engineering : Single-shot instructions : Few-shot examples : Output formatting
|
|
46
|
+
Tool Use : Function calling : Structured outputs : Retrieval (RAG)
|
|
47
|
+
Agents : Reason-act loops : Multi-step planning : Working memory
|
|
48
|
+
Harnesses : Orchestration & memory : Observability & eval : Governance & security
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Detailed Explanation
|
|
52
|
+
|
|
53
|
+
### Era 1 — Prompt Engineering (the single interaction)
|
|
54
|
+
The first wave treated the model as an oracle: craft the right prompt and read off the answer. Techniques accreted quickly — instructions, few-shot examples, role framing, chain-of-thought, and rigid output formatting. Prompt engineering was real and useful, but it optimized a *single* model call. Its ceiling was the moment a task required the model to *do* something in the world, or to remember anything beyond the context window. The lesson: a better prompt cannot make a stateless oracle into a system.
|
|
55
|
+
|
|
56
|
+
### Era 2 — Tool Use (the model acts and retrieves)
|
|
57
|
+
The second wave gave the model hands. Function calling let the model emit structured requests that surrounding code executed — search, calculators, database queries, API calls. Retrieval-augmented generation (RAG) attacked the knowledge problem by fetching relevant context at query time instead of hoping it was memorized. This was a genuine architectural shift: now there was *code around the model* that mattered. But it was still largely a single hop — call the model, run a tool, return the result. Reliability problems emerged immediately: tools fail, return malformed data, time out, or are called with hallucinated arguments. The lesson: the moment the model touches real systems, you need contracts, validation, and failure handling — engineering, not prompting.
|
|
58
|
+
|
|
59
|
+
### Era 3 — Agents (the loop)
|
|
60
|
+
The third wave closed the loop. Instead of one hop, the model ran iteratively: observe results, reason, act again, until the goal was met. Patterns like reason-and-act loops, tool-using planners, and multi-agent decompositions appeared, packaged in popular frameworks. Agents could now book a trip, refactor code, or triage a ticket across many steps. And here the *real* failure modes surfaced at scale: loops that never terminate, compounding errors where one bad step poisons the rest, runaway cost, context windows overflowing with accumulated history, and the impossibility of debugging a non-deterministic multi-step run after the fact. The agent frameworks made the loop easy to *write* and nearly impossible to *operate reliably*. The lesson: a loop without memory discipline, observability, evaluation, and bounded authority is a liability, not a product.
|
|
61
|
+
|
|
62
|
+
### Era 4 — Harnesses (the system)
|
|
63
|
+
The fourth wave — where the discipline now lives — is the recognition that everything around the model *is the engineering problem*. Teams putting agents into enterprise production discovered they were spending almost all of their effort not on the model and not even on the agent loop, but on:
|
|
64
|
+
|
|
65
|
+
- **Memory** that decides what the model sees and what it forgets (HRN-005);
|
|
66
|
+
- **Observability** that turns an opaque run into traceable, replayable spans (HRN-006);
|
|
67
|
+
- **Evaluation** that converts "seems fine" into measured, regression-guarded quality (HRN-007);
|
|
68
|
+
- **Governance** that enforces policy and human approval as code;
|
|
69
|
+
- **Security** that treats the model as an untrusted, prompt-injectable component;
|
|
70
|
+
- **Orchestration** that bounds the loop, routes work, and degrades gracefully.
|
|
71
|
+
|
|
72
|
+
This collection is the harness. Naming it mattered: it reframed "I built an agent" (a demo) into "I built a harness" (a system you can run in front of customers and auditors). HRN-003 formalizes the components as a taxonomy.
|
|
73
|
+
|
|
74
|
+
### Why the names changed
|
|
75
|
+
Each rename reflected an expansion of the unit of accountability. Prompt → the call. Tool use → the call plus its actions. Agent → the loop. Harness → the system, including the parts no demo ever shows: what happens at 3 a.m. under load, under attack, under audit. The history is, in essence, the steady realization that the hard part was never the model.
|
|
76
|
+
|
|
77
|
+
## Production Evidence
|
|
78
|
+
> **Evidence level:** theoretical · **Confidence:** medium · **Source:** industry_observation
|
|
79
|
+
>
|
|
80
|
+
> _Illustrative, representative narrative — not a single verified deployment._
|
|
81
|
+
|
|
82
|
+
- **Context:** Enterprise teams adopting LLM agents between 2023 and 2026.
|
|
83
|
+
- **Scenario:** A team ships an impressive agent demo, then spends the following two quarters not improving the model but building memory management, tracing, evaluation harnesses, approval gates, and prompt-injection defenses to make it safe for production.
|
|
84
|
+
- **Technology:** Frontier LLMs, function-calling APIs, vector stores, agent frameworks, tracing backends.
|
|
85
|
+
- **Load:** From a handful of demo runs to sustained production traffic with adversarial users.
|
|
86
|
+
- **Results:** Representative experience is that the harness, not the model, consumes the majority of engineering effort and is what ultimately gates the production launch.
|
|
87
|
+
|
|
88
|
+
## Observed Failure Modes
|
|
89
|
+
- **Mistaking the era:** Treating a tool-use problem as a prompt problem, or an agent problem as a tool problem — applying yesterday's abstraction to today's failure.
|
|
90
|
+
- **Framework lock-in as strategy:** Assuming an agent framework *is* the harness; frameworks provide the loop, not the observability, evaluation, governance, or security.
|
|
91
|
+
- **Skipping straight to multi-agent:** Reaching for elaborate agent swarms before the single-agent harness is reliable, multiplying failure surface.
|
|
92
|
+
|
|
93
|
+
## Scaling Characteristics
|
|
94
|
+
Each era pushed the reliability bottleneck outward. As systems scaled in steps and tools, the binding constraint moved from "is the prompt good" to "does the loop terminate, stay in budget, and remain auditable" — which is precisely the harness's domain.
|
|
95
|
+
|
|
96
|
+
## Related Content
|
|
97
|
+
- HRN-001 — Harness Engineering: Definition and Overview
|
|
98
|
+
- HRN-003 — The Harness Taxonomy
|
|
99
|
+
|
|
100
|
+
## References
|
|
101
|
+
- Industry observation on the evolution of LLM application patterns, 2020–2026.
|
|
102
|
+
- Practitioner literature on RAG, function calling, and agent loops.
|
|
103
|
+
- Santa María, S. — Working notes on the emergence of Harness Engineering.
|
|
104
|
+
|
|
105
|
+
## FAQs
|
|
106
|
+
**Q:** Did one product or paper invent Harness Engineering?
|
|
107
|
+
**A:** No. It emerged from convergent practitioner experience across many teams hitting the same wall: agents are easy to demo and hard to operate. The discipline is a name for the lessons, not a single artifact.
|
|
108
|
+
|
|
109
|
+
**Q:** Are the earlier eras obsolete?
|
|
110
|
+
**A:** No — they are subsumed. Prompting, tool use, and agent loops are all components inside a modern harness. The harness adds the layers that make them dependable.
|
|
111
|
+
|
|
112
|
+
**Q:** What comes after harnesses?
|
|
113
|
+
**A:** Likely standardization and tooling maturity — shared harness platforms, interoperable observability and evaluation standards, and governance baked into runtimes — rather than a wholly new paradigm. The unit of accountability (the system) is now stable.
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "Breve história da Engenharia de Harness"
|
|
3
|
+
summary: "Como a indústria passou da engenharia de prompts para os sistemas agênticos, e porque o andaime em torno do modelo acabou por ser a disciplina que decide a confiabilidade."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Breve história da Engenharia de Harness
|
|
7
|
+
|
|
8
|
+
## Resumo executivo
|
|
9
|
+
A Engenharia de Harness não apareceu já formada. Emergiu ao longo de quatro eras que se sobrepõem: engenharia de prompts, uso de ferramentas, agentes e, por fim, harnesses. Cada era resolveu um problema e deixou a descoberto o seguinte. Este capítulo percorre esse arco, nomeia os pontos de inflexão e explica porque a acumulação dessas lições cristalizou numa disciplina cuja unidade de trabalho é o sistema inteiro, não o prompt.
|
|
10
|
+
|
|
11
|
+
## Conceitos-chave
|
|
12
|
+
- **Engenharia de prompts:** dar forma a uma única interação com o modelo através de instruções, exemplos e formatação.
|
|
13
|
+
- **Uso de ferramentas (function calling):** dotar o modelo da capacidade de emitir chamadas estruturadas a funções externas.
|
|
14
|
+
- **Agente:** um modelo que executa um ciclo de percecionar, raciocinar e agir rumo a um objetivo, com memória e ferramentas.
|
|
15
|
+
- **Harness:** o andaime de engenharia completo em torno do modelo que torna confiável o sistema agêntico.
|
|
16
|
+
- **Ponto de inflexão:** o momento em que uma abstração anterior deixa de escalar e obriga a acrescentar uma camada nova.
|
|
17
|
+
|
|
18
|
+
## Definição
|
|
19
|
+
A **história da Engenharia de Harness** é a progressão pela qual o foco do esforço de engenharia se deslocou para fora: do prompt para a interação com o modelo, depois para o ciclo e finalmente para o sistema inteiro que rodeia o modelo, até se reconhecer que construir esse sistema é uma disciplina por direito próprio.
|
|
20
|
+
|
|
21
|
+
## Explicação detalhada
|
|
22
|
+
|
|
23
|
+
### Era 1 — Engenharia de prompts (a interação única)
|
|
24
|
+
A primeira vaga tratou o modelo como um oráculo: redija o prompt certo e leia a resposta. As técnicas se acumularam rapidamente: instruções, exemplos few-shot, enquadramento de papel, cadeia de pensamento e formatos de saída rígidos. A engenharia de prompts era real e útil, mas otimizava *uma só* chamada ao modelo. Seu teto chegava no momento em que uma tarefa exigia que o modelo *fizesse* algo no mundo, ou que recordasse seja o que for para além da janela de contexto. A lição: um prompt melhor não converte um oráculo sem estado num sistema.
|
|
25
|
+
|
|
26
|
+
### Era 2 — Uso de ferramentas (o modelo age e recupera)
|
|
27
|
+
A segunda vaga deu mãos ao modelo. O function calling permitiu ao modelo emitir pedidos estruturados que o código circundante executava: pesquisa, calculadoras, consultas a bases de dados, chamadas a API. A geração aumentada por recuperação (RAG) atacou o problema do conhecimento trazendo o contexto relevante em tempo de consulta em vez de confiar em que estivesse memorizado. Foi uma mudança arquitetônica genuína: passou a haver *código em torno do modelo* que importava. Mas continuava a ser em larga medida um único salto: chamar o modelo, executar uma ferramenta, devolver o resultado. Os problemas de confiabilidade surgiram de imediato: as ferramentas falham, devolvem dados malformados, expiram ou são invocadas com argumentos alucinados. A lição: assim que o modelo toca em sistemas reais são precisos contratos, validação e tratamento de falhas — engenharia, não prompting.
|
|
28
|
+
|
|
29
|
+
### Era 3 — Agentes (o ciclo)
|
|
30
|
+
A terceira vaga fechou o ciclo. Em vez de um salto, o modelo iterava: observar resultados, raciocinar, voltar a agir, até cumprir o objetivo. Apareceram padrões como os ciclos de raciocinar-e-agir, os planejadores com ferramentas e as decomposições multiagente, empacotados em frameworks populares. Os agentes já conseguiam reservar uma viagem, refatorizar código ou triar um ticket ao longo de muitos passos. E foi aqui que os modos de falha *a sério* afloraram à escala: ciclos que não terminam, erros que se compõem quando um passo mau envenena o resto, custo descontrolado, janelas de contexto transbordadas de histórico acumulado, e a impossibilidade de depurar a posteriori uma execução não determinista de vários passos. As frameworks de agentes tornaram o ciclo fácil de *escrever* e quase impossível de *operar com confiabilidade*. A lição: um ciclo sem disciplina de memória, observabilidade, avaliação e autoridade limitada é um passivo, não um produto.
|
|
31
|
+
|
|
32
|
+
### Era 4 — Harnesses (o sistema)
|
|
33
|
+
A quarta vaga — onde vive hoje a disciplina — é o reconhecimento de que tudo o que rodeia o modelo *é o problema de engenharia*. As equipes que levavam agentes para produção empresarial descobriram que dedicavam quase todo o seu esforço não ao modelo, nem sequer ao ciclo do agente, mas a:
|
|
34
|
+
|
|
35
|
+
- A **memória** que decide o que o modelo vê e o que esquece (HRN-005);
|
|
36
|
+
- A **observabilidade** que converte uma execução opaca em traços reproduzíveis (HRN-006);
|
|
37
|
+
- A **avaliação** que transforma “parece que está bem” em qualidade medida e protegida contra regressões (HRN-007);
|
|
38
|
+
- A **governança** que aplica política e aprovação humana como código;
|
|
39
|
+
- A **segurança** que trata o modelo como um componente não confiável e injetável por prompt;
|
|
40
|
+
- A **orquestração** que limita o ciclo, encaminha o trabalho e degrada com elegância.
|
|
41
|
+
|
|
42
|
+
Esse conjunto é o harness. Dar-lhe nome importou: reenquadrou “construí um agente” (uma demonstração) como “construí um harness” (um sistema que se pode pôr à frente de clientes e auditores). HRN-003 formaliza os componentes como taxonomia.
|
|
43
|
+
|
|
44
|
+
### Por que mudaram os nomes
|
|
45
|
+
Cada mudança de nome refletiu um alargamento da unidade de responsabilidade. Prompt → a chamada. Uso de ferramentas → a chamada mais suas ações. Agente → o ciclo. Harness → o sistema, incluindo as partes que nenhuma demonstração mostra: o que acontece às três da manhã sob carga, sob ataque, sob auditoria. A história é, no essencial, a constatação progressiva de que a parte difícil nunca foi o modelo.
|
|
46
|
+
|
|
47
|
+
## Evidência de produção
|
|
48
|
+
> **Nível de evidência:** teórico · **Confiança:** média · **Fonte:** observação de indústria
|
|
49
|
+
>
|
|
50
|
+
> _Relato ilustrativo e representativo, não uma implantação verificada concreta._
|
|
51
|
+
|
|
52
|
+
- **Contexto:** equipes empresariais que adotam agentes LLM entre 2023 e 2026.
|
|
53
|
+
- **Cenário:** uma equipe entrega uma demonstração de agente impressionante e depois dedica os dois trimestres seguintes não a melhorar o modelo, mas a construir gestão de memória, tracing, harnesses de avaliação, portas de aprovação e defesas contra injeção de prompts para que seja seguro em produção.
|
|
54
|
+
- **Tecnologia:** LLM de fronteira, API de function calling, armazéns vetoriais, frameworks de agentes, backends de tracing.
|
|
55
|
+
- **Carga:** de um punhado de execuções de demonstração a tráfego sustentado de produção com usuários adversários.
|
|
56
|
+
- **Resultados:** a experiência representativa é que o harness, e não o modelo, consome a maior parte do esforço de engenharia e é o que em última instância condiciona o lançamento em produção.
|
|
57
|
+
|
|
58
|
+
## Modos de falha observados
|
|
59
|
+
- **Enganar-se na era:** tratar um problema de uso de ferramentas como um problema de prompt, ou um problema de agente como um de ferramentas: aplicar a abstração de ontem à falha de hoje.
|
|
60
|
+
- **A framework como estratégia:** assumir que uma framework de agentes *é* o harness; as frameworks fornecem o ciclo, não a observabilidade, a avaliação, a governança nem a segurança.
|
|
61
|
+
- **Saltar diretamente para multiagente:** recorrer a enxames de agentes elaborados antes de o harness de um só agente ser confiável, multiplicando a superfície de falha.
|
|
62
|
+
|
|
63
|
+
## Características de escalabilidade
|
|
64
|
+
Cada era empurrou o gargalo de confiabilidade mais para fora. À medida que os sistemas escalaram em passos e ferramentas, a restrição determinante passou de “o prompt é bom?” para “o ciclo termina, mantém-se dentro do orçamento e continua auditável?”, que é precisamente o domínio do harness.
|
|
65
|
+
|
|
66
|
+
## Conteúdo relacionado
|
|
67
|
+
- HRN-001 — Engenharia de Harness: definição e panorama
|
|
68
|
+
- HRN-003 — A taxonomia do harness
|
|
69
|
+
|
|
70
|
+
## Referências
|
|
71
|
+
- Observação de indústria sobre a evolução dos padrões de aplicação de LLM, 2020–2026.
|
|
72
|
+
- Literatura de prática sobre RAG, function calling e ciclos de agentes.
|
|
73
|
+
- Santa María, S. — Notas de trabalho sobre o aparecimento da Engenharia de Harness.
|
|
74
|
+
|
|
75
|
+
## Perguntas frequentes
|
|
76
|
+
**P:** Algum produto ou artigo inventou a Engenharia de Harness?
|
|
77
|
+
**R:** Não. Surgiu da experiência convergente de muitas equipes que embateram no mesmo muro: os agentes são fáceis de demonstrar e difíceis de operar. A disciplina é um nome para as lições, não um artefacto concreto.
|
|
78
|
+
|
|
79
|
+
**P:** As eras anteriores estão obsoletas?
|
|
80
|
+
**R:** Não: ficam subsumidas. O prompting, o uso de ferramentas e os ciclos de agentes são todos componentes dentro de um harness moderno. O harness acrescenta as camadas que os tornam de confiança.
|
|
81
|
+
|
|
82
|
+
**P:** O que vem depois dos harnesses?
|
|
83
|
+
**R:** Provavelmente padronização e maturidade de ferramentaria — plataformas de harness compartilhadas, normas interoperáveis de observabilidade e avaliação, e governança integrada nos runtimes — mais do que um paradigma inteiramente novo. A unidade de responsabilidade (o sistema) já é estável.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "La taxonomía del harness"
|
|
3
|
+
summary: "Descomposición precisa de los componentes del harness —memoria, herramientas, planificación, orquestación, observabilidad, evaluación, gobernanza y seguridad— y de cómo encajan entre sí."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# La taxonomía del harness
|
|
7
|
+
|
|
8
|
+
## Resumen ejecutivo
|
|
9
|
+
El harness no es un monolito: es un conjunto de componentes distintos, cada uno con una responsabilidad clara e interfaces claras con los demás. Este capítulo ofrece la taxonomía canónica: ocho componentes —memoria, herramientas, planificación, orquestación, observabilidad, evaluación, gobernanza y seguridad— organizados en tres capas (el bucle de ejecución, las preocupaciones transversales y los controles). La taxonomía es el mapa que el resto del manual rellena.
|
|
10
|
+
|
|
11
|
+
## Conceptos clave
|
|
12
|
+
- **Componente:** una parte acotada del harness con una única responsabilidad principal.
|
|
13
|
+
- **Capa de ejecución:** los componentes que mueven el bucle percibir–razonar–actuar (planificación, orquestación, memoria, herramientas).
|
|
14
|
+
- **Capa transversal:** preocupaciones que instrumentan o miden el bucle sin estar dentro de él (observabilidad, evaluación).
|
|
15
|
+
- **Capa de control:** preocupaciones que limitan lo que el bucle puede hacer (gobernanza, seguridad).
|
|
16
|
+
- **Interfaz:** el contrato por el que dos componentes intercambian información o autoridad.
|
|
17
|
+
|
|
18
|
+
## Definición
|
|
19
|
+
La **taxonomía del harness** es la descomposición canónica del andamiaje de ingeniería de un sistema agéntico en componentes y capas con nombre, definiendo la responsabilidad de cada componente y sus relaciones con los demás. Sirve como vocabulario compartido y como lista de verificación: un harness de calidad productiva debe abordar conscientemente cada componente, aunque elija una implementación mínima.
|
|
20
|
+
|
|
21
|
+
## Explicación detallada
|
|
22
|
+
|
|
23
|
+
La taxonomía organiza ocho componentes en tres capas. La estratificación importa: te dice qué componentes *hacen el trabajo*, cuáles *observan el trabajo* y cuáles *acotan el trabajo*.
|
|
24
|
+
|
|
25
|
+
### Capa de ejecución — mueve el bucle
|
|
26
|
+
Los componentes que producen realmente el comportamiento del agente.
|
|
27
|
+
|
|
28
|
+
- **Planificación y gestión de objetivos (HRN-009):** descompone un objetivo en subobjetivos, decide la siguiente acción, gestiona la replanificación cuando un paso falla y detecta la finalización o el bloqueo. Responde a «¿qué debería pasar ahora?».
|
|
29
|
+
- **Orquestación (HRN-010):** el runtime que ejecuta el bucle: ensambla el contexto, llama al modelo, despacha llamadas a herramientas, gestiona reintentos y tiempos de espera, enruta entre modelos o subagentes y aplica presupuestos. Responde a «quién se ejecuta, con qué, y qué ocurre con la salida».
|
|
30
|
+
- **Memoria (HRN-005):** gobierna qué entra en el contexto del modelo: memoria de trabajo a corto plazo, almacenes de largo plazo, recuperación, compresión y olvido. Responde a «qué ve y qué recuerda el modelo».
|
|
31
|
+
- **Herramientas / actuación:** los contratos tipados con los que el agente lee y escribe en los sistemas de la empresa, con validación explícita de entradas, esquemas de salida, idempotencia y semántica de fallo. Responde a «cómo afecta el agente al mundo».
|
|
32
|
+
|
|
33
|
+
El modelo se sitúa *dentro* de esta capa como componente invocado, no como el sistema. Es el replanteamiento central de HRN-001.
|
|
34
|
+
|
|
35
|
+
### Capa transversal — mide el bucle
|
|
36
|
+
No producen comportamiento; hacen que el comportamiento sea visible y cuantificable.
|
|
37
|
+
|
|
38
|
+
- **Observabilidad (HRN-006):** trazado, spans, registro estructurado, contabilidad de tokens y coste, y reproducción. Convierte una ejecución opaca y no determinista en un artefacto inspeccionable. Responde a «qué ocurrió, exactamente».
|
|
39
|
+
- **Evaluación (HRN-007):** medición offline y online de la calidad: conjuntos dorados, LLM como juez, suites de regresión, métricas de finalización de tarea. Responde a «¿es realmente bueno, y va a mejor o a peor?».
|
|
40
|
+
|
|
41
|
+
Observabilidad y evaluación son codependientes: la evaluación necesita las trazas que produce la observabilidad, y la observabilidad rinde más cuando sus datos alimentan la evaluación.
|
|
42
|
+
|
|
43
|
+
### Capa de control — acota el bucle
|
|
44
|
+
Limitan la autoridad y defienden el sistema.
|
|
45
|
+
|
|
46
|
+
- **Gobernanza (HRN-008):** codifica política, flujos de aprobación, rendición de cuentas y auditabilidad como controles aplicados: puertas con humano en el bucle, políticas de acciones permitidas y registros de quién o qué autorizó cada acción. Responde a «¿está permitido, y quién responde?».
|
|
47
|
+
- **Seguridad (HRN-011):** trata al modelo y a sus entradas como no confiables: defensa frente a inyección de prompts, aislamiento de herramientas, credenciales de mínimo privilegio, validación de salidas y controles de exfiltración de datos. Responde a «¿puede un adversario hacer que este sistema haga algo que no debe?».
|
|
48
|
+
|
|
49
|
+
### Cómo componen los componentes
|
|
50
|
+
Una petición entra por **planificación**, que entrega un plan a **orquestación**. La orquestación ensambla el contexto desde **memoria**, llama al **modelo** y enruta las acciones elegidas hacia **herramientas**. Durante todo el proceso, **observabilidad** registra cada span y **evaluación** puntúa resultados; **gobernanza** cierra el paso a las acciones de riesgo y **seguridad** vigila las fronteras. Las interfaces entre componentes son donde se gana o se pierde la fiabilidad: un contrato descuidado entre memoria y orquestación, o una llamada del modelo a una herramienta sin validar, son una fuente clásica de fallo en producción.
|
|
51
|
+
|
|
52
|
+
### Cómo usar la taxonomía
|
|
53
|
+
La taxonomía es también una **lista de madurez**. Para cada componente, pregunta: ¿lo tenemos, es explícito, está probado? Muchos proyectos de «agentes» implementan solo la capa de ejecución y salen a producción sin observabilidad, evaluación, gobernanza ni seguridad: los cuatro componentes que distinguen un sistema de una demo. Un harness equilibrado invierte en las tres capas.
|
|
54
|
+
|
|
55
|
+
| Capa | Componente | Responsabilidad principal | Capítulo |
|
|
56
|
+
|------|------------|---------------------------|----------|
|
|
57
|
+
| Ejecución | Planificación y objetivos | Decidir la siguiente acción; replanificar | HRN-009 |
|
|
58
|
+
| Ejecución | Orquestación | Ejecutar el bucle; enrutar; presupuestar | HRN-010 |
|
|
59
|
+
| Ejecución | Memoria | Controlar el contexto; recuperar; olvidar | HRN-005 |
|
|
60
|
+
| Ejecución | Herramientas / actuación | Actuar sobre el mundo mediante contratos | HRN-003 |
|
|
61
|
+
| Transversal | Observabilidad | Trazar, registrar, contabilizar, reproducir | HRN-006 |
|
|
62
|
+
| Transversal | Evaluación | Medir calidad; frenar regresiones | HRN-007 |
|
|
63
|
+
| Control | Gobernanza | Aplicar política; aprobaciones; auditoría | HRN-008 |
|
|
64
|
+
| Control | Seguridad | Defender frente a adversarios | HRN-011 |
|
|
65
|
+
|
|
66
|
+
## Modos de fallo observados
|
|
67
|
+
- **Capas ausentes:** implementar solo la capa de ejecución (un bucle que funciona) y omitir observabilidad, evaluación, gobernanza y seguridad: el precipicio de la demo a producción.
|
|
68
|
+
- **Acoplamiento de componentes:** difuminar responsabilidades (por ejemplo, que la orquestación comprima memoria en silencio) de modo que los fallos no puedan aislarse ni probarse.
|
|
69
|
+
- **Interfaces débiles:** contratos sin validar ni tipar entre componentes, en especial modelo→herramienta y recuperación→contexto, que propagan datos malos por todo el bucle.
|
|
70
|
+
- **Exceso de orquestación:** construir topologías multiagente elaboradas antes de que los componentes de un solo agente sean fiables por separado.
|
|
71
|
+
|
|
72
|
+
## KPIs
|
|
73
|
+
| Métrica | Objetivo | Notas |
|
|
74
|
+
|---------|----------|-------|
|
|
75
|
+
| Cobertura de componentes | 8/8 abordados | Cada componente implementado conscientemente o dejado en mínimo de forma deliberada |
|
|
76
|
+
| Tasa de validación de interfaces | 100 % de las llamadas modelo→herramienta | Evita propagar argumentos malformados o alucinados |
|
|
77
|
+
| Tasa de finalización de tarea | Depende del dominio | Medida por evaluación (HRN-007) |
|
|
78
|
+
|
|
79
|
+
## Métricas de coste
|
|
80
|
+
El coste se concentra en la capa de ejecución (inferencia y llamadas a herramientas) y en el almacenamiento de observabilidad (el volumen de trazas escala con los pasos). La evaluación añade coste periódico por lotes. Gobernanza y seguridad son sobre todo coste fijo de ingeniería. Una heurística útil de presupuesto es atribuir el coste *por componente*, para que la optimización apunte al motor real del gasto y no al más visible.
|
|
81
|
+
|
|
82
|
+
## Características de escalado
|
|
83
|
+
Cada componente escala por un eje distinto: la orquestación con la concurrencia, la memoria con el estado retenido y el tamaño del corpus, la observabilidad con los pasos por ejecución, y la evaluación con el tamaño del corpus y las llamadas al juez. Como escalan de forma independiente, la taxonomía es también una herramienta de planificación de capacidad: los cuellos de botella aparecen en componentes concretos, no en «el agente» en abstracto.
|
|
84
|
+
|
|
85
|
+
## Contenido relacionado
|
|
86
|
+
- HRN-001 — Ingeniería de Harness: definición y panorama
|
|
87
|
+
- HRN-005 — Memoria en sistemas agénticos
|
|
88
|
+
- HRN-006 — Observabilidad para sistemas agénticos
|
|
89
|
+
- HRN-009 — Planificación y gestión de objetivos
|
|
90
|
+
- HRN-010 — Orquestación
|
|
91
|
+
|
|
92
|
+
## Referencias
|
|
93
|
+
- Literatura de práctica sobre arquitecturas de agentes y descomposición en componentes.
|
|
94
|
+
- Observación de industria sobre la estructura de sistemas agénticos en producción, 2023–2026.
|
|
95
|
+
- Santa María, S. — Notas de trabajo sobre la taxonomía del harness.
|
|
96
|
+
|
|
97
|
+
## Preguntas frecuentes
|
|
98
|
+
**P:** ¿Por qué ocho componentes y no más o menos?
|
|
99
|
+
**R:** Ocho es el conjunto mínimo que cubre ejecutar el bucle, medirlo y acotarlo sin solaparse. Puedes subdividir (por ejemplo, separar herramientas de actuación), pero las responsabilidades siguen siendo las mismas.
|
|
100
|
+
|
|
101
|
+
**P:** ¿El modelo es un componente del harness?
|
|
102
|
+
**R:** El modelo es *invocado por* el harness y se sitúa dentro de la capa de ejecución, pero no forma parte del harness: el harness es precisamente todo lo que lo rodea.
|
|
103
|
+
|
|
104
|
+
**P:** ¿Puede un sistema pequeño saltarse la capa de control?
|
|
105
|
+
**R:** Para un juguete, sí; para un sistema empresarial, no. Gobernanza y seguridad son lo que hace seguro poner el sistema delante de clientes, reguladores y adversarios. Pueden ser mínimas, pero deben ser conscientes.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: HRN-003
|
|
3
|
+
title: The Harness Taxonomy
|
|
4
|
+
domain: Harness
|
|
5
|
+
category: Foundations
|
|
6
|
+
status: Draft
|
|
7
|
+
author: Santiago Santa María
|
|
8
|
+
created: 2026-06-21
|
|
9
|
+
updated: 2026-06-21
|
|
10
|
+
summary: A structured taxonomy of the harness — memory, tools, planning, orchestration, observability, evaluation, governance, and security — naming each component, its responsibility, and how the parts compose into a reliable agentic system.
|
|
11
|
+
evidence_level: theoretical
|
|
12
|
+
confidence_level: medium
|
|
13
|
+
source_type:
|
|
14
|
+
- industry_observation
|
|
15
|
+
- personal_experience
|
|
16
|
+
related:
|
|
17
|
+
- HRN-001
|
|
18
|
+
- HRN-005
|
|
19
|
+
- HRN-006
|
|
20
|
+
- HRN-009
|
|
21
|
+
- HRN-010
|
|
22
|
+
tags:
|
|
23
|
+
- taxonomy
|
|
24
|
+
- harness-engineering
|
|
25
|
+
- foundations
|
|
26
|
+
- architecture
|
|
27
|
+
- agentic-systems
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# The Harness Taxonomy
|
|
31
|
+
|
|
32
|
+
## Executive Summary
|
|
33
|
+
The harness is not a monolith; it is a set of distinct components, each with a clear responsibility and clear interfaces to the others. This chapter provides the canonical taxonomy: eight components — memory, tools, planning, orchestration, observability, evaluation, governance, and security — organized into three layers (the execution loop, the cross-cutting concerns, and the controls). The taxonomy is the map the rest of the handbook fills in.
|
|
34
|
+
|
|
35
|
+
## Key Concepts
|
|
36
|
+
- **Component:** A bounded part of the harness with a single primary responsibility.
|
|
37
|
+
- **Execution layer:** Components that drive the perceive–reason–act loop (planning, orchestration, memory, tools).
|
|
38
|
+
- **Cross-cutting layer:** Concerns that instrument or measure the loop without being inside it (observability, evaluation).
|
|
39
|
+
- **Control layer:** Concerns that constrain what the loop is allowed to do (governance, security).
|
|
40
|
+
- **Interface:** The contract by which two components exchange information or authority.
|
|
41
|
+
|
|
42
|
+
## Definition
|
|
43
|
+
The **Harness Taxonomy** is the canonical decomposition of an agentic system's engineered scaffolding into named components and layers, defining each component's responsibility and its relationships to the others. It serves as a shared vocabulary and as a checklist: a production-grade harness must consciously address every component, even if it chooses a minimal implementation.
|
|
44
|
+
|
|
45
|
+
## Architecture Diagram
|
|
46
|
+
```mermaid
|
|
47
|
+
flowchart TB
|
|
48
|
+
subgraph CONTROL["Control Layer — constrains the loop"]
|
|
49
|
+
GOV[Governance]
|
|
50
|
+
SEC[Security]
|
|
51
|
+
end
|
|
52
|
+
subgraph CROSS["Cross-cutting Layer — measures the loop"]
|
|
53
|
+
OBS[Observability]
|
|
54
|
+
EVAL[Evaluation]
|
|
55
|
+
end
|
|
56
|
+
subgraph EXEC["Execution Layer — runs the loop"]
|
|
57
|
+
PLAN[Planning & Goal Mgmt]
|
|
58
|
+
ORCH[Orchestration]
|
|
59
|
+
MEM[Memory]
|
|
60
|
+
TOOL[Tools / Actuation]
|
|
61
|
+
MODEL{{Model}}
|
|
62
|
+
end
|
|
63
|
+
PLAN --> ORCH
|
|
64
|
+
ORCH <--> MODEL
|
|
65
|
+
ORCH <--> MEM
|
|
66
|
+
ORCH <--> TOOL
|
|
67
|
+
OBS -. traces .-> EXEC
|
|
68
|
+
EVAL -. scores .-> EXEC
|
|
69
|
+
GOV -. policy gates .-> ORCH
|
|
70
|
+
SEC -. guards .-> TOOL
|
|
71
|
+
SEC -. sanitizes .-> MEM
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Detailed Explanation
|
|
75
|
+
|
|
76
|
+
The taxonomy organizes eight components into three layers. The layering matters: it tells you which components *do work*, which ones *watch the work*, and which ones *bound the work*.
|
|
77
|
+
|
|
78
|
+
### Execution Layer — runs the loop
|
|
79
|
+
The components that actually produce the agent's behavior.
|
|
80
|
+
|
|
81
|
+
- **Planning & Goal Management (HRN-009):** Decomposes a goal into sub-goals, decides the next action, manages re-planning when steps fail, and detects completion or impasse. Owns the question "what should happen next?"
|
|
82
|
+
- **Orchestration (HRN-010):** The runtime that executes the loop — assembling context, calling the model, dispatching tool calls, handling retries and timeouts, routing between models or sub-agents, and enforcing budgets. Owns "who runs, with what, and what happens to the output."
|
|
83
|
+
- **Memory (HRN-005):** Governs what enters the model's context: short-term working memory, long-term stores, retrieval, compression, and forgetting. Owns "what the model sees and remembers."
|
|
84
|
+
- **Tools / Actuation:** The typed contracts through which the agent reads from and writes to enterprise systems, with explicit input validation, output schemas, idempotency, and failure semantics. Owns "how the agent affects the world."
|
|
85
|
+
|
|
86
|
+
The model sits *inside* this layer as a called component, not as the system. This is the central reframing of HRN-001.
|
|
87
|
+
|
|
88
|
+
### Cross-cutting Layer — measures the loop
|
|
89
|
+
These do not produce behavior; they make behavior visible and quantifiable.
|
|
90
|
+
|
|
91
|
+
- **Observability (HRN-006):** Tracing, spans, structured logging, token/cost accounting, and replay. Turns an opaque non-deterministic run into an inspectable artifact. Owns "what happened, exactly?"
|
|
92
|
+
- **Evaluation (HRN-007):** Offline and online measurement of quality — golden sets, LLM-as-judge, regression suites, task-completion metrics. Owns "is it actually good, and is it getting better or worse?"
|
|
93
|
+
|
|
94
|
+
Observability and evaluation are co-dependent: evaluation needs the traces observability produces, and observability is most valuable when its data feeds evaluation.
|
|
95
|
+
|
|
96
|
+
### Control Layer — bounds the loop
|
|
97
|
+
These constrain authority and defend the system.
|
|
98
|
+
|
|
99
|
+
- **Governance (HRN-008):** Encodes policy, approval workflows, accountability, and auditability as enforced controls — human-in-the-loop gates, allowed-action policies, and records of who/what authorized each action. Owns "is this permitted, and who is accountable?"
|
|
100
|
+
- **Security (HRN-011):** Treats the model and its inputs as untrusted: prompt-injection defense, tool sandboxing, least-privilege credentials, output validation, and data-exfiltration controls. Owns "can an adversary make this system do something it shouldn't?"
|
|
101
|
+
|
|
102
|
+
### How the components compose
|
|
103
|
+
A request enters through **planning**, which hands a plan to **orchestration**. Orchestration assembles context from **memory**, calls the **model**, and routes the model's chosen actions to **tools**. Throughout, **observability** records every span and **evaluation** scores outcomes; **governance** gates risky actions and **security** guards the boundaries. The interfaces between components are where reliability is won or lost — a sloppy memory-to-orchestration contract or an unvalidated model-to-tool call is a classic source of production failure.
|
|
104
|
+
|
|
105
|
+
### Using the taxonomy
|
|
106
|
+
The taxonomy is also a **maturity checklist**. For each component, ask: do we have it, is it explicit, and is it tested? Many "agent" projects implement only the execution layer and ship without observability, evaluation, governance, or security — the four components that distinguish a system from a demo. A balanced harness invests across all three layers.
|
|
107
|
+
|
|
108
|
+
| Layer | Component | Primary responsibility | Chapter |
|
|
109
|
+
|-------|-----------|------------------------|---------|
|
|
110
|
+
| Execution | Planning & Goal Mgmt | Decide next action; re-plan | HRN-009 |
|
|
111
|
+
| Execution | Orchestration | Run the loop; route; budget | HRN-010 |
|
|
112
|
+
| Execution | Memory | Control context; retrieve; forget | HRN-005 |
|
|
113
|
+
| Execution | Tools / Actuation | Act on the world via contracts | HRN-003 |
|
|
114
|
+
| Cross-cutting | Observability | Trace, log, account, replay | HRN-006 |
|
|
115
|
+
| Cross-cutting | Evaluation | Measure quality; guard regressions | HRN-007 |
|
|
116
|
+
| Control | Governance | Enforce policy; approvals; audit | HRN-008 |
|
|
117
|
+
| Control | Security | Defend against adversaries | HRN-011 |
|
|
118
|
+
|
|
119
|
+
## Observed Failure Modes
|
|
120
|
+
- **Missing layers:** Implementing only the execution layer (a working loop) and omitting observability, evaluation, governance, and security — the demo-to-production cliff.
|
|
121
|
+
- **Component coupling:** Blurring responsibilities (e.g., orchestration silently doing memory compression) so failures cannot be isolated or tested.
|
|
122
|
+
- **Weak interfaces:** Unvalidated, untyped contracts between components, especially model→tool and retrieval→context, which propagate bad data through the loop.
|
|
123
|
+
- **Over-orchestration:** Building elaborate multi-agent topologies before the single-agent components are individually reliable.
|
|
124
|
+
|
|
125
|
+
## KPIs
|
|
126
|
+
| Metric | Target | Notes |
|
|
127
|
+
|--------|--------|-------|
|
|
128
|
+
| Component coverage | 8/8 addressed | Each taxonomy component consciously implemented or deliberately stubbed |
|
|
129
|
+
| Interface validation rate | 100% of model→tool calls validated | Prevents propagation of malformed/hallucinated arguments |
|
|
130
|
+
| Task completion rate | Domain-dependent | Measured by evaluation (HRN-007) |
|
|
131
|
+
|
|
132
|
+
## Cost Metrics
|
|
133
|
+
Cost concentrates in the execution layer (inference and tool calls) and in observability storage (trace volume scales with steps). Evaluation adds periodic batch cost. Governance and security are mostly fixed engineering cost. A useful budgeting heuristic is to attribute cost per *component* so optimization targets the real driver rather than the most visible one.
|
|
134
|
+
|
|
135
|
+
## Scaling Characteristics
|
|
136
|
+
Different components scale along different axes: orchestration scales with concurrency, memory with retained state and corpus size, observability with steps-per-run, and evaluation with corpus size and judge calls. Because the components scale independently, the taxonomy is also a capacity-planning tool — bottlenecks appear in specific components, not in "the agent" generically.
|
|
137
|
+
|
|
138
|
+
## Related Content
|
|
139
|
+
- HRN-001 — Harness Engineering: Definition and Overview
|
|
140
|
+
- HRN-005 — Memory in Agentic Systems
|
|
141
|
+
- HRN-006 — Observability for Agentic Systems
|
|
142
|
+
- HRN-009 — Planning and Goal Management
|
|
143
|
+
- HRN-010 — Orchestration
|
|
144
|
+
|
|
145
|
+
## References
|
|
146
|
+
- Practitioner literature on agent architectures and component decomposition.
|
|
147
|
+
- Industry observation on production agent system structure, 2023–2026.
|
|
148
|
+
- Santa María, S. — Working notes on the harness taxonomy.
|
|
149
|
+
|
|
150
|
+
## FAQs
|
|
151
|
+
**Q:** Why eight components and not more or fewer?
|
|
152
|
+
**A:** Eight is the minimal set that covers running the loop, measuring it, and bounding it without overlap. You can sub-divide (e.g., split tools from actuation) but the responsibilities remain.
|
|
153
|
+
|
|
154
|
+
**Q:** Is the model a component of the harness?
|
|
155
|
+
**A:** The model is *called by* the harness and sits inside the execution layer, but it is not itself part of the harness — the harness is precisely everything around it.
|
|
156
|
+
|
|
157
|
+
**Q:** Can a small system skip the control layer?
|
|
158
|
+
**A:** For a toy, yes; for an enterprise system, no. Governance and security are what make the system safe to put in front of customers, regulators, and adversaries. They can be minimal but must be conscious.
|