Los agentes son aplicaciones que usan la IA generativa. La IA agentica se aleja de prompts individuales y en vez de eso define comportamientos consistentes (workflows) que se pueden reutilizar a través de aplicaciones y servicios.
Un agente en Foundry consta de:
- Modelo: el cerebro
- Instrucciones: system prompt que define su rol, comportamiento, estilo, constricciones y output
- Tools: acciones que el agente puede realizar
Los agentes pueden:
- Llamar external tools (APIs, funciones, retrieval) por su cuenta
- Estructurar tareas paso a paso
- Tener memoria de una conversación
- Procesar user input, decidir acciones y generar output estructurado
Crear un agente en Foundry
- Elegimos que modelo queremos usar
- Escribimos el system prompt
- Añadimos tools
- Añadimos knowledge
Add Tools
Las Tools en Foundry permiten a un modelo ejecutar acciones llamando a sistemas externos. Representan acciones ejecutables (navegar internet, query a BBDD, usar un MCP server)
- Code interpreter
- Custom APIs
En Foundry las tools forman la base de las acciones para los agentes. Se pueden configurar centralmente en el Foundry Tool Catalog
Add Knowledge
Knowledge permite a l modelo acceder a contenido externo (documentos, datasets, intranet) a través de RAG.
Knowledge en Foundry se refiere al contexto adicional que se da mediante un RAG al modelo para aumentar el contexto en el procesamiento.
Usar un agente programáticamente (Project API)
Se puede llamar un agente desde una app usando el Foundry Projects SDK para conectar al projecto y llamarlo mediante la Project API.
La Project API permite:
- Integrar agentes en web apps, bots o backend workflows
- orquestrar tareas multi-step
- Pasar input estructurado o calls de tools
- Ejecutar agentes a escala en Foundry
# Before running the sample, install the packages:
# pip install --pre azure-ai-projects>=2.0.0b1
# pip install azure-identity
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
myEndpoint = "https://<resource>.services.ai.azure.com/api/projects/<resource-name>"
project_client = AIProjectClient(
endpoint=myEndpoint,
credential=DefaultAzureCredential(),
)
myAgent = "learning-agent"
# Get an existing agent
agent = project_client.agents.get(agent_name=myAgent)
print(f"Retrieved agent: {agent.name}")
openai_client = project_client.get_openai_client()
# Reference the agent to get a response
response = openai_client.responses.create(
input=[{"role": "user", "content": "Tell me what you can help with."}],
extra_body={"agent": {"name": agent.name, "type": "agent_reference"}},
)
print(f"Response output: {response.output_text}")