【从0到1构建一个ClaudeAgent】协作-团队协议
多个 Agent 怎么协商?
这个在智能体团队系统的基础上,增加了两种协议:
关机协议(Shutdown Protocol):
领导智能体请求团队成员关机
团队成员可以批准或拒绝关机请求
基于 request_id 的请求-响应模式
计划审批协议(Plan Approval Protocol):
团队成员提交计划给领导审批
领导批准或拒绝计划
同样基于 request_ ...
【从0到1构建一个ClaudeAgent】协作-Agent团队
一个 Agent 干不完怎么办?
Java实现代码
public class AgentTeamsSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TEAM_DIR = WORKDIR.resolve(".team");
private static final Path INBOX_DIR = TEAM_DIR.resolve( ...
【从0到1构建一个ClaudeAgent】并发-后台任务
有些操作很慢,Agent 不能干等着。例如长时间编译/构建:make, mvn compile, gradle build 或 大数据处理:hadoop, spark-submit 等的一些工作
Java实现代码
public class BackgroundTasksSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private s ...
仿大疆司空2面状航线生成——凸多边形区域航线生成算法详解
仿大疆司空2面状航线生成——凸多边形区域航线生成算法详解
一、前言
去年,在针对大疆上云API进行二次开发的过程中,有一个需求是实现大疆司空2中的面状航线功能。在经过上网搜索后,在github上找到了一个开源项目cpRPA(植保无人机凸多边形地块工作路线规划),可以实现面状航线的生成。
参考项目github地址:https://git ...
自定义跨字段校验必填注解
应用场景:
一个类中属性a不为空时,属性b不能为空
一个类中属性a不为xxx时,属性b不能为空
一个类中属性a为xxx时,属性b不能为空
注解类
package com.xxx.common.core.annotation;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;
/**
* @Author zibocoder
...
【从0到1构建一个ClaudeAgent】规划与协调-任务系统
多个任务之间有依赖关系怎么搞?
Java实现代码
public class TaskSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TASKS_DIR = WORKDIR.resolve(".tasks"); // 任务存储目录
private static final Gson gson = new ...
apisix~graphQL的支持
https://apisix.apache.org/blog/2022/03/02/apisix-integration-graphql/
https://juejin.cn/post/7072557615833677837?is_preload=1&module_name=iOS_tt_url&share_token=5F541E05-B8E8-43A4-B76D-660A0461924C&tt_from=copy_link&upstream_biz=iOS_url&utm_campaign=client_share&utm_medium=toutiao_ios&utm_source=co ...
【从0到1构建一个ClaudeAgent】内存管理-上下文压缩
对话一长,Token 烧得肉疼。那怎么办,做压缩
Java实现代码
public class ContextCompactSystem {
// --- 配置 ---
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path TRANSCRIPT_DIR = WORKDIR.resolve(".transcripts"); // 新增:对话存档目录
...
【从0到1构建一个ClaudeAgent】规划与协调-技能
这里解决了 Agent 开发中的一个核心痛点:上下文窗口限制与知识广度的矛盾。
Java 实现代码
public class AgentWithSkills {
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
private static final Path SKILLS_DIR = WORKDIR.resolve("skills"); // 新增技能目录
// --- 1 ...
1、IntelliJ IDEA 之简介
1.1、IDEA 使用率
如上图所示,根据《2025年Java开发者生产力报告》显示,IntelliJ IDEA 的使用率在 Java 开发者中已经将近 85% ,遥遥领先于第二名。
1.2、JetBrains 公司介绍
IDEA,是 JetBrains 公司的产品,该公司成立于2000年,总部位于捷克的布拉格,致力于为开发者打造最高效智能的开发工具。
除了用于 Java 开发的 ...
Java中的线程
什么是线程?
线程(Thread)是程序执行流的最小单位。
在 Java 中,一个线程代表一个独立的执行路径,它运行在进程(Process)内部。
进程 vs 线程:
进程是操作系统分配资源的基本单位(如一个 Java 应用就是一个进程)。
线程是 CPU 调度的基本单位,多个线程共享同一个进程的内存空间(堆、方法区),但各自拥有独立 ...
【从0到1构建一个ClaudeAgent】规划与协调-子Agent
子任务污染主对话上下文怎么办?
因此这里主要展示了如何构建一个多智能体系统。
在 原作者的Python代码 里,run_subagent 函数就像一个“虫洞”,把任务传送到一个新的平行宇宙(子线程/子上下文)去执行,执行完只带回结果。
在 Java 中,我们通常通过创建新的类实例来实现这种隔离。父 Agent 和子 Agent 拥有各自独 ...
gRPC + Spring Boot实战:微服务高性能通信从入门到落地
一、gRPC简介
gRPC是Google开源的高性能RPC框架,基于HTTP/2和Protocol Buffers,支持双向流、多语言代码生成。相比REST JSON,gRPC序列化体积小3-5倍,延迟降低30%以上,是微服务间通信的首选方案。
二、项目结构
grpc-demo/
├── grpc-api/ # Proto定义 + 生成代码
│ └── src/main/proto/
│ └─ ...
【从0到1构建一个ClaudeAgent】规划与协调-TodoWrite
这段代码引入了一个非常关键的概念:“自我反思与状态管理”。
之前的 Agent 只是单纯的“听指令 -> 干活”,容易干着干着就忘了初衷,或者在复杂的任务中迷失方向。TodoManager 就像是给 Agent 装了一个“记事本”和“监工”。
Java 实现代码
public class AgentWithTodo {
private static final Path WORKDIR = ...
WebSocket实现实时通知
后端
引入依赖
<!-- WebSocket支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
添加Server
import com.ruoyi.common.websocket.WebSocketUsers;
import jakarta.websocket.*;
import jakarta.websocket.server.PathPa ...
Spring Security 6 + OAuth 2.0实战:构建企业级认证授权系统
一、Spring Security 6 与 OAuth 2.0 概述
Spring Security 6是Spring Security的最新主版本,全面支持OAuth 2.1和OpenID Connect 1.0。本文将实战演示如何构建一个完整的OAuth 2.0授权服务器和资源服务器,实现安全的API认证与授权。
二、项目架构设计
┌─────────────────┐ ┌────────── ...
【从0到1构建一个ClaudeAgent】工具与执行-工具
这是 Agent 进化的关键一步:从“只会说话”变成了“真正干活”。
Java 实现代码
public class AgentWithTools {
// 配置
private static final Path WORKDIR = Paths.get(System.getProperty("user.dir"));
// --- 核心:工具定义与分发 ---
// 1. 定义工具枚举
public enum ToolType {
...
Java学习笔记:标识符
1. 什么是标识符?
在Java中,变量、方法、类等需要命名时使用的字符序列,称为 标识符(Identifier)。
使用技巧:凡是需要自定义名字的地方都叫标识符。如:类名、方法名、变量名、包名、常量名等。
2. 标识符的命名规则(合法条件)
Java标识符必须遵守如下硬性规则,否则编译不通过:
由26个英文字母的大小写(A-Z, a- ...
【从0到1构建一个ClaudeAgent】工具与执行-Agent循环
引言
最近刷到一个宝藏网站,叫 Learn Claude Code。名字看着挺像学习使用 Claude Code 的指南,但实际并不是,而是教你从 0 到 1 构建 nano Claude Code-like agent,每次只加一个机制。
网站链接我也再贴一遍:https://learn.shareai.run/zh/
而且网站开头就直白表示:所有 AI 编程 Agent 共享同一个循环:调用 ...
如何旋转PDF中的一页并保存?
前言
大家好,我是PDF小徐,我们在手机上有时候需要对一份PDF文件里面的一页进行旋转,比如旋转90度,180度,270度等,让我们生成一个新的PDF文件。其实,这个操作在微信上就能实现。今天小徐就来介绍下哦。
搜索微信小程序:PDF编辑器小帮手
首先,我们打开微信,在搜索框里面,输入pdf编辑器小帮手,进行搜索,找到如图所 ...