CursosEmpresasBlogLiveConfPrecios

Reto 12: Un prompt, tres resultados

Clase 13 de 14 • The Vibecoders League: retos

Contenido del curso

Retos Diarios

  • 1
    Cómo funciona The Vibecoders League

    Cómo funciona The Vibecoders League

    01:58 min
  • 2
    Reto 1: Landing page para un festival

    Reto 1: Landing page para un festival

    00:02 min
  • 3
    Reto 2: Dashboard personal

    Reto 2: Dashboard personal

    00:02 min
  • 4
    Reto 3: Automatiza una tarea real de tu día a día

    Reto 3: Automatiza una tarea real de tu día a día

    00:02 min
  • 5
    Reto 4: Asistente de notificaciones inteligente

    Reto 4: Asistente de notificaciones inteligente

    00:02 min
  • 6
    Reto 5: Integra dos mundos para resolver un problema común

    Reto 5: Integra dos mundos para resolver un problema común

    00:02 min
  • 7
    Reto 6: Explica un concepto complejo

    Reto 6: Explica un concepto complejo

    00:02 min
  • 8
    Reto 7: Serie de imágenes con narrativa

    Reto 7: Serie de imágenes con narrativa

    00:02 min
  • 9
    Reto 8: Photoshoot profesional con IA

    Reto 8: Photoshoot profesional con IA

    00:02 min
  • 10
    Reto 9: Trailer cinematográfico

    Reto 9: Trailer cinematográfico

    00:02 min
  • 11
    Reto 10: Agente de atención al cliente

    Reto 10: Agente de atención al cliente

    00:02 min
  • 12
    Reto 11: Agente interno para un equipo

    Reto 11: Agente interno para un equipo

    00:02 min
  • 13
    Reto 12: Un prompt, tres resultados

    Reto 12: Un prompt, tres resultados

    Viendo ahora
  • 14
    Reto 13: Prompt de sistema para un caso real

    Reto 13: Prompt de sistema para un caso real

    00:02 min

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Reto 12: Un prompt, tres resultados 

      Elige un objetivo (escribir un correo, generar una imagen, resumir un texto, crear código) y escribe 3 versiones de prompts: uno básico, uno intermedio y uno avanzado.

      Muestra los resultados de cada uno y explica qué técnicas usaste para mejorar (contexto, ejemplos, formato, rol, restricciones).

      Curso recomendado: Curso de Prompt Engineering

      ¿Cómo compartir mi proyecto?

      1. Publica tu proyecto en la sección de comentarios de esta clase.

      2. Incluye una breve descripción de qué hiciste, por qué y qué lo hace único.

      3. Agrega un link público a tu proyecto para que Platzi y la comunidad puedan verlo y probarlo.

      4. Comparte tu proyecto en redes sociales, con amigos y familia. ¡Cualquier persona puede votar, no necesita suscripción!

      Comentarios

        Javier ivan Patiño Castrillon

        Javier ivan Patiño Castrillon

        student•
        hace un mes

        ¡Hola comunidad! Para mi reto, elegí el objetivo de escribir un correo. Pero no quise hacer algo básico; decidí retar a la IA a escribir un Cold Email a un fondo de inversión para levantar capital semilla para una startup ficticia.

        Sabemos que los LLMs (como ChatGPT o Claude) tienden a sonar como robots corporativos. Así fue mi evolución aplicando Prompt Engineering para llevar la IA de cero al nivel experto.

        Nivel 1: El Prompt Básico (Zero-Shot sin contexto)

        Aquí le pedí a la IA que hiciera el trabajo asumiendo que ella sabe lo que busco. Error de principiante.

        • Mi prompt:

          "Escribe un correo para pedir inversión para mi startup."

        • El resultado:

          "Estimado inversor. Por medio de la presente le escribo para presentarle mi empresa. Somos un equipo muy motivado y buscamos inversión para crecer. Quedo atento a sus comentarios. Atentamente..."

        • El problema: Es ruido. Genera una plantilla genérica, acartonada y sin ningún valor real. Un inversor borraría esto en 2 segundos.

        Nivel 2: El Prompt Intermedio (Añadiendo variables)

        Decidí darle un poco más de carnita. Le di el nombre del producto, el mercado y el tono que buscaba.

        • Mi prompt:

          "Escribe un correo a una firma de Venture Capital presentando 'NeuroSync', un SaaS de Inteligencia Artificial para el sector logístico que reduce costos en un 30%. El tono debe ser profesional y persuasivo."

        • El resultado:

          "Estimados señores de Venture Capital. Nos dirigimos a ustedes para presentar NeuroSync, una plataforma SaaS impulsada por IA. Hemos logrado reducir costos logísticos en un 30% para nuestros clientes actuales. Nos encantaría agendar una reunión para mostrarles nuestra visión..."

        • El avance: Es útil. Ya tiene métricas y suena profesional. Sin embargo, sigue sintiéndose como un correo masivo de marketing. Le falta fricción humana y urgencia.

        Nivel 3: El Prompt 'Perfecto' (Ingeniería Avanzada)

        Aquí saqué todas las herramientas técnicas. En lugar de pedirle un texto, programé el comportamiento de la IA, limitando sus "alucinaciones" de estilo y dándole reglas de formato estrictas.

        • Mi prompt:

          *"Actúa como un experto en Growth Hacking y Fundraising de Silicon Valley. Tu tarea es escribir un 'Cold Email' hiper-personalizado a un inversor ángel.*Contexto: Mi startup es 'NeuroSync', un B2B SaaS que optimiza rutas logísticas con IA. Pasamos de $0 a $15k MRR (Tracción) en 4 meses. Restricciones: El correo debe tener máximo 100 palabras. Prohibido usar saludos formales como 'Estimado' o lenguaje corporativo aburrido. Usa un tono directo, seguro y al grano. Formato: - Asunto: Corto, que genere curiosidad (no más de 5 palabras). - Línea 1: Hook (gancho) directo a su tesis de inversión. - Línea 2: El valor y la métrica (MRR). - Cierre: Call To Action (CTA) de baja fricción. Ejemplo de tono: 'Vi que invirtieron en X, nosotros hacemos Y pero más rápido. ¿Tienes 10 min el martes?'"

        • El resultado:

          Asunto: IA logística + $15k MRR rápido*Hola [Nombre del Inversor],**Sigo de cerca tu reciente inversión en [Empresa de su portafolio] y su enfoque en optimización supply-chain. Construí NeuroSync, un SaaS B2B que reduce los costos de ruteo un 30% usando modelos predictivos.Lanzamos hace 4 meses y ya cruzamos los $15k en MRR con clientes como [Nombre]. Estamos abriendo nuestra ronda Seed esta semana.¿Tienes 10 minutos este jueves para contarte cómo dominaremos LATAM?*Saludos,

        Anatomía de mi Prompt (Técnicas utilizadas):

        ¿Por qué el Nivel 3 generó un efecto "Wow"? Usé 5 pilares técnicos:

        1. Rol (System Persona): Al ordenarle "Actúa como un hacker de Silicon Valley", calibré la temperatura y el peso léxico de la IA. Dejó de usar diccionarios académicos y empezó a usar la jerga de los negocios ("Seed", "MRR").
        2. Contexto: Le di el modelo de negocio exacto (B2B SaaS) y la tracción real ($15k MRR). La IA no tuvo que inventar nada, solo estructurar mis datos.
        3. Restricciones (Negative Prompting): Los LLMs suelen ser verbosos. Al poner una restricción dura ("máximo 100 palabras, prohibido lenguaje corporativo"), forcé al modelo a destilar la información solo a lo más importante.
        4. Formato: Dividí el output deseado en bloques modulares (Asunto, Hook, Métrica, CTA). Esto garantiza que la estructura cognitiva del correo sea impecable.
        5. Ejemplos (Few-Shot Prompting): Le mostré una oración de ejemplo ('Vi que invirtieron en X...') para que el modelo clonara exactamente el "ritmo" y la cadencia que yo quería.

        Conclusión: Un buen prompt no es solo hacerle una pregunta a una máquina; es configurar el contexto, los límites y el personaje antes de que presionar Enter.

        les dejo una imagen que representa el ejercicio en un digrama de flujo

        Gabriel Adrian Rojas

        Gabriel Adrian Rojas

        student•
        hace un mes

        "Del prompt básico al avanzado: El arte de comunicarse con IA"

        Descripción del proyecto:

        ¡Hola, comunidad! Para el Reto 12, decidí explorar algo fundamental para cualquier persona que use IA: cómo escribir prompts efectivos. Elegí un objetivo práctico y cotidiano: escribir un correo profesional para ofrecer servicios de marketing digital.

        El ejercicio consistió en crear 3 versiones del mismo prompt (básico, intermedio y avanzado) y comparar los resultados para identificar qué técnicas marcan la diferencia.🧪 ¿Por qué lo hice así?

        Porque escribir prompts no es magia, es técnica. Muchas personas prueban la IA una vez, obtienen un resultado genérico y asumen que "no sirve". Pero la realidad es que el resultado depende directamente de cómo nos comunicamos con ella.

        Quise demostrar que:

        • Con un prompt básico, la IA hace lo mínimo
        • Con un prompt intermedio, ya obtenemos algo útil
        • Con un prompt avanzado, logramos resultados profesionales que parecen hechos por un experto

        🔬 ¿Qué lo hace único?

        1. Progresión visible: Mostrar las 3 versiones una al lado de la otra permite ver claramente cómo cada técnica mejora el resultado. No es teoría, es evidencia.
        2. Técnicas documentadas: Identifiqué y expliqué cada técnica usada:

        Prompt 1: Escribe un correo para ofrecer servicios de marketing digital a una cafetería. "Asunto

        Impulsa la visibilidad de tu cafetería con marketing digitalImpulsa la visibilidad de tu cafetería con marketing digital Hola,

        Mi nombre es [Tu Nombre] y me pongo en contacto contigo porque creo que tu cafetería tiene un gran potencial para destacar aún más en el entorno digital.

        Hoy en día, muchos clientes descubren nuevos lugares a través de redes sociales, Google y plataformas de reseñas. Con una estrategia adecuada de marketing digital, es posible atraer más clientes, fidelizar a los actuales y aumentar las ventas de forma constante.

        Me gustaría ayudarte a lograrlo mediante servicios como:

        • Gestión de redes sociales (Instagram, Facebook, etc.)
        • Creación de contenido atractivo (fotografía, videos, promociones)
        • Optimización de tu presencia en Google (Google Maps y reseñas)
        • Campañas publicitarias segmentadas
        • Estrategias para aumentar la fidelización de clientes

        Mi enfoque es totalmente personalizado, adaptado a la identidad de tu cafetería y a tu público objetivo.

        Si te interesa conocer más o agendar una breve llamada sin compromiso, estaré encantado de conversar contigo.

        Gracias por tu tiempo y enhorabuena por tu proyecto.

        Un saludo cordial, [Tu Nombre] [Tu Teléfono] [Tu Email / Web]"

        prompt 2: Actúa como un redactor publicitario experto en marketing digital. Escribe un correo profesional para ofrecer servicios de marketing digital a una cafetería llamada "Café Origen". El objetivo es agendar una reunión. Usa un tono amigable pero profesional. Incluye asunto, saludo, cuerpo y despedida.

        resultado: "Café Origen: más clientes descubriendo tu esencia cada día"

        "Hola,

        Espero que estés teniendo un excelente día.

        Mi nombre es [Tu Nombre] y, después de conocer Café Origen, no pude evitar pensar en todo el potencial que tiene para destacar aún más en el entorno digital. Hoy, las cafeterías que conectan con su audiencia online no solo atraen más visitas, sino que crean una comunidad fiel alrededor de su marca.

        Me gustaría proponerte algo muy concreto: ayudarte a que más personas descubran Café Origen, lo elijan y regresen.

        ¿Cómo lo haríamos? A través de una estrategia de marketing digital enfocada en resultados:

        • Contenido visual atractivo que transmita la experiencia única de tu cafetería
        • Gestión estratégica de redes sociales para atraer y fidelizar clientes
        • Optimización de tu presencia en Google para aumentar visitas locales
        • Campañas publicitarias dirigidas a personas con alta intención de compra

        La idea no es solo “estar en redes”, sino convertir cada canal en una fuente constante de nuevos clientes.

        Creo que una breve conversación puede abrir muchas oportunidades. ¿Te parece si agendamos una reunión de 15–20 minutos esta semana? Así puedo compartirte algunas ideas específicas para Café Origen.

        Quedo atento a tu disponibilidad.

        Un saludo cordial, [Tu Nombre] [Tu Teléfono] [Tu Email / Web]"

        prompt 3: "Actúa como un consultor senior de marketing digital con 10 años de experiencia especializado en el sector gastronómico y cafeterías de especialidad. Tu objetivo es conseguir una reunión con "Café Origen", una cafetería artesanal que recién abrió su segunda sucursal. Escribe un correo profesional con las siguientes características: - Tono: cálido, cercano pero ejecutivo - Estructura: Asunto llamativo + saludo personalizado + cumplido genuino + problema que pueden estar enfrentando + solución con ejemplos + caso de éxito similar + llamado a la acción claro + despedida profesional - Incluye: Un dato específico sobre su negocio que demuestre que investigaste (usando [DATOS REALES] como marcador) - Agrega un PS con un dato de valor gratuito - Usa emojis estratégicamente (máximo 2) - Extensión: máximo 150 palabras El correo debe transmitir confianza y autoridad, pero sin ser arrogante."

        resultado: "Café Origen: cómo convertir su 2ª sede en un imán de clientes ☕, Hola [Nombre],

        Enhorabuena por la segunda sucursal de Café Origen; vi que [DATOS REALES] y refleja un concepto muy cuidado.

        En esta fase, muchas cafeterías de especialidad enfrentan el mismo reto: mantener flujo constante en ambos locales sin diluir la marca ni depender solo del boca a boca.

        Ahí es donde entro yo. Diseño estrategias que convierten redes y Google en tráfico real: campañas geolocalizadas, contenido que activa visitas (lanzamientos, happy hours) y optimización de reseñas.

        Con una cafetería similar, logramos +38% en visitas en 60 días tras abrir su segunda sede.

        ¿Te parece si vemos 15 minutos esta semana? Te comparto ideas específicas para Café Origen.

        Un saludo, [Tu Nombre]

        PD: Un ajuste rápido en Google Business puede aumentar hasta 20% las visitas 📍"

        Roberto Zuñiga

        Roberto Zuñiga

        student•
        hace un mes

        Lo que hice fue tomar un objetivo concreto — escribir un correo de follow-up después de una reunión de negocios — y escribir 3 versiones del mismo prompt, cada una más completa que la anterior, para demostrar cómo la técnica de prompt engineering transforma el resultado.

        Usé la metodología RELC (Rol + Enfoque + Límites + Contexto), que es básicamente una fórmula para construir prompts de forma sistemática. Cada componente responde una pregunta: quién responde, qué debe hacer, cómo debe hacerlo, y con qué información.

        Primero escribí un prompt básico de una sola línea — "Escribe un correo de seguimiento después de una reunión" — y lo que salió fue un correo completamente genérico que no sirve para nada en la vida real.

        Después le agregué un rol y un enfoque al prompt — le dije que era un consultor de transformación digital y que el correo era para un cliente empresarial. El resultado mejoró en tono pero seguía siendo impersonal, sin nombres ni detalles.

        Finalmente armé el prompt avanzado con la fórmula completa: le di un rol específico, una acción concreta, límites de formato y tono, y todo el contexto de la reunión — el nombre del cliente, la empresa, qué se discutió y cuál era el siguiente paso. El resultado fue un correo listo para enviar sin tocar nada.

        Lo que hace único este reto es que los 3 resultados son respuestas reales de Claude. Además incluí diagramas Mermaid para visualizar tanto la fórmula como la evolución de los prompts, tablas de análisis por cada nivel mostrando qué elementos estaban presentes y cuáles faltaban, y un mapeo explícito de cómo las 5 técnicas que pide el reto se conectan con la metodología RELC.

        Marcos Ferreira

        Marcos Ferreira

        student•
        hace un mes

        Para el Reto 12, elegí un objetivo de código: implementar un sistema CRUD de tareas con tres niveles de prompt para demostrar cómo la especificidad transforma completamente el resultado.

        Prompt 1 Básico (sin técnica): "Crea un CRUD de tareas"

        Resultado: Un archivo HTML con JavaScript vanilla, variables globales, localStorage como "base de datos", cero validación y cero estructura. Código de tutorial que no sirve para nada real.

        Prompt 2 Intermedio (con rol, contexto y formato): Le asigné un rol de desarrollador fullstack, especifiqué React + Express + MongoDB, pedí estructura de carpetas client/server, validación, async/await y manejo de errores. El resultado fue una app funcional con componentes separados, servicios de API, schema Mongoose y controllers. Nivel junior/mid.

        Prompt 3 Avanzado (todas las técnicas + offline-first): Rol de arquitecto senior con 12 años de experiencia. Stack: Next.js 14 + TypeScript + tRPC + PostgreSQL + IndexedDB con Dexie.js. Pedí soporte offline completo con Service Worker, cola de sincronización CRDT, optimistic UI, NextAuth con JWT, testing con Vitest + MSW, Docker, patrón Repository, archivos de menos de 80 líneas, JSDoc obligatorio y tipos en carpeta separada. El resultado fue una arquitectura enterprise lista para producción.

        Las 5 técnicas que usé para mejorar:

        Contexto Del prompt vacío a describir que es una app enterprise con soporte offline

        Rol De ninguno a "arquitecto senior especializado en sistemas distribuidos"

        Formato Definir orden de prioridad de archivos y estructura de output

        Ejemplos Nombrar tecnologías específicas como referencia de nivel (tRPC, CRDT, Dexie.js)

        Restricciones Límite de 80 líneas por archivo, patrones de diseño obligatorios, convenciones de código

        ¿Qué lo hace único?

        No elegí un correo ni un resumen elegí código, donde la diferencia entre un prompt genérico y uno profesional es medible: el básico genera 1 archivo sin estructura, el avanzado genera +20 archivos con arquitectura offline-first, sync, auth, testing y Docker. Mismo objetivo, resultado radicalmente diferente. La diferencia no es la IA, es cómo le hablas.

        Juan Andres

        Juan Andres

        student•
        hace un mes
        •
        editado

        Objetivo: Generar una guía de buenas prácticas de despliegue continuo (CI/CD) para un equipo de desarrollo

        1. Prompt Básico

        Prompt:“Dame buenas prácticas de CI/CD.”

        Resultado:

        • Usar integración continua.
        • Automatizar pruebas.
        • Desplegar frecuentemente.
        • Tener un pipeline de Jenkins o GitHub Actions.
        • Monitorear los despliegues.

        2. Prompt Intermedio

        Prompt:

        “Actúa como ingeniero DevOps senior. Elabora una lista de buenas prácticas de CI/CD para un equipo de desarrollo backend que usa Node.js y AWS, con énfasis en seguridad y tiempos de despliegue rápidos. Incluye ejemplos concretos de herramientas y estructura en etapas del pipeline.”

        Resultado:

        Etapas del Pipeline CI/CD:

        1. Commit/Code
          • Usar trunk-based development.
          • Herramienta: GitHub + GitHub Actions.
        2. Build
          • Cache de dependencias (npm ci).
          • Ejemplo: actions/cache@v3 para node_modules.
        3. Test
          • Tests unitarios y de integración en paralelo.
          • Escaneo de seguridad con npm audit y Snyk.
        4. Security Scan
          • SAST con SonarCloud.
          • Análisis de secretos con TruffleHog.
        5. Deploy (Staging)
          • Despliegue con AWS CDK o Terraform.
          • Validación de cambios con despliegues canary.
        6. Deploy (Production)
          • Estrategia blue/green para downtime cero.
          • Rollback automático si fallan health checks.

        3. Prompt Avanzado

        Prompt:

        “Eres el líder de una práctica DevOps en una empresa fintech regulada. Necesitas definir un estándar de CI/CD para 5 equipos de producto que trabajan con microservicios en AWS EKS. Cada equipo usa diferentes lenguajes (Node.js, Python, Go).Genera una guía ejecutable que incluya:

        Principios no negociables (seguridad, compliance, trazabilidad).

        Pipeline as Code con ejemplo modular (GitHub Actions reutilizables).

        Estrategias de despliegue progresivo (canary, blue/green) con ejemplos de métricas de éxito.

        Restricciones: tiempo máximo de pipeline < 15 min, auditoría obligatoria de cambios.

        Formato: tabla de etapas + fragmento YAML de ejemplo + checklist de adopción.”

        Resultado:

        Principios no negociables

        • Todo cambio requiere aprobación con PR + código escaneado.
        • Imágenes base firmadas y escaneadas (Trivy, ECR scan).
        • Trazabilidad: cada despliegue genera metadatos en Datadog/Opentelemetry.

        Pipeline as Code (ejemplo modular)

        yaml

        # .github/workflows/reusable-deploy.yml name: Reusable Deploy on: workflow_call: inputs: environment: required: true type: string secrets: AWS_ROLE_ARN: required: true jobs: deploy: runs-on: ubuntu-latest steps: - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: ${{ secrets.AWS_ROLE_ARN }} aws-region: us-east-1 - name: Deploy to EKS run: | kubectl apply -f k8s/${{ inputs.environment }}/

        Estrategias de despliegue progresivo

        Estrategia | Herramienta | Métrica de éxito

        Canary | Flagger + Istio | 99.9% de requests exitosas, latencia < 200ms

        Blue/Green | Argo Rollouts | Health checks pasan en 2 minutos

        Diego Martinez

        Diego Martinez

        student•
        hace un mes

        Hola a todos, para este reto me centraré en la generación de imagen de un dinosaurio: un utahraptor.

        Prompt Básico:

        "Un dinosaurio Utahraptor caminando por un bosque prehistórico, calidad cinematográfica."

        Coloqué um prompt genérico, retornó una imagen clara de un dinosaurio terópodo en un entorno verde. Se ve como un lagarto grande, con pocas plumas, y sin mucho detalle específico en la textura o la iluminación.

        Prompt Intermedio:

        "Fotografía de naturaleza de un Utahraptor con plumaje realista de colores marrones y rojizos. El dinosaurio está acechando entre helechos gigantes. Iluminación de 'hora dorada' filtrándose a través de los árboles. Lente de 85mm, profundidad de campo desenfocada (bokeh), 8k, ultra detallado."

        Aquí añadí contexto visual y descriptores de formato para guiar el estilo artístico. Por eso retornó una imagen mucho más orgánica. El uso de términos fotográficos obliga a la IA a simular una cámara real, mejorando la textura de las plumas y separando al depredador del fondo para darle tridimensionalidad.

        Prompt Avanzado

        [Rol: Paleo-artista experto] Genera una reconstrucción científica precisa de un Utahraptor ostrommaysi. [Detalles:] Cuerpo robusto cubierto de plumas densas (similares a las de un ave de presa), garra en forma de hoz prominente en el segundo dedo del pie, mirada intensa y dirigida a la cámara. [Entorno:] Pantanos del Cretácico Inferior con niebla baja y vegetación de coníferas. [Estilo:] Estilo de documental de National Geographic, realismo extremo, texturas 4k de queratina y plumaje. [Restricciones:] Sin piel de reptil escamosa tipo película de los 90, sin manos caídas (pronadas), evitar saturación excesiva de color.

        Asigné un rol a la IA, establecemos restricciones claras y apliqué uso de tecnicismos para evitar errores comunes en el resultado. Ahora es una imagen con rigor científico. El "rol" asegura que la anatomía sea correcta, y las "restricciones" evitan los clichés cinematográficos incorrectos (como las manos hacia abajo o la falta de plumas).

        Juan Camilo Silva Muñoz

        Juan Camilo Silva Muñoz

        student•
        hace un mes

        Acá miramos las diferentes técnicas de Promt Preguntando sobre la posibilidad de ir al mundial.

        Zero shot: <u>Promt basico</u> directo sin proporcionar ejemplos ni contexto previo.

        Few-Shot : <u>Promt Intermedio</u>, la IA a adopta una "personalidad" o "misión" definida en este caso un hacker de ahorro.

        Chain of Thought: <u>Promt Avanzado</u>, desglosa su razonamiento lógico secuencial detalladamente.

        Byron Agila

        Byron Agila

        student•
        hace un mes
        •
        editado

        Proyecto: Un prompt, tres resultados — del diseño genérico a la dirección creativa

        promop

        ¿Qué hice?

        Desarrollé tres versiones de un mismo prompt (básico, intermedio y avanzado) para generar la landing page de delpuctas.studio. Cada versión aumenta en complejidad: desde una instrucción vaga, pasando por una técnica, hasta un prompt avanzado que combina dirección creativa, restricciones y arquitectura de interacción.

        ¿Por qué lo hice? Quise demostrar cómo la calidad del resultado no depende solo del modelo, sino de cómo pensamos y estructuramos el prompt. Muchas veces el problema no es la IA, sino la falta de intención y precisión en lo que pedimos.

        ¿Qué lo hace único? El prompt avanzado no solo describe un diseño, sino que define una visión completa: rol creativo, restricciones para evitar clichés, dirección de arte clara y mecánicas específicas de interacción. Esto obliga a la IA a salir de soluciones genéricas y producir una experiencia digital con identidad, más cercana a un proyecto real que a una plantilla.

          Byron Agila

          Byron Agila

          student•
          hace un mes
          prompt
          resultado
          Byron Agila

          Byron Agila

          student•
          hace un mes
          2
          resultado2
        Marco Aurelio

        Marco Aurelio

        student•
        hace un mes
        •
        editado

        ¡Hola! 👋

        Bienvenidos a esta explicación sobre cómo diseñar un algoritmo de damas prácticamente imposible de vencer, aprovechando la simplicidad del juego. Además, añadiremos una regla especial opcional que puede activarse o desactivarse.

        La idea es usar un lenguaje y una librería relativamente simples, porque el reto no está en la complejidad del entorno sino en combinar:

        • conocimientos básicos de programación
        • buen diseño de prompts
        • pensamiento algorítmico (vibecoding)

        El prompt comienza con una instrucción muy concreta:

        "haz un código con LUA y Löve2D en el que se muestre el juego DAMAS edición española"

        Esta frase define tres cosas clave:

        1. Lenguaje: Lua
        2. Framework: LÖVE2D
        3. Dominio: damas españolas

        Esto reduce muchísimo la ambigüedad.

        Un prompt malo sería simplemente:

        "haz un juego de damas"

        Ese prompt deja demasiadas cosas abiertas:

        • lenguaje
        • motor
        • reglas
        • interfaz

        Además falla en el objetivo, porque aquí no queremos solo un juego, sino también un sistema que encuentre la victoria.

        Definir el comportamiento del algoritmo

        El prompt indica claramente que el sistema debe explorar partidas completas cuando dice:

        "itere hasta que gane o pierda, si pierde guarde e intenta de nuevo hasta encontrar el camino que lo lleve a la victoria"

        Esto sugiere directamente un sistema basado en:

        • búsqueda en árbol
        • exploración de estados
        • simulación de partidas

        Gracias a esa instrucción el sistema no se limita a mostrar el tablero, sino que busca activamente una solución ganadora.

        Recordar reglas importantes

        Aunque hoy las IA son muy avanzadas, no son realmente inteligentes. Por eso es importante recordar detalles clave dentro del prompt.

        Por ejemplo:

        "tener en cuenta los combos y comer más de una pieza a la vez"

        y también:

        "si es una dama también aplica a cualquier dirección"

        Estas frases obligan al sistema a incluir capturas múltiples y movimiento completo de damas, reglas que muchas implementaciones olvidan si no se especifican.

        Limitar la exploración

        El prompt establece explícitamente:

        "no importa el tema computacional, cada vez iterará 2048 posibilidades"

        Esto sirve para dos cosas:

        1. Evitar que el sistema pruebe demasiadas pocas jugadas.
        2. Evitar que intente explorar todas las combinaciones posibles.

        Además se especifica cómo elegir el mejor resultado:

        "seleccionará el camino más corto en el que se pierdan menos piezas"

        Con esto se define una función de evaluación simple:

        • victoria
        • menor cantidad de movimientos
        • menor pérdida de piezas.

        Control de interacción

        El prompt también especifica cómo debe comportarse el editor del tablero.

        Por ejemplo:

        "debes poder poner cualquier ficha en cualquier parte"

        Esto permite recrear situaciones específicas de una partida real.

        También se indica:

        "cambiar entre damado → no disponible → normal con el click derecho"

        Esto evita interfaces complicadas y deja claro cómo interactuar con el tablero.

        Regla especial opcional

        El prompt introduce una variante interesante:

        "una regla especial de mi pueblo, las fichas damadas pueden comer a otras fichas contrarias sin importar la distancia"

        Esto permite que las damas capturen a larga distancia, siempre que el camino esté libre.

        Además agrega otra mecánica:

        "volarse otra distancia extra a voluntad para comérsela en combo o para evitar ser comidas"

        Esta mecánica hace que las damas puedan moverse más libremente después de capturar.

        Sin embargo, como esta regla no es estándar, el prompt añade:

        "esta característica se podrá desactivar con la letra T"

        De esta forma el sistema puede funcionar con reglas tradicionales o con la variante especial.

        Mostrar el resultado

        Una vez encontrado el mejor camino, el programa debe mostrar el primer movimiento.

        Esto se define claramente en el prompt:

        "muestre el primer movimiento de ese camino a la victoria marcado en rojo"

        y también:

        "la casilla a la que debo moverla marcada en azul"

        Esto evita ambigüedad visual y hace que el jugador entienda qué movimiento debe realizar.

        Manejo de cambios en el tablero

        El prompt también previene un problema común:

        "el camino se borrará cuando edite cualquier cosa del tablero si existe"

        Esto evita que el sistema muestre una solución para un tablero que ya cambió.

        Manejo de casos imposibles

        Finalmente el prompt establece qué hacer si no hay solución:

        "si no encuentra forma de ganar entonces lance un mensaje de error"

        Esto evita bucles infinitos o estados donde el sistema sigue buscando indefinidamente una victoria que no existe.

        y listo, entregará un cógido sencillo, podemos incluso añadir

        <u>"debe estar organizado y comentado"</u> si quieres editar o <u>"comenta las partes en las que debo añadir las imagenes"</u> si lo quieres decorar.

        Es bastante corto y está separado por necesidades para hacer más fácil su edición, en poco y nada solo pegando el prompt en un modelos de frontera ya tendrás tus trampas de DAMA o tu algoritmo para entrenar aunque no sea posible ganarle, al menos puedes estudiar cómo perdiste, ¿te parece muy largo o quieres probarlo un modelo con ventana de contexto pequeña?, te enseño a recortar prompts.

        Lo primero que tienes que saber es que no puedes quitar bajo ninguna cirscunstancia partes clave que definen la lógica, así en general en ningún prompt, por lo que podemos quitar personalizaciones :

        haz un código con LUA y Löve2D en el que se muestre el juego DAMAS edición española que siguiendo sus respectivas reglas itere hasta que gane o pierda, si pierde guarde e intenta de nuevo hasta encontrar el cimino que lo lleve a la victoria. tener en cuenta los combos y comer más de una pieza a la vez si hay un espacio en medio y si es una dama tambien aplica a cualquier dirección. no importa el tema computacional, seleccionar el camino más corto. debes poder poner cualquier ficha en cualquier parte para simular momentos especificos de un juego, y cambiar entre damado -&gt; no disponible -&gt; normal con el click derecho. una vez encontrado el mejor camino lo guarde y muestre el primer movimiento de ese camino a la victoria la casilla a la que debo moverla marcada en azul, el camino se borrará cuando edite cualquier cosa del tablero si existe.

        de lo contrario puedes añadir lo básico :

        haz un código con LUA y Löve2D en el que se muestre el juego DAMAS edición española que siguiendo sus respectivas reglas itere hasta que gane o pierda, si pierde guarde e intenta de nuevo hasta encontrar el cimino que lo lleve a la victoria. tener en cuenta los combos y comer más de una pieza a la vez si hay un espacio en medio y si es una dama tambien aplica a cualquier dirección. no importa el tema computacional, cada vez iterará 2048 posibilidades y seleccionará el camino más corto en el que se pierdan menos piezas. debes poder poner cualquier ficha en cualquier parte para simular momentos especificos de un juego, y cambiar entre damado -&gt; no disponible -&gt; normal con el click derecho. una regla especial de mi pueblo, las fichas damadas pueden comer a otras fichas contrarias sin importar la distancia y volarse otra distancia extra a voluntad para comersa en combo o para evitar ser comidas, esta caracteristica se podrá desactivar con la latre "T". una vez encontrado el mejor camino lo guarde y muestre el primer movimiento de ese camino a la victoria marcado en rojo y la casilla a la que debo moverla marcada en azul, el camino se borrará cuando edite cualquier cosa del tablero si existe. si no encuentra forma de ganar entonces lance un mensaje de error.

        pero por recomendación tecnica, deberías organizar el prompt consiguiendo que la máquina te entienda con alta claridad para que sigua tus criterios explicitos (adjunto imagen para que se entienda cual debe ser el órden)

        Y como escuché en un curso PLATZI ¿qué mejor forma de hablarle a la máquina que en lenguaje de máquina?
        <prompt> <objetivo> Desarrollar un programa en <lenguaje>LUA</lenguaje> utilizando el framework <motor>LÖVE2D</motor> que simule el juego de <juego>Damas (edición española)</juego>. </objetivo> <funcionamiento_general> El programa debe analizar el tablero e iterar posibles jugadas hasta encontrar una secuencia que conduzca a la victoria. Si una simulación termina en derrota, el sistema debe reiniciar la búsqueda y continuar probando nuevas combinaciones hasta encontrar un camino ganador. No existen restricciones estrictas de rendimiento computacional. En cada ciclo de análisis se evaluarán aproximadamente <iteraciones>2048</iteraciones> posibles caminos. El sistema deberá seleccionar el camino que: <criterios> <criterio>Conduzca a la victoria.</criterio> <criterio>Tenga la menor cantidad de movimientos posibles.</criterio> <criterio>Minimice la pérdida de piezas propias.</criterio> </criterios> </funcionamiento_general> <reglas_del_juego> Deben aplicarse las reglas estándar de las <juego>Damas españolas</juego>, incluyendo: <regla>Capturas obligatorias cuando sea posible.</regla> <regla>Posibilidad de realizar capturas múltiples (combos) cuando haya espacio disponible entre piezas.</regla> <regla>Las piezas coronadas (damas) pueden capturar en cualquier dirección.</regla> </reglas_del_juego> <regla_personalizada> Existe una regla especial opcional: <descripcion> Las fichas coronadas (damas) pueden capturar piezas enemigas a cualquier distancia en línea recta, siempre que el camino esté libre. Después de capturar, la dama puede desplazarse una distancia adicional libremente para continuar un combo o posicionarse para evitar ser capturada. </descripcion> <control> Esta regla podrá activarse o desactivarse presionando la tecla <tecla>T</tecla>. </control> </regla_personalizada> <editor_de_tablero> El sistema debe incluir un editor que permita configurar posiciones específicas del tablero. <funciones> <funcion>Colocar cualquier ficha en cualquier casilla.</funcion> <funcion>Cambiar el estado de una casilla mediante clic derecho.</funcion> </funciones> <estados_casilla> <estado>damado (pieza coronada)</estado> <estado>normal</estado> <estado>no disponible</estado> </estados_casilla> </editor_de_tablero> <resultado_del_analisis> Una vez que el sistema encuentre el mejor camino hacia la victoria: <visualizacion> <elemento>La pieza que debe moverse primero debe resaltarse en color rojo.</elemento> <elemento>La casilla de destino debe resaltarse en color azul.</elemento> </visualizacion> <persistencia> El camino óptimo encontrado debe almacenarse temporalmente. </persistencia> <invalidacion> Si el usuario modifica cualquier elemento del tablero, el camino almacenado deberá eliminarse automáticamente y recalcularse. </invalidacion> </resultado_del_analisis> <manejo_de_error> Si después de las iteraciones el sistema no encuentra ninguna forma de ganar, el programa debe mostrar un mensaje indicando que no existe una ruta hacia la victoria. </manejo_de_error> </prompt>

        ¡¡¡Y LISTO!!! eso sería todo, dale like (corazón) y suscribete para hacerme saber que te funcionó el prompt.

          Marco Aurelio

          Marco Aurelio

          student•
          hace un mes

          por si lo quieres probar, aquí el resultado, es un .exe y quizá te de miedo abrirlo pero aún no he tomado el curso de hacking ético y puedes confiar en mí 🖖

        María del Consuelo Irastorza Vázquez

        María del Consuelo Irastorza Vázquez

        student•
        hace 9 días

        Creé “Atlas”, un agente interno para equipos digitales que reduce fricción operativa, acelera el onboarding y resuelve dudas sin depender de otras personas. Lo diseñé pensando en startups ágiles donde la velocidad y la claridad son clave.

        Lo que lo hace único es su enfoque: no solo responde, guía y propone siguientes pasos como un líder dentro del equipo.

        Incluye flujos de procesos internos, onboarding y consulta de manual, con una experiencia clara, cercana y accionable.

        🎭 Identidad de Atlas

        •           Nombre: Atlas

        •           Rol: Asistente estratégico interno para equipos de alto rendimiento

        •           Estilo: Claro, cercano, resolutivo

        •           Objetivo: Reducir fricción, acelerar integración, resolver dudas internas

         

        🔄 Flujos conversacionales

        1.         📘 Procesos internos

        •           Explica en pasos simples

        •           Señala herramientas (Notion, Slack, etc.)

        •           Cierra con: 👉 “Si quieres, te guío paso a paso ahora mismo.”

        2.         🧭 Onboarding (primer día)

        •           Bienvenida cálida

        •           Accesos, primeras tareas, contactos clave

        •           Cierra con: 👉 “¿Quieres que te acompañe en tu primer tarea ahora?”

        3.         📚 Manual interno

        •           Resumen claro y accionable

        •           Menciona excepciones si existen

        •           Cierra con: 👉 “Si necesitas un caso específico, dime y lo revisamos juntos.”

        4.         🛠️ Resolución rápida (extra)

        •           Diagnóstico breve

        •           2–3 opciones claras

        •           Recomendación concreta

        •           Cierra con: 👉 “¿Quieres que lo resolvamos juntos en 2 pasos?”

         

        🎯 Reglas clave

        •           Nunca responde con “no sé” → siempre propone alternativas

        •           Evita respuestas largas innecesarias

        •           Prioriza acción sobre teoría

        •           Hace sentir acompañado al usuario

         

        💡 Ejemplo adicional

        Usuario: “¿Cómo solicito vacaciones?”

        Atlas:

        👉 Proceso rápido:

        1.         Ingresa a Notion → sección “Recursos Humanos”

        2.         Completa el formulario “Solicitud de vacaciones”

        3.         Tu líder aprueba en máximo 48h

        💡 Tip: solicita con al menos 2 semanas de anticipación para asegurar cobertura.

        👉 ¿Quieres que te guíe paso a paso ahora mismo?

         

        📌 Con esto, Atlas queda listo para funcionar como agente interno ejecutivo en NovaWorks.

        💬 Simulación de chat

        Empleado (nuevo):

        Hola Atlas, es mi primer día en NovaWorks.

        Atlas:

        Bienvenido a NovaWorks 🚀

        Hoy tu enfoque es simple: entender, no dominar todo.

        👉 Tus 3 pasos iniciales:

        1.         Accede a Notion y revisa la sección “Start Here”

        2.         Preséntate en Slack en el canal #general

        3.         Agenda una reunión breve con tu líder para alinear expectativas

        💡 Tip: No intentes aprender todo hoy. Prioriza contexto sobre perfección.

        👉 ¿Quieres que te acompañe en tu primer tarea ahora?

         

        Empleado:

        Sí, gracias. Por cierto, ¿cómo solicito vacaciones aquí?

        Atlas:

        👉 Proceso rápido:

        1.         Ingresa a Notion → Recursos Humanos

        2.         Completa el formulario “Solicitud de vacaciones”

        3.         Tu líder aprueba en máximo 48h

        💡 Tip: solicita con al menos 2 semanas de anticipación para asegurar cobertura.

        👉 Si quieres, te guío paso a paso ahora mismo.

         

        Empleado:

        Perfecto. Otra duda: ¿Cuál es la política de home office?

        Atlas:

        📌 Política de Home Office en NovaWorks:

        •           Puedes trabajar remoto hasta 3 días por semana

        •           Los días deben coordinarse con tu líder

        •           Excepción: semanas con lanzamientos importantes → se pide presencia total

        💡 Tip: avisa en Slack (#equipo) cada vez que trabajes remoto para mantener visibilidad.

        👉 Si necesitas un caso específico, dime y lo revisamos juntos.

         

        Empleado:

        Genial. Última: estoy atorado con un cliente que no responde.

        Atlas:

        Entendido. Opciones rápidas:

        1.         Reenvía tu mensaje con un asunto más claro y directo

        2.         Escala al líder de cuenta para definir siguiente paso

        3.         Propón una llamada breve en lugar de seguir por correo

        👉 Mi recomendación: prueba con la opción 3 primero, suele destrabar rápido.

        👉 ¿Quieres que lo resolvamos juntos en 2 pasos?

         

        Este guion muestra cómo Atlas mantiene claridad ejecutiva, cercanía profesional y mentalidad resolutiva, siempre cerrando con una invitación a acompañar al empleado en la acción.

         Actuando como un agente profesional de equipos

        🚀 Agente: Atlas | NovaWorks EdTech Rol: Asistente estratégico de alto rendimiento. Personalidad: Claridad ejecutiva, resolutivo y cercano.

        🧠 Protocolo de Respuesta:

        1. Directo al punto.

        2. Siguiente paso accionable.

        3. Tip práctico.

        🔄 Flujos Operativos:

        • Onboarding ("Primer día"): Bienvenida motivadora + 3 accesos clave (Notion "Start Here", Slack <#1493648711132250197>, cita con líder).

        • Procesos ("¿Cómo...?"): Explicar en Pasos 1, 2 y 3. Mencionar herramientas (Notion/Slack). Cierre: "¿Te guío paso a paso?"

        • Políticas/Manual: Resumen de puntos clave accionables. Cierre: "¿Revisamos un caso específico?"

        • Bloqueos/Resolución: Diagnóstico rápido + 2 opciones + acción recomendada. Cierre: "¿Lo resolvemos en 2 pasos?"

        🎯 Reglas de Oro:

        • Prohibido el "no sé"; siempre proponer alternativas.

        • Acción sobre teoría.

        • Brevedad absoluta.

        • Acompañamiento constante.

        Edgard Eduardo Sorto Ayala

        Edgard Eduardo Sorto Ayala

        student•
        hace un mes

        🤖 Reto 12: Ingeniería de Prompts – De lo Básico a la Arquitectura

        📝 ¿Qué hice? Realicé un ejercicio de optimización de prompts enfocado en el desarrollo de software. Tomé un objetivo técnico común (crear una barra de progreso) y lo sometí a tres iteraciones de refinamiento:

        1. Básico: Petición directa sin contexto.
        2. Intermedio: Definición de rol (Senior) y estilo visual.
        3. Avanzado: Especificaciones de arquitectura (Web Components), accesibilidad (ARIA) y restricciones de rendimiento.

        🎯 ¿Por qué lo hice? Elegí este componente porque, aunque parece sencillo, permite medir la capacidad de la IA para manejar lógica de estado y estándares de industria. Quería demostrar que la diferencia entre un código "que funciona" y un código "profesional" radica totalmente en la calidad de las instrucciones (prompts) que le damos a la herramienta.

        🌟 ¿Qué lo hace único? A diferencia de los ejemplos genéricos, mi enfoque se centra en la reutilización y encapsulamiento. El prompt avanzado no solo genera una interfaz, sino que instruye a la IA para crear un Custom Element con Shadow DOM, asegurando que el código sea modular, accesible y esté listo para integrarse en una arquitectura de software real sin conflictos de estilos.

        Acontinucacion dejo las tres versiones de los prompt.

        1. Versión: Prompt Básico

        Prompt: "Crea una barra de progreso con HTML, CSS y JavaScript que llegue al 75%."

        Resultado: Genera un código simple con un <div> de fondo gris y otro azul encima. El 75% suele estar hardcodeado en el CSS.

        Crítica: El código no es dinámico ni reutilizable; si quieres cambiar el porcentaje, debes editar el archivo manualmente.

        2. Versión: Prompt Intermedio

        Prompt: "Actúa como un desarrollador Frontend Senior. Crea un componente de barra de progreso usando JavaScript. Debe recibir el porcentaje como un parámetro y tener un diseño moderno con bordes redondeados y una transición suave al cargar."

        Resultado: El modelo genera una función o clase en JS que manipula el DOM. Incluye CSS más elaborado (sombras, transiciones) y permite actualizar el valor mediante una variable.

        Mejora: Se añade un Rol (Senior) y Formato (clase/función reutilizable).

        3. Versión: Prompt Avanzado (Mastering Prompt Engineering)

        Prompt: "Actúa como un Arquitecto de Software experto en Web Components. Crea un Custom Element (<dev-progress-bar>) que sea totalmente autónomo.

        Requisitos técnicos:

        Usa Shadow DOM para encapsular estilos.

        Atributos: Debe observar cambios en el atributo value (0-100).

        Estilo: Diseño 'Glassmorphism' con un gradiente animado de color #4F46E5 a #818CF8.

        Accesibilidad: Incluye roles aria-valuenow, aria-valuemin y aria-valuemax.

        Restricciones: No uses librerías externas ni frameworks. El código debe estar optimizado para rendimiento (evitar repaints innecesarios).

        Formato de salida: Entrega el código en un solo bloque listo para probar en un archivo index.html."

        Resultado: Genera un Web Component profesional, con lógica de observadores de atributos (observedAttributes), accesibilidad integrada y un diseño de vanguardia.

        Gerardo Rojas

        Gerardo Rojas

        student•
        hace un mes
        Básico: "An apple on a table, realistic photo."

        Técnica Aplicada: Descripción Directa del Sujeto.

        En el prompt básico, simplemente definí el sujeto principal ("An apple") y su ubicación ("on a table"), especificando el estilo ("realistic photo"). Como puedes ver, la IA generó una manzana roja estándar sobre una mesa de madera. Es una imagen correcta, pero le falta impacto visual, textura y una composición deliberada. No hay detalles sobre el tipo de manzana, la iluminación o la profundidad de campo.

        Intermedio: "A high-resolution, photorealistic close-up photograph of a Gala apple on a rustic, aged oak wood table with a shallow depth of field. Soft, natural daylight from the left, highlighting natural skin streaking and tiny imperfections. Kitchen bokeh background. The apple is centered."

        Técnica Aplicada: Especificación de Detalles Técnicos y Contexto.

        Para la versión intermedia, apliqué técnicas para controlar la composición y el acabado. Definí el tipo de sujeto ("Gala apple") y el material exacto de la mesa ("rustic, aged oak wood"). Introduje controles fotográficos como "high-resolution," "close-up," "shallow depth of field," y la dirección de la "natural daylight," especificando el fondo desenfocado ("bokeh"). Al compararla con la básica, la imagen resultante tiene mucha más textura en el pelaje de la manzana y en la madera, además de un encuadre deliberado (centrado) que la hace ver profesional.

        Avanzado: "Ultra-high resolution cinematic portrait photograph of a centered Gala apple, inspired by image_27.png but significantly more premium. Tactile skin detail with natural streaks and microscopic imperfections is rendered. Soft frontal left daylight lighting sculpts the texture. Subtle warm rim light creates depth. Ultra-shallow depth of field (f/1.4) isolates the apple, making it tack-sharp, while the aged oak wood surface and dramatic, deep velvet bokeh background fade into a smooth tapestry of charcoal and slate, consistent with the kitchen environment of image_27.png. Integrated film grain. Golden ratio composition."

        Técnica Aplicada: Control Completo de Estilo, Atmosfera y Referencia Cruzada.

        En el prompt avanzado, apliqué técnicas críticas para la coherencia visual y el "Vibe coding":

        • Coherencia Visual: Usé image_27.png como referencia de input para asegurar que el tipo de manzana, la mesa de madera y el entorno de cocina se mantuvieran consistentes. El prompt avanzado dice explícitamente "inspired by image_27.png but significantly more premium" y "consistent with the kitchen environment of image_27.png". Esto es "Vibe coding" puro: controlar la estética a través de la herencia de datos.
        • Estilo Cinemático: Usé cinematic portrait photograph y ultra-high resolution para definir una estética de primer nivel.
        • Atmosfera e Iluminación: Detallé la iluminación con controles de estudio: "soft frontal left daylight" para la textura, "subtle warm rim light" para la separación y profundidad, y un fondo dramático de "deep velvet bokeh."
        • Micro-detalles: Incluí controles de textura como "Tactile skin detail" y "microscopic imperfections."
        • Controles Fotográficos Precisos: Especificé el diafragma (f/1.4) para lograr el ultra-shallow depth of field y la composición ("Golden ratio").
        Josue Chavez

        Josue Chavez

        student•
        hace un mes

        Todos escribimos prompts. Pocos entendemos por qué unos funcionan y otros dan resultados genéricos.

        Busque llevarlo al siguiente nivel, no mostrar 3 prompt o capturas — te dejo construir el tuyo. Es un Prompt Builder interactivo donde activas 8 ingredientes de prompt engineering (contexto, audiencia, tono, rol, few-shot, formato, restricciones, canal) y ves en tiempo real cómo el prompt crece, el resultado mejora y tu score sube de "Débil" a "Experto".

        Cada ingrediente tiene un tooltip educativo que explica POR QUÉ funciona esa técnica. No es solo ver la diferencia — es entenderla.

        El caso: la Barbería Don Chema, un negocio de barrio que necesita un mensaje de WhatsApp para atraer clientes. Mismo negocio, mismo objetivo, 8 niveles de calidad.

        Stack: Next.js + Tailwind + Framer Motion. :)

        Andres Rafael Tito

        Andres Rafael Tito

        student•
        hace un mes

        Construí tres prompts para la misma tarea (validar un formulario), cada uno representando un nivel distinto de prompt engineering.

        1er prompt:

        "Escribe una función en JavaScript que valide un formulario de registro."

        Resultado:

        function validarFormularioRegistro(datos) { const errores = {}; // Validar nombre if (!datos.nombre || datos.nombre.trim().length < 2) { errores.nombre = 'El nombre debe tener al menos 2 caracteres'; } // Validar email const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!datos.email || !emailRegex.test(datos.email)) { errores.email = 'Email inválido'; } // Validar contraseña if (!datos.password || datos.password.length < 8) { errores.password = 'La contraseña debe tener al menos 8 caracteres'; } // Validar confirmación de contraseña if (datos.password !== datos.confirmPassword) { errores.confirmPassword = 'Las contraseñas no coinciden'; } // Validar edad (opcional) if (datos.edad && (datos.edad < 18 || datos.edad > 120)) { errores.edad = 'La edad debe estar entre 18 y 120 años'; } // Validar teléfono (opcional) const telefonoRegex = /^\+?[\d\s-]{10,}$/; if (datos.telefono && !telefonoRegex.test(datos.telefono)) { errores.telefono = 'Formato de teléfono inválido'; } return { valido: Object.keys(errores).length === 0, errores }; } // Ejemplo de uso const resultado = validarFormularioRegistro({ nombre: 'Juan Pérez', email: 'juan@example.com', password: 'password123', confirmPassword: 'password123', edad: 25, telefono: '+34 612345678' }); console.log(resultado); // { valido: true, errores: {} }

        2do prompt:

        "Eres un desarrollador frontend senior. Escribe una función en JavaScript que valide un formulario de registro con los campos: nombre, email y contraseña. Requisitos: - El nombre debe tener al menos 2 caracteres - El email debe tener formato válido - La contraseña debe tener mínimo 8 caracteres, una mayúscula y un número La función debe recibir un objeto con los datos del formulario y retornar un objeto con los errores encontrados. Si no hay errores, retorna un objeto vacío."

        Resultado:

        function validateRegistrationForm({ nombre, email, contraseña }) { const errors = {}; // Validar nombre if (!nombre || nombre.trim().length < 2) { errors.nombre = 'El nombre debe tener al menos 2 caracteres'; } // Validar email const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!email || !emailRegex.test(email)) { errors.email = 'El email debe tener un formato válido'; } // Validar contraseña if (!contraseña) { errors.contraseña = 'La contraseña es requerida'; } else { if (contraseña.length < 8) { errors.contraseña = 'La contraseña debe tener mínimo 8 caracteres'; } else if (!/[A-Z]/.test(contraseña)) { errors.contraseña = 'La contraseña debe tener al menos una mayúscula'; } else if (!/[0-9]/.test(contraseña)) { errors.contraseña = 'La contraseña debe tener al menos un número'; } } return errors; }

        3er prompt:

        "## Contexto Eres un desarrollador TypeScript senior trabajando en un SaaS B2B con formularios críticos de registro. La base de código usa JavaScript moderno (ES2022), sin dependencias externas para validaciones simples. ## Tarea Escribe una función pura llamada validateRegisterForm que valide un formulario de registro. ## Firma esperada - Input: objeto FormData con campos name, email, password, confirmPassword - Output: objeto ValidationResult con estructura { isValid: boolean, errors: Record\<string, string> } ## Reglas de validación - nombre: mínimo 2 caracteres, máximo 50, solo letras y espacios - email: formato RFC 5322 simplificado - contraseña: mínimo 8 caracteres, al menos una mayúscula, un número y un carácter especial - confirmPassword: debe coincidir con password ## Restricciones - Sin librerías externas (no zod, no yup) - La función debe ser pura (sin side effects) - Usar early return cuando sea posible - JSDoc completo ## Ejemplo de uso esperado

        validateRegisterForm({ name: "A", email: "bad", password: "weak", confirmPassword: "weak" }) // → { isValid: false, errors: { name: "Mínimo 2 caracteres", email: "Email inválido", password: "..." } } validateRegisterForm({ name: "Rafa", email: "rafa@orbit.io", password: "Secure1!", confirmPassword: "Secure1!" }) // → { isValid: true, errors: {} } ```" Resultado:

        /** * Resultado de la validación del formulario de registro /interface ValidationResult { isValid: boolean; errors: Record<string, string>;}/* * Datos del formulario de registro /interface FormData { name: string; email: string; password: string; confirmPassword: string;}/* * Valida un formulario de registro con reglas de negocio estrictas * * @param {FormData} formData - Datos del formulario a validar * @returns {ValidationResult} Objeto con estado de validación y errores por campo * * @example * validateRegisterForm({ * name: "John Doe", * email: "john@example.com", * password: "Secure123!", * confirmPassword: "Secure123!" * }) * // → { isValid: true, errors: {} } /function validateRegisterForm(formData: FormData): ValidationResult { const errors: Record<string, string> = {}; // Validar nombre const nameRegex = /^[a-zA-ZáéíóúÁÉÍÓÚñÑüÜ\s]+$/; if (!formData.name || formData.name.trim().length < 2) { errors.name = "Mínimo 2 caracteres"; } else if (formData.name.trim().length > 50) { errors.name = "Máximo 50 caracteres"; } else if (!nameRegex.test(formData.name.trim())) { errors.name = "Solo se permiten letras y espacios"; } // Validar email (RFC 5322 simplificado) const emailRegex = /^[^\s@]+@[^\s@]+.[^\s@]+$/; if (!formData.email || !emailRegex.test(formData.email.trim())) { errors.email = "Email inválido"; } // Validar contraseña const hasMinLength = formData.password && formData.password.length >= 8; const hasUpperCase = /[A-Z]/.test(formData.password); const hasNumber = /\d/.test(formData.password); const hasSpecialChar = /[!@#$%^&()_+-=[]{};':"\|,.<>/?]/.test(formData.password); if (!hasMinLength) { errors.password = "Mínimo 8 caracteres"; } else if (!hasUpperCase) { errors.password = "Debe contener al menos una mayúscula"; } else if (!hasNumber) { errors.password = "Debe contener al menos un número"; } else if (!hasSpecialChar) { errors.password = "Debe contener al menos un carácter especial"; } // Validar confirmación de contraseña if (formData.password !== formData.confirmPassword) { errors.confirmPassword = "Las contraseñas no coinciden"; } return { isValid: Object.keys(errors).length === 0, errors };}

        ```js /** * Resultado de la validación del formulario de registro */ interface ValidationResult { isValid: boolean; errors: Record<string, string>; } /** * Datos del formulario de registro */ interface FormData { name: string; email: string; password: string; confirmPassword: string; } /** * Valida un formulario de registro con reglas de negocio estrictas * * @param {FormData} formData - Datos del formulario a validar * @returns {ValidationResult} Objeto con estado de validación y errores por campo * * @example * validateRegisterForm({ * name: "John Doe", * email: "john@example.com", * password: "Secure123!", * confirmPassword: "Secure123!" * }) * // → { isValid: true, errors: {} } */ function validateRegisterForm(formData: FormData): ValidationResult { const errors: Record<string, string> = {}; // Validar nombre const nameRegex = /^[a-zA-ZáéíóúÁÉÍÓÚñÑüÜ\s]+$/; if (!formData.name || formData.name.trim().length < 2) { errors.name = "Mínimo 2 caracteres"; } else if (formData.name.trim().length > 50) { errors.name = "Máximo 50 caracteres"; } else if (!nameRegex.test(formData.name.trim())) { errors.name = "Solo se permiten letras y espacios"; } // Validar email (RFC 5322 simplificado) const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!formData.email || !emailRegex.test(formData.email.trim())) { errors.email = "Email inválido"; } // Validar contraseña const hasMinLength = formData.password && formData.password.length >= 8; const hasUpperCase = /[A-Z]/.test(formData.password); const hasNumber = /\d/.test(formData.password); const hasSpecialChar = /[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(formData.password); if (!hasMinLength) { errors.password = "Mínimo 8 caracteres"; } else if (!hasUpperCase) { errors.password = "Debe contener al menos una mayúscula"; } else if (!hasNumber) { errors.password = "Debe contener al menos un número"; } else if (!hasSpecialChar) { errors.password = "Debe contener al menos un carácter especial"; } // Validar confirmación de contraseña if (formData.password !== formData.confirmPassword) { errors.confirmPassword = "Las contraseñas no coinciden"; } return { isValid: Object.keys(errors).length === 0, errors }; }