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.

ContextEngineeringPromptEngineeringLLMGitHubTextFreeEnglish

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

  1. Enfoque Sistemático - Un marco completo desde el nivel atómico hasta el sistémico
  2. Orientado a la Práctica - Cada concepto tiene ejemplos ejecutables
  3. Aprendizaje Progresivo - Una ruta de aprendizaje de lo simple a lo complejo
  4. Contribución de Código Abierto - Se agradecen las contribuciones y mejoras de la comunidad
  5. 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.