【Agent】Agent的开发工具介绍
AI Agent的定义AI Agent是一种能够自主感知环境、制定决策并执行行动以实现特定目标的智能系统。在大模型时代,AI Agent通常由大语言模型驱动,具备以下四大核心要素: 规划(Planning):能够分解复杂任务,制定执行计划 记忆(Memory):具备短期和长期记忆能力,能够学习和积累经验 工具(Tools):能够调用外部工具和API,扩展自身能力 执行(Action):能够在环境中执行具体的行动 AI Agent开发工具分类根据功能特点、技术架构和应用场景,我们将当前主流的AI Agent开发工具分为以下几个类别: 编程框架类: LangChain、LangGraph、CrewAI、Semantic Kernel、AutoGen、Phidata 无代码/低代码平台类:Coze、Dify、星辰Agent、Trickle AI、AgentGPT、Gumloop、FlowiseAI 专业化工具类:AutoGPT、GPT Engineer 企业级解决方案类:Superagent、Reworkd AI 集成平台类:Zapier AI Actions 1...
【网络与代理】使用 Tinyproxy 让远程服务器走本地网络访问外网
一、背景在日常运维或科研计算中,我们经常遇到远程服务器无法直接访问外网的情况,例如: 服务器所在网络环境有防火墙限制 服务器没有公网 IP 或被限制访问外部 HTTP/HTTPS 资源 此时,可以利用 本地机器的外网网络,通过 SSH 反向端口转发 + HTTP 代理(tinyproxy),让远程服务器“借道”本地网络访问互联网。 二、原理整体思路如下: 本地机器运行 tinyproxy,监听 8888 端口,提供 HTTP 代理服务 SSH 反向隧道将远程服务器的 localhost:8888 映射到本地的 8888 端口 远程服务器设置 http_proxy / https_proxy 环境变量,让 HTTP 请求通过本地代理出网 三、安装与配置1. 本地机器安装 tinyproxy1sudo apt install tinyproxy 2. 启动 tinyproxy 服务1sudo systemctl start tinyproxy 默认会监听 8888 端口,可用以下命令验证: 1sudo lsof -i:8888 如果输出类似: 1...
【网络与代理】WSL2的Linux子系统网络设置
1. 启用镜像网络模式默认情况下,WSL2 的网络行为与传统虚拟机不同,其内部 IP 地址与宿主 Windows 不同,导致无法直接通过 IP 访问 WSL2 服务。 解决方法是开启镜像网络(mirrored networking),这样 Windows 和 WSL2 将共享同一个 IP 地址。 步骤:在 Windows 用户主目录(如 C:\Users\你的用户名)下新建或修改 .wslconfig 文件,添加如下配置: 1234567[wsl2]networkingMode=mirrored # 开启镜像网络dnsTunneling=true # 开启 DNS Tunneling,解决 DNS 问题autoProxy=true # 自动同步代理设置# firewall=true # 可选,启用 Windows 防火墙# [experimental]# hostAddressLoopback=true # 可选,允许 WSL2 主动访问宿主 编辑完成后,执行以下命令重启 WSL: 1ws...
【Linux】使用WSL给Windows安装Linux子系统
引言如果我在十几年前跟你说「Microsoft Love Linux」,你肯定觉得我鬼打墙了,Windows 和 Linux 可一直都是竞争对手。时任微软 CEO Steve Ballmer 还曾公开宣称 Linux 是「癌症」,毕竟 Linux 作为免费、开源的 Windows 替代品,抢走了微软不少的市场份额和营收。 后来,可能是为了与 VMware 等虚拟化厂商竞争,以及发展云计算平台的需要,微软在 Hyper-V 虚拟化平台上增加了对 Linux 的原生支持,让 Windows 也可以在 Hyper-V 虚拟机中运行 Linux 系统。但是,在 Hyper-V 中运行 Linux 虚拟机需要消耗大量的系统资源,而且宿主机(Host OS)与虚拟机(Guest OS)之间的交互也比较麻烦。 什么是 WSL 2?时间来到 2017 年,事情正在起变化🤣。微软正式发布了「适用于 Linux 的 Windows 子系统」,即人们熟知的 Windows Subsystem for Linux,简称 WSL。 在 2019 年,微软又基于 Hyper-V 架构的部分功能,推出了全...
【Agent】Agent的ReAct模式
引言在人工智能领域,AI Agent(智能体)是一种能够感知环境、做出决策并执行行动的系统。随着大语言模型(LLMs)的快速发展,AI Agent在自然语言处理、问答系统和交互式决策任务中的能力显著提升。然而,传统LLMs在推理(如链式思考提示,Chain-of-Thought, CoT)和行动(如调用外部工具或API)方面通常被分开研究,导致在处理需要两者结合的复杂任务时效率低下。ReAct(Reasoning and Acting,推理与行动)模式应运而生,通过将推理和行动交织在一起,使AI Agent能够更智能、更高效地完成任务。 本文将详细探讨ReAct模式的起源、其在AI Agent中的作用,以及基于ReAct的扩展和最新发展。我们将通过清晰的逻辑和示例,帮助读者理解这一技术如何推动AI Agent的进步。 ReAct模式的起源背景与动机ReAct模式最早由Shunyu Yao等人于2022年10月在论文《ReAct: Synergizing Reasoning and Acting in Language Models》中提出(论文链接)。该论文由谷歌研究团队和普林...
【开发工具】uv使用指南
引言 入职一个月,感受到科研与工程界的巨大差异,做科研时写的屎山⛰️代码主打一个能跑起来就行,写一大堆脚本,把算法实现了就行。 而到了工业界,新的集群、新的项目、新的模式,感觉自己还有很多需要学习! 今天就从现代的Python包管理器uv开始,规范自己的代码,树立软件工程的思想,重拾本科死去的前端、后端、数据库、计算机网络… 预备知识1. venv venv 是 Python 自带 的一个虚拟环境管理工具,用于创建一套独立的 Python 解释器及其包管理环境。 简单用法: python -m venv .venv会在当前目录下创建一个.venv的文件夹,里面包含里面包含独立的 Python 解释器和 pip 使用source .venv/bin/activate可以激活并使用当前环境 使用pip install在当前环境下安装包 2. pyproject.toml pyproject.toml 是 Python 官方推荐 的项目配置文件格式,它的作用是:统一管理项目的构建配置、依赖信息和元数据。 pyproject.toml中定义了项目名称、版本、作者、项目依赖(类似...
【旅行】2025毕业旅行之阿勒泰游记
【6.5-day1】西安-阿勒泰-布尔津县-禾木村 【住】禾木村老村【景点】金山市场、禾木村 早晨4点起床,6点抵达机场,从登上灰机🛫的那一刻起,旅行就已经开始了 前半程比较困倦,后半程到了新疆上空,见到了无比震撼的地貌:有一望无际的沙漠无人区、有沙漠中依河流而建的村庄、有一半沙漠一半农田的奇观…这些更加剧了我们对于神秘阿勒泰的向往 落地阿勒泰拿到车后,先去当地金山市场采购了卡式炉、蔬菜、鸡蛋、面条等 随后直奔禾木,因为阿禾公路没有开通(每年7月开通),只能途经布尔津。中间还发生了个小插曲,开了一百公里发现无人机落在了飞机上😭,因此只能折返回去机场再拿一趟😭😭 到达禾木已是晚上8点,但好在新疆天黑的晚,把车停在村外,进村又坐了一个小时大巴,后又转公交才到达,真不容易🥹 但当我们看到民宿小木屋和村中袅袅炊烟的那一刻,所有疲倦和劳顿都被治愈了😍 [{"url":"http://img.tianlejin.top/2025-06/20250605_103933.webp","alt":"","title":""},{"url":"http://img.tia...
【LLM】知识图谱技术简介
概念知识图谱(Knowledge Graph, KG):将知识进行结构化表示。具体来说,知识图谱是一种以实体(Entity)和关系(Relation)为核心的语义网络,通常以三元组 (head entity, relation, tail entity),即 ⟨h, r, t⟩ 的形式表示结构化知识。 核心组成: 实体(Entity):现实世界中具有唯一标识的对象,如人、地点、公司等。 关系(Relation):实体之间的语义连接,如“属于”、“位于”、“担任”。 属性(Attribute):实体的静态信息,如“出生日期”、“公司市值”。 本体(Ontology):定义实体类别、关系类型及其约束的元知识结构。 发展大模型时代之前:知识图谱是主力军在传统NLP时代(大约2010-2020),模型的表达能力有限,缺乏世界知识、语义理解和推理能力。此时知识图谱被广泛用于补足模型缺陷: 任务 知识图谱的作用 语义搜索 弥补关键词搜索的不足,实现“概念级”搜索 问答系统 结构化知识可支持精确匹配和逻辑推理 对话系统 用于保持上下文一致性,引导对话流程 推荐系统...
【LLM】RAG技术简介
背景大语言模型在训练阶段通常基于大规模语料(如 Common Crawl、Wikipedia、Books、Code等)进行离线学习,因此它们的知识存在以下问题: 静态性:一旦模型训练完毕,知识无法动态更新。 封闭性:模型只能生成其“知道”的内容,对未见信息无法准确回答。 幻觉性(Hallucination):即使模型生成看似合理的内容,也可能完全不符合真实事实。 为此,RAG(Retrieval-Augmented Generation,检索增强生成)框架被提出,用于将外部知识库引入到生成模型推理流程中,通过“检索 → 生成”的两阶段架构,让模型“读过资料再作答”。 RAG 的优势 ✅ 知识实时更新:只需更新知识库,无需重新训练大模型。 ✅ 降低幻觉风险:模型有“证据”可依,减少无中生有。 ✅ 适用于私有数据:支持接入企业文档、数据库、网页等作为知识来源。 ✅ 可控性强:检索模块可以人为控制,比如只让模型访问合规内容。 RAG 的工作流程一个典型的 RAG 系统包含两个核心模块: 检索器(Retriever):从外部知识库(Knowledge Base)中找出与问题最相关...
【Linux】Slurm任务调度系统的使用
📌 什么是 Slurm? 在使用高性能计算(HPC)集群时,Slurm 是最常见的任务调度器之一。 Slurm(Simple Linux Utility for Resource Management)是一个开源的集群资源管理和作业调度系统,用于管理节点资源、调度任务执行,广泛用于科研计算和深度学习训练 🧰 常用命令一览 命令 作用 示例 sinfo 查看当前集群节点状态 sinfo squeue 查看正在运行或排队的任务 squeue -u $USER srun 启动一个交互式任务或直接运行命令 srun --pty bash sbatch 提交一个批处理任务脚本 sbatch job.sh scancel 取消任务 scancel 123456 📝 1. sinfo —— 查看节点状态1sinfo 这个命令可以看到所有节点的状态,如哪些是空闲(idle)、正在使用(alloc)、维护中(down)等。例如: 1234PARTITION AVAIL TIMELIMIT NODES STATE NODELISTcpu* ...
【LLM】LLM相关名词解释
大模型的分类混合推理模型(Hybrid Reasoning Model) 混合推理模型是指结合多种推理方式(如神经网络+符号推理、检索+生成)的语言模型架构,用于提升模型的准确性和复杂任务处理能力。 常见的混合推理方式: 类型 描述 示例 🧠 神经 + 符号推理 结合大模型与符号逻辑系统(如规则树、规划器) 解决数学题、写代码 🔍 检索 + 生成(RAG) 模型先从知识库中检索相关信息,再生成回答 Bing Copilot、GPT+文档上传 🪜 逐步思考 + 工具调用 模型模拟人类逐步思考(CoT),中间步骤可调用外部API、计算器、代码解释器等 AutoGPT、Toolformer、OpenAI GPT-4o 🧭 多模型协同 使用多个模型分工处理子任务,例如一个负责理解,一个负责生成 LLM Agents、多模态推理系统 🎯 举例: 你问模型“上海到北京有多少公里?” 裸模型:根据训练时看到的语料“猜”一个数字(可能错)。 混合推理模型:先调用地图接口查询,再告诉你准确答案。 Retrieval-Augmented Gene...
迁移前博客目录
Linux笔记Linux系统相关 Linux文件系统 Linux环境变量 Linux设定定时程序 Linux文件操作 Linux重定向和管道命令 Linux手动编译软件 grep的用法 Linux创建账户并赋予管理员权限 Linux更改用户/组id Linux挂载命令mount详解 Linux修改MAC地址 Linux软件 终端复用神器tmux的使用 anaconda3的安装和使用 jupyter notebook的安装和使用 Linux安装JupyterLab conda打包环境并迁移 使用jupyter nbconvert后台执行jupyter notebook Slurm任务调度系统的使用 环境配置笔记Linux相关 CentOS 7升级gcc版本 yum安装软件报错lvm.LibLVMError: (0, ‘’) linux编译编译错误‘GLIBCXX_3.4.20’ not found linux升级cmake Ubantu安装深度学习环境全记录 R语言相关 R语言安装外源包编译报错:‘for’ loop initial declarations ar...
【博客搭建】把博客从本地Mac mini迁移到服务器
想来想去,还是决定把博客托管到服务器上,放在 Mac mini 上毕竟不是长久之计。开整! 服务器安装必要环境 安装npm 1234567# 添加 Node.js 官方源curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -# 安装 Node.js 和 npmsudo apt install -y nodejs# 确认安装成功node -vnpm -v 安装Hexo CLI 123sudo npm install -g hexo-cli# 确认安装成功hexo -v 安装项目依赖 1234# 进入博客项目目录cd /home/txm/myblog/txm_blog# 会根据 package.json 自动安装所有依赖npm install 生成静态网页并测试本地部署123456# 生成 public/ 文件夹里的静态网站内容hexo clean; hexo g# 部署运行博客,注意这里输入实例端口hexo s -p 50005# 查看浏览器验证,这里输入物理机端口http://10....
【旅行】2025春关西旅行随记
本次关西旅行我们规划了9天8晚,在此流水账式地记录下~ Day1-20250415-上海浦东机场✈️关西机场【初见京都】 到达后搭乘 Hello kitty 主题列车🚄 Haruka 从机场前往京都 酒店定在五条地铁站附近。休整片刻后粗门觅食,google map上找了一家评分 4.6 的小店,品尝了前菜(包括海草,鱼罐头以及蒸茄子)、三种海鲜的刺身、汤豆腐、荞麦面。小店很精致,价格也比较不菲。两人花费6100円💴。 晚上步行至鸭川附近,赏京都夜景,又逛了逛便利店,购买日本特产😝 [{"url":"http://img.tianlejin.top/2025-04/20250415_160916.webp","alt":"","title":""},{"url":"http://img.tianlejin.top/2025-04/20250415_164022.webp","alt":"","title":""},{"url":"http://img.tianlejin.top/2025-04/20250415_175112.webp","alt":"","tit...
【博客搭建】Mac mini + Cloudflare Tunnel 搭建免费HTTPS图床
📌动机此前用的是七牛云的图床方案, 折腾好久之后,发现这种方案存在问题: 存储空间绑定源站域名,产生的流量是计费的。(计费规则) 存储空间绑定CDN域名,需要备案,备案有需要云服务器,ip等等,手续也十分麻烦 这个方案只能用http,会导致常规状态下图片基本无法显示。想用https的话,有以下限制: 需要ssl证书(这个好解决,可以申请免费证书) 不管国内还是海外,https流量都要收费。(计费规则) 国内https需要域名备案。 🚀新方案:Mac mini + Cloudflare Tunnel 搭建免费HTTPS图床1️⃣ 在本地搭建图片静态服务器(Nginx)12brew install nginxmkdir -p ~/Desktop/blog-imgs # 创建博客图片的文件夹 编辑配置文件 /opt/homebrew/etc/nginx/nginx.conf,添加或修改以下内容: 12345678910server { listen 8080; server_name localhost; location /...
【Linux】使用ImageMagick压缩图片
在整理博客配图、摄影照片或网页图片素材时,图片太大不仅拖慢加载速度,还会占用大量空间。今天介绍一个超级实用的命令行工具:ImageMagick,可以快速、批量压缩或缩放图片 🧰 安装 ImageMagick(macOS)1brew install imagemagick ✂️ 操作示例将图片质量到 50%1234# MacOSmagick input.jpg -quality 50 output.jpg# Ubantu的旧版命令是mogrifymogrify 202505_front.JPEG -quality 30 202505_front.JPEG 将/Users/tianlejin/Desktop/2025-03里的所有图片都压缩到原来质量的50%假设你有一堆 .JPEG 图片在目录 /Users/tianlejin/Desktop/test/,可以这样压缩并输出到 resized 子文件夹: 1234# MacOSmagick mogrify -quality 50 /Users/tianlejin/Desktop...
【Linux】使用exiftool批量按拍摄时间重命名照片
在整理照片时,通常会遇到一堆混乱命名的文件,例如 IMG_1234.JPG、DSC0001.JPG……我们可以用一行命令,就把所有照片按「拍摄时间」重命名。 本文介绍一个强大却小巧的命令行工具:ExifTool,让你的照片重命名井井有条~ 💡 什么是 ExifTool?exiftool 是一个跨平台的命令行工具,可以读取和写入媒体文件中的元数据(如照片的拍摄时间、设备信息、GPS 等)。我们可以用它从 EXIF 中提取拍摄时间并重命名文件。 🛠 安装 ExifTool(以 macOS 为例)官网下载:https://exiftool.org/ 🌰 例子:将2025-03文件夹内的所有文件按时间戳重命名,精确到秒以下命令将当前目录下的所有 JPG 文件,重命名为拍摄时间的格式,例如 20250312_153045.jpg: 12cd /Users/tianlejin/Desktop/2025-03exiftool '-FileName<CreateDate' -d "%Y%m%d_%H%M%S%%-c.%%e" *.JPEG 参...
【博客搭建】Hexo博客的type字段
在使用 Hexo 搭建博客时,除了常规的文章(post),我们还常常需要创建各种独立页面,例如“关于我”、“归档”、“标签”、“分类”等。这些页面背后都有一个核心概念 —— type。本篇文章将全面梳理 Hexo 页面中 type 的作用与常见类型,帮助你更好地定制属于自己的博客结构。 🧠 什么是 type?在 Hexo 中,每个页面(Page)都会有一个 type 属性,用于告诉 Hexo 或主题如何渲染这个页面。它相当于是页面的“身份标签”。 如果不指定 type,Hexo 默认使用 page 或 post 类型进行处理。 📦 常见的 type 类型 type 值 用途说明 是否自动识别 常见路径 posts 默认值,表示这是文章(Post) ✅ 是 source/_posts/*.md page 普通独立页面,如 about、links 等 ✅ 是 source/about/index.md 等 tags 标签页面,展示所有标签和相关文章 ❌ 否 source/tags/index.md categories 分类页面,展示所有分类和相关文章 ...
【博客搭建】绑定自定义域名
前提条件 已成功搭建 Hexo 博客,并部署到 GitHub Pages,例如 https://telogen.github.io 已在域名注册商(如阿里云)购买域名,例如 tianlejin.top 在 GitHub 仓库设置域名 打开博客的github仓库(通常是 telogen.github.io) 点击 Settings > Pages 在 Custom domain 中填写你的域名: 1tianlejin.top 点击保存(Save),此时仓库根目录会自动生成一个 CNAME 文件,内容为: 1tianlejin.top 配置域名解析(阿里云为例)登录 阿里云控制台 进入域名解析设置,为主域名添加以下 A记录: 记录类型 主机记录 记录值 说明 A @ 185.199.108.153 GitHub Pages IP A @ 185.199.109.153 GitHub Pages IP A @ 185.199.110.153 GitHub Pages IP A @ 185.199.111.153 GitHub Pages I...
【博客搭建】Hexo主题及其他个性化设置
🎨 更换主题安装主题(以 Butterfly 为例)1git clone -b master https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly 修改主配置文件 _config.yml:1theme: butterfly _config.yml中的其他配置可以一并进行修改,可以把文件内容丢给AI让其帮忙解释 安装依赖(Butterfly 需要)1sudo npm install hexo-renderer-pug hexo-renderer-stylus --save ⚙️ butterfly主题设置(在 themes/butterfly/_config.yml 中完成)导航栏设置12345menu: 首页: / || fas fa-home 博客: /archives/ || fas fa-archive 摄影: /photography/ || fas fa-camera 关于我: /about/ || fas fa-user 还要使用hexo new一并创建对应的页面文件夹: ...




