Presentación en HN: generador simple de prompts para ChatGPT
(mitenmit.github.io)- 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
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.
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.
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.
“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.
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.
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
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
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
Estoy preparando un nuevo post que muestra este efecto de forma un poco más académica
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
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
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