El CRM concentraba datos y automatizaciones, pero algunas tareas seguían exigiendo conocer demasiadas reglas de memoria: qué opciones eran válidas, qué límites aplicaban, cuándo correspondía una aprobación y cómo reportar un problema sin perder el contexto de origen.
La solución no fue crear otra aplicación separada. Se construyeron widgets embebidos que aparecían dentro del registro y convertían esas reglas en recorridos guiados.
Dos recorridos, una misma idea
Selección y confirmación de una propuesta
El primer widget reúne configuración del registro, catálogo vigente, medios de pago, cuotas, descuentos, condiciones adicionales y una eventual contraoferta.
Antes de permitir una confirmación:
verifica que el registro esté en la etapa correcta;
filtra las opciones por contexto;
calcula importes y cuotas en tiempo real;
aplica límites distintos según el tipo de propuesta;
deshabilita combinaciones incompatibles y explica el motivo;
deriva excepciones al rol aprobador;
adjunta documentación cuando corresponde;
arma un payload único y evita envíos duplicados.
La interfaz hace visible la política mientras la persona decide. No depende de que recuerde una tabla externa ni de que descubra el error después de guardar.
Reporte contextual de problemas
El segundo widget puede abrirse desde distintos módulos. Detecta la entidad y el registro de origen, recupera su contexto y prepara un reporte vinculado desde el comienzo.
Un buscador con categorías reemplaza una lista extensa y permite explorar o encontrar un tipo de problema ignorando mayúsculas y tildes. La selección debe provenir del catálogo: escribir texto parecido no alcanza para enviar una clasificación ambigua.
También contempla adjuntos, estados de carga, errores parciales y módulos que todavía no tienen todos sus campos confirmados. El flujo principal permanece operativo aunque falle información secundaria de diagnóstico.
Arquitectura de integración
Pieza
Función
Widget HTML/CSS/JavaScript
Interacción rápida dentro del iframe del CRM
SDK de widgets
Contexto de página, lectura del registro, adjuntos y cierre del popup
Funciones del CRM
Datos preparados y reglas cercanas al modelo de negocio
Webhook
Contrato explícito de salida
n8n
Orquestación de escrituras y acciones posteriores
CRM
Fuente de verdad y trazabilidad final
La frontera fue deliberada: el widget guía, valida y presenta; las funciones recuperan contexto; la automatización coordina la escritura. Ninguna pieza necesita fingir que es todo el sistema.
Decisiones que dieron resultado
Reglas visibles en el momento correcto
Un límite que sólo existe en documentación llega tarde. Mostrarlo junto al control afectado reduce ensayo, error y consultas laterales.
Bloqueos proporcionales
Una etapa incorrecta bloquea el recorrido completo. Una combinación inválida bloquea sólo esa alternativa. Un fallo al adjuntar se informa sin ocultar que el registro principal ya fue creado.
Estados mutuamente excluyentes
Carga, error técnico, contexto no habilitado y flujo normal tienen pantallas separadas. Esto evita interfaces mezcladas donde parece posible confirmar mientras todavía falta información crítica.
Robustez en un entorno embebido
El SDK y sus respuestas no siempre llegan con la forma ideal. Se agregaron watchdogs, parseo defensivo, protección contra doble envío y aislamiento de diagnósticos para que una falla secundaria no rompa los controles esenciales.
Contexto que viaja con la acción
El reporte nace relacionado con el registro desde el cual se abrió. Eso elimina la búsqueda manual posterior y mejora la calidad de la información que recibe quien resuelve el problema.
Beneficios obtenidos
menos decisiones inválidas antes de escribir en el CRM;
políticas comerciales convertidas en feedback inmediato;
excepciones encaminadas al aprobador correcto;
reportes más consistentes y vinculados a su origen;
menor carga cognitiva para el equipo operativo;
trazabilidad de extremo a extremo entre interfaz, funciones, automatización y registro final;
una base reutilizable para sumar recorridos sin sacar al usuario de su herramienta cotidiana.
La lección transferible
Un buen widget de CRM no es un formulario más lindo. Es una capa de traducción entre el modelo de datos, la política del negocio y la decisión humana.
Cuando el control aparece en el punto de trabajo, la prevención deja de depender de capacitación perfecta: el propio entorno conduce hacia una acción válida.
Caso basado en dos implementaciones reales. Se removieron nombres, dominios, módulos internos, catálogos, cifras, identificadores y detalles comerciales sensibles.
Agent Development Environment: entorno pensado para ejecutar, organizar y supervisar agentes de desarrollo.
Agent-to-agent
Delegación entre agentes completos que trabajan en conversaciones y entornos separados, intercambian instrucciones o archivos y devuelven resultados.
Agente
Sistema que combina un modelo, instrucciones y herramientas para realizar tareas dentro de un alcance. Su capacidad de actuar depende del harness, el entorno y los permisos.
Amp
Entorno de desarrollo agéntico que reúne modelos, threads, máquinas remotas, Git y coordinación bajo una misma plataforma.
Árbol de procesos
Organización de circuitos de negocio y las funciones que integran cada rama. Permite acotar el análisis y definir evidencia verificable para una unidad de trabajo.
Benchmark
Evaluación con tareas, condiciones y una regla de puntuación definidas. Sirve para comparar resultados dentro de ese protocolo; un puntaje no demuestra el mismo desempeño en tu proyecto.
BYOK
Bring Your Own Key: modalidad donde aportás tu propia clave API de un proveedor. El consumo sigue la cuenta y las condiciones de esa integración; no equivale a usar una suscripción de chat.
Choice
Primitiva de decisión de Jev que elige entre opciones definidas por la aplicación y devuelve una opción con una distribución de probabilidades.
Claude Code
Agente de programación de Anthropic que combina contexto del proyecto y herramientas. Puede especializar su trabajo mediante instrucciones, skills, hooks y subagentes, según la configuración.
CLI
Interfaz de línea de comandos. Permite trabajar con herramientas y agentes desde una terminal, con acceso directo al proyecto y su entorno.
Cline
Agente de programación que puede trabajar de forma interactiva o mediante su CLI sin interfaz interactiva. Automatizarlo exige acotar el objetivo, los cambios autorizados y la validación de la salida.
Codex CLI
Interfaz de terminal de Codex para trabajar sobre un repositorio con un agente. El sandbox limita la ejecución y la política de aprobación determina qué acciones necesitan autorización.
Costo por sesión
Gasto observado en una sesión de agente. Para compararlo hay que fijar harness, tramo de turnos y agregación; una sesión barata puede haber fallado y no equivale a una tarea resuelta.
Costo por tarea resuelta
Costo del trabajo que alcanza el criterio de aceptación, incluyendo intentos fallidos, herramientas y revisión. Permite evaluar productividad más allá del precio por token o por sesión.
CRM
Sistema que centraliza relaciones, datos y procesos comerciales. En estos casos también actúa como fuente de verdad operativa.
Cuota de gasto
Porcentaje del gasto observado que corresponde a un modelo o tarea en una vista. Combina precio y consumo; no equivale a cuota de tokens, cantidad de usuarios o calidad.
Cuota de uso
Porción del total que corresponde a un modelo o autor dentro de una población y período. Puede medirse en tokens o solicitudes; hay que conservar el denominador para interpretar el porcentaje.
Daemon
Proceso que permanece ejecutándose en segundo plano y sostiene servicios, sesiones o tareas aunque una interfaz se cierre.
Decision gate
Punto de control que detiene el avance hasta resolver una decisión o cumplir una condición. Tener confianza en una respuesta no reemplaza la autorización necesaria.
DESIGN.md
Archivo portable que codifica colores, tipografía, composición y reglas visuales para que distintos agentes produzcan artefactos coherentes.
Engram
Memoria local y persistente para agentes que permite guardar y buscar observaciones por proyecto mediante CLI, MCP y otras interfaces.
Frontera de Pareto
Opciones para las que no hay otra igual o mejor en todas las dimensiones elegidas y mejor en al menos una, como costo y puntaje. La frontera cambia si cambian las dimensiones o los candidatos.
Gentle AI
Configurador de agentes de código que prepara integraciones, memoria, skills y componentes de trabajo o revisión para ajustar el gobierno del entorno.
Grant
Regla de Tailscale que concede capacidades de red o aplicación entre orígenes y destinos definidos. Los permisos se suman; una regla no resta accesos concedidos por otra.
Handoff
Entrega de contexto y responsabilidad a otro agente o persona: objetivo, cambios, pruebas, límites, pendientes y ubicación del resultado. Permite retomar el trabajo sin reconstruirlo desde cero.
Harness
Sistema que administra el ciclo del agente: prepara contexto, expone herramientas, ejecuta llamadas, recoge resultados y aplica controles. La CLI es una interfaz para usarlo, no un sinónimo.
Healthcheck
Comprobación de salud de un servicio. Debe validar una señal que represente la capacidad esperada, no sólo que exista una respuesta HTTP.
Hermes
Agente operativo que puede vivir en un servidor, conectarse a canales e integraciones y ejecutar tareas con continuidad.
Jev
Modelo de TypeSafe orientado a decisiones estructuradas: recibe texto o estado y devuelve respuestas tipadas según opciones y criterios definidos por la aplicación.
Latencia
Tiempo de espera entre una solicitud y un hito de respuesta. Hay que aclarar si se mide hasta el primer token o hasta la respuesta completa y con qué condiciones y percentil.
Liveness
Señal que comprueba si un proceso está vivo. No demuestra por sí sola que el servicio pueda atender tráfico correctamente.
MagicDNS
Función de Tailscale que permite encontrar dispositivos de la tailnet por nombre. Facilita localizar un destino, pero no concede acceso.
MCP
Model Context Protocol: protocolo abierto para conectar aplicaciones de IA con herramientas y fuentes de datos. La conexión no reemplaza los permisos ni la aprobación de acciones.
Mediana
Medida que divide un conjunto ordenado en dos mitades. Describe el centro, pero no muestra la dispersión ni el costo de las sesiones extremas. No es lo mismo que el promedio.
Memoria curada
Selección de decisiones, convenciones y descubrimientos útiles para otras sesiones. Cada recuerdo conserva contexto y debe contrastarse con el estado actual antes de aplicarlo.
Mínimo privilegio
Principio de dar sólo los permisos, credenciales y acceso de red necesarios para una tarea. Reduce el impacto de errores y evita que una consigna amplia se convierta en autoridad ilimitada.
Modelo
Componente entrenado que procesa entradas y genera salidas, incluidas propuestas de llamadas a herramientas. El agente agrega instrucciones, contexto, ejecución y controles alrededor de ese modelo.
n8n
Plataforma de automatización visual usada para coordinar integraciones, webhooks y pasos entre distintos sistemas.
Nivel de razonamiento
Control del esfuerzo de deliberación de un modelo, según las opciones del proveedor y el harness. Puede aumentar tiempo y consumo; no reemplaza contexto, herramientas ni verificación.
Noul
Primitiva de Jev que estima, entre 0 y 1, la probabilidad de que se cumpla una condición definida.
Observabilidad
Evidencia para entender qué está haciendo un sistema: estado, salida, eventos y señales de salud. Permite distinguir trabajo activo, espera, bloqueo y fallo, en vez de confiar sólo en que la interfaz siga abierta.
ODD
Organic Driven Development: recorrido de Gentle AI que propone explorar, implementar cambios autorizados, verificar y dejar referencias recuperables en proporción al tamaño del trabajo.
OpenCode
Herramienta abierta de programación con agentes que permite configurar modelos y proveedores. La flexibilidad del catálogo requiere verificar compatibilidad, permisos y resultados para cada tarea.
OpenDesign
Workspace local-first que combina agentes de código, skills, templates y sistemas DESIGN.md para producir artefactos visuales como archivos reales.
OpenRouter
Plataforma que da acceso a modelos de distintos proveedores mediante una API común. Sus rankings describen los datos incluidos en sus vistas, no todo el mercado ni la calidad de cada tarea.
Oracle
Rol de segunda opinión dentro de Amp, usado por el agente principal para consultar razonamiento, planificación o decisiones difíciles.
Orb
Máquina remota, fresca y aislada donde un agente de Amp puede trabajar con código, herramientas y servicios aunque la computadora del usuario esté apagada.
Orca
ADE y plano de control para organizar agentes, repositorios, workspaces, terminales y hosts sin reemplazar al modelo.
Orquestación
Coordinación de agentes con un objetivo común, tareas, dependencias, responsables y evidencia de cierre. Abrir varias sesiones en paralelo no define por sí solo quién decide o integra.
Plano de control
Capa desde la que se organizan y supervisan agentes, sesiones y entornos de ejecución. Coordina el trabajo sin ser el modelo ni la máquina que lo ejecuta.
Preflight
Verificación previa al despliegue que ejecuta el comando real de producción en un entorno de prueba y comprueba que el servicio arranca y responde.
Proveedor
Servicio que recibe solicitudes y ejecuta un modelo. Puede ser distinto de su autor; el endpoint, los límites y el rendimiento forman parte de la configuración que hay que comparar.
Prueba negativa
Comprobación de que una acción prohibida realmente falla. En red, debe probarse contra un servicio disponible para no confundir una caída con una restricción efectiva.
Read-only
Acceso de sólo lectura que permite consultar sin modificar el sistema fuente. Una barrera real se aplica en credenciales, herramientas y arquitectura, no sólo en una instrucción al agente.
Readiness
Señal que comprueba si un servicio está listo para atender tráfico. Puede fallar aunque el proceso siga vivo.
Routing
Selección del modelo o proveedor que atenderá una solicitud, mediante reglas o un router. Cambia costo, disponibilidad y comportamiento, por lo que debe registrarse al comparar resultados.
Runner
Máquina propia o administrada que Amp puede usar como entorno de ejecución en lugar de un Orb de su infraestructura.
Sandbox
Entorno con límites técnicos sobre recursos como archivos, procesos o red. Reduce lo que una ejecución puede afectar; su protección depende de los límites realmente configurados.
Score
Primitiva de Jev que puntúa un caso sobre una escala configurada. Su valor crudo no debe interpretarse automáticamente como un número entre 0 y 1.
Skill
Paquete reutilizable de instrucciones y recursos para una tarea especializada. Ayuda a repetir un método de trabajo; no concede permisos ni garantiza que el resultado sea correcto.
SSH
Protocolo seguro para acceder y ejecutar trabajo en otra máquina o entorno, como WSL o un servidor remoto.
Subagente
Agente al que otro delega una parte del trabajo con contexto propio. Su separación de conversación no implica necesariamente una máquina, archivos o permisos independientes.
Tailnet
Red privada de Tailscale que agrupa identidades y dispositivos autenticados. Pertenecer a ella no sustituye los permisos de cada servicio.
Tailscale
Herramienta que conecta usuarios y dispositivos en una red privada basada en identidades, con tráfico cifrado y reglas explícitas de acceso.
Tailscale Funnel
Función que expone un servicio local a Internet. Conviene usarla con una audiencia pública deliberada, controles de aplicación y un tiempo de exposición definido.
Tailscale Serve
Función que comparte un servicio local dentro de la tailnet, sujeto a sus reglas de acceso. Sirve para previews y paneles internos.
Tailscale SSH
Función que gestiona autenticación y autorización SSH en nodos compatibles mediante reglas propias. Habilitar TCP 22 en la tailnet no basta para configurarla.
The Dial
Selector de Amp que expresa cuánto esfuerzo requiere una tarea mediante los modos low, medium, high y ultra, independientemente del modelo asignado detrás.
Thread
Hilo de conversación que conserva el contexto de una tarea y sus resultados. En Amp puede coordinar trabajo en un entorno propio; la persistencia del hilo no garantiza que la máquina siga ejecutándose.
Throughput
Velocidad de generación, habitualmente medida en tokens por segundo. Debe compararse bajo condiciones equivalentes; no incluye por sí sola el tiempo de herramientas, turnos y reintentos de un agente.
Token
Unidad en la que un modelo representa y procesa contenido. No equivale siempre a una palabra: la segmentación depende del tokenizador. Más tokens de uso no significan más usuarios ni más tareas resueltas.
Tool calling
Mecanismo por el que un modelo solicita ejecutar una herramienta con argumentos. La ejecución la realiza el sistema que lo rodea y puede exigir permisos; contar llamadas no demuestra que fueron correctas.
TTFT
Time to First Token: tiempo desde el envío de la solicitud hasta recibir el primer token. Describe la espera inicial, no cuánto tarda en completarse toda la respuesta o tarea.
Ventana de contexto
Capacidad de tokens que un modelo puede manejar en una interacción, según su configuración. El máximo anunciado, el contexto realmente usado y la calidad al recuperar información son cosas distintas.
WireGuard
Protocolo que Tailscale utiliza para cifrar el tráfico entre dispositivos. El cifrado se mantiene tanto en conexiones directas como mediante relays.
Worker
Agente ejecutor al que se delega una tarea acotada. Recibe alcance, permisos y criterio de finalización, y devuelve resultados verificables al coordinador.
Workspace
Frente de trabajo visible que agrupa tabs, terminales, editores y una tarea; no equivale por sí mismo al aislamiento de Git.
Worktree
Directorio de trabajo adicional de un repositorio Git, normalmente en otra rama. Separa archivos para tareas paralelas, pero comparte datos del repositorio y no es un sandbox de seguridad.
WSL
Windows Subsystem for Linux: entorno Linux integrado en Windows donde pueden vivir repositorios, runtimes y agentes CLI.