1 puntos por GN⁺ 2024-02-02 | 1 comentarios | Compartir por WhatsApp
  • Es una página web sencilla para armar prompts de ChatGPT llenando espacios en blanco
  • La plantilla guía a ingresar, en orden, el rol, el resultado necesario, la forma de ejecución, las condiciones, la solicitud y el formato de salida final
  • La sección de ejemplo repite la misma estructura para mostrar la forma del prompt completado
  • Por ahora, el ejemplo real está vacío y solo aparece la indicación de “usar el builder para crear un prompt”
  • La función verificable no es una configuración compleja, sino más bien una plantilla de frases para un constructor de prompts

Composición de prompts basada en espacios en blanco

  • Bajo el título LLM Prompting, la página permite crear un prompt uniendo fragmentos de oración
  • El flujo de entrada está compuesto por los siguientes fragmentos:
    • Act like a ,
    • I need a ,
    • you will ,
    • in the process, you should ,
    • please ,
    • input the final result in a ,
    • here is an example:

Estado actual de lo mostrado

  • La misma estructura del prompt se repite también en la sección de ejemplo
  • El contenido real del ejemplo todavía no está completado
  • Al final aparece la indicación [Empty prompt, use the builder to create a prompt]
  • Por el contenido disponible, la función principal es una plantilla para generar prompts basada en espacios en blanco

