AI Agent
文章平均质量分 85
AI Agent Technologies
Dontla
Life is short, I use AI.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
(LangGraph教程)6. Deployment部署——Lesson 5:Assistants助手(未索引)
例如,我需要一个用于个人任务的助手,另一个用于工作事务的助手。对我而言,是能够为不同类别的任务分别维护待办事项列表。下方更新后的代码先创建一个备用助手,然后将其删除。类似地,我们也可以为我的个人助手添加待办事项。让我们为我的工作助手添加一些待办事项。这是我将用来管理个人任务的个人助手。例如,我们可以删除不再使用的助手。应用中,助手的实际用例是什么?这是我们部署图时创建的默认助手。让我们更新此助手,为其添加我的。现在,让我们创建一个工作助手。我将用它来处理我的工作任务。助手将保存至我们部署中的。原创 2026-09-30 15:05:44 · 76 阅读 · 0 评论 -
(LangGraph教程)6. Deployment部署——Lesson 4:Double Texting重复发送消息(未索引)
We can see我们可以看到所有方法均已汇总。原创 2026-09-30 15:01:32 · 79 阅读 · 0 评论 -
(LangGraph教程)6. Deployment部署——Lesson 3:连接已部署的服务(未索引)
我们的部署包含一个 PostgreSQL 数据库,用于存储这些长期(跨线程)内存。将 token 流式传输回客户端,在处理可能耗时较长的生产环境智能体时尤为有用。这将保留现有线程的历史记录,同时允许我们创建独立运行,且不会影响原始线程。在我们的部署中,可通过 LangGraph SDK 使用多种方法。如果我们希望等待运行完成,使其变为阻塞式运行,该怎么办?后台运行和轮询在处理长时间运行的智能体时非常有用。这确保在当前线程上的运行完成前,不会启动新的运行。,服务器支持我们讨论过的全部人工介入循环功能。原创 2026-09-30 14:59:13 · 94 阅读 · 0 评论 -
(LangGraph教程)6. Deployment部署——Lesson 1(2):创建部署(未索引)
创建并运行 LangGraph 服务器容器,并传入 Redis 和 PostgreSQL 的 URI。如果你已有正在运行的 Redis 和 PostgreSQL(例如,在本地或其他服务器上),则可。Docker 镜像是 Docker 容器的模板,其中包含运行应用所需的代码和依赖项。该操作会将我们的图及其依赖项打包进一个 Docker 镜像。是用于创建 LangGraph 平台部署的命令行接口。,并添加以下环境变量,即可运行已部署的。让我们为我们在模块 5 中创建的。,我们将按几个步骤操作。原创 2026-09-30 14:57:09 · 63 阅读 · 0 评论 -
(LangGraph教程)5. Long-Term Memory长期记忆——Lesson 5:构建具有长期记忆的智能体(未索引)
我们添加一个简单路由器,用于对是否保存记忆作出二元决策。Trustcallin the内存集合的更新仍由节点中的Trustcall处理,与之前一致!原创 2026-09-30 14:44:09 · 95 阅读 · 0 评论 -
(LangGraph教程)5. Long-Term Memory长期记忆——Lesson 4:Memory Schema+Collection记忆结构与记忆集合(未索引)
我们不会将用户信息存储在固定的档案结构中,而是创建一个灵活的集合模式,用于存储关于用户交互的记忆。content每条记忆将作为独立条目存储,仅含一个content字段,用于保存我们希望记住的主要信息。该方法使我们能够构建一个开放式的记忆集合,随着对用户的了解不断加深而持续扩展与演进。Pydanticobject.我们可以将集合模式定义为一个Pydantic对象。chat model我们可以使用 LangChain 的聊天模型chat model接口的 with_structured_output。原创 2026-09-30 14:37:27 · 65 阅读 · 0 评论 -
(LangGraph教程)5. Long-Term Memory长期记忆——Lesson 3:Memory Schema + Profile记忆结构与用户档案(未索引)
PydanticPython 提供了多种用于结构化数据的类型,例如 TypedDict、字典、JSON 和Pydantic。让我们首先使用 TypedDict 来定义用户档案模式。原创 2026-09-30 14:33:29 · 78 阅读 · 0 评论 -
(LangGraph教程)5. Long-Term Memory长期记忆——Lesson 1(2):LangGraph Store记忆存储(未索引)
The提供了一种在 LangGraph 中跨线程存储与检索信息的方式。This is ankey-valuestores.这是一个开源基类,用于持久化的键值(key-value)存储。Store向Store中存储对象(例如记忆)时,我们需要提供:Thenamespace对象的命名空间(namespace),为一个元组(类似于目录结构)the objectkey对象的键(key)(类似于文件名)the objectvalue对象的值(value)(类似于文件内容)We use theput。原创 2026-09-30 14:29:04 · 87 阅读 · 0 评论 -
(LangGraph教程)4. Building Your Assistant——Lesson 4:Research Assistant研究助手(未索引)
然而,研究需要定制化:原始 LLM 输出往往难以直接适用于现实世界的决策工作流。接下来,我们将整合这些理念,以应对人工智能领域最受欢迎的应用之一:研究自动化。此处,我们运行访谈流程,并传入一篇与主题相关的 llama3.1 论文索引。最后,我们将创建用于保存完整访谈内容以及撰写访谈摘要(即“章节”)的节点。我们的目标是围绕聊天模型构建一个轻量级的多智能体系统,以定制研究流程。现在,我们创建用于网络和维基百科搜索的节点。我们还将创建一个用于回答分析师问题的节点。工作流是解决此问题的一种有前景的方法。原创 2026-09-30 01:00:57 · 126 阅读 · 0 评论 -
(LangGraph教程)4. Building Your Assistant——Lesson 3:Map-Reduce映射-归约(未索引)
自录制这些视频以来,我们已更新 Studio,使其支持本地运行并通过浏览器访问。为构建这一多智能体助手,我们已陆续介绍了若干 LangGraph 可控性主题。我们正在构建一个多功能智能体研究助手,该助手将整合本课程所有模块的内容。—— 将一项任务拆分为若干更小的子任务,并对每个子任务进行并行处理。推荐采用此方式运行 Studio,而非视频中演示的桌面应用。—— 汇总所有已完成的并行化子任务的结果。现在,我们只需定义一个用于生成笑话的节点。使用其自身的内部状态,而我们可通过。原创 2026-09-30 00:59:26 · 42 阅读 · 0 评论 -
(LangGraph教程)4. Building Your Assistant——Lesson 2:Sub-graphs子图(未索引)
我们可以为每个子图简单地创建一个输出状态结构,并确保该输出状态结构包含不同的键,以便作为输出发布。这对多智能体系统尤其有用——例如由多个智能体组成的团队,每个智能体都拥有自己的状态。我们正在构建一个多功能智能体研究助手,该助手将本课程所有模块整合在一起。我们刚刚学习了并行化,这是 LangGraph 可控性的一个重要主题。子图允许你在图的不同部分创建和管理不同的状态。由于并行子图返回相同的键,因此需要一个类似。我们来定义将输入到图中的日志的结构。的归约器,以合并各子图传入的值。以下是问题摘要子图,它使用。原创 2026-09-30 00:57:32 · 181 阅读 · 0 评论 -
(LangGraph教程)4. Building Your Assistant——Lesson 1:Parallel node execution并行节点执行(未索引)
使用扇出时,若多个步骤向同一通道 / 键写入数据,则必须确保使用归约器(reducer)。自录制这些视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。(多代理)工作流,并最终构建一个整合本课程所有模块功能的多代理研究助手。不过,我们可以使用自定义归约器来自定义此行为(例如对状态更新进行排序)。这是运行 Studio 的首选方式,而非视频中展示的桌面应用程序。我们来构建一个简单的线性图,使其在每一步都覆写状态。然而,在每一步内部,我们无法精确控制状态更新的顺序!原创 2026-09-30 00:55:55 · 87 阅读 · 0 评论 -
(LangGraph教程)3. UX and Human-in-the-Loop——Lesson 5:Time travel时间旅行(未索引)
随后,我们展示了如何基于人工审批继续执行,或直接利用人工反馈编辑图状态。现在,当我们进行流式输出(stream)时,图知道该检查点尚未被执行过。——我们可以中断代理运行,将当前状态呈现给用户,并允许用户接受某项操作。我们展示了断点如何在特定节点处暂停图的执行,或让图动态地自行中断。我们可以看到,代理的当前状态已更新为我们的分叉结果。让我们运行代理,并对每个节点调用后的图状态流式输出。因此,要覆盖该消息,我们只需提供其消息 ID,即。现在,我们可以看到当前状态已是代理运行的最终状态。原创 2026-09-30 00:50:54 · 147 阅读 · 0 评论 -
(LangGraph教程)3. UX and Human-in-the-Loop-——Lesson 4:Dynamic breakpoints动态断点(未索引)
自录制这些视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。我们介绍了断点作为一种通用机制,用于在特定步骤处停止图的执行,从而支持。——我们可以中断代理执行,将当前状态呈现给用户,并允许用户接受某项操作。(1)您可以有条件地触发中断(即在节点内部、基于开发者定义的逻辑)这是运行 Studio 的首选方式,而非视频中展示的桌面应用。让我们使用一个长度超过 5 个字符的输入来运行该图。除非状态被修改,否则我们将一直卡在此处。我们可以尝试从该断点恢复图的执行。但这样只会重新运行同一个节点!原创 2026-09-30 00:48:24 · 229 阅读 · 0 评论 -
(LangGraph教程)3. UX and Human-in-the-Loop-——Lesson 3:Editing graph state编辑图状态(未索引)
自录制这些视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。我们设置一个检查点器(checkpointer),以保存图在此节点之前的状态。中添加断点,但 API 的一个非常实用的功能是:我们可以直接传入断点!我们已演示断点如何支持用户审批,但尚不清楚图被中断后如何修改图状态!我们用它来中断图,并在执行下一个节点前等待用户审批。现在,让我们演示如何直接编辑图状态并插入人工反馈。我们将在代理中添加一个节点,作为人工反馈的占位符。因此,显然我们可以在断点之后编辑代理状态。原创 2026-09-30 00:46:12 · 169 阅读 · 0 评论 -
(LangGraph教程)3. UX and Human-in-the-Loop-——Lesson 2:Breakpoints断点(未索引)
自录制本视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。为清晰起见,LangGraph 将重新发出当前状态,该状态包含带有工具调用的。我们看到工具节点使用该工具调用执行,并将结果传回聊天模型以生成最终答案。现在,让我们将上述内容整合起来,加入一个接受用户输入的具体人工审批步骤。——我们可以中断代理执行,将当前状态呈现给用户,并允许用户批准某项操作。随后,它将继续执行图中的后续步骤,这些步骤以工具节点为起点。(人在回路中),我们通常希望在图运行时实时查看其输出。原创 2026-09-30 00:44:21 · 235 阅读 · 0 评论 -
(LangGraph教程)3. UX and Human-in-the-Loop——Lesson 1: Streaming流式传输(未索引)
做好铺垫,我们将首先深入流式传输,它提供了多种方式来可视化图执行过程中的输出(例如节点状态或聊天模型生成的 token)。让我们复用模块 2 中构建的聊天机器人,并演示在图执行过程中流式传输输出的多种方式。我们构建了一个具备外部内存的聊天机器人,可支持长时间运行的对话。特别是,在调用聊天模型时,常需流式传输其逐个生成的 token。这是运行 Studio 的首选方式,而非视频中展示的桌面应用。模式流式传输,因此仅能看到图中每个节点运行后状态的更新。在模块 2 中,我们介绍了几种自定义图状态和内存的方法。原创 2026-09-30 00:24:21 · 300 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 6:Chatbot聊天机器人消息总结与外部记忆(外部数据库)(未索引)
我们已介绍如何自定义图状态模式(state schema)与规约器(reducer)。我们还展示了多种用于修剪或过滤图状态中消息的技巧。我们已在具备记忆功能的聊天机器人中应用了这些概念,该机器人可生成对话的持续摘要。这叫“滚动摘要”或“持续摘要”。原创 2026-09-30 00:23:35 · 243 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 5:Chatbot聊天机器人消息总结与记忆(记忆功能,消息摘要,上下文压缩)
我们已介绍如何自定义图状态模式(schema)和规约器(reducer)。我们还展示了多种在图状态中裁剪或过滤消息的方法。模型虽然看不到已经删除的旧消息,但能够通过摘要了解之前聊过什么。旧摘要 + 新消息 → 新摘要所以它是一种“滚动摘要”。消息超过 6 条才生成摘要,避免每轮对话都额外调用一次 LLM。LLM 摘要并不是无损压缩。忘记细节;日期或数字出错;误解用户意图;错误内容被不断继承。所以订单号、金额、权限、用户明确偏好等重要数据,不应该只存进自然语言摘要。原创 2026-09-27 15:09:33 · 400 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 4: Filtering and trimming messages 消息过滤与消息裁剪(消息删除,控制上下文长度)
(未索引)原创 2026-09-27 13:43:31 · 355 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 3:Multiple Schemas(划分“外部输入、内部工作状态、节点间临时数据、最终输出”,使接口更干净更易维护
多种 Schema 是在给 LangGraph 划分“外部输入、内部工作状态、节点间临时数据、最终输出”,从而让工作流接口更干净、更安全,也更容易维护和扩展。接收单一 Schema,且所有节点均需按该 Schema 进行通信。有些数据只在中间计算过程中使用,不应该出现在图的最终输入或输出中。这适用于图中间工作逻辑所需、但与整体图输入或输出无关的任何内容。此外,该单一 Schema 包含图的输入与输出键(即通道)。当图使用多种 Schema 时,这一点尤为重要。首先,我们仅用单一 Schema 运行该图。原创 2026-09-26 16:21:11 · 324 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 2: State Reducers(状态归约器)解决多节点并行时合并状态冲突,聚合多个agent输出,归约函数
为应对这类情况,我们还可以定义自定义归约器。None例如,我们定义一个自定义归约逻辑,用于合并列表,并处理任一或两个输入均为None的情形。Args:Returns:"""left = []right = []Innode_1在node_1中,我们追加数值 2。# Logic# Add# Viewtry:e } ")e } ")现在,尝试使用我们的自定义归约器。我们可以看到,没有抛出任何错误。原创 2026-09-25 14:45:21 · 267 阅读 · 0 评论 -
(LangGraph教程)2. State and Memory——Lesson 1: State Schema(状态模式、状态结构、TypedDict、dataclass、Pydantic)
这节课是在比较 LangGraph 状态的三种定义方法:TypedDict 最轻量,dataclass 更面向对象,Pydantic 能进行运行时数据验证。图中所有节点共同读取和修改的数据。你会注意到一个略显奇怪的现象:在每个节点中,我们仍返回一个字典来执行状态更新。这是可行的,因为 LangGraph 将状态对象的每个键单独存储。如模块 1 所述,我们在每个节点中覆写指定键(即“通道”)的值。由于我们的状态是一个字典,只需传入一个字典即可为状态中的。同时,我们可以将每个状态键视作图中的一个“通道”。原创 2026-09-25 12:05:22 · 247 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 8: Deployment(可选)(好像没啥用,还得开会员)
中文:目前,LangSmith Deployment 仅向 LangSmith Plus 套餐用户开放。自录制本系列视频以来,我们已更新 Studio,使其现在可本地运行,并可通过浏览器访问。接下来,我们将介绍如何将智能体实际部署到本地 Studio 和。这是运行 Studio 的首选方式,而非视频中演示的桌面应用。我们可通过 LangSmith 部署至云服务,具体步骤详见。若要在本笔记本中使用 SDK,请确保已设置。要在本地启动开发服务器,请在本模块的。,即在图每一步执行后,输出完整状态值。原创 2026-09-23 14:24:28 · 259 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 7: Agent with Memory(checkpoint记忆功能、自动保存并恢复Agent的运行状态、检查点)
这一内置持久化层为我们提供了记忆能力,使 LangGraph 能够从上一次状态更新处继续执行。自录制这些视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。这是运行 Studio 的首选方式,而非视频中展示的桌面应用。我们只需在编译图时传入一个检查点器,该图便具备了记忆能力!当然,这限制了我们开展含中断的多轮对话的能力。现在,我们将通过引入记忆来扩展我们的代理。,它是一个用于图状态的内存内键值存储。让我们像之前一样运行我们的代理。将用于存储我们的一组图状态。原创 2026-09-22 17:10:37 · 105 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 6: Agent(ReAct理念:将ToolMessage重新传回模型)
在上述路由器中,我们调用了模型;若模型选择调用工具,则向用户返回一个。让我们创建 LLM,并通过提示词设定其整体期望的智能体行为。模型便可选择:(1)调用另一个工具,或(2)直接响应。现在,我们可以将该结构扩展为一种通用的智能体架构。我们可在 LangSmith 中查看追踪记录。这一通用智能体架构背后的核心直觉。是否调用工具,将流程路由至。,并基于工具列表定义一个。节点即绑定了工具的模型。可应用于多种类型的工具。我们构建了一个路由器。我们将日志记录到项目。与之前一样,我们使用。,从而构成一个循环。原创 2026-09-22 16:44:02 · 154 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 5: Router(路由器)
(2)添加一条条件边,用于检查聊天模型的输出,并据此路由至工具调用节点;这是一个智能体(agent)的简单示例,其中 LLM 通过调用工具或直接响应来主导控制流。我们可以将此视为一个路由器,其中聊天模型根据用户输入,在直接响应与工具调用之间进行路由。自录制这些视频以来,我们已更新 Studio,使其现在可本地运行并通过浏览器访问。这是运行 Studio 的首选方式,而非视频中展示的桌面应用。打开浏览器,导航至上方所示的 Studio 用户界面。现在,我们可以看到该图成功运行了工具!原创 2026-09-22 16:27:33 · 207 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 4: Chain(tool call机制、Reducers归约器)
这些类型分别代表来自用户的消息、来自聊天模型的消息、用于指示聊天模型行为的系统消息,以及来自工具调用的消息。当大语言模型(LLM)判断输入或任务需要某个工具所提供的功能时,它会选择使用该工具。当我们把某个 API(例如)作为工具绑定时,便使模型知晓了所需的输入模式。该工具调用具有与函数输入模式匹配的具体参数,以及待调用函数的名称。真正的执行发生在你的程序里,比如 LangGraph 的。它只是知道这些工具的接口,然后产生结构化的“调用请求”。我们可以加载一个聊天模型,并用我们的消息列表调用它。原创 2026-09-22 16:24:08 · 165 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 3: LangSmith Studio
注意不要重复登录,登录一次然后点击左边的。原创 2026-09-22 16:20:32 · 188 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 2: Simple Graph(State状态、Nodes节点、Edges边(普通边、条件边)、图的构建、图的调用)
状态(State)模式作为图中所有节点(Nodes)和边(Edges)的输入模式。条件边以函数形式实现,该函数根据某些逻辑返回下一个要访问的节点。每个节点函数接收当前状态,并返回一个新值,该值将覆盖图状态。我们来构建一个包含 3 个节点和一条条件边的简单图。第一个位置参数是上文定义的状态(state)。,它将用户输入发送至图中,以指明图的起始位置。类作为我们的模式,它为键提供类型提示。现在,我们基于上文定义的组件来构建图。它返回所有节点执行完毕后的图最终状态。,用于设置图状态字典的初始值。原创 2026-09-22 15:41:18 · 234 阅读 · 0 评论 -
(LangGraph教程)1. Introduction——Lesson 1: Motivation(LangGraph FAQ)
https://academy.langchain.com/courses/intro-to-langgraphhttps://github.com/shangxiang0907/langchain-academy中文:第1课:动机中文:LangGraph 常见问题中文:LangGraph 与 LangSmith Deployment 有何不同?LangGraph is a stateful, orchestration framework that brings added control to agen原创 2026-09-22 15:38:19 · 271 阅读 · 0 评论 -
LangGraph的checkpoint记忆功能有啥用?(自动保存并恢复Agent的运行状态)(检查点、checkpoint.memory、MemorySaver)
所以在你的 JobCopilot 这种项目里就会非常典型。这才是它比普通 chat history 更重要的地方。但 checkpoint 真正有用的地方,是。checkpoint 会保存整个 state。自动帮你把之前的消息整合起来,再发给大模型。这两个其实是两套不同的问题。原创 2026-09-20 14:44:29 · 236 阅读 · 0 评论 -
Codex无法粘贴图片(arboard分片等待时间过小导致超时)问题修复(INCR分片:Incremental Transfer(增量传输)无法粘贴彩色图片Failed to paste image
只有把 Wayland、X11 selection、MIME 转换、INCR/BIG-REQUESTS 和消费库逐层拆开,才能找到真正需要修改的那一行。在 X11 协议(X Window System)的上下文中,INCR 是 Incremental Transfer(增量传输)机制的缩写。这也解释了为什么故障看似与颜色和大小有关:PNG 越大,INCR 分片越多,撞上一次。这条错误很容易让人怀疑图片分辨率、颜色数量、PNG 大小,甚至会话上下文长度。但它不是稳定的字节阈值,同一张图也可能偶发成功。原创 2026-09-02 00:16:58 · 428 阅读 · 0 评论 -
手机远程连接WSL2中的Codex CLI:Tailscale私有网络+Termius+OpenSSH+tmux实战(CodexCli)
去掉 ChatGPT Desktop 中转:手机直接通过 SSH 控制本地开发环境,响应更直接,也不会因为中转对话额外消耗 token。避免暴露公网端口:Tailscale 提供设备间的私有网络连接。避免断线丢会话:Codex CLI 运行在 tmux 中,手机和电脑可以在同一个终端状态之间切换。最终体验接近“把电脑上的 Codex CLI 装进手机”:手机只负责显示和输入,代码、依赖、密钥和算力仍留在自己的 WSL2 环境中。原创 2026-09-01 02:39:15 · 1126 阅读 · 0 评论 -
(LangGraph教程)0. Welcome to the course!(安装、配置、 LangSmith、Tavily)
欢迎来到 LangChain Academy 的 LangGraph 入门课程!本课程分为六个模块,从基础知识开始,逐步深入到更高级的主题。每个模块都包含讲解关键概念的视频课程,以及与之对应的笔记本。原创 2026-08-27 04:27:55 · 291 阅读 · 0 评论 -
VSCode终端中Codex CLI按Ctrl+V无法粘贴图片(被VSCode截获)(keybindings.json、workbench.action.terminal.sendSequence)
此前,我已经解决了 Windows 与 WSLg(WSL Ubuntu) 之间的图片剪贴板格式问题:后台桥接服务会把 Wayland 中的image/bmp转换为 X11CLIPBOARD中的image/png。在独立的 Git Bash 终端里运行 Codex CLI 后,按Ctrl+V已经能够附加图片。奇怪的是,把同样的 Codex CLI 放到 VS Code 的 WSL 集成终端里运行,Ctrl+V又失效了:既没有出现[Image #1],也没有任何报错,输入框看起来完全没有变化。原创 2026-08-25 01:43:23 · 945 阅读 · 0 评论 -
WSL2 Codex图片粘贴问题(无法粘贴Codex粘贴图片)WSLg、Wayland剪贴板、X11剪贴板、xclip、ImageMagick、wl-paste、wl-clipboard、XFixes
Codex CLI 明明提示可以按Ctrl+V问题最终不是 Codex 不支持图片,也不是 Windows 剪贴板为空,更不是关闭了 WSL 的。Windows 截图剪贴板││ WSLg 同步▼││ Codex 所用 Linux 剪贴板后端在本环境中读取不到这个表示▼X11 CLIPBOARD: 缺少 Codex 能取得的 image/png手工执行下面这条命令后,Codex 立刻能显示[Image #1]原创 2026-08-24 20:56:22 · 683 阅读 · 0 评论 -
分布式追踪(Distributed Tracing)Nested Span(嵌套跨度)介绍(OpenAI wrapper、LLM 可观测性(Observability))
在和LLM 可观测性(Observability)的语境下,Nested Span(嵌套跨度)是分布式追踪(Distributed Tracing)系统中的一个核心概念。简单来说,它指的是在一个父级操作的时间段内,包含了一个或多个子级操作的记录。这些子级操作在时间上和逻辑上都从属于父级操作,形成了一种树状或层级结构。Span 是追踪系统(如 OpenTelemetry, LangSmith, Arize Phoenix 等)中的基本单元。它代表了系统中一个单独的工作单元例如计算延迟。原创 2026-08-22 21:39:33 · 295 阅读 · 0 评论 -
Codex(Windows WSL2 Ubuntu)安装使用使用教程
在 WSL Ubuntu 中,最直接的方式是使用 Codex CLI。可能导致文件访问较慢,并带来权限、符号链接方面的问题。建议把代码放在 WSL 的 Linux 目录,而不是。新版 Codex 已不再支持 WSL1。等 Linux 路径中。VS Code 左下角应显示。,集成终端中的路径应是。原创 2026-08-21 07:54:20 · 1432 阅读 · 0 评论 -
关注点分离(Separation of Concerns)示例(AI Agent 架构、流程编排、数据契约、提示词工程)
让 prompt 调优、图编排、数据契约三件事可以独立演进、独立测试、独立 review,互不拖累。在 Agent 系统这种 prompt 改动频率远高于代码的系统里,这种分离不是洁癖,而是生存需要。原创 2026-07-25 15:50:42 · 323 阅读 · 0 评论
分享