自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 AGENTS.md 与 CLAUDE.md:如何为 AI 编程助手建立项目协作规范

为提升AI编程助手协作效率,建议在项目中设立AGENTS.md或CLAUDE.md等专用规范文件,明确项目结构、开发流程、测试命令、安全边界与提交要求。此类文件将隐性规则显式化,避免重复沟通,防止误操作,实现团队与AI的高效协同。推荐统一主规范,分层细化子目录规则,结合docs/文档体系,确保可维护性与一致性。

2026-09-12 16:53:20 174

原创 DeepSeek Harness 深度解析:一个「一切皆插件」的 Agent 底座,凭什么对标 Claude Code / Codex

DeepSeek Harness v0.1 是一款开源的 Agent 底座框架,旨在为开发者提供高度模块化的工具来构建定制化智能体。与 Claude Code 和 Codex 等现成工具不同,Harness 采用「一切皆插件」的设计理念,允许自由替换模型、工具、存储和界面组件。它解决了厂商锁定、黑盒不可控和重复造轮子等问题,通过 Cordis 插件系统实现灵活组合。虽然目前尚处开发者预览阶段,但 Harness 为需要底层控制的用户提供了强大的可扩展性和掌控力,成为 Agent 技术栈的新选择。

2026-08-26 00:17:56 560

原创 Agent 上下文压缩:从「背不动」到「拎得清」

摘要 本文探讨了Agent上下文压缩的必要性与方法。随着对话轮次增加,过长的上下文会导致三大问题:成本上升、响应变慢和关键信息丢失。文章介绍了四种压缩方法: 摘要法:定期生成对话摘要替代原文,适合多轮对话场景 RAG检索法:通过向量检索仅保留相关内容,适合知识密集型任务 结构化记忆:将信息转为键值对等结构化数据,适合需要持久记忆的任务 Token级压缩:使用特殊表示减少token占用,适合代码等结构化内容 每种方法各有利弊,需根据具体场景选择。核心思想是保持信息精炼而非数量,以提升Agent性能和效率。

2026-08-06 00:17:03 171

原创 Graph Engineering:从循环工程到图编排,让多 Agent 协作像流水线一样丝滑

Graph Engineering 是2026年AI Agent编排领域的重要范式,将多个Agent、工具和人工审核点组织成可执行、可观察的工作图。它解决了传统Loop Engineering(单一Agent循环执行)在复杂任务中的局限性,通过节点、边和共享状态三大核心组件,实现任务流程的并行、容错和可视化。文章介绍了五种常见图模式:顺序管道(A→B→C)、条件路由(动态选择路径)、并行分支(多任务并发)、循环迭代(审核回退)和人工干预(关键节点人工审核)。Graph Engineering使多Agent协

2026-07-26 22:43:40 431

原创 AI 产品的5 种常见形态以及实际解决的问题

AI 产品并不只有聊天机器人。本文用通俗案例梳理对话式助手、专业知识助手、嵌入式 AI、工作流 AI 和 AI 智能体五种常见形态,说明它们分别解决什么痛点、适合哪些场景,以及如何判断自己的业务该从哪一种 AI 产品开始。

2026-07-20 00:16:51 402

原创 LangGraph设计范式

LangGraph 是构建 LLM 驱动 Agent 系统的主流框架,本文系统梳理了从最基础的 **Single Agent** 到生产级 **Custom Workflow** 共七种架构模式。每种模式涵盖概念本质、拓扑结构、最小可运行代码及适用场景,并从可预测性、路由决策方式、LLM 调度频次和复杂度四个维度进行横向对比。无论是搭建简单的单次 LLM 调用管线,还是设计多层级、多 Agent 协作的企业级系统,读者均可将本文作为 LangGraph 架构选型与落地的参考手册。

2026-06-29 00:02:01 217

原创 LangGraph 与 Human-in-the-Loop 实战指南

这篇文章系统介绍了LangGraph框架及其Human-in-the-Loop(HITL)机制。LangGraph通过有状态图解决复杂AI工作流问题,支持多步骤分支、循环重试和人类介入审批。核心三要素是State(共享数据存储)、Node(处理节点)和Edge(节点连接)。条件边实现动态路由,通过返回节点名称控制流程走向。HITL通过interrupt()暂停执行、Checkpointer持久化状态和Command恢复执行三大机制实现人类审批。文章最后通过数据流分析展示了外部决策如何影响路由判断。该框架特别

2026-06-14 23:48:28 227

原创 Claude Code 深度拆解:执行机制 + 实际工作流融合指南

