Files
curso-langchain/slides/pages/agents/22.md
T
2026-05-29 11:50:55 +02:00

977 B

layout
layout
default

Human-in-the-Loop

```typescript
import { createAgent, humanInTheLoopMiddleware } from "langchain";
import { Command, MemorySaver } from "@langchain/langgraph";

const agent = createAgent({
  model: "gpt-4.1",
  tools: [sendEmailTool, deleteRecordTool],
  checkpointer: new MemorySaver(),
  middleware: [
    humanInTheLoopMiddleware({
      interruptOn: {
        send_email: { allowedDecisions: ["approve", "edit", "reject"] },
        delete_record: { allowedDecisions: ["approve", "reject"] },
      },
    }),
  ],
});
```
```typescript
const config = { configurable: { thread_id: "thread-1" } };

// Se pausa antes de ejecutar tools sensibles
let result = await agent.invoke({ messages: [...] }, config);

// Aprobar y continuar
result = await agent.invoke(
  new Command({ resume: { decisions: [{ type: "approve" }] } }),
  config
);
```