> ## Content Index
> Fetch the complete content index at: https://lucent.blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 别再把Claude Code只当编程工具，Java终于能驱动这个超级智能体了
- URL: https://lucent.blog/1ksiglow/
- Published: 2026-01-22T02:22:24.000Z
- Updated: 2026-01-22T02:22:22.000Z
- Author: Lucent
- Tags: AI

大多数人把 Claude Code 当成"更强的 Copilot"在用。

打开终端，输入指令，等它写代码。这个用法没错，但你可能错过了它真正的价值。

Claude Code 不是代码补全工具，也不是简单的 AI 对话助手。它是一个**基于文件系统作为上下文、终端为交互方式、操作系统为执行环境的通用 Agent 产品**。换句话说，它是一个超级智能体。

这个定位的差异，决定了你能用它做什么。如果只是写代码，那它和 Cursor、GitHub Copilot 没太大区别。**但如果你把它当成智能体，它能做的事情就完全不一样了。**

在讨论 Claude Code 之前，我们先搞清楚一个问题：什么是超级智能体？

### **不是工具，是智能体**

传统的 AI 编程工具，本质上是"被动响应"的。你问一句，它答一句。你让它写代码，它写完就停了。但 Claude Code 不一样。它具备典型的智能体特征：

**1\. 高度自主性**

它能在没有持续人工监督的情况下自主决策和执行操作。你给它一个目标，它会自己规划步骤、调用工具、处理错误、迭代优化，直到完成任务。

**2\. 环境交互性**

能读写文件、执行命令、搜索代码、调用 API、运行测试。它和你的开发环境是深度集成的。

**3\. 复杂目标**

它追求的是高层次的任务目标，而不是仅仅对一次性指令进行响应。你说"帮我实现用户认证"，它会理解这是一个系统性任务，涉及数据库、API、前端、测试等多个环节。

这些特征，让 Claude Code 从"工具"进化成了"智能体"。

### **超越编程的应用场景**

正因为它是智能体，所以它的应用范围远超编程：

- • **数据整理**：在堆满各种文件的工作目录下按领域分类整理文件 (cwork)
- • **知识管理**：在学习资料文件夹中基于主题搜索相关文件并汇总观点
- • **内容创作**：基于个人写作资料库，按照用户的口吻和行文习惯生成新文章

Anthropic 官方发布了 Claude Code SDK（现在改名叫 Claude Agent SDK），让开发者可以用代码驱动 Claude Code。

### **SDK 的核心价值**

SDK 不是简单地把 CLI 命令封装成函数。它提供的是：

**1\. 编程式控制**

你可以在代码中创建 Claude Code 实例，配置它的行为，控制它的执行流程。

**2\. 会话管理**

支持多轮对话，上下文会自动保持。你可以在一个会话中连续提问，Claude Code 会记住之前的内容。

**3\. 工具扩展**

通过 MCP（模型上下文协议）、Skills、Agent，你可以给 Claude Code 添加自定义工具。比如连接数据库、调用内部 API、访问企业知识库。

**4\. 权限控制**

你可以通过 Hook 系统拦截工具调用，决定哪些操作允许执行，哪些需要人工确认。

### **官方 SDK 的局限**

但官方 SDK 有个问题：只支持 Python 和 TypeScript。

对于 Java 开发者来说，这意味着：

- • 无法在 Spring Boot 应用中集成 Claude Code
- • 无法在企业级 Java 项目中使用
- • 无法利用 Java 生态的丰富工具链

这是一个巨大的遗憾。

Java 社区占据了企业级开发的半壁江山。Spring Boot、Spring Cloud、Dubbo、MyBatis...这些技术栈支撑着无数企业的核心业务。

如果 Java 开发者无法用代码驱动 Claude Code，那就意味着这个超级智能体无法真正融入 Java 生态。

## **Claude Agent SDK for Java**

好消息是，Spring AI 社区已经填补了这个空白。

**Claude Agent SDK for Java** 是一个纯 Java 实现，镜像了官方 Python 和 TypeScript SDK 的设计。它让 Java 开发者也能用代码驱动 Claude Code 这个超级智能体。

