LangGraph Studio:首款智能体(agent)IDE

news2024/9/20 14:34:46

0 前言

LangGraph Studio 提供了一个专门的智能体IDE,用于可视化、交互和调试复杂的智能体应用程序。本文来了解如何在桌面使用。

LLM为新型智能体应用程序的发展铺平了道路——随这些应用程序演进,开发它们所需工具也必须不断改进。今天推出的 LangGraph Studio——首款专为Agent开发设计的IDE,现已开放测试版。

LangGraph Studio 提供一种开发 LLM 应用程序的新方式,专用于可视化、交互和调试复杂的智能体应用程序。

本文简要介绍 LangGraph,并探讨 LangGraph Studio 如何简化智能体应用程序的开发。

1 LangGraph: 平衡agent控制与自主性

2023年1月推出了 LangGraph,高度可控的低级编排框架,用于构建智能体应用程序。从那时起,我们看到团队为生产环境构建了更复杂的智能体应用程序;因此,我们大力投资于 LangGraph,并于今年6月推出稳定的 0.1 版本。

LangGraph 具有持久层,支持人类参与的互动,并且在构建需要高度特定领域认知架构的复杂应用程序(即不止一次调用大语言模型)方面表现出色。生产环境中看到的大多智能体都符合这描述。

LangGraph完全开源,提供 Python 和 Javascript 版本,与 LangChain 一起使用,也可独立使用,且与 LangSmith 无缝集成。

2 可视化并与智能体图形进行交互以快速迭代

虽然 LangGraph 提供开发智能体应用程序的新框架,但我们也坚信需要新工具简化开发过程。构建 LLM 应用程序不同于传统的软件开发,需要在传统代码编辑器之外的不同工具。

代码仍是开发 LLM 应用程序的重要组成部分——毕竟,生产级 LangGraph 应用程序的图中的节点和边缘中包含复杂的自定义逻辑。我们并不打算取代代码编辑器,而是增强 LangGraph 应用程序开发体验的工具。

LangGraph Studio 通过使智能体图形的可视化和交互变容易,即使开发主要在代码中进行。可视化图形可帮助开发人员理解其结构。此外,可在智能体执行过程中修改结果(或特定节点的底层逻辑)。这创建了一个迭代过程,让你可在特定时间点与状态进行交互和操作。

首先将一些核心功能带入智能体集成开发环境的世界。

3 咋用 LangGraph Studio

桌面应用程序,目前适用于 Apple Silicon。更多平台支持即将推出。

下载并打开 LangGraph Studio 后,系统会提示您使用 LangSmith 帐户登录。目前所有 LangSmith 用户(包括免费账户)在测试版期间均可使用 LangGraph Studio。您可以在此注册一个 LangSmith 帐户。

下载 LangSmith 后,可打开一个目录。至少,该目录需要包含一个定义了图形的 Python 文件。

接下来,要创建一个 langgraph.json 文件,其中包含智能体定义位置、要安装的依赖项以及要加载的环境变量等详细信息。此文件可以在 UI 中创建,也可以作为目录中的文件已经存在。有关满足这些要求的示例仓库,请参见此 GitHub 仓库。

打开目录后,将构建一个智能体运行的环境。构建完成后,应该会看到图形的可视化以及与智能体交互的框。

与智能体交互时,您将实时看到正在发生的步骤信息。可看到智能体决定调用哪些工具、调用这些工具,然后继续循环执行。

如果智能体偏离轨道,您可以随时中断它,或可中断智能体以使其进入“调试模式”,在图形的每一步之后暂停(这样可逐步浏览每个步骤)。

在任何时候,都可与智能体的\状态**进行交互。

如果对智能体在某个特定步骤的响应不满意,可直接修改响应,然后继续使用该新响应。这对于模拟如果智能体或工具返回不同结果会发生什么非常有用。

还可修改底层代码,然后重新运行该节点。LangGraph Studio 会检测到底层代码文件的更改,允许您在代码编辑器中更新提示词并在智能体响应不佳时重新运行节点。这使得迭代长时间运行的智能体变得更加容易。

4 结论

构建智能体应用程序不同于传统的软件开发。虽然代码编辑器仍然很重要,但也需要为智能体设计的新集成开发环境 (IDE)。LangGraph Studio 是朝这个方向迈出的一步,我们期待看到它如何提升工作流程。

参考:

  • 文档
  • YouTube视频演练
  • https://blog.langchain.dev/langgraph-studio-the-first-agent-ide/

注册 LangSmith,开始免费试用 LangGraph Studio吧!

关注我,紧跟本系列专栏文章,咱们下篇再续!

作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。

各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。

负责:

  • 中央/分销预订系统性能优化

  • 活动&券等营销中台建设

  • 交易平台及数据中台等架构和开发设计

  • 车联网核心平台-物联网连接平台、大数据平台架构设计及优化

  • LLM Agent应用开发

  • 区块链应用开发

  • 大数据开发挖掘经验

  • 推荐系统项目

    目前主攻市级软件项目设计、构建服务全社会的应用系统。 本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++(10)类语法分析(1)

C(10)之类语法分析(1) Author: Once Day Date: 2024年8月17日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 …

JavaFX布局-DialogPane

JavaFX布局-DialogPane 常用属性标题区域headerTextheader 内容区域contentTextcontent graphic按钮设置expandableContent 实现方式Java实现 一个特殊的布局容器,常用于弹出框,与Dialog配合一起使用包含标题区,内容区域,扩展区域…

