人机协同:用 interrupt 把控制权交给你

发布时间:2026/10/22 20:56:09

人机协同:用 interrupt 把控制权交给你 个人主页 for_ever_love__ 欢迎各位大佬莅临其他栏目: 大模型开发从0到1 其他栏目: iOS项目总结大全 其他栏目: 我想学python了 其他栏目: iOS UI 文章目录人机协同用 interrupt 把控制权交给你一、在节点里调用 interrupt二、第一次跑图停在中断处三、人给答复用 Command 恢复四、为什么比「在外面 if 判断」好人机协同用 interrupt 把控制权交给你很多 Agent 场景不能让模型「自己一路跑到黑」发邮件前要确认、执行删除前要授权、关键决策要人拍板。LangGraph 用interrupt中断机制让图在某个节点暂停、把控制权交还给调用方等人给出答复后再继续。一、在节点里调用 interruptfromlanggraph.typesimportinterrupt,Commandfromlanggraph.graphimportStateGraph,START,END,MessagesStatefromlanggraph.checkpoint.memoryimportMemorySaverfromlangchain_core.messagesimportHumanMessage,AIMessagedefhuman_review(state:MessagesState):# 运行到这里会暂停把问题抛给外部decisioninterrupt({question:确定要发送这封邮件吗})return{messages:[AIMessage(contentf人类决定{decision})]}graphStateGraph(MessagesState)graph.add_node(human_review,human_review)graph.add_edge(START,human_review)graph.add_edge(human_review,END)appgraph.compile(checkpointerMemorySaver())cfg{configurable:{thread_id:h-1}}二、第一次跑图停在中断处app.invoke({messages:[HumanMessage(content发邮件给老板)]},cfg)# 图在这里暂停human_review 还没返回此时app.get_state(cfg).next会是(human_review,)表示正卡在这个节点。三、人给答复用 Command 恢复app.invoke(Command(resume确认发送),cfg)# human_review 里的 interrupt 收到 确认发送节点继续执行Command(resume...)把人输入的值塞回interrupt的返回值节点从这行往下跑完图正常结束。四、为什么比「在外面 if 判断」好把「等待人」做成图里的一个节点有几个实在好处状态被 Checkpointer 完整保存重启后还能 resume暂停点清晰可追溯多个中断点可以同时存在于不同分支。它把「人机交互」从脚本外的胶水代码变成图的一等公民。典型用法敏感操作前interrupt要授权、生成结果后interrupt让人审核、工具调用前interrupt让人改参数。让人在最关键的地方点一下比全自动驾驶稳得多。
延伸阅读

更多相关文章

2026/10/22 20:56:09

Checkpointer 基础:把图的状态存下来

个人主页&#xff1a;> for_ever_love__ <&#xff08;欢迎各位大佬莅临&#x1f60a;&#xff09; 其他栏目: > 大模型开发从0到1 < 其他栏目: > iOS项目总结大全 < 其他栏目: > 我想学python了 < 其他栏目: > iOS UI < 文章目录Checkpointer 基…

2026/10/22 20:56:09

多轮对话:用持久化记住历史

个人主页&#xff1a;> for_ever_love__ <&#xff08;欢迎各位大佬莅临&#x1f60a;&#xff09; 其他栏目: > 大模型开发从0到1 < 其他栏目: > iOS项目总结大全 < 其他栏目: > 我想学python了 < 其他栏目: > iOS UI < 文章目录多轮对话&#…

2026/10/22 22:22:01

Python装饰器深度梳理:闭包、functools.wraps与异步陷阱详解

1. 为什么我在1.24这天重新梳理装饰器1.24这天&#xff0c;我没有急着学新东西&#xff0c;而是把琢磨了大半年的装饰器重新拉出来复盘了一遍。起因是前两天给同事review代码&#xff0c;看到一段cache的用法&#xff0c;我随口说了一句“这装饰器就是函数外面套函数”&#xf…

2026/10/22 22:22:01

从极简标题rea反推响应式数据流项目全貌与实战

1. 从“rea”这个标题说起&#xff1a;一个极简命名背后的完整项目思维第一次看到“rea”这个标题的时候&#xff0c;我脑子里蹦出来的第一反应是——这大概率是个缩写&#xff0c;而且是一个被刻意压缩到极致的缩写。做项目做久了你会发现&#xff0c;越是资深的开发者&#x…

2026/10/22 22:22:01

从零散记录到知识管理:搭建高效学习笔记体系的完整指南

很多人都有过这样的体验&#xff1a;翻开之前记的笔记本&#xff0c;满页密密麻麻的字&#xff0c;却想不起来当初为什么要记这些&#xff1b;或者收藏了一堆资料&#xff0c;真到用的时候却发现找不到、看不懂。1月24号那天&#xff0c;我在整理自己的学习笔记时&#xff0c;突…

2026/10/22 22:22:01

自动化输入脚本实战:从零搭建稳定高效的文本录入工具

去年年底我拿到一个特别烦人的任务&#xff1a;每天要把几十条业务单据录进一套老旧的台账系统&#xff0c;每条五六个字段&#xff0c;点完鼠标点键盘&#xff0c;重复劳动到脑子发木。后来我花了一晚上写了这套自动化输入脚本&#xff0c;项目代号就叫“冰狐”。它做的事情非…

2026/10/22 22:22:01

对话式AI记忆管理实战:claude-mem设计与实现

1. 项目缘起与核心定位第一次看到“claude-mem”这个命名&#xff0c;我的直觉是&#xff1a;这应该是一个围绕对话记忆管理的工具或中间件。拆开来看&#xff0c;“claude”指向的是对话式AI的交互场景&#xff0c;“mem”则是memory的缩写&#xff0c;合在一起就是“为对话式…

2026/10/22 22:17:00

Android命令行工具9477386拆包实录:不装IDE玩转SDK与APK分析

简介&#xff1a;这份资源是面向 Linux 平台的 Android 命令行工具包&#xff0c;适合不想安装完整 Android Studio、又需要构建与调试 Android 应用的开发者&#xff0c;尤其是习惯命令行工作流的中高级用户。压缩包共 101 个文件&#xff0c;以 91 个 jar 库为核心&#xff0…

2026/10/22 11:29:28

金融AI落地指南:从调研报告到技术选型与工程实践

简介&#xff1a;这份PDF报告聚焦2025年金融服务业中国AI现状与趋势&#xff0c;面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者&#xff0c;帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件&#xff0c;大小约1…

2026/10/22 0:01:49

电商智能运营体系从0到1:架构设计、落地步骤与避坑指南

前两年我们团队接了一个电商平台的运营中台项目&#xff0c;目标很直白&#xff1a;把过去靠运营拍脑袋做的选品、定价、发券、推活动这些事&#xff0c;逐步用数据算法和自动化流程代替。项目名字内部就叫“电商智能运营体系”。最近有不少朋友问我当时是怎么设计的、踩过哪些…

2026/10/22 0:01:49

若依框架AI代码生成不稳定?用Agent Skill三层结构+五步法搞定

最近一段时间&#xff0c;我一直想把后台管理系统里那些机械重复的增删改查代码交给AI去写。框架用的是若依&#xff0c;按理说这类业务代码模式非常固定&#xff0c;应该是AI最擅长的事情。可真试下来却不是那么回事——你让AI生成一个用户管理模块&#xff0c;它给出的Contro…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