本文深入解析了Claude Code的执行机制和实际工作流。核心是Agent循环,通过读取CLAUDE.md理解项目上下文,调用工具执行任务,并支持Sub-Agent并行处理。文章提供了CLAUDE.md的编写建议,包含项目说明、技术约束和业务背景等关键内容。针对新功能开发、调试、批量重构等场景,给出了具体操作指南,并介绍了如何接入第三方模型降低成本。最后总结了Claude Code的适用场景和使用技巧,强调将其作为理解项目上下文的协作者,而非简单的代码补全工具。

2026-06-13 18:35:16 437

原创 实际开发中,LLM 到底有几种用法?这篇讲清楚了

LLM 六大工程实践指南 本文系统梳理了大型语言模型(LLM)在实际开发中的六种核心应用方式: 直接API调用:最简方案,适合快速验证原型,但存在数据隐私风险 RAG检索增强:企业主流方案,通过向量检索+生成解决私有数据问题 模型微调:深度定制行业专用模型,需高质量标注数据和GPU资源 Agent工具调用:赋予LLM执行能力,可对接各类业务系统 多模型协同:组合不同模型优势,提升系统可靠性 边缘部署:本地化方案保障数据安全,适合高合规要求场景 每种方案均包含典型应用场景、代码示例和优劣分析,建议根据业务需求

2026-05-27 23:53:19 404

原创 大模型是怎么“听懂“你说话、再去调工具的?——以客服 Agent 为例

本文通俗讲解了大模型客服Agent的工作原理,分为三个核心步骤:意图识别、工具调用和优化策略。首先,Agent通过分类任务识别用户意图(如查询物流),并提取关键参数(如订单号)。其次,根据预定义的工具说明书(如查询订单状态函数),模型决定调用哪个工具并执行。最后,文章提出六大优化方向,重点强调清晰描述工具适用场景、提供示例、主动追问不确定信息,以及设置兜底机制。整个过程通过两轮对话实现:模型先翻译用户需求为系统指令,再将执行结果转化为自然语言回复。

2026-05-25 00:15:34 470

原创 五大主流 Agent 架构模式详解

本文系统梳理了五种主流Agent架构模式:1) ReAct模式通过思考-行动-观察循环逐步解决问题,适合简单任务但缺乏全局规划;2) Plan & Execute将规划与执行分离,适用于复杂多步骤任务;3) Multi-Agent采用多智能体协作,通过中心化或去中心化方式完成复杂工作;4) RAG+Agent结合检索增强技术,动态获取外部知识;5) Tool Use支持结构化工具调用,可实现并行操作提升效率。每种模式从核心思想、工作流程到适用场景进行了详细解析,为不同应用场景下的Agent架构选型提供了系统

2026-05-21 00:07:18 698

原创 # Agent 是什么?把它想象成一个人

Agent是一种模拟人类行为的智能程序,其核心结构由五个关键部分组成:1) LLM推理核心作为"大脑"负责决策;2)感知层作为"眼睛"接收输入;3)规划层作为"脊椎"分解任务步骤;4)记忆层作为"心脏"存储上下文;5)工具层作为"双手"执行具体操作。完整的Agent工作流程包括:接收输入→分析决策→拆解步骤→调用工具→存储结果→生成响应。这种结构使Agent能够像人类一样思考、记忆并按计划完成任务,而非简单的魔法程序。

2026-05-18 00:01:20 618

原创 你的 RAG 答案总缺一半?试试 Agentic RAG

普通 RAG 只检索一次,信息不够也硬生成答案,跨文档查询和多步推理这两类问题它处理不好。Agentic RAG 在检索之后多了一个判断:够了就回答,不够就再检索一次。这篇文章用同比增长和合同索赔两个例子,拆解两种架构的具体差异,以及什么时候该用哪个。

2026-05-17 23:36:53 377

原创 Prompt给到LLM后的完整执行链

这篇文章揭示了AI助手处理用户查询"我的订单到哪了"背后的7个关键步骤。从用户输入到最终响应,系统经历了:1)前端请求打包;2)构建执行器;3)Prompt模板填充;4)LLM首次推理选择工具;5)工具执行查询数据库;6)LLM二次推理生成答案;7)存储对话记忆并返回结果。整个过程涉及前端、API层、LLM推理和工具执行等多个环节,其中Prompt中的工具描述(docstring)质量直接影响工具调用准确率,而调试时可查看intermediate_steps中的详细推理链路。系统通过两次

2026-05-13 00:52:37 217

原创 MCP 是什么?给开发者的完整指南

MCP 协议:AI与运行环境的桥梁 MCP(Model Context Protocol)是Anthropic推出的开放协议,旨在解决AI调试时"隔墙猜谜"的核心痛点。它通过标准化接口让AI能直接操作真实运行环境,包括浏览器、数据库等工具。 核心价值: 打破AI与运行环境间的信息壁垒 提供统一工具调用标准(类似USB接口) 实现调试过程闭环验证 典型工作流:AI通过MCP客户端发送结构化指令→MCP服务端执行具体操作(如浏览器控制)→返回结构化结果→AI继续推理。这种机制使AI能像工程师

