Capítulo 3 · la única palanca que tienes sobre el modelo
El prompt es la única interfaz que tienes.
No puedes reentrenar el modelo ni leer sus pesos. Tú decides qué va en el espacio de sistema, si muestras ejemplos y si le entregas una plantilla.
# bare: the model decides length, tone, shape
client.responses.create(model="gpt-5.4-nano", input=QUESTION)
# guided: a system instruction pins the role and the rules
client.responses.create(
model="gpt-5.4-nano", instructions=SYSTEM, input=QUESTION,
)
Mismo modelo. La respuesta cambia por completo.
El rol es la parte barata. Las restricciones hacen el trabajo:
Los roles vagos se desvían. Las reglas específicas se sostienen.
# OpenAI: system prompt is a top-level argument
responses.create(instructions=SYSTEM, input=QUESTION)
# Gemini: system prompt hangs off the config
generate_content(
contents=QUESTION,
config=types.GenerateContentConfig(system_instruction=SYSTEM),
)
Mismo texto de prompt. Distinto punto de conexión.
Cada uno es una app web de docker compose up.
PROVIDER = os.environ.get("PROVIDER", "openai")
ai = importlib.import_module(f"ai_{PROVIDER}")
PROVIDER=gemini docker compose up --build cambia el SDK.
El texto del prompt es idéntico en ambos.
Sé específico en el system prompt. Muestra ejemplos cuando el formato importe. Entrégale una plantilla cuando necesites la misma forma cada vez. Todo lo más sofisticado está construido sobre estas tres cosas.