Sexta etapa: Práctica de proyectos de IA e implementación en producción
Material de aprendizaje sobre Ingeniería de Contexto conceptualizado por Andrej Karpathy, que ofrece una metodología sistemática para el diseño, la orquestación y la optimización del contexto que va más allá de la ingeniería de prompts tradicional.
Introducción Detallada a los Materiales de Aprendizaje de Context Engineering
Resumen del Proyecto
Context Engineering es un campo emergente conceptualizado por Andrej Karpathy, que se enfoca en ir más allá de la ingeniería de prompts tradicional (Prompt Engineering) para abarcar una disciplina más amplia de diseño, orquestación y optimización del contexto. Este proyecto de GitHub ofrece un manual de aprendizaje práctico, basado en primeros principios.
Filosofía Central
Según la definición de Andrej Karpathy:
"Context engineering is the delicate art and science of filling the context window with just the right information for the next step."
"La ingeniería de contexto es el delicado arte y la ciencia de llenar la ventana de contexto con la información justa y precisa para el siguiente paso."
Comparación entre Ingeniería de Prompts e Ingeniería de Contexto
Ingeniería de Prompts | Ingeniería de Contexto
-----------------------------------|----------------------------------
Se enfoca en "lo que dices" | Se enfoca en "todo lo demás que el modelo ve"
Instrucción única | Ejemplos, memoria, recuperación, herramientas, estado, flujo de control
Arquitectura de Metáfora Biológica
El proyecto adopta una metáfora biológica para construir un sistema de aprendizaje progresivo:
Átomos → Moléculas → Células → Órganos → Sistemas Neurobiológicos → Teoría de Campos Neuronales
| | | | | |
Prompt Pocos Memoria Agentes Herramientas + Campos +
Único Ejemplos Estado Multipasos Programas de Prompts Persistencia y Resonancia
Estructura Detallada del Proyecto
1. Módulo de Teoría Fundamental (00_foundations/
)
- 01_atoms_prompting.md - Unidades de instrucción a nivel atómico
- 02_molecules_context.md - Pocos ejemplos/contexto
- 03_cells_memory.md - Capa de diálogo con estado
- 04_organs_applications.md - Flujo de control de múltiples pasos
- 05_cognitive_tools.md - Extensión de modelos mentales
- 06_advanced_applications.md - Implementaciones en el mundo real
- 07_prompt_programming.md - Patrones de razonamiento codificados
- 08_neural_fields_foundations.md - El contexto como campo continuo
- 09_persistence_and_resonance.md - Dinámica de campo y atractores
- 10_field_orchestration.md - Coordinación de múltiples campos
2. Guías de Cero a Héroe (10_guides_zero_to_hero/
)
Contiene 8 tutoriales prácticos, desde experimentos de prompts básicos hasta el procesamiento avanzado de campos neuronales:
- 01_min_prompt.ipynb - Experimento de prompt mínimo
- 02_expand_context.ipynb - Técnicas de expansión de contexto
- 03_control_loops.ipynb - Mecanismos de bucles de control
- 04_rag_recipes.ipynb - Patrones de generación aumentada por recuperación (RAG)
- 05_prompt_programs.ipynb - Programas de razonamiento estructurado
- 06_schema_design.ipynb - Patrones de diseño de esquemas
- 07_recursive_patterns.ipynb - Contexto autorreferencial
- 08_neural_fields.ipynb - Procesamiento de contexto basado en campos
3. Plantillas de Componentes Reutilizables (20_templates/
)
Proporciona plantillas de componentes listas para usar:
- minimal_context.yaml - Estructura de contexto básica
- control_loop.py - Plantilla de orquestación
- scoring_functions.py - Métricas de evaluación
- prompt_program_template.py - Plantilla de estructura de programa
- schema_template.yaml - Plantilla de definición de esquema
- neural_field_context.yaml - Plantilla de contexto basada en campos
4. Ejemplos de Aplicación Práctica (30_examples/
)
Proyectos reales desde simples hasta complejos:
- 00_toy_chatbot/ - Agente de diálogo simple
- 01_data_annotator/ - Sistema de anotación de datos
- 02_multi_agent_orchestrator/ - Sistema de colaboración multi-agente
- 03_cognitive_assistant/ - Asistente de razonamiento avanzado
- 04_rag_minimal/ - Implementación mínima de RAG
- 05_neural_field_orchestrator/ - Orquestación basada en campos
5. Marco de Herramientas Cognitivas (cognitive-tools/
)
Marco cognitivo avanzado, que incluye:
- cognitive-templates/ - Plantillas de razonamiento
- cognitive-programs/ - Programas de prompts estructurados
- cognitive-schemas/ - Representación del conocimiento
- cognitive-architectures/ - Sistemas de razonamiento completos
6. Protocolos y Marcos (60_protocols/
)
- shells/ - Definición de shells de protocolo
- digests/ - Documentos de protocolo simplificados
- schemas/ - Esquemas de protocolo
Explicación de Conceptos Clave
Concepto | Definición | Importancia |
---|---|---|
Presupuesto de Tokens | Optimizar cada token en el contexto | Más tokens = mayor costo y respuesta más lenta |
Aprendizaje con Pocos Ejemplos | Enseñar mostrando ejemplos | Generalmente más efectivo que solo explicar |
Sistemas de Memoria | Persistir información entre turnos | Permite interacciones con estado y coherentes |
Aumento por Recuperación | Buscar e inyectar documentos relevantes | Respuestas basadas en hechos, reduce alucinaciones |
Flujo de Control | Descomponer tareas complejas en pasos | Resuelve problemas complejos con prompts simples |
Poda de Contexto | Eliminar información irrelevante | Conservar solo lo necesario para el rendimiento |
Métricas y Evaluación | Medir la efectividad del contexto | Optimización iterativa del uso de tokens y calidad |
Ruta de Aprendizaje
El proyecto ofrece una ruta de aprendizaje clara:
1. Leer la teoría fundamental (00_foundations/01_atoms_prompting.md) - 5 minutos
↓
2. Ejecutar el ejemplo mínimo (10_guides_zero_to_one/01_min_prompt.py)
↓
3. Explorar las plantillas (20_templates/minimal_context.yaml)
↓
4. Estudiar la implementación completa (30_examples/00_toy_chatbot/)
Principios de Diseño
- Primeros Principios - Comenzar desde el contexto fundamental
- Adición Iterativa - Solo añadir lo que el modelo claramente necesita
- Medir Todo - Costo de tokens, latencia, puntuación de calidad
- Eliminación Implacable - Podar es más importante que rellenar
- Código sobre Diapositivas - Cada concepto tiene código ejecutable
- Visualizar Todo - Visualizar cada concepto con ASCII y diagramas simbólicos
Público Objetivo
- Investigadores e ingenieros de IA/ML
- Desarrolladores con conocimientos básicos de ingeniería de prompts
- Profesionales que buscan construir aplicaciones LLM más robustas
- Estudiantes interesados en la optimización del contexto
Características del Proyecto
- Enfoque Sistemático - Un marco completo desde el nivel atómico hasta el sistémico
- Orientado a la Práctica - Cada concepto tiene ejemplos ejecutables
- Aprendizaje Progresivo - Una ruta de aprendizaje de lo simple a lo complejo
- Contribución de Código Abierto - Se agradecen las contribuciones y mejoras de la comunidad
- Teoría de Vanguardia - Basado en los últimos resultados de investigación en IA
Resumen
Este proyecto representa una transición de la ingeniería de prompts tradicional hacia un enfoque más sistemático y de ingeniería para el diseño de contexto. No solo proporciona un marco teórico, sino que también incluye una gran cantidad de guías prácticas y componentes reutilizables, lo que lo convierte en un excelente recurso para aprender y dominar la ingeniería de contexto. Para los desarrolladores que buscan construir aplicaciones LLM más potentes y fiables, este es un material de aprendizaje invaluable.