Las citas confiables ayudan a los lectores a confiar en las respuestas y a verificar su exactitud. Esta guía explica cómo preparar material que se pueda citar y cómo indicarle al modelo que dé formato a las citas con patrones que los modelos de OpenAI ya conocen.
Descripción general
Un sistema de citas consta de varias partes. Tú decides qué se puede citar, presentas ese material con claridad, le indicas al modelo cómo citarlo y validas el resultado antes de mostrárselo al usuario.
Esta guía abarca cinco elementos que intervienen directamente en la interacción con el modelo:
Unidades citables: define qué puede citar el modelo.
Representación del material: presenta el material de origen en un formato claro y estructurado.
Formato de las citas: especifica el formato exacto que debe usar el modelo para las citas.
Instrucciones del prompt: indícale al modelo cuándo citar y cómo hacerlo correctamente.
Análisis de las citas: extrae las citas de la respuesta del modelo para usarlas en etapas posteriores.
Elegir las unidades citables
Antes de escribir los prompts, define con claridad qué puede citar el modelo. Estas son algunas opciones habituales:
Unidad citable
Cuándo conviene usarla
Desventaja
Ejemplo
Documento
Solo necesitas indicar de qué documento proviene la respuesta.
Ofrece poca precisión.
Cita todo el manual del empleado si solo necesitas indicar qué documento respalda la afirmación.
Bloque o fragmento
Buscas un equilibrio entre simplicidad y precisión.
No identifica las líneas exactas.
Cita el párrafo específico del contrato o el fragmento recuperado que contiene la cláusula.
Rango de líneas
Necesitas mostrar el texto exacto que respalda la afirmación.
Al modelo le cuesta más citar con esta precisión.
Cita las líneas L42-L47 cuando el usuario necesite verificar el pasaje exacto.
Una buena unidad citable debe cumplir estos criterios:
Identificación estable: una misma fuente debe conservar el mismo ID en cada ejecución.
Facilidad de revisión: cualquier persona debe poder leerla y entender el contexto que la rodea.
Tamaño adecuado: debe ser lo bastante extensa para que se entienda y lo bastante breve para que la cita sea precisa.
En la mayoría de los sistemas, citar por bloque es la mejor opción predeterminada. Para el modelo suele ser más fácil que citar por línea, y para los usuarios resulta más útil que citar el documento completo.
Representar el material citable
El modelo no puede citar material que no se le haya presentado con claridad. Tanto si el material proviene de una herramienta como si lo insertas directamente, asegúrate de que incluya lo siguiente:
ID de fuente estable: un identificador que se mantenga constante, como file1 o block1.
Texto legible: material de origen con un formato claro.
Metadatos (opcionales): URL, marcas de tiempo, títulos y otros datos de contexto similares.
Citation Marker: {CITATION_START}cite{CITATION_DELIMITER}file0{CITATION_STOP}Title: Employee HandbookURL: https://company.example/handbookUpdated: 2026-03-01[L1] Employees may work remotely up to three days per week.[L2] Additional remote days require manager approval.[L3] Exceptions may apply for approved accommodations.
ID de fuente y localizadores: un ID de fuente es un identificador estable que genera el modelo, como block1. Un localizador indica el fragmento exacto que la interfaz resalta, como lines L8-L13 o
Paragraph 21. Por lo general, el modelo debe devolver el ID de fuente y tu sistema debe resolver o mostrar el localizador. Combinar ambos demasiado pronto suele provocar más errores de formato.
Definir el formato de las citas
Define el formato de las citas que generará el modelo. Usa un formato explícito y uniforme que el modelo pueda reproducir de manera confiable.
A continuación se muestran el formato y los marcadores de cita que recomendamos. Recomendamos especialmente estos marcadores porque son muy similares a los que se usaron para entrenar nuestros modelos. Si eliges otros valores para los marcadores, procura que el formato general de las citas sea lo más parecido posible al recomendado.
Elemento
Función
Valor recomendado
CITATION_START
Abre el marcador de cita.
\ue200
Familia de citas
Identifica el tipo de cita. Usa cite para todas las fuentes admitidas.
cite
CITATION_DELIMITER
Separa los campos dentro del marcador.
\ue202
ID de fuente
Identifica la unidad citada. turn# indica el número de turno. item# identifica el archivo, el bloque o la URL que se cita.
turn0file1, turn0block1, turn0url1
Localizador (opcional)
Delimita el fragmento exacto que se cita.
L8-L13
CITATION_STOP
Cierra el marcador de cita.
\ue201
En las llamadas a herramientas, turnN aumenta una vez por llamada, independientemente de cuántos resultados devuelva. Dentro de una misma llamada, las fuentes se distinguen por sufijos como file0, file1, etc. En un sistema que genera una sola respuesta, todas las referencias tendrán la forma
turn0… solo si el modelo hace exactamente una llamada a una herramienta antes de responder. Si hace varias llamadas, puedes ver referencias como turn0fileX, turn1fileX, etc.
Para lograr la mayor precisión posible, usa patrones de cita que el modelo conozca. Los formatos personalizados o poco familiares exigen más esfuerzo al modelo, lo que puede provocar errores en las citas, sobre todo en estos casos:
Cuando el esfuerzo de razonamiento es bajo, el modelo dispone de menos recursos para corregir errores de formato.
En tareas de alta complejidad, el modelo dedica la mayor parte de su presupuesto de razonamiento a resolver la tarea en sí y le queda poco margen para corregir la sintaxis de las citas.
El formato de cita que recomendamos a continuación se asemeja a los patrones que el modelo ya conoce. Puedes usarlo tal como está o adaptarlo a tu sistema.
Si quieres redactar tu propio prompt, especifica lo siguiente:
La sintaxis exacta de los marcadores.
Dónde colocar las citas.
Cuándo citar y cuándo omitir las citas.
Cómo citar varias fuentes que respaldan una afirmación.
Qué formatos están prohibidos.
Qué hacer si no hay material que respalde una afirmación.
Dale instrucciones claras al modelo con el siguiente formato:
## CitasLa herramienta “tool_1” devuelve los resultados. Cada mensaje de `tool_1` se denomina “fuente”. Su ID de referencia corresponde a la primera coincidencia con el patrón 【turn\d+\w+\d+】 (por ejemplo, 【turn2file1】). En este ejemplo, la cadena “turn2file1” sería el ID de referencia de la fuente.Las citas hacen referencia a las fuentes de `tool_1`. Una cita puede remitir a una o varias fuentes.Para citar una sola fuente, usa el formato {CITATION_START}cite{CITATION_DELIMITER}turn\d+\w+\d+{CITATION_STOP} (por ejemplo, {CITATION_START}cite{CITATION_DELIMITER}turn2file5{CITATION_STOP}).Para citar varias fuentes, incluye sus ID en un solo marcador con el formato {CITATION_START}cite{CITATION_DELIMITER}turn\d+\w+\d+{CITATION_DELIMITER}turn\d+\w+\d+{CITATION_DELIMITER}...{CITATION_STOP} (por ejemplo, {CITATION_START}cite{CITATION_DELIMITER}turn2file5{CITATION_DELIMITER}turn2file1{CITATION_DELIMITER}...{CITATION_STOP}).En Markdown, coloca las citas fuera del texto en negrita o cursiva y fuera de los bloques de código para que se muestren correctamente. Coloca la cita en una línea distinta de la que cierra el bloque de código.NO escribas literalmente en la respuesta ningún ID de referencia que siga el patrón turn\d+\w+\d+ sin colocarlo entre los delimitadores de {CITATION_START}...{CITATION_STOP}.- Coloca las citas al final del párrafo o, si el párrafo es largo, dentro del texto, salvo que el usuario indique dónde colocarlas.- Coloca las citas después del signo de puntuación.- No agrupes todas las citas al final de la respuesta.- No dejes una línea o un párrafo que contenga únicamente citas.
Si quieres que el modelo también genere localizadores, como rangos de líneas (L1-L22), indícalo en el prompt de esta manera:
Si usas un resultado de esta herramienta, *debes* citarlo con el formato`\ue200cite\ue202turn0file0\ue202L8-L13\ue201` SOLO si ese resultado tiene el marcador de cita correspondiente.
No intentes citar elementos que carezcan de un marcador de cita, ya que no están pensados para citarse.
DEBES incluir los rangos de líneas en tus citas.
Si necesitas mejorar la calidad del anclaje de las respuestas, suele ser conveniente incluir las siguientes reglas. Adapta esta sección a los requisitos de tu caso de uso.
12345678910111213<extra_considerations_for_citations>- **Pertinencia:** incluye solo resultados de búsqueda y citas que respalden el pasaje de la respuesta al que se refieren. Citar fuentes irrelevantes perjudica de forma permanente la confianza del usuario.- **Diversidad:** basa tu respuesta en fuentes de distintos dominios y cita las que uses.- **Confiabilidad:** para ofrecer una respuesta creíble, usa fuentes de dominios de alta calidad. Descarta la información de dominios de menor reputación, salvo que sean la única fuente disponible.- **Fidelidad a la fuente:** cada cita debe reflejar con exactitud el contenido de la fuente. No interpretes su contenido de manera selectiva.Recuerda que la calidad de un dominio o de una fuente depende del contexto.- Cuando existan varios puntos de vista, cita fuentes que abarquen todo el espectro de opiniones para ofrecer una respuesta equilibrada y completa.- Cuando las fuentes confiables discrepen, cita al menos una fuente de alta calidad por cada postura principal.- Asegúrate de que más de la mitad de las citas provengan de publicaciones ampliamente reconocidas como autoridades en el tema.- En temas controvertidos, cita al menos una fuente confiable por cada postura principal, de modo que todas queden representadas.- No descartes el contenido de una fuente pertinente solo porque sea de baja calidad.</extra_considerations_for_citations>
Analizar las citas
Una vez que el modelo genera las citas, debes extraerlas del texto de la respuesta para poder resolver los ID de fuente, mostrar enlaces o quitar los marcadores sin procesar antes de mostrarles la respuesta a los usuarios.
Puedes copiar directamente en tu aplicación la función auxiliar que se muestra a continuación. Analiza citas de una o varias fuentes y localizadores opcionales de rangos de líneas. Al hacerlo, conserva las posiciones de los caracteres en el texto original.
Este ejemplo solo admite localizadores de líneas. Si tu sistema usa otro formato de localizador, adapta el ejemplo.
Si tus ID de fuente tienen otro formato, actualiza SOURCE_ID_RE para que coincida con el de tu sistema.
Ejemplos
Los siguientes ejemplos muestran dos patrones habituales de cita:
Contexto recuperado con una herramienta: la herramienta devuelve material citable y sus ID.
Contexto insertado: proporcionas los bloques citables directamente en el prompt.
Dar formato a las citas de contexto recuperado con una herramienta
Usa este patrón cuando el modelo recupere contexto mediante una herramienta y lo cite en su respuesta.
Definir las unidades citables
Elige las unidades citables según el grado de precisión que requiera tu caso de uso. Los siguientes ejemplos muestran algunos resultados que podría devolver una herramienta.
Estos ejemplos ilustran algunos formatos de salida recomendados. La herramienta puede variar según la aplicación. Lo más importante es que presente los resultados con una estructura clara y estable, como en estos ejemplos.
Este es un ejemplo del resultado de una llamada a la herramienta:
Citation Marker: {CITATION_START}cite{CITATION_DELIMITER}turn0file0{CITATION_STOP}[L1] The service agreement states that termination for convenience requires thirty (30) days’ written notice, unless superseded by a customer-specific addendum.[L2] In practice, renewal terms auto-extend for successive one-year periods when no written non-renewal notice is received before the deadline.[L3] Appendix B further clarifies that pricing exceptions must be approved in writing by both Finance and the account owner.Citation Marker: {CITATION_START}cite{CITATION_DELIMITER}turn0file1{CITATION_STOP}...
En este ejemplo, turn0file0 es el ID estable de la fuente. Los números de línea son los localizadores.
Este es un ejemplo del resultado de una llamada a la herramienta:
Citation Marker: {CITATION_START}cite{CITATION_DELIMITER}turn0file0{CITATION_STOP}[Block1]The service agreement states that termination for convenience requires thirty (30) days’ written notice, unless superseded by a customer-specific addendum.In practice, renewal terms auto-extend for successive one-year periods when no written non-renewal notice is received before the deadline.Appendix B further clarifies that pricing exceptions must be approved in writing by both Finance and the account owner.Citation Marker: {CITATION_START}cite{CITATION_DELIMITER}turn0file1{CITATION_STOP}[Block2]...
Si quieres citar por bloque en vez de por línea, te recomendamos asignar a cada bloque recuperado su propio ID de fuente estable y seguir citándolo con el mismo formato de dos campos, por ejemplo, {CITATION_START}cite{CITATION_DELIMITER}turn0file0{CITATION_STOP}. Así evitas tener que definir una familia de citas completamente distinta.
Redactar las instrucciones del prompt
## CitasLa herramienta “tool_1” devuelve los resultados. Cada mensaje de `tool_1` se denomina “fuente”. Su ID de referencia corresponde a la primera coincidencia con el patrón `turn\\d+file\\d+` (por ejemplo, `turn0file0` o `turn2file1`). En este ejemplo, la cadena `turn0file0` sería el ID de referencia de la fuente.Las citas hacen referencia a las fuentes de `tool_1`. Puedes citar una o varias fuentes.Para citar una sola fuente, usa este formato:{CITATION_START}cite{CITATION_DELIMITER}turn\d+file\d+{CITATION_STOP}Si se admiten citas por línea, usa este formato para citar un rango de líneas específico:{CITATION_START}cite{CITATION_DELIMITER}turn\d+file\d+{CITATION_DELIMITER}L\d+-L\d+{CITATION_STOP}Para citar varias fuentes, genera un marcador de cita distinto para cada fuente que respalde la afirmación.NO escribas literalmente en el texto de la respuesta ID de referencia como `turn0file0` sin colocarlos entre los delimitadores de {CITATION_START}...{CITATION_STOP}.- Coloca las citas al final de la oración que respaldan. Si la oración es larga y contiene varias afirmaciones respaldadas por fuentes, puedes colocar cada cita junto a la afirmación correspondiente.- Coloca las citas después del signo de puntuación.- Cita solo las fuentes recuperadas que respalden directamente el texto citado.- Nunca inventes ID de fuente, rangos de líneas ni localizadores de bloque que la herramienta no haya devuelto.- Si varias fuentes recuperadas aportan respaldo sustancial a una afirmación, cítalas todas.- Si las fuentes recuperadas discrepan, cita las fuentes en cuestión y describe con precisión en qué discrepan.
Ejemplo de salida:
The on-call handoff process is documented in the weekly support sync notes. \ue200cite\ue202turn0file0\ue202L8-L13\ue201
Dar formato a las citas de contexto insertado
Usa este patrón cuando recuperes o prepares el contexto de antemano y lo insertes directamente en el prompt.
Definir las unidades citables
Una práctica habitual al insertar contexto es delimitar los fragmentos de las fuentes con etiquetas explícitas que tengan ID de referencia estables.
12345678910<BLOCK id="block1">The service agreement states that termination for convenience requires thirty (30) days’ written notice, unless superseded by a customer-specific addendum.In practice, renewal terms auto-extend for successive one-year periods when no written non-renewal notice is received before the deadline.Appendix B further clarifies that pricing exceptions must be approved in writing by both Finance and the account owner.</BLOCK><BLOCK id="block2">Syllabus</BLOCK>...
Así, el modelo puede identificar con claridad la unidad citable y hacer referencia a ella con facilidad.
Redactar las instrucciones del prompt
## CitasEl prompt incluye directamente el contexto de apoyo en forma de unidades citables. Cada unidad se identifica por el valor de su atributo `id` en la primera aparición de una etiqueta como `<BLOCK id="block5"> ... </BLOCK>`. En este ejemplo, `block5` sería el ID de referencia de la fuente.Como este patrón no requiere llamadas a herramientas, no hay un contador de turnos de herramienta que incrementar. Por eso, no necesitas usar el prefijo `turn#` en el marcador de cita. Puedes conservar ID con el formato `turn0block5` si el resto de tu sistema lo usa, o usar ID simples como `block5`, tal como se muestra aquí. El ID que incluyas en el marcador de cita siempre debe coincidir exactamente con el ID del contexto insertado.Las citas hacen referencia a las unidades citables proporcionadas. Puedes citar una o varias fuentes.Para citar una sola fuente, usa este formato:{CITATION_START}cite{CITATION_DELIMITER}<block_id>{CITATION_STOP}Por ejemplo:{CITATION_START}cite{CITATION_DELIMITER}block5{CITATION_STOP}Para citar varias fuentes, genera un marcador de cita distinto para cada bloque que respalde la afirmación.NO escribas literalmente los ID de bloque en el texto de la respuesta sin colocarlos entre los delimitadores de {CITATION_START}...{CITATION_STOP}.- Coloca las citas al final de la oración que respaldan. Si la oración es larga y contiene varias afirmaciones respaldadas por fuentes, puedes colocar cada cita junto a la afirmación correspondiente.- Coloca las citas después del signo de puntuación.- Cita solo los bloques que aparezcan en el contexto proporcionado.- Nunca inventes ID de bloque.- Nunca cites conocimientos ni autoridades ajenos al contexto proporcionado.- Si varios bloques aportan respaldo sustancial a una afirmación, cítalos todos.- Si los bloques proporcionados se contradicen, cita los bloques en cuestión y describe con precisión la contradicción.
Ejemplo de salida:
The Court held that the District Court lacked personal jurisdiction over the petitioner. \ue200cite\ue202block5\ue201