- 博客(93)
- 收藏
- 关注
原创 deepagents学习打卡day08
该开源项目基于LangChain与DeepAgents构建,实现工具调用、Skill调用、任务规划及工作区文件保存等核心能力。通过配置OpenAI兼容模型(如Qwen3.6-27B),支持本地运行与多轮对话,结合虚拟文件系统保障安全性。代码结构清晰,提供完整demo与环境配置说明,可快速体验智能体的全流程自动化能力。项目地址:https://github.com/zbhgis/simple_agent_demo
2026-09-26 22:10:14
170
原创 deepagents学习打卡day07
DeepAgents演示展示跨轮对话记忆与真实操作权限审批机制。通过全新thread_id验证,Agent能持久化记忆用户身份(如“zbhgis”);在执行删除、写入、读密钥等敏感操作时,需人工审批,支持拒绝、允许或修改参数。例如,读取密钥db_password经批准后脱敏输出,确保安全。系统严格隔离操作风险,兼顾智能响应与本地安全管控。
2026-09-26 19:38:53
334
原创 deepagents学习打卡day06
启动两个并行子Agent研究LangSmith与LangGraph框架,成功实现任务暂停与恢复。通过/pause与/resume指令灵活控制研究流程,验证了异步任务管理机制的可靠性。后续将基于研究成果生成代码示例,并调用代码检查技能完成规范审查。
2026-09-26 19:38:01
200
原创 deepagents学习打卡day05
基于GitHub主页与打卡记录,该用户在深度代理框架(Deep Agents)测试中完成了一项关于三大AI Agent开发框架的对比研究报告。通过子代理协作,系统化完成了信息收集、分析与报告生成,核心结论指出三者在规划能力、模型绑定与安全机制上存在显著差异:Deep Agents强调虚拟文件系统与模型中立性,适合复杂研究;OpenAI SDK侧重多代理协作与防护机制;Claude SDK则深耕MCP集成与权限控制。最终报告已生成并落盘,执行链路清晰,体现高效协同与工程严谨性。
2026-09-25 09:26:15
316
原创 deepagents学习打卡day04
本文基于深度智能体框架(DeepAgents)调研了LangGraph、CrewAI与AutoGen三大Agent框架的定位差异,提出“一句话概括”选型指南:LangGraph适合需精细控制与可回放的企业级工作流;CrewAI适用于角色分工清晰的快速搭建场景;AutoGen则擅长代码生成与探索式求解。通过write_todos工具实现任务拆解,结合TodoListMiddleware与SummarizationMiddleware提升规划与上下文管理能力,实现在研究类任务中的高效执行。
2026-09-19 15:26:53
210
原创 deepagents学习打卡day03
本文基于GitHub项目zbhgis/DeepAgents,通过多后端测试(STATE、STORE、FILESYSTEM、COMPOSITE)验证其虚拟文件系统在不同存储模式下的表现。结果显示,该框架以统一路径接口实现可插拔存储抽象,支持内存与磁盘持久化,且报告成功生成并保存至/workspace/report.md。结合LangSmith追踪,完整展示了Agent研究流程的可追溯性与模块化设计优势。
2026-09-19 15:22:37
262
原创 deepagents学习打卡day02
该文介绍了基于DeepAgents构建智能研究代理的实践过程,结合LangChain、LangGraph与Tavily搜索工具,实现自动化信息检索与报告生成。通过配置硅基流动API及本地环境,成功运行了关于“LangGraph”的深度研究任务。文中梳理了踩坑经验,强调对Linux/WSL环境的熟悉与文件传输操作,并解析了DeepAgents在AI Agent生态中的定位——融合任务规划、长期记忆与可插拔模块,形成从底层可观测性(LangSmith)到顶层智能体框架的完整技术体系。参考教程为《deepagen
2026-09-17 00:48:32
96
原创 deepagents学习打卡day01
作者在GitHub主页(https://github.com/zbhgis/)分享了AgentSeek与DeepAgents的运行成果,展示了成功界面及调试过程。踩坑记录指出:建议使用WSL2并确保网络稳定,避免虚拟机下载中断导致磁盘残留;模型配置需谨慎,防止链接错误引发无响应;遇到问题时优先向AI提供报错信息,可高效定位解决方案。
2026-09-15 00:48:05
186
原创 【面试算法笔记】0303-哈希表-字符异位词
本文记录了四道哈希表相关的力扣算法题解:242(字母异位词)、383(赎金信)、49(字母异位词分组)和438(找所有字母异位词)。核心思路均采用数组计数或哈希表存储字符频率,通过统计字符出现次数进行比对。242和383题使用固定长度数组统计字符频率,时间复杂度O(n+m);49题通过排序字符串作为哈希表键实现分组,时间O(nmlogm);438题采用滑动窗口配合计数数组,时间O(n+m)。空间复杂度方面,除49题为O(nk)外,其余均为常数空间O(1)。这些解法展示了哈希表在字符串统计问题中的高效应用。
2026-07-16 20:35:42
256
原创 【面试算法笔记】0302-哈希表-哈希表实现
本文记录了力扣705(设计哈希集合)和706(设计哈希映射)的两种解法:简单数组法和链表法。数组法通过预分配大数组实现O(1)操作但空间效率低;链表法使用哈希桶(BASE=769)处理冲突,空间更优但需要遍历链表。两种解法均实现了基本操作(add/put、remove、contains/get),链表法需额外处理节点插入、查询和删除逻辑。参考了代码随想录的哈希表理论基础,展示了不同实现方式在时空复杂度上的权衡。
2026-07-16 20:34:49
276
原创 【面试算法笔记】0301-哈希表-哈希表基础理论
本文介绍了哈希表的核心概念,包括其通过哈希函数将键映射到数组位置实现快速访问的原理(空间换时间)。重点讲解了哈希碰撞的两种处理方案:拉链法(使用链表存储冲突元素)和线性探测法(顺序查找空位)。文章还列举了常见的哈希结构(数组、集合、映射)及其在Java中的实现(HashSet/HashMap),并提供了相关API的使用示例。最后给出了参考学习链接,适合作为哈希表基础的入门学习资料。
2026-07-14 17:48:57
273
原创 【面试算法笔记】0203-链表-链表其他操作
本文记录了链表相关算法题的解题思路,包括力扣24(两两交换节点)、19(删除倒数第N个节点)、160(相交链表)和142(环形链表II)。核心解法涉及虚拟头节点、双指针技巧和数学推导,如24题通过四指针重组链接,19题快慢指针定位,160题路径拼接法,142题Floyd判环后数学推导入环点。所有解法均保持O(n)时间复杂度和O(1)空间复杂度,代码简洁高效。附Java实现和详细注释,适合算法学习者参考。
2026-07-14 17:48:13
289
原创 【面试算法笔记】0202-链表-基本功能实现
这篇文章记录了作者在力扣平台上解决链表相关算法题的过程,主要包括两个题目: 力扣203. 移除链表元素:通过引入虚拟头节点简化操作,遍历链表并修改指针指向来移除指定值的节点。时间复杂度O(n),空间复杂度O(1)。 力扣707. 设计链表: 单向链表实现:包含节点定义、初始化、获取节点值、头插/尾插、指定位置插入和删除等方法。核心是通过前驱节点遍历操作指针,时间复杂度多为O(n)。 双向链表实现:优化了遍历效率(根据位置选择从头或从尾遍历),同样实现了增删查操作。 文章提供了详细的代码实现和时空复杂度分析,
2026-07-13 19:16:45
952
原创 【面试算法笔记】0201-链表-链表理论基础
本文介绍了链表的基本概念、类型和操作。链表是一种非连续存储的线性结构,由数据域和指针域组成,分为单链表、双链表和循环链表三种类型。链表通过指针连接节点,在内存中散乱分布。基本操作包括节点删除和添加,单链表和双链表的Java实现代码示例。链表查询时间复杂度为O(n),增删操作为O(1)。文章还提供了相关的参考链接。
2026-07-13 19:15:41
231
原创 【面试算法笔记】0105-数组-螺旋矩阵
本文总结了螺旋矩阵相关问题的解题思路和代码实现。针对力扣59题(生成螺旋矩阵)、Acwing756题(蛇形矩阵)、力扣54题(螺旋遍历矩阵)和力扣LCR146题(顺时针打印矩阵),作者采用统一的方向控制法:定义方向数组DIR,通过判断边界或已访问元素来转向。时间复杂度均为O(n²),空间复杂度O(1)。特别处理了空数组的情况,并用Integer.MAX_VALUE标记已访问元素。这些题目展示了相似的问题模式和通用的解决方法,通过调整方向逻辑可适应不同变体。参考链接提供了更多数组理论基础。
2026-07-12 21:04:40
239
原创 【面试算法笔记】0104-数组-滑动窗口
本文总结了力扣上三道滑动窗口相关题目的解题思路和代码实现,包括209.长度最小的子数组、904.水果成篮和76.最小覆盖子串。作者通过定义左右指针和辅助变量(如sum、type、diff等)来维护窗口状态,在满足特定条件时调整窗口大小。三题的解法均保持O(n)时间复杂度和O(1)或O(n)空间复杂度。本文还提供了代码示例和时空复杂度分析,并参考了代码随想录的解题思路。
2026-07-11 18:00:00
292
原创 【面试算法笔记】0103-数组-双指针2
本文记录了两道有序数组合并及平方排序的算法题解。第一题(力扣88)采用倒序双指针法,通过从后向前比较插入元素,避免了数据覆盖问题,时空复杂度为O(m+n)和O(1)。第二题(力扣977)使用相向指针,比较头尾元素的平方值,将较大值从后往前填充新数组,时间复杂度O(n)。两题均通过指针技巧实现了高效处理,避免了额外空间消耗。作者在GitHub个人主页分享了完整代码和详细思路分析,并参考了代码随想录的解题方法。
2026-07-11 08:00:00
363
原创 【面试算法笔记】0102-数组-双指针1
这篇文章记录了几道力扣算法题的解法,主要采用快慢指针技巧,实现数组/字符串的原地修改操作。内容包括移除元素、删除有序数组重复项、移动零、比较含退格字符串等题目。解法思路相似:快指针遍历元素,慢指针记录有效位置,通过条件判断决定元素保留或删除。所有解法的时间复杂度均为O(n),空间复杂度O(1),在原始数据结构上直接修改。文章附有Java/TypeScript代码实现及复杂度分析,适合学习双指针技巧的算法练习者参考。
2026-07-10 23:27:42
295
原创 【面试算法笔记】0101-数组-二分查找
本文总结了力扣704二分查找、35搜索插入位置和34查找元素区间三道题目的解题思路与实现要点。704题详细分析了闭区间写法的边界条件处理,包括初始值设定、循环终止条件和防止计算溢出;35题在二分查找基础上,针对找不到目标值时返回插入位置的三种情况进行了统一处理;34题提供了两种解法:解法一先二分定位后线性扩展,解法二通过两次二分查找分别确定左右边界。所有解法的时间复杂度为O(logn)或O(n),空间复杂度均为O(1)。文章强调理解边界条件的重要性而非死记硬背,为二分查找算法提供了清晰的实现指导。
2026-07-10 23:24:45
1303
原创 【Java基础复习】IntelliJ IDEA个人使用问题汇总
本文总结了IntelliJ IDEA 2025.2的实用技巧,包括常用快捷键(如代码格式化、重命名、运行调试等)、格式化范围设置、快捷键恢复方法、注释格式调整、背景图片更换(含定时更换插件安装)、SQL语言注入配置以及多行同时编辑操作。通过图文并茂的方式详细说明了各项功能的配置步骤,帮助开发者提升IDEA使用效率。文章持续更新,最新版本可访问作者GitHub主页获取。
2026-07-09 18:00:00
306
原创 【Java基础复习】特殊文件
本文是JavaSE基础复习笔记,基于黑马程序员视频教程(Java SE 17.0.3.1)。主要内容包括:1)Properties类操作,演示了读写.properties和.txt属性文件;2)XML基础语法与DOM4J解析技术;3)日志技术体系,重点介绍SLF4J规范和Logback实现。笔记包含代码示例(如Properties文件读写、XML解析)和架构图(日志体系),并提供了个人GitHub主页链接。最后更新于2026年3月,补充了目录结构。
2026-07-09 08:00:00
220
原创 【Java基础复习】IO流(四)
这篇文章是作者对Java IO流相关知识的复习笔记,主要总结了转换流、打印流和数据流的使用方法。文章基于黑马程序员的JavaSE基础课程,使用Java SE 17.0.3.1和IntelliJ IDEA 2025.2环境。 内容摘要: 转换流部分介绍了InputStreamReader和OutputStreamWriter,演示了如何解决字符编码问题 打印流部分展示了PrintStream和PrintWriter的使用,可实现高效数据打印 数据流部分讲解了DataOutputStream和DataInput
2026-07-08 18:00:00
305
原创 【Java基础复习】IO流(三)
本文总结了Java IO流中的字符流和缓冲流相关内容。字符流部分介绍了FileReader和FileWriter的使用方法,包括字符读取、写入文件和刷新流的操作。缓冲流部分详细讲解了BufferedInputStream、BufferedReader和BufferedWriter的工作原理及性能优势,这些缓冲流通过内置的8KB缓冲池显著提高了IO效率。文中提供了多个代码示例,展示了如何使用这些流类进行文件读写操作,并比较了不同读取方式的效果。文章最后还包含了作者的个人GitHub主页链接和版本更新记录。
2026-07-08 08:00:00
299
原创 【Java基础复习】IO流(二)
本文是Java SE基础复习笔记,主要涵盖字符集和IO流相关内容。字符集部分介绍了ASCII、GBK、Unicode(UTF-8)的编码特点,通过代码演示了字符与字节的转换。IO流体系部分重点讲解了文件字节输入流(FileInputStream),包括单字节读取、多字节读取和全部字节读取的实现方式,并附有代码示例和运行结果。笔记基于黑马程序员Java SE教程(Java 17环境),包含个人GitHub主页链接和更新记录。
2026-07-07 23:03:26
315
原创 【Java基础复习】IO流(一)
这篇文章是Java IO流基础复习笔记的第一部分,主要介绍了File类的使用。文章内容包括: File类对象的创建方法(支持不同路径分隔符写法) File类的常用API演示(文件/目录判断、属性获取、创建删除操作等) 递归算法的实际应用: 实现文件搜索功能(深度优先遍历目录树) 实现非空文件夹删除(递归删除子项) 代码示例展示了如何获取文件属性、处理路径分隔符、递归遍历目录等实用操作。文章基于Java SE 17环境,是作者对黑马程序员JavaSE教程的复习总结,包含视频内容提炼和个人实践。
2026-07-07 23:01:16
1479
原创 【Java基础复习】JDK8的一些新特性
本文是Java SE 17学习笔记,主要介绍了Lambda表达式和方法引用的使用。Lambda表达式用于简化函数式接口的匿名内部类写法,通过示例展示了数组操作中的简化过程。方法引用包括四种形式:静态方法引用(类名::静态方法)、实例方法引用(对象名::实例方法)、特定类型方法引用(类型::方法)和构造器引用(类名::new),并提供了排序和对象创建的代码示例。最后简要提及Stream流结合Lambda语法的链式调用特性,用于操作集合和数组数据。全文提供了多个代码实例演示这些语法特性的实际应用。
2026-01-18 15:00:00
860
2
原创 【Java基础复习】Map
本文是Java集合框架中Map相关知识的复习笔记,主要内容包括:Map集合概述(键值对结构,键不可重复)、常用实现类(HashMap无序、LinkedHashMap有序、TreeMap排序)及其基本操作(增删改查)。详细介绍了Map的三种遍历方式(键找值、键值对、Lambda表达式),并通过投票统计案例演示HashMap的实际应用。最后对比了不同Map实现类的底层原理,强调自定义对象作为键时需要重写hashCode和equals方法。
2026-01-18 09:22:55
835
原创 【Java基础复习】Collection的其他知识
本文是JavaSE基础复习笔记,主要包含三部分内容:1)可变参数的使用方法,展示如何定义和调用可变参数;2)Collection常用静态方法演示,包括addAll、shuffle和sort等操作;3)综合案例实现了一个斗地主游戏,包含牌组初始化、洗牌、发牌、排序等功能。案例通过Card类表示扑克牌,Room类处理游戏逻辑,展示了完整的发牌和抢地主流程。环境使用Java SE 17.0.3.1和IntelliJ IDEA 2025.2,对应黑马程序员教程视频142-144节。
2026-01-15 20:26:05
567
原创 【Java基础复习】集合-Set
本文总结了Java集合框架中Set接口的三种实现:HashSet、LinkedHashSet和TreeSet的特点及使用。HashSet无序且不重复,基于哈希表实现;LinkedHashSet在HashSet基础上通过双向链表维护元素插入顺序;TreeSet可自动排序,要求元素实现Comparable接口或提供Comparator。文中通过代码示例演示了各集合的创建和使用,并展示了如何为自定义类重写hashCode()、equals()和compareTo()方法以确保集合正常工作。环境为Java SE 1
2026-01-14 21:30:00
1405
原创 【Java基础复习】集合-List
本文总结了Java中ArrayList和LinkedList的特点及用法。ArrayList查询快增删慢,基于动态数组实现,默认初始容量10,扩容1.5倍;LinkedList查询慢增删快,基于双链表实现,适合首尾操作。文章演示了List接口的基本操作(增删改查)和四种遍历方式,并通过LinkedList实现了队列(FIFO)和栈(LIFO)的功能。代码示例展示了两种集合的具体应用场景和操作方法。
2026-01-14 18:30:00
472
原创 【Java基础复习】集合-Collection
本文是Java集合框架的学习笔记,主要介绍了Collection集合体系及其遍历方式。内容包含:1)集合分类,List集合(有序可重复)和Set集合(无序不重复)的特点及实现类;2)Collection的常用操作方法如add、remove、contains等;3)三种遍历方式:迭代器、增强for循环和Lambda表达式,并给出代码示例;4)通过电影存储查找案例演示集合的实际应用。笔记基于Java SE 17和IntelliJ IDEA环境整理,适合作为集合框架的快速复习参考。
2026-01-13 21:30:00
2297
原创 【Java基础复习】常用API(三)
本文是Java SE基础复习笔记,主要总结了JDK 8新增的时间日期API。内容涵盖LocalDate、LocalTime、LocalDateTime等基础日期时间类,以及ZoneId、ZonedDateTime等时区相关类。通过示例代码演示了获取当前时间、日期运算(加减年/月/日)、时区转换等常用操作,并展示了equals()、isAfter()、isBefore()等比较方法的使用。环境为Java SE 17.0.3.1和IntelliJ IDEA 2025.2,基于黑马程序员B站教程整理。
2026-01-13 18:30:00
568
原创 【Java基础复习】常用API(二)
本文总结了Java常用API类的使用方法,包括Math、System、Runtime、BigDecimal、Date、SimpleDateFormat等工具类。主要内容涵盖:1)Math类提供数学运算静态方法;2)System类获取系统信息;3)Runtime类管理运行环境;4)BigDecimal解决浮点数精度问题;5)Date类处理日期时间;6)SimpleDateFormat格式化日期。文中通过代码示例演示了各API的核心功能,如数学计算、系统信息获取、精确运算、日期格式化等操作。这些API类为Jav
2026-01-08 21:30:00
846
原创 【Java基础复习】常用API(一)
本文总结了Java中几个常用类的基础用法:1) Object类介绍了toString()、equals()方法重写及浅/深克隆实现;2) Objects工具类演示了对象判空等静态方法;3) 包装类展示了自动装箱拆箱、类型转换等操作;4) StringBuilder类说明其可变字符串特性。文章基于Java SE 17环境,通过代码示例展示了这些核心API的典型应用场景,可作为快速复习参考。
2026-01-08 18:30:00
356
原创 【Java基础复习】异常
本文是Java异常处理的学习笔记,主要包含三部分内容:异常体系、自定义异常和异常处理。首先介绍了Java异常的分类,包括Error、运行时异常和编译时异常。然后通过代码示例展示了如何自定义运行时异常(继承RuntimeException)和编译时异常(继承Exception),并比较了两者的IDEA反馈差异。最后讲解了异常处理方式,包括捕获异常、记录异常信息并向用户返回合适提示。笔记基于Java SE 17和IntelliJ IDEA 2025.2环境,配套B站黑马程序员JavaSE基础课程。
2026-01-07 21:30:00
466
原创 【Java基础复习】面向对象进阶-枚举,泛型
本文是Java SE基础复习笔记,重点总结了枚举和泛型的核心概念与应用。枚举部分介绍了枚举类的特点、抽象枚举的实现方式以及枚举在单例模式和参数传递中的应用。泛型部分讲解了泛型的基本认识、泛型类的定义和使用,包括类型变量的约束(如继承关系)。通过具体代码示例展示了如何利用枚举表示固定选项,以及泛型如何避免类型转换异常,提高代码安全性。环境基于Java SE 17和IntelliJ IDEA 2025.2,内容对应黑马程序员教程的113-115节。
2026-01-07 18:30:00
979
原创 【Java基础复习】面向对象进阶-内部类
本文总结了Java中四种内部类的使用:成员内部类可直接访问外部类成员;静态内部类只能访问外部类静态成员;局部内部类定义在方法或代码块中;匿名内部类作为参数传递并立即创建子类对象。通过代码示例演示了各类的创建方式和访问规则,重点说明匿名内部类常用于方法参数传递。这些内部类特性为Java编程提供了更灵活的代码组织方式。
2026-01-06 18:30:00
431
原创 【Java基础复习】面向对象进阶-接口
本文是Java接口的学习笔记,基于黑马程序员JavaSE基础课程(视频108-110节)。主要内容包括:1)接口的概念,使用interface定义,包含常量和方法,需通过类实现;2)接口的好处,弥补单继承不足,实现解耦和灵活编程;3)通过学生管理案例演示接口应用,展示不同实现类如何实现相同接口但功能各异。案例包含Student类、ClassManager管理类及StudentOperator接口的两种实现方式,分别输出学生信息和成绩统计。开发环境为Java SE 17.0.3.1和IntelliJ IDEA
2026-01-05 18:30:00
2502
原创 【Java基础复习】面向对象进阶-final,抽象类
本文总结了Java中final关键字和抽象类的关键知识点。final可修饰类、方法和变量,使它们不可被继承、重写或二次赋值。static final修饰的变量称为常量,常用于系统配置。抽象类通过abstract修饰,不能实例化,必须被继承并实现其抽象方法。抽象类支持多态特性,常用于模板方法设计模式,定义通用框架而将具体实现交由子类完成。文中通过动物叫声和四六级考试等案例,展示了抽象类在实际编程中的应用场景。
2026-01-05 08:30:00
670
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