Merkle树(Merkle Tree):高效地验证某个数据块是否包含在数据集中

目录 Merkle树(Merkle Tree) 一、基本结构 二、构建过程 三、主要作用 四、应用领域 Merkle树(Merkle Tree) Merkle树(Merkle Tree),也被称为默克尔树或Merkle哈希树,是一种基于哈希的数据结构,主要用于验证大规模数据集的完整性和一致性。它的名字来源于其发明…

【Unity教程】使用 Animation Rigging实现IK制作程序化的动画

在 Unity 开发中,为角色创建逼真且自适应的动画是提升游戏体验的关键。在本教程中,我们将结合 Animation Rigging 工具和 IK(Inverse Kinematics,反向运动学)插件来实现程序化的动画。 视频教程可以参考b战大佬的视频 …

不只是翻译,更是智慧碰撞!有道翻译与3大强敌的全方位较量

现在的科技牛得不行,翻译软件早就成了咱们学习、工作、生活里少不了的帮手。它们不光是把语言的墙给推倒了,还让咱们说话交流快多了。今儿个,咱们就一块儿瞧瞧2024年的翻译软件圈子,瞅瞅那几个最火的翻译工具,它们怎么…

生信软件30 - 快速单倍型分析工具merlin

Merlin可用于连锁分析或关联分析、IBD和亲缘关系估计、单倍型分析、错误检测和模拟。 1. merlin下载 下载地址: http://csg.sph.umich.edu/abecasis/merlin/download/ # linux版本 wget http://csg.sph.umich.edu/abecasis/merlin/download/Linux-merlin.tar.gz …

如何在本地和远程删除 Git 分支?

如何在本地和远程删除 Git 分支? 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人 擅长.n…

创新赛场的制胜法宝:如何让你的商业计划书脱颖而出

创新赛场的制胜法宝:如何让你的商业计划书脱颖而出 前言明确产品或服务的核心功能突出创新性用户需求和市场痛点具体示例和场景详细描述产品和服务的方法实例化产品与服务视觉辅助工具未来展望结语 前言 作为一名资深的项目负责人,我有幸参与了无数次创新…

React + Vite项目别名配置

Node版本:v20.16.0Vite版本:5.4.1 安装 types/node 依赖包 pnpm i types/node -D pnpm ls types/node配置 vite.config.js 文件: resolve: {alias: {"": join(__dirname, "./src/"),}, },使用配置好的别名 : 由上图我们…

考试:操作系统知识(02)

进程同步和互斥 临界资源:各进程间需要以互斥方式对其进行访问的资源。 临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码。 ◆互斥:某资源(即临界资源) 在同一时间内只能由一个任务单独使用,使用时需要加锁&…

kafka连接图形化工具(Offset Explorer和CMAK)

kafka连接图形化工具 1、Offset Explorer1.1、下载Offset Explorer1.2、安装Offset Explorer1.3、配置Offset Explorer连接kafka 2、CMAK(kafka的web管理后台)2.1、下载2.2、解压安装2.3、配置2.4、启动2.5、CMAK访问 1、Offset Explorer Offset Explor…

【数据结构】二叉树链式结构(c语言)(附源码)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、节点的定义 二、创建一棵二叉树 1. 创建新节点 2. 手动创建二叉树 三、方法的声明 四、方法的实现 1. 前、中、后序遍历 1.1 前…

libLZMA库iOS18平台编译

1.下载xz源码: 使用autogen.sh生成configure文件 2.生成makefile rm -rf ./build/iOS && mkdir -p ./build/iOS && cd ./build/iOS && ../../configure --host=arm-apple-darwin64 --prefix=`pwd`/Frameworks/lzma CC="xcrun -sdk iphoneos cl…

二十天刷leetcode【hot100】算法- day2[前端Typescript]

指针 6.三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的…

Maven项目中Allure和AspectJ的配置及测试执行(常见报错解决方法)

Maven项目中Allure和AspectJ的配置及测试执行 在自动化测试领域,Allure和AspectJ是两个非常有用的工具。Allure提供了丰富的测试报告,而AspectJ则允许我们以声明式的方式编写横切关注点,如日志记录、事务管理等。本文将指导您如何在Maven项目…

MySQL基础练习题47-判断三角形

目录 题目 准备数据 分析数据 方法一 :if函数 方法二:case when 题目 对每三个线段报告它们是否可以形成一个三角形。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Triangle (x int, y int, z int)## …

XSS-过滤特殊符号的正则绕过

靶场网址:https://xss.pwnfunction.com/ 题目源码: mafia (new URL(location).searchParams.get(mafia) || 11)mafia mafia.slice(0, 50)mafia mafia.replace(/[\\\"\\-\!\\\[\]]/gi, _)mafia mafia.replace(/alert/g, _)eval(mafia) 分析代码…

autojsUI界面分享 免责条款界面

个人简介 👨🏻‍💻个人主页:九黎aj 🏃🏻‍♂️幸福源自奋斗,平凡造就不凡 🌟如果文章对你有用,麻烦关注点赞收藏走一波,感谢支持! 🌱欢迎订阅我的…

计算机毕业设计选题推荐-springboot 基于SpringBoot的宠物爱心组织管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

网络编程,网络协议,UDP协议

网络: 1.协议:通信双方约定的一套标准 2.国际网络通信协议标准: 1.OSI协议: 应用层 发送的数据内容 表示层 数据是否加密 会话层 是否建立会话连接 传输层 …