Saltar al contenido principal

Capítulo 3: Agentes y uso de herramientas

¿Qué son los agentes LLM?​

LLMs que pueden planificar, usar herramientas y tomar acciones de forma autónoma.

Patrón ReAct​

Razonamiento + Acción:

Thought: I need to find the current weather
Action: search("weather in Paris")
Observation: It's 15°C and sunny
Thought: Now I can answer the user
Answer: The weather in Paris is 15°C and sunny

Implementación del uso de herramientas​

tools = [
{
"name": "web_search",
"description": "Search the web",
"parameters": {"query": "string"}
},
{
"name": "calculator",
"description": "Perform calculations",
"parameters": {"expression": "string"}
}
]

def agent_loop(query, tools, max_iterations=5):
messages = [{"role": "user", "content": query}]

for _ in range(max_iterations):
response = llm.generate(messages, tools=tools)

if response.tool_calls:
for call in response.tool_calls:
result = execute_tool(call)
messages.append({"role": "tool", "content": result})
else:
return response.content

Frameworks de agentes​

FrameworkCaracterísticas
LangChainChains, agentes, memoria
AutoGPTBúsqueda autónoma de objetivos
CrewAIColaboración multiagente

Consideraciones de seguridad​

  • Limitar los permisos de las herramientas
  • Aprobación humana para las acciones
  • Ejecución en entorno aislado (sandboxed)
  • Condiciones de parada claras