```
<repositories>
    <repository>
        <id>central-snapshots</id>
        <url>https://central.sonatype.com/repository/maven-snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>org.springaicommunity</groupId>
        <artifactId>claude-code-sdk</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </dependency>
</dependencies>
```

### **三种 API 风格，适配不同场景**

这个 SDK 最大的特点是提供了三种 API 风格，适配不同的编程场景：

#### **1\. One-shot API：一行代码搞定**

最简单的用法，适合脚本和 CLI 工具：

```
import org.springaicommunity.claude.agent.sdk.Query;

String answer = Query.text("What is 2+2?");
System.out.println(answer);  // "4"
```

一行代码，搞定。

如果需要配置选项：

```
String answer = Query.text("Explain quantum computing",
    QueryOptions.builder()
        .model("claude-sonnet-4-20250514")
        .appendSystemPrompt("Be concise")
        .timeout(Duration.ofMinutes(5))
        .build());
```

这种 API 适合快速验证想法、写小工具、做实验。

#### **2\. Blocking API：传统同步流程**

适合传统 Java 应用，使用 Iterator 模式：

```
import org.springaicommunity.claude.agent.sdk.ClaudeClient;
import org.springaicommunity.claude.agent.sdk.ClaudeSyncClient;

try (ClaudeSyncClient client = ClaudeClient.sync()
        .workingDirectory(Path.of("."))
        .model("claude-sonnet-4-20250514")
        .build()) {

    // 最常用：直接获取文本结果
    String answer = client.connectText("What is 2+2?");
    System.out.println(answer);  // "4"

    // 多轮对话，上下文自动保持
    String followUp = client.queryText("Multiply that by 10");
    System.out.println(followUp);  // "40"
}
```

这种 API 适合传统的 Spring Boot 应用、批处理任务、定时任务等场景。

#### **3\. Reactive API：响应式编程**

适合高并发、非阻塞场景，使用 Project Reactor：

```
ClaudeAsyncClient client = ClaudeClient.async()
    .workingDirectory(Path.of("."))
    .model("claude-sonnet-4-20250514")
    .build();

// 流式获取文本
client.connect("Explain recursion").textStream()
    .doOnNext(System.out::print)
    .subscribe();
```

多轮对话可以用 flatMap 链式调用：

```
client.connect("My favorite color is blue.").text()
    .doOnSuccess(System.out::println)
    .flatMap(r1 -> client.query("What is my favorite color?").text())
    .doOnSuccess(System.out::println)  // Claude记住了："blue"
    .flatMap(r2 -> client.query("Spell it backwards").text())
    .doOnSuccess(System.out::println)  // "eulb"
    .subscribe();
```

### **实战场景：基于本地文档的 RAG 问答**

一个典型的应用场景是：用 Claude Code SDK 构建基于本地文档的智能问答系统。

比如你有一个产品文档库，用户问"PIGX 如何关闭前后端验证码？"，系统需要采用 RAG 的方式自动搜索文档、找到答案、整理回复。

传统做法需要你自己实现：文档解析、向量化、检索、拼接 Prompt...一套下来几百行代码，可能还只是个 Demo(RAG 很难，细节太多啦)。

用 Claude Code SDK，核心逻辑就这么几行：

```
public class DocQAService {

    public String answerQuestion(String question) {
        try (ClaudeSyncClient client = ClaudeClient.sync()
                .workingDirectory(Path.of("/path/to/docs"))  // 文档目录
                .model("claude-sonnet-4-20250514")
                .build()) {

            // Claude Code会自动搜索文档、找到相关内容、生成回答
            return client.connectText(
                "根据本地文档回答用户问题：" + question +
                "\n要求：1.先搜索相关文档 2.整理关键信息 3.用中文回答"
            );
        }
    }
}
```

整个流程是这样的：

1\. **用户提问** → 业务应用接收

2\. **调用 Claude Code** → 通过 SDK 发起请求

3\. **自动搜索文档** → Claude Code 在指定目录中查找相关文件

4\. **整理内容** → 提取关键信息，组织答案

5\. **返回结果** → 通过 SDK 返回给业务应用

Claude Code 会自动处理文件搜索、内容理解、答案生成，你不需要关心底层实现，到底如何解析的文件，如何查询处理的逻辑。这就是"超级智能体"的威力：你只需要告诉它目标，它自己搞定过程。