2026-05-10 00:44:23 485

原创 LLM · Function Call · MCP Tools · Agent · Skills 是什么关系?一张图 + 一个例子,5 分钟彻底搞懂。

本文通过订机票场景解析LLM应用架构中的核心概念关系。LLM作为大脑负责推理决策,通过Function Call表达工具调用意图;MCP Tools是标准化工具箱,按统一接口执行具体操作;Agent作为协调器驱动任务循环执行;Skills则是预定义的任务模板,沉淀最佳实践。五个概念形成完整工作链:LLM思考→Function Call声明→MCP Tools执行→Agent协调→Skills复用。文章还澄清了常见误区,强调LLM不能直接执行代码、Agent不等于LLM等关键点,为开发者提供了清晰的架构认知框

2026-05-10 00:15:17 455

原创 Python 数据库迁移:Alembic 太重?自己动手搭一套轻量版

本文介绍了一套轻量级数据库迁移方案,借鉴了Alembic的核心思想但更加简单易用。该方案通过版本化迁移文件和持久化执行记录,解决了数据库变更管理中的常见痛点:环境不一致、重复执行、回溯困难等问题。迁移文件采用纯SQL编写,按表组织,通过递增ID标识变更。执行器自动记录执行状态到_migration_history表,确保变更只执行一次。相比Alembic,这套方案无需额外依赖,上手门槛低,特别适合直接使用原生SQL的项目。核心设计原则包括:变更代码化、ID只增不改、执行状态自动化管理,有效降低了数据库变更的

2026-05-09 00:01:56 530

原创 你的 Service 为什么越写越乱?从 CQRS 说起

Query(读)Command(写)类职责查询、过滤、分页新增、修改、删除副作用❌ 无✅ 有事务无需flush,由 Controller commit注入别名ReadSvcWriteSvc。

2026-05-08 00:31:29 356

原创 # GitHub CLI:告别繁琐的 Git 命令,让开发更高效

GitHub CLI (gh) 是 GitHub 官方命令行工具,可让开发者直接在终端完成 GitHub 操作,无需频繁切换网页。它支持创建仓库、管理 issue/PR、代码审查等工作流,大幅提升开发效率。通过 OAuth 安全认证,gh 能替代 90% 的网页操作,支持 JSON 输出便于脚本集成。安装简单(支持 macOS/Linux/Windows),常用场景包括一键创建推送仓库、批量处理 issue、生成发布说明等。与 git 命令互补,gh 专注于 GitHub 平台功能,是开发者提升工作流效率的

2026-05-02 23:52:13 787 2

原创 为什么 AI 编排层要选 FastAPI 而不是 Django?深度解析 + 适合场景

很多有 Django 经验的开发者在搭 AI Agent 系统时会本能地沿用熟悉的框架,但 AI 编排层的核心需求——异步调度、SSE 流式输出、轻量无状态——恰好与 Django 的设计方向相悖。本文从实际项目出发,分析了 Django 在 AI 编排场景下的三个具体痛点:异步支持不彻底、SSE 实现繁琐、携带大量用不上的全家桶组件。对比说明了 FastAPI 原生异步、StreamingResponse 开箱即用、Pydantic 自动生成接口文档的优势,并给出了 FastAPI 对接 Java 业务层

2026-04-28 23:13:53 730

原创 FastAPI 鉴权怎么写?中间件和依赖注入一次说清楚

从每个接口自己写验证代码的痛点出发,一步步重构成中间件统一拦截 + Depends() 精准注入的结构。适合想搞清楚「为什么要用中间件」的开发者。

2026-04-27 00:01:11 469

原创 用 FastAPI 将 LangChain Agent 封装成对外接口

本文介绍如何用 Python FastAPI 将 LangChain Agent 封装成 HTTP 接口,供 Java Spring Boot 主服务调用。涵盖 FastAPI 路由、请求响应体定义、LangChain Tool 编写、ReAct Agent 推理机制,以及 Java 侧 RestTemplate / WebClient 调用方式,适合 Java 技术栈团队落地 AI 能力参考。

2026-04-25 01:49:17 663

原创 LangChain AgentExecutor 完全指南:ReAct循环+Memory+LLM实战

学完 LangChain 工具模块之后,很多人卡在同一个地方:工具定义好了,但怎么让 LLM自动决定调哪个工具、调几次、把结果串起来?答案就是。它是 LangChain Agent 的执行引擎,把工具调用、推理循环、记忆管理全部自动化。bind_tools和的本质区别ReAct 循环是怎么跑的(Thought → Action → Observation)四个关键参数各自的作用,不加会发生什么reactvsreact-chat怎么选,选错记忆全失效Memory 两种类型的区别,k=10。

