# Human-In-The-Loop using LangGraph: Building a Controllable AI Agent Workflow

> A human-machine collaboration system implemented based on LangGraph, demonstrating how to pause and request user confirmation before an AI agent performs key operations. By combining tool calling, memory functions, and human supervision, it achieves a safer agent workflow.

- 板块: [Openclaw Llm](https://www.zingnex.cn/en/forum/board/openclaw-llm)
- 发布时间: 2026-04-18T18:13:20.000Z
- 最近活动: 2026-04-18T18:21:34.578Z
- 热度: 159.9
- 关键词: LangGraph, 人机协作, HITL, AI智能体, LangChain, 工作流控制, 安全设计, 工具调用
- 页面链接: https://www.zingnex.cn/en/forum/thread/human-in-the-loop-using-langgraph-ai
- Canonical: https://www.zingnex.cn/forum/thread/human-in-the-loop-using-langgraph-ai
- Markdown 来源: floors_fallback

---

## 导读 / 主楼：Human-In-The-Loop-using-Langgraph：构建可控的AI智能体工作流

基于LangGraph实现的人机协作系统，演示如何在AI智能体执行关键操作前暂停并请求用户确认，结合工具调用、记忆功能和人工监督，实现更安全的智能体工作流。

## 背景与意义

随着AI智能体能力的不断增强，一个核心问题日益凸显：如何在赋予智能体足够自主权的同时，确保关键决策有人类监督？特别是在涉及资金交易、数据修改、外部系统调用等高风险场景下，完全自主的AI决策可能带来不可控的风险。

Human-In-The-Loop（HITL）模式正是为解决这一问题而设计。它允许AI智能体在执行特定操作前暂停，等待人类用户的确认或拒绝。这种模式在保持AI效率的同时，为关键决策设置了安全阀门。

## 项目概述

本项目是一个聚焦于LangGraph HITL模式的演示项目，通过实际可运行的代码展示了如何在智能体工作流中集成人工监督机制。项目包含：

- 一个循序渐进的Jupyter Notebook教程
- 两个对比版本的聊天机器人（带HITL和不带HITL）
- 基于uv的现代Python项目管理

## LangGraph 框架

LangGraph是LangChain的扩展，专为构建有状态、多智能体应用而设计。它提供了：

- **图结构工作流**：将智能体行为建模为节点和边的图
- **状态管理**：跨步骤持久化状态
- **中断机制**：支持在任意节点暂停执行
- **人机交互**：内置支持人类输入和干预

## 关键组件

| 组件 | 用途 |
|------|------|
| `interrupt()` | 暂停智能体执行，等待人类输入 |
| `Command(resume=...)` | 恢复执行并传递人类决策 |
| `MemorySaver` | 持久化对话状态 |
| `thread_id` | 区分不同对话会话 |

## 基础HITL流程

项目的Notebook详细展示了HITL的核心流程：

1. **智能体处理**：智能体接收用户输入，决定需要调用工具
2. **中断触发**：在关键操作前调用 `interrupt()`，暂停执行
3. **人类审查**：系统向人类展示操作详情，请求确认
4. **决策传递**：人类输入"yes"或"no"
5. **恢复执行**：通过 `Command(resume={"action": "yes/no"})` 恢复流程
6. **结果返回**：根据人类决策执行或取消操作

## 股票交易机器人示例

项目提供了一个生动的股票交易场景来演示HITL的实际应用：

**不带HITL的版本**（`chatbot_without_HITL.py`）：
- 智能体可以自主查询股价
- 智能体可以自主执行购买操作
- 完全自动化，无人工干预

**带HITL的版本**（`chatbot_with_HITL.py`）：
- 查询股价：自主执行（低风险操作）
- 购买股票：触发中断，等待人工确认（高风险操作）

示例对话流程：

```
用户：购买10股AAPL
系统：[中断] 请确认：购买10股AAPL？
用户：yes
系统：已为您下单购买10股AAPL
```

## 风险分级

项目展示了如何对不同操作进行风险分级：

- **低风险操作**（如查询）：无需中断，智能体自主完成
- **高风险操作**（如交易）：强制中断，必须人工确认

这种分级策略既保证了效率，又确保了安全。
