---
layout: default
---
# Middleware: Limitar Historial (Trim)
```typescript
import { RemoveMessage } from "@langchain/core/messages";
import { createAgent, createMiddleware } from "langchain";
import { MemorySaver, REMOVE_ALL_MESSAGES } from "@langchain/langgraph";
const trimMessages = createMiddleware({
name: "TrimMessages",
beforeModel: (state) => {
const messages = state.messages;
if (messages.length <= 5) return; // No recortar si hay pocos
// Mantener primer mensaje + Ășltimos 4
const firstMsg = messages[0];
const recentMsgs = messages.slice(-4);
const newMessages = [firstMsg, ...recentMsgs];
return {
messages: [
new RemoveMessage({ id: REMOVE_ALL_MESSAGES }),
...newMessages,
],
};
},
});
const agent = createAgent({
model: "mistral:mistral-large-latest",
tools: [],
middleware: [trimMessages],
checkpointer: new MemorySaver(),
});
```