2026-04-22 23:30:12 777

原创 LangChain Tools工具模块完全指南:@tool装饰器+StructuredTool+Pydantic校验+实战案例

本文全面介绍了 LangChain 工具模块的使用方法,重点讲解了 @tool 装饰器和 StructuredTool 的实战应用。主要内容包括: @tool 装饰器的核心功能:自动生成工具名称、描述和参数类型 工具描述(description)的编写规范:必须包含功能说明、触发条件和输入格式 参数类型注解的必要性和 Pydantic 校验规则的使用 @tool 与 StructuredTool 的选择策略 工具返回值的规范要求 完整的 DeepSeek 调度示例 文章提供了大量可运行的代码示例,并总结了工

2026-04-21 23:14:19 558

原创 LangChain嵌入模型入门

嵌入模型(Embedding Model)的作用是把文字变成向量,让计算机能计算两段文字之间的语义相似度。"苹果手机" → [0.12, -0.83, 0.45, ...] ← 1536 个数字"iPhone" → [0.11, -0.81, 0.43, ...] ← 两个向量很接近 → 语义相似"香蕉" → [-0.6, 0.22, 0.91, ...] ← 差很远 → 语义无关这串数字叫向量,数字的个数叫维度。维度越多,语义描述越精细,但计算成本也越高。知识点一句话记忆嵌入模型。

2026-04-21 00:24:55 293

原创 2026 年 LangChain (记忆)Memory 怎么用?三个核心类 + 完整代码示例

本文介绍了在LangChain中实现对话记忆的方法。通过InMemoryChatMessageHistory存储对话历史,使用RunnableWithMessageHistory包装器自动管理历史记录,使LLM具备"记忆"功能。关键步骤包括:1)用字典管理多用户历史;2)Prompt中设置MessagesPlaceholder;3)构建基础chain;4)用包装器绑定历史管理;5)调用时传入session_id。这种方法解决了LLM无状态的问题,使其能记住上下文对话内容,适用于客服等需要

2026-04-19 22:42:52 355

原创 Web前端标签打印踩坑实录:@page size不生效?一文搞定自适应打印方案

Web前端标签打印踩坑实录:@page size不生效?一文搞定自适应打印方案

2026-03-15 17:53:31 464

原创 ONLYOFFICE 8.1 版本测评:功能全面的办公套件新选择

近日,ONLYOFFICE发布了最新的8.1版本,这一版本不仅对已有功能进行了优化,还引入了许多令人期待的新特性。ONLYOFFICE 8.1版本在演示文稿编辑器中新增了这一功能,用户可以通过选择预设的幻灯片版式,快速应用到多张幻灯片上,从而保持整体风格的一致性。综上所述,ONLYOFFICE 8.1版本在多个方面进行了显著改进,无论是PDF编辑器的完善、幻灯片版式功能的引入,还是从右至左语言支持的优化,都显示出开发团队对用户需求的深刻理解和重视。这一设计充分考虑了用户的多样化需求,提升了软件的可定制性。

2024-07-10 19:47:21 927

原创 nvm实现node版本的管理

使用nvm管理node

2023-10-15 00:01:06 243

原创 父子组件传值与组件封装

关于父子组件传值的理解

2023-05-25 17:19:48 266

原创 ES6-扩展运算符

ES6新增特性之扩展运算符

2022-10-19 01:02:41 301

原创 let,const,var的作用范围和区别

let,const,var的作用范围和区别。

2022-10-14 16:57:16 492

原创 解决stack FetchError: request to https://registry.npm.taobao.org/@vue%2fcli-plugin-vuex failed, reason

针对小程序的一些问题的解决方法

2022-09-07 12:03:28 3720

原创 JS-Map和Set简介和基本用法

ES6-map和Set

2022-07-20 17:46:18 1418

原创 vue2.0 关闭eslint检查

2022-05-15 17:59:34 1704

原创 字符串最后一个单词的长度 javascript

字符串最后一个单词的长度题目描述:给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度.输入描述:示例1:输入:s = “luffy is still joyboy” 输出:6 解释:最后一个单词是长度为6的“joyboy”。输入:s = “Hello World” 输出:5 解释:最后一个单词是“World”,长度为5。 示例 2:示例2:输入:s = " fly me to the moon " 输出:4 解释:最后一个单词是

2022-05-13 18:20:55 941

原创 MYSQL之连接

MySQL 常用连接方式

2022-05-03 21:51:59 5027

原创 合并k个升序链表

力扣--合并K个链表升序输出(栈.链表)

2022-05-03 20:43:08 307

原创 leetcode-题1两数之和

题目描述:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4

2022-03-20 00:25:25 146

原创 html两种盒子模型

html常用知识点总结

2022-02-26 17:02:18 286

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除