1 comentarios

 
GN⁺ 2024-02-02
Opiniones de Hacker News
  • Me pregunto si hoy en día se siguen usando mucho los prompts personalizados.
    Antes me había metido de lleno en la ingeniería de prompts y en escribir prompts personalizados porque los resultados mejoraban muchísimo, pero con cada actualización cambiaba la forma de guiar eficazmente la atención de ChatGPT, así que se volvió cada vez más engorroso.
    Ahora uso a veces un ChatGPT personalizado, pero la mayor parte del tiempo uso el ChatGPT básico, y siento que la diferencia de calidad también se redujo.
    Los prompts largos hacen que el tiempo de respuesta aumente demasiado, así que terminé prefiriendo una respuesta suficientemente buena y rápida antes que una mejor pero lenta. En vez de intentar obtener una respuesta perfecta de una sola vez, me resulta más fácil hacer preguntas de seguimiento si falta algo.

    • Creo que ahora habría que verlo más como desarrollar intuición para los prompts que como “ingeniería de prompts”. La verdadera ingeniería de prompts, por ejemplo cosas como pruebas A/B con evaluación incluida, es sorprendentemente escasa, y muchas veces ni siquiera es la mentalidad adecuada.
      Hace falta desarrollar intuición sobre ChatGPT y pensar, casi como una teoría de la mente, qué necesita ChatGPT para funcionar mejor.
      A la mayoría le basta con saber editar prompts para usar bien ChatGPT. En la práctica eso es casi una función oculta, y todavía no se puede hacer en la app.
      También recomendaría un cóctel fuerte o cannabis, porque quizás estar sobrio no sea lo óptimo para aprender a interactuar con una IA, aunque esta última afirmación requiere un experimento controlado.
    • Me pasa lo mismo. Seguramente siguen haciendo fine-tuning del modelo con chats reales de usuarios, y por eso parece que cada vez entiende mejor incluso los prompts escritos a la rápida desde el celular.
    • Me resulta interesante que cuanto más larga sea la entrada, más lenta sea la respuesta. Yo no he notado ninguna caída de velocidad; me pregunto si será algo que pasa solo en el plan gratuito de ChatGPT.
    • Cancelé mi cuenta después de que hicieran imposible desactivar la función de acceso a Bing en ChatGPT4.
    • No creo que eso signifique haber estado profundamente involucrado en la “ingeniería de prompts”. Para mí, la ingeniería de prompts no fue, no es y no será un campo con entidad propia.
  • Para que esto sea realmente útil para alguien que recién entra en este campo, hacen falta varias cosas. Algunas ya están implementadas, lo cual está bien.
    Sería bueno ofrecer varias plantillas tanto para las instrucciones previas como para los prompts de posprocesamiento. Por ejemplo, prompts probados que hagan que la salida respete lo mejor posible un formato específico como JSON, listas o CSV restringido, o plantillas de entrada que eviten lo mejor posible jailbreaks básicos en el prompt principal.
    A alguien que está empezando le llevaría mucho tiempo aprender desde cero las mejores formas de preparación que ya descubrieron quienes trabajan con ChatGPT todos los días, o cómo evitar que la salida se descontrole inesperadamente; por eso, contar con plantillas confiables sería excelente para principiantes.

    • Las respuestas de API que necesitan JSON válido se pueden solicitar con modo JSON: https://platform.openai.com/docs/api-reference/chat/create#c...
    • Cuando quería recibir la respuesta como JSON válido, una instrucción fuerte como esta me funcionó bastante bien:
      “El resultado debe incluir todo el contenido y ser JSON válido. No te apartes de este formato bajo ninguna circunstancia. Todos los valores deben estar completos y no debe faltar ninguno. No agregues ningún texto aparte del resultado JSON.”
      Pedir simplemente JSON válido no siempre funcionaba como esperaba; por ejemplo, la API de GPT-4 a veces agregaba formato, así que terminé dando instrucciones cada vez más detalladas.
  • Puede que esté un poco sesgado porque ahora estoy muy metido en trabajos relacionados con ChatGPT y estoy creando una o dos apps por semana.
    Si el usuario objetivo previsto es alguien que no está familiarizado con los modelos de lenguaje grandes basados en prompts, entonces para esa persona ni el problema ni el espacio de soluciones están definidos con suficiente claridad.
    Por ejemplo, faltan opciones predefinidas y hay demasiado “defínelo tú mismo”. El significado de los selectores ofrecidos también es opaco, así que cuesta ver cómo algo como “you will Detect” ayudaría al usuario.
    Como resultado, no queda claro cómo las elecciones afectan la salida, y la herramienta se vuelve un problema del huevo y la gallina. Dice ayudar a entender el sistema, pero para usarla eficazmente hay que entender el sistema.
    A ese nivel, quizá sea más fácil pedirle directamente a ChatGPT que genere un prompt eficaz.

    • Supuse que el usuario objetivo conoce al menos un poco los modelos de lenguaje grandes basados en prompts y que necesita algo de orientación. Si es así, esto me parece un framework excelente y simple para mejorar sus habilidades.
    • Nunca he trabajado en un proyecto que dure menos de unos meses, así que me da curiosidad qué tipo de app se puede hacer en media semana. Me pregunto si tienes algún enlace para compartir.
  • Cuando hablamos con estos bots, ¿con quién estamos hablando exactamente?
    https://medium.com/@colin.fraser/who-are-we-talking-to-when-...
    Presentar esta tecnología como una interfaz de chat antropomorfizada, es decir, como si llevara un traje de persona, es una elección deliberada. Si tuviéramos una inteligencia artificial general encerrada ahí dentro, interactuar mediante una interfaz de chat podría parecer natural.
    Pero, a la inversa, es fácil pensar que una tecnología con la que interactuamos mediante una interfaz de chat debe ser una inteligencia artificial general. Cuando trabajas directamente con modelos de lenguaje grandes en Playground, el chat es solo una capa de humo y espejos que refuerza la ilusión de que hay un interlocutor.

    • GPT es, ante todo, un actor de improvisación. Fue entrenado para continuar el texto dado de la forma más natural posible, y por eso, cuando no sabe qué debería venir después, inventa algo plausible.
      Luego, este improvisador universal es entrenado para interpretar un rol específico: el de alguien que responde preguntas. Pero si se lo dejara responder cualquier pregunta, podría dar consejos dañinos, así que se lo entrena como un respondedor de preguntas que da consejos inocuos.
      Para hacer que el modelo trabaje, hay que saber qué rol debe interpretar. El rol de “persona que intenta responder preguntas” es flexible y permite personalizar más la respuesta.
      Es decir, la interfaz conversacional existe en parte porque es una UI autoexplicativa, y en parte para inducir al modelo a desempeñar un rol útil.
  • Esto no parece estar especialmente vinculado con ChatGPT. Es simplemente un formulario donde haces clic en bloques de texto para combinarlos, y creo que podría usarse con cualquier modelo de lenguaje grande.
    Creo que obsesionarse con un único modelo de lenguaje grande de un proveedor propietario específico no ayuda al avance de este campo

    • Correcto. Claramente no es exclusivo de ChatGPT, sino más bien un formulario para completar partes de una oración. Dicho eso, ChatGPT es uno de los nombres más reconocibles y parece producir mejor salidas en varios formatos.
      Este constructor de prompts se puede usar con cualquier modelo de lenguaje grande
  • Estaría bueno tener un análisis real de cómo cada función del prompt mejora la respuesta

    • Haciendo un poco de promoción, quizás exista una herramienta así :) https://github.com/agenta-ai/agenta
      Estamos creando una plataforma para evaluar prompts y flujos de trabajo más complejos con modelos de lenguaje grandes.
      Por lo que vemos en los usuarios, los resultados de los prompts son muy probabilísticos. Es difícil generalizar y, por ejemplo, un usuario que estaba creando una herramienta de asistencia de ventas descubrió que con solo cambiar el orden de las frases dentro del prompt la precisión aumentaba mucho
    • En una nota al pie de un post del blog del mes pasado escribí que poner en el prompt del sistema “si das una buena respuesta, te daré una propina de 500 dólares” mejora el rendimiento del modelo, y en Hacker News se enojaron mucho y lo llamaron pseudociencia: https://news.ycombinator.com/item?id=38782678
      Estoy preparando un nuevo post que muestra este efecto de forma un poco más académica
    • Lamentablemente, esto es extremadamente difícil por dos razones.
      Primero, el espacio de entrada es casi infinito. Puede haber entradas arbitrarias en lenguaje natural, fuentes de datos opcionales y casos de uso arbitrarios, así que antes de aplicarlo a un caso de uso real es muy difícil saber de antemano si una respuesta puede “mejorar”.
      Segundo, el espacio de salida también es difícil de medir. La utilidad puede definirse de forma distinta según la persona, y se vuelve aún más complejo especialmente cuando empiezas a crear resultados creativos con GPT más allá de “un mejor motor de búsqueda”
  • Nunca entendí qué significa “ingeniería de prompts”. Me pregunto si alguna vez fue más allá de “¿puedes describir de forma clara y precisa el problema que quieres resolver o la tarea que quieres realizar?”. Me parece una habilidad de comunicación básica.
    Nunca vi datos rigurosos que demuestren que un formato específico de prompt como “eres B, haces C y debes hacer D” sea mejor que otras instrucciones claras y concisas.
    Me sorprende que le hayan puesto un nombre nuevo a lo que antes llamábamos buena comunicación, aunque quizás el viejo estereotipo de que los ingenieros no saben escribir esté más cerca de la verdad

  • Me pregunto si el patrón de “actúa como...” todavía es necesario.
    Con GPT-4 ya dejé de usarlo. La “persona” predeterminada responde suficientemente bien a la mayoría de los prompts, y decir “actúa como un experto en...” no produce resultados notablemente mejores.
    La herramienta que realmente quisiera es una que permita probar y comparar de forma ligera pero efectiva varios prompts con pequeños cambios, para hacerse una idea de cuál funciona mejor. Me pregunto si alguien vio una buena herramienta de ese tipo

    • Me pregunto si quieres probar varios prompts contra un conjunto de preguntas. No encontré una herramienta exactamente para eso, y cuando comparé prompts usé un script corto para ejecutar repetidamente las preguntas y los prompts.
      Sería interesante crear una herramienta donde solo haya que agregar los prompts a probar, pero el primer reto que se me ocurre es crear el conjunto de preguntas que se usará.
      También me pregunto si por prueba de prompts te refieres a probar prompts de sistema contra un conjunto de preguntas, o a probar distintas formas de hacer la misma pregunta
    • Creo que ese patrón ya no es muy útil.
      Y voy a crear una herramienta así; cuando esté lista te mando un DM por Twitter
  • En general, parece que mientras más larga es la lista de instrucciones, menos probable es que ChatGPT siga cada una. Se siente como si la atención se dividiera: si solo dices “haz A”, hace A, pero si dices “haz A y también B”, hace ambas cosas, aunque cada una solo parcialmente.
    Mi mejor experiencia ha sido usar un prompt corto o de longitud media y luego ejemplos one-shot o few-shot. El few-shot es especialmente bueno cuando quieres que haga varias cosas al mismo tiempo