====== LLM (Large Language Model) ======
Un LLM (//Large Language Model//) es el motor o la tecnología base en la inteligencia artificial.
Es un modelo de inteligencia artificial entrenado con enormes cantidades de texto para:
* Entender lenguaje natural
* Generar texto
* Responder preguntas
* Traducir, resumir, programar, etc.
Ejemplos de LLM:
* GPT-4
* GPT-5
* Gemini 1.5
* LLaMA 3
Piensa en el LLM como **el cerebro**.
===== Aplicaciones que usan LLM =====
Algunos ejemplos:
* ChatGPT
* Gemini
* Meta
* Claude
Incluyen:
* Interfaz de chat
* Herramientas extra (memoria, navegación, archivos, etc.)
* Ajustes de comportamiento
* Integraciones con otros servicios
Esto es lo que realmente utiliza el usuario final.
==== ChatGPT ====
==== Gemini ====
===== Cómo funciona un chat con IA =====
Cuando usas algo como ChatGPT o Gemini, por debajo siempre ocurre esto:
**1. 🧠 Modelo (LLM)**
Por ejemplo, GPT-5 o Gemini 1.5. Es el "cerebro" que:
* Predice texto
* No sabe realmente "la verdad".
* No tiene intención propia.
Solo completa lo más probable según el contexto.
**2. Sistema (//system prompt//)**
Es **una instrucción oculta** que define el comportamiento del modelo.
Ejemplos:
* "Eres un profesor claro y conciso"
* "Responde como experto en derecho"
* "No des información peligrosa"
Esto **no lo ves normalmente**, pero controla mucho el resultado. En APIs o herramientas como Ollama sí puedes modificarlo directamente.
**3. Prompt del usuario**
Esto es lo que tú escribes.
Ej:
* "Explícame qué es la inflación"
* "Hazlo como si tuviera 10 años"
Aquí es donde tienes control directo.
**4. Contexto (historial + info extra)**
Incluye:
* Conversación previa
* Archivos que subes
* Datos adicionales
Es *clave*, porque el modelo responde en base a TODO esto, no solo tu último mensaje.
El modelo realmente recibe algo así:
[Sistema]
+ [Contexto previo]
+ [Tu prompt]
= Respuesta
No responde solo a tu última pregunta, sino al *conjunto completo*.
==== Ejemplo práctico (muy revelador) ====
❌ Prompt pobre:
"Explícame esto"
👉 Resultado: genérico, poco útil
✅ Prompt bien estructurado:
"Explícame la inflación como si fueras un profesor de economía, con ejemplos simples y en menos de 150 palabras"
Aquí estás controlando:
* Rol (profesor) → sistema-like
* Nivel → estilo
* Formato → longitud
Resultado: mucho mejor
===== Un buen prompt =====
Un buen prompt hace 3 cosas:
* **Define el rol**
* **Define la tarea**
* **Define el formato de salida**
Si falta uno → la calidad baja.
Muchísima gente piensa: "El modelo es bueno o malo", pero en realidad, **La calidad depende muchísimo de cómo estructuras el input**
**Analogía final potente**
Imagina:
* Modelo = chef
* Sistema = reglas del restaurante
* Prompt = lo que pides
* Contexto = lo que ya hablaste con el camarero
Si pides mal, incluso el mejor chef falla.
==== Role Prompting (Asignar un rol) ====
El modelo se comporta mejor cuando “sabe quién es”.
Idea: le das un rol claro, estilo y objetivo.
**Ejemplo básico:**
❌ Prompt pobre:
Explícame qué es la inteligencia artificial
✅ Prompt con rol:
Eres un profesor universitario especializado en IA. Explica qué es la inteligencia artificial con ejemplos sencillos y analogías para un estudiante de primer año.
**Beneficio:** El modelo ajusta tono, detalle y estilo automáticamente.
==== Few-Shot Prompting (Dar ejemplos) ====
Dar un par de ejemplos de la salida que quieres mejora muchísimo la precisión.
**Ejemplo:**
Eres un redactor de emails profesionales. Mira estos ejemplos:
Ej1: ‘Estimado cliente, le informamos…’
Ej2: ‘Hola equipo, les comparto…’
Ahora redacta un email informal para notificar un retraso en la entrega de un pedido.”
**Beneficio:** El modelo “aprende” tu estilo en el momento y lo replica.
==== Chain-of-Thought (Razonamiento paso a paso) ====
Cuando quieres respuestas complejas o lógicas, pides que explique el proceso.
**Ejemplo:**
Resuelve este problema de matemáticas paso a paso:
Si tengo 3 cajas con 5 manzanas cada una y regalo 4 manzanas, ¿cuántas me quedan?
**Beneficio:** Reduce errores en cálculos o razonamiento complejo porque obliga al modelo a “pensar en voz alta”.
==== Control de formato y estilo ====
Puedes pedirle estructura, longitud o formato específicos.
**Ejemplo:**
> Resume este artículo en **3 bullets**, cada uno máximo 20 palabras, usando lenguaje sencillo.
**Beneficio:** La respuesta se ajusta exactamente a tus necesidades, no tienes que reescribirla.
==== Iteración y refinamiento ====
Si la primera respuesta no es perfecta, puedes hacer *prompt refinement*:
> Hazlo más conciso y agrega un ejemplo concreto de la vida real.
**Tip profesional:** Es más eficiente ajustar el prompt que corregir la salida.
==== Mini-reglas rápidas para prompts top ====
* Define **rol + tarea + formato**
* Da **ejemplos** si quieres estilo consistente
* Usa **contexto relevante**
* Pide **paso a paso** para razonamiento complejo
* Refina iterativamente, no lo dejes al azar
===== Ejemplos de prompts =====
==== Ayuda en PHP ====
**Paso 1: Definir el rol**
Primero, le decimos al modelo quién es y qué hace. Esto ayuda a que genere respuestas con precisión técnica y estilo profesional.
Ejemplo:
Eres un desarrollador senior en PHP con 10 años de experiencia, experto en buenas prácticas, seguridad y eficiencia en desarrollo web.
**Paso 2: Definir la tarea concreta**
Si quieres ayuda con código, debugging, optimización o explicación de conceptos, hay que especificarlo:
Tu tarea es ayudarme a escribir código PHP correcto, explicar problemas en mis scripts y sugerir mejoras de manera clara y concisa.
**Paso 3: Usar chain-of-thought para problemas complejos**
Cuando tengas un problema de lógica o debugging, pide explicación paso a paso:
Responde paso a paso, primero identificando el problema, luego sugiriendo la solución y finalmente mostrando el código corregido.
**Paso 4: Control de formato y ejemplos (few-shot)**
Para que las respuestas sean consistentes, podemos dar un mini-ejemplo de salida deseada:
Ejemplo:
Problema: No puedo conectar a MySQL
Solución paso a paso:
1. Verificar credenciales
2. Revisar host y puerto
3. Comprobar errores de conexión
Código corregido:
connect_error) {
die("Error de conexión: " . $mysqli->connect_error);
}
?>
**Paso 5: Combinar todo en un prompt “listo para usar”**
Cuando necesites ayuda, podrías escribir algo como esto:
Eres un desarrollador senior en PHP con 10 años de experiencia, experto en buenas prácticas y seguridad.
Tu tarea es ayudarme a escribir código PHP correcto, explicar problemas y sugerir mejoras de manera clara y concisa.
Responde paso a paso, primero identificando el problema, luego sugiriendo la solución y finalmente mostrando el código corregido.
Aquí está mi problema: [DESCRIBE TU PROBLEMA O PEGA TU CÓDIGO AQUÍ]
**Tips profesionales adicionales para PHP**
* Incluye siempre el contexto: versión de PHP, framework (Laravel, Symfony, etc.)
* Pregunta por alternativas: “Dame 2 formas de optimizar este query”
* Usa prompts iterativos: primero genera, luego revisa errores, luego optimiza
* Pide explicaciones breves de seguridad: SQL injection, XSS, validaciones
Plantilla de prompt:
Eres un desarrollador senior en PHP con más de 10 años de experiencia, experto en buenas prácticas, seguridad, eficiencia, y frameworks de PHP.
Tu tarea es actuar como mi **asistente de programación PHP**, ayudándome a revisar, depurar, optimizar y mejorar cualquier código PHP que te entregue.
Sigue estas instrucciones paso a paso:
1. **Identificación del problema:** Detecta errores, vulnerabilidades de seguridad (SQLi, XSS, CSRF), malas prácticas y posibles problemas de performance.
2. **Explicación técnica:** Describe por qué ocurre cada problema y cómo solucionarlo, de forma clara y concisa.
3. **Código corregido y optimizado:** Muestra la versión correcta en bloques de código PHP, con comentarios explicativos donde sea útil.
4. **Buenas prácticas y seguridad automáticas:** Señala mejoras de seguridad, validaciones, hash de contraseñas, prepared statements, sanitización de inputs, etc.
5. **Alternativas de implementación:** Si es posible, sugiere al menos una forma alternativa, más eficiente o segura, de implementar la misma funcionalidad.
6. **Optimización de performance:** Recomienda mejoras de eficiencia o simplificación de código, especialmente en queries o loops.
7. **Chain-of-thought:** Explica paso a paso tu razonamiento antes de mostrar el código final.
Instrucciones adicionales:
- Ajusta la respuesta según la **versión de PHP**: [INDICA TU VERSIÓN DE PHP]
- Ajusta según **framework**: [INDICA FRAMEWORK, ej. Laravel, Symfony, ninguno]
- Mantén estilo profesional, claro y conciso.
- Usa comentarios en el código para que sean útiles en producción.
- Si detectas un error de lógica o seguridad, prioriza la corrección antes de mostrar alternativas.
Aquí está mi problema o código:
[PEGA TU CÓDIGO O DESCRIBE EL PROBLEMA AQUÍ]