Glamorous Toolkit
(gtoolkit.com)- 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
- Glamorous Toolkit es open source gratuito bajo licencia MIT
- Los detalles prácticos están disponibles en el Glamorous Toolkit book
- Una explicación de más alto nivel está disponible en moldabledevelopment.com
- Los recursos para empezar están en Get started
Aún no hay comentarios.