2 puntos por GN⁺ 2025-04-08 | Aún no hay comentarios. | Compartir por WhatsApp
  • A medida que los sistemas grandes y el código generado rápidamente por IA se vuelven cada vez más difíciles de leer y entender para las personas, Glamorous Toolkit apunta a ser un Moldable Development Environment que ayuda a comprender sistemas mediante herramientas de contexto deterministas
  • Consiste en crear herramientas de contexto que comprimen la porción del sistema necesaria para cada pregunta, y adjuntarlas a objetos o situaciones relevantes para que se activen solo cuando hacen falta
  • El arnés de agentes integrado permite definir por script el contexto de conversación, las herramientas y las salidas estructuradas, y puede usarse con OpenAI, Anthropic, Ollama o con proveedores propios
  • Su alcance va más allá del análisis de sistemas legacy e incluye descubrimiento de dominios, exploración de API, datos y logs, documentación, modelado de dominio, reescritura de código, conversaciones con IA e inspección en tiempo de ejecución
  • Es open source gratuito bajo licencia MIT; se centra en Smalltalk basado en Pharo, pero puede extenderse a Rust y al análisis de varios lenguajes y runtimes

Un Moldable Development Environment para entender sistemas e IA

  • El objetivo de Glamorous Toolkit es optimizar la forma de obtener mejor información sobre los sistemas
  • Los sistemas son demasiado grandes y la IA genera código demasiado rápido, por lo que entender solo mediante la lectura de código se vuelve un cuello de botella
  • En lugar de un enfoque centrado en la lectura, usa herramientas de contexto deterministas que comprimen el sistema alrededor del problema
  • Estas herramientas ayudan a las personas y a la IA a explorar sistemas más rápido, y pueden crearse directamente dentro de un entorno unificado o junto con IA
  • Las preguntas sobre sistemas existentes pueden responderse mediante una narrativa compuesta por herramientas de contexto

Arnés de agentes integrado

  • Agentes programables

    • Permite definir por script el contexto de la conversación, las herramientas y la salida estructurada
  • Memoria de agente extensible

    • Define el contexto mediante explicaciones ejecutables conectadas a código y ejemplos
    • Las vistas de contexto permiten extender la memoria del agente a objetos arbitrarios
  • Comportamiento de agentes explicable

    • No se acepta sin más lo que la IA dice que hizo; puede entenderse de forma determinista mediante vistas de contexto
  • Objetos, no texto

    • Se pueden pasar objetos vivos a la conversación y recibir objetos estructurados como respuesta
    • Cada objeto tiene vistas de contexto que pueden explorar tanto las personas como la IA
    • Puede usarse con OpenAI, Anthropic y Ollama, y también permite crear proveedores propios

Por qué se necesitan herramientas de contexto

  • El software no tiene forma física, y nada dentro de un sistema de software puede percibirse sin pasar por herramientas
  • Las herramientas proporcionan la forma del software; por lo tanto, controlar las herramientas también permite controlar la percepción y la comprensión
  • El software es muy dependiente del contexto, por lo que las herramientas también deben tener contexto para ser efectivas
  • Un sistema de software no tiene una única representación
    • La forma textual del código es solo una forma accidental del medio de entrada
    • Se necesitan representaciones distintas según el problema
  • Glamorous Toolkit está diseñado como un lenguaje compuesto por operadores interactivos y visuales, para admitir muchas herramientas de contexto difíciles de predecir
    • Permite programar y combinar microherramientas a bajo costo
    • Las herramientas pueden crearse de múltiples maneras dentro de un entorno vivo

Herramientas, compresión e inversión de control

  • Una herramienta es una interfaz para interactuar con cálculos
    • Puede ser un editor de configuración, un depurador en runtime o un inspector de API
    • Puede ser una herramienta compleja o una herramienta simple enfocada en una sola pregunta
    • Puede ser visual o basarse en texto plano
    • Puede ser de propósito general o una herramienta de contexto relevante solo para una entrada acotada
  • Las herramientas de propósito general se aplican ampliamente, pero tienen el costo de hacer que todo se vea parecido
  • El valor de un sistema de software siempre es concreto, por lo que una herramienta de contexto puede transmitir ese valor de forma más eficiente y cómoda
  • Entender un sistema es, en última instancia, un proceso de responder preguntas
    • La respuesta está dentro de los artefactos del sistema, pero los artefactos son demasiado grandes para leerlos fácilmente
    • Una herramienta codifica de forma determinista cómo obtener la respuesta
    • El resultado de la herramienta funciona como una compresión del sistema para esa pregunta
  • Para responder todas las preguntas con herramientas de contexto deterministas, cada sistema necesitaría miles de herramientas
  • Glamorous Toolkit no exige que el usuario invoque herramientas explícitamente; en cambio, las conecta al contexto relevante y las activa solo al interactuar con ese contexto
    • Ese contexto puede ser una unidad básica, como un objeto individual

