Wiki de Agent Script
Toda la documentación oficial de Salesforce sobre Agent Script, reordenada para aprender y para consultar durante el trabajo. Explicaciones en español; sintaxis, palabras clave y ejemplos en el inglés original.
Fundamentos
Qué es Agent Script, cómo se escribe y qué significa cada símbolo.
Qué es Agent Script
El lenguaje con el que se define un agente de Agentforce: instrucciones, acciones, variables y lógica en un único fichero.
Características del lenguaje
Compilado, determinista y con razonamiento: las tres propiedades que definen Agent Script.
Glosario y tabla de símbolos
Todos los símbolos y palabras clave del lenguaje, con su significado.
Anatomía y flujo
Los bloques del lenguaje y el recorrido de una petición.
Anatomía de un agente: los bloques
system, config, access, variables, language, connection, start_agent y subagent.
Flujo de control: cómo se resuelve un turno
Del mensaje del usuario al prompt resuelto: qué se evalúa, en qué orden y cuándo interviene el LLM.
before_reasoning y after_reasoning
Lógica garantizada antes y después del bucle de razonamiento.
Referencia
Instrucciones, variables, acciones, tools, utils, expresiones y operadores.
Instrucciones: lógica (->) y prompt (|)
Las dos naturalezas de una instrucción y cómo se combinan dentro del bloque reasoning.
Variables
Tipos, valores por defecto, variables linked y de sistema, y listas.
Variables de lista
Colecciones, índices, len() e iteración sin bucle for.
Acciones y outputs
Ejecutar Apex, Flows y prompt templates de forma determinista con run.
Tools (acciones de razonamiento)
Funciones que el LLM puede decidir llamar, según su nombre, su descripción y el contexto.
Utils
transition to, setVariables, escalate y end_session.
Expresiones condicionales
if / else, agrupación con paréntesis y comprobación de nulos.
Operadores soportados
Comparación, lógicos y aritméticos.
Patrones
Las soluciones que Salesforce recomienda para problemas recurrentes.
Principios generales de diseño
Las cuatro reglas que Salesforce repite en toda la documentación de patrones.
Patrón: Agent Router
El bloque start_agent como punto de entrada, clasificador y guardia.
Patrón: Transiciones
Mover la ejecución entre subagentes, por decisión del LLM o por código.
Patrón: Condicionales
Controlar instrucciones, acciones y transiciones sin depender del modelo.
Patrón: Recuperar datos antes de razonar
Traer la información al principio de las instrucciones para que el prompt sea real.
Patrón: Encadenado y secuenciación de acciones
Garantizar el orden de varios pasos sin confiar en la memoria del modelo.
Patrón: available when como regla de negocio
Si algo no debe poder ocurrir, no lo dejes disponible.
Patrón: Flujo obligatorio
Garantizar que el usuario pasa por un paso antes de cualquier otra cosa.
Patrón: Workflows multi-turno con variable de paso
Secuencias largas donde cada respuesta decide el siguiente paso.
Patrón: Referenciar recursos en el prompt
Menciones @ y {llaves} para señalar variables, acciones y subagentes.
Patrón: Overrides de instrucciones de sistema
Evitar instrucciones contradictorias y cambiar de persona por subagente.
Modelos y operación
Elección de modelo, metadatos, despliegue entre orgs y pruebas.