Flujo típico de Moldable Development

  • Se empieza con una pregunta concreta
  • Si no existe una herramienta relevante, se crea una nueva
  • Se interpreta la respuesta y se toma una decisión
  • Se repite el proceso

Vistas de objetos y narrativas

  • Las vistas conectadas a objetos se convierten en unidades de documentación
  • Cuando los objetos se generan como ejemplos automáticos y se prueban, pueden crear narrativas definidas que transmiten conceptos duraderos, desde tutoriales hasta restricciones de arquitectura y procesos de negocio
  • Estas narrativas pueden diseñarse tanto para personas como para IA
  • Como los mismos componentes se integran en toda la experiencia de desarrollo, pueden probarse automáticamente y refactorizarse junto con el código
  • Las narrativas definidas son piezas reutilizables, pero por la naturaleza contextual del software también se necesitan narrativas dinámicas que respondan bajo demanda a preguntas más grandes
    • Investigación del rendimiento de un clúster
    • Exploración de la estructura de un sistema COBOL
  • Las narrativas pueden tratar cualquier objeto que represente diversos aspectos del sistema, incluido el dominio
  • Pueden dirigirse a stakeholders con distintos perfiles e intereses, de modo que el entorno media las conversaciones entre los stakeholders del sistema

Edición contextual

  • La contextualización se extiende a todas las interacciones con el sistema, incluida la edición
  • Un sistema está compuesto por múltiples aspectos
    • Tecnología
    • Reglas de dominio
    • Convenciones
    • Bibliotecas
    • Interfaces
    • Pruebas
    • Artefactos generados
    • Comportamiento en runtime
  • Editar no es simplemente ingresar texto, sino una acción que afecta algunos de estos aspectos
  • Todo cambio ocurre dentro de un contexto que determina su significado
  • Los editores de propósito general aplanan este contexto y obligan al usuario a trabajar al nivel del editor
  • Un editor contextual eleva la interacción al nivel que corresponde al modelo mental del usuario

Alcance de uso y límites

  • Glamorous Toolkit se usa principalmente para crear herramientas, vistas, explicaciones y workflows para entender y cambiar sistemas
  • No es una plataforma alternativa de aplicaciones
  • Puede usarse con sistemas legacy grandes, pero también cubre muchos otros escenarios
    • Descubrimiento de dominios
    • Exploración de API
    • Exploración de datos
    • Comprensión de logs
    • Documentación
    • Modelado de dominio
    • Reescritura de código
    • Conversaciones con IA
    • Inspección en runtime
  • Las herramientas estándar son útiles para problemas generales
  • Para preguntas específicas que aparecen dentro de un sistema concreto se necesitan herramientas de contexto

Resúmenes de IA y herramientas deterministas

  • La mayoría de las preguntas sobre un sistema requieren respuestas deterministas basadas en información del sistema
  • Los resúmenes de IA pueden ser convenientes, pero no se puede saber si son correctos o representativos, y tampoco son explicables
  • Para respuestas con fines de ingeniería, la precisión, la representatividad y la explicabilidad son importantes
  • Las herramientas de contexto deterministas también pueden tener sesgos, pero esos sesgos pueden inspeccionarse antes de interpretar la salida
  • Hay más detalles en el capítulo 6 de Rewilding Software Engineering

Implementación y tecnologías compatibles

  • Glamorous Toolkit permite crear herramientas de contexto sin demasiada dificultad
  • El entorno está construido como un lenguaje compuesto por operadores visuales e interactivos, lo que facilita programar herramientas y combinarlas de varias maneras
  • Al abrir Glamorous Toolkit, se pueden ver más de 6,000 herramientas de contexto usadas durante su proceso de desarrollo
  • Para aprovechar todo el potencial de las herramientas se necesita programar, y el enfoque principal es Pharo, dentro de Smalltalk
  • La razón principal para usar Smalltalk es que ofrece un sistema reflexivo que permite cambiar el entorno en vivo mientras se usa
  • Actualmente, una parte importante de Glamorous Toolkit también está implementada en Rust y funciona con varias tecnologías
  • Aunque el soporte para Pharo es sofisticado, está diseñado para extenderse a otras tecnologías y lenguajes
    • Ejemplos de fuentes analizables: Rust, Java, C#, Ruby/Rails, Python, TypeScript, JavaScript, React, COBOL
    • Ejemplos de runtimes con los que puede trabajar: GraphQL, Python, JavaScript, Gemstone
  • Este soporte viene incluido de base y también puede verse como ejemplos de lo que los usuarios pueden crear para cada lenguaje y tecnología

Licencia y recursos

Aún no hay comentarios.

Aún no hay comentarios.