Modern Architecture
& Coding Solutions

IntelliJ IDEA 2026 AI Agent 深度体验:ACP 协议与 Koog 框架实战

2026年3月26日,IntelliJ IDEA 2026.1 正式发布。这次更新最引人注目的变化,不是 Java 26 的首日支持,也不是 Kotlin 2.3.20 的全面适配——而是 AI 智能体生态的全面开放。Codex、Cursor,以及任何兼容 ACP 协议的智能体,都可以一键安装到你的 IDE 中。JetBrains 正在从一个“封闭花园”进化为开放平台。

与此同时,JetBrains 在 KotlinConf 2026 上正式发布了 Koog 1.0——一个开源的企业级 AI 智能体框架,支持 Java 和 Kotlin,并原生集成了 ACP 协议。

本文将从 IDE 用户智能体开发者 两个视角,完整体验这场 AI 开发工具生态的变革。

一、ACP 协议:AI 智能体的“LSP”

1.1 什么是 ACP?

ACP(Agent Client Protocol)是一个开放标准,定义了 AI 编码智能体与代码编辑器/IDE 之间的通信方式。你可以把它理解为 LSP(Language Server Protocol) ,但面向的是 AI 智能体。

LSP 让任何编辑器都能通过统一标准支持任何编程语言;ACP 的作用类似——任何 AI 编码智能体都能在任何支持该协议的编辑器中运行

ACP 基于 JSON-RPC 2.0 规范,通过 stdin/stdout 通信。它定义了智能体与客户端之间的双向交互:IDE 可以将当前代码上下文、文件路径、光标位置等信息实时推送给智能体,智能体则可以返回修改建议、自动补全结果,甚至直接执行代码变更。

1.2 为什么 ACP 很重要?

在 ACP 出现之前,每个 AI 编码工具都需要为每个 IDE 单独开发插件——Cursor 有 Cursor 的插件,Codex 有 Codex 的插件,开发者被锁定在特定组合中。

ACP 打破了这种壁垒。任何 ACP 兼容的智能体都可以与任何 ACP 兼容的编辑器协同工作。目前,ACP 已提供 Python、TypeScript、Kotlin 和 Rust 的 SDK,开发者无需重新实现协议逻辑。

支持 ACP 的客户端包括 JetBrains 全家桶、Zed、Qt Creator 等。支持 ACP 的智能体则包括 Cursor、Codex、Claude Code、Gemini CLI、GitHub Copilot、Mistral Vibe、Qwen Code 等。

二、在 IntelliJ IDEA 2026.1 中使用 ACP 智能体

2.1 ACP 注册表:一键安装,零配置

IntelliJ IDEA 2026.1 引入了 ACP 注册表(ACP Registry) ——一个直接集成在 IDE 中的 AI 编码智能体目录。

安装步骤

  1. 确保 IDE 版本为 2025.3.2 或更高,并启用 AI Assistant 插件
  2. 打开 AI 工具窗口(快捷键 Alt+A
  3. 点击窗口顶部的“智能体选择器”下拉按钮
  4. 选择 “Install from ACP Registry…”
  5. 浏览可用智能体列表,点击 Install 一键安装
  6. 安装后即可在 AI 聊天中直接调用

无需 JetBrains AI 订阅即可使用通过 ACP 接入的第三方智能体。注册表中的智能体会持续更新,开发者可以及时了解新版本。

2.2 实测:在 IDEA 中使用 Cursor

Cursor 是首批加入 ACP 注册表的智能体之一。安装完成后,在 AI 聊天窗口的智能体选择器中选择 Cursor,它就能完整访问你的项目

实际体验中,Cursor 的智能体能力在 JetBrains IDE 的深度代码智能(重构、调试、代码质量检查)基础上,叠加了 AI 原生的多文件协同能力。例如,让 Cursor“将项目中所有 @Deprecated 方法替换为新 API”,它能够:

  • 扫描整个项目代码库
  • 识别所有待替换的方法调用
  • 生成替换方案并逐文件应用
  • 在关键决策点请求用户确认

延伸阅读:本站此前的 《Java 开发者上手 Cursor:AI 代码补全与重构实测》 介绍了 Cursor 的基础使用。而通过 ACP 在 IDEA 中使用 Cursor,意味着你无需离开 IntelliJ IDEA 就能获得 Cursor 的全部智能体能力。

2.3 多智能体切换:按需选择

ACP 注册表的价值不仅在于“安装”,更在于 “切换”

场景推荐智能体理由
日常编码辅助GitHub Copilot轻量、响应快、熟悉
大规模重构Auggie CLI针对大规模重构优化
复杂代码理解Gemini CLI深度代码库理解和多模态能力
开源项目贡献OpenCode社区驱动、完全开源
多语言项目Qwen Code强大的多语言支持

不同的智能体有不同的优势——有些定价更优,有些体验更好,有些体现了特定的开发理念。ACP 让你无需被限定在单一供应商的 AI 愿景中

三、Koog:用 Java 构建自己的 AI 智能体

如果说 ACP 解决了“怎么连”的问题,那 Koog 解决的就是“怎么造”的问题。

3.1 Koog 是什么?

Koog 是 JetBrains 开源的 JVM 生态 AI 智能体框架。2026 年 3 月,JetBrains 正式发布了 Koog for Java,提供了完全符合 Java 惯用风格的 API。

Koog 最初是为了满足 JetBrains 自身活动扩展需求而构建的——它使用结构化、可观测且具备容错能力的工作流取代了不可预测的、临时的提示更改方法。

Koog 1.0 的核心能力

  • 多种工作流策略:函数式、基于图、基于规划——精准控制智能体执行任务的方式
  • 支持所有主流 LLM 提供商:OpenAI、Anthropic、Google、DeepSeek、Ollama 等
  • Spring Boot 集成:通过 Starter 无缝接入现有 Spring 应用
  • 容错与持久化:故障后恢复进度,无需重复昂贵的 LLM 调用
  • OpenTelemetry 可观测性:全面监控智能体执行、Token 用量和成本
  • 历史记录压缩:减少 Token 用量,优化大规模使用成本

Koog 1.0 的稳定性承诺:稳定模块至少一年内无破坏性变更。

3.2 Koog for Java:用 Java 原生 API 构建智能体

下面用一个完整的 Java 示例,展示如何用 Koog 构建一个“银行助手”智能体。

第一步:定义工具(Tools)

@Tool 注解标记 Java 方法,并用 @LLMDescription 为 LLM 提供方法描述:

import koog.api.tool.Tool;
import koog.api.tool.LLMDescription;
import koog.api.tool.ToolSet;

public class BankingTools implements ToolSet {

    @Tool
    @LLMDescription("Sends money to a recipient")
    public Boolean sendMoney(
        @LLMDescription("Unique identifier of the recipient") String recipientId,
        @LLMDescription("Amount of money to send in USD") Integer amount
    ) {
        // 实际业务逻辑:调用支付网关
        System.out.println("Sending $" + amount + " to " + recipientId);
        return true;
    }

    @Tool
    @LLMDescription("Returns the current account balance in USD")
    public Integer getAccountBalance(
        @LLMDescription("Unique identifier of the user") String userId
    ) {
        // 实际业务逻辑:查询数据库
        return 1000000;
    }
}

第二步:配置 LLM 提供商并构建智能体

使用构建器 API 创建智能体,配置 LLM 提供商、系统提示和工具注册表:

import koog.api.agent.AIAgent;
import koog.api.llm.MultiLLMPromptExecutor;
import koog.api.llm.openai.OpenAILLMClient;
import koog.api.llm.anthropic.AnthropicLLMClient;
import koog.api.llm.openai.OpenAIModels;
import koog.api.tool.ToolRegistry;

public class BankingAgentDemo {

    public static void main(String[] args) {
        // 1. 配置 LLM 提供商(支持多个)
        var promptExecutor = new MultiLLMPromptExecutor(
            new OpenAILLMClient(System.getenv("OPENAI_API_KEY")),
            new AnthropicLLMClient(System.getenv("ANTHROPIC_API_KEY"))
        );

        // 2. 构建智能体
        var bankingAgent = AIAgent.builder()
            .promptExecutor(promptExecutor)
            .llmModel(OpenAIModels.Chat.GPT5_2)  // 选择模型
            .systemPrompt("You are a helpful banking assistant. " +
                          "You can check balances and send money for users.")
            .toolRegistry(
                ToolRegistry.builder()
                    .tools(new BankingTools())
                    .build()
            )
            .build();

        // 3. 运行智能体
        var result = bankingAgent.run(
            "Send $100 to my friend Mike (mike_1234) if I have enough money."
        );

        System.out.println("Agent response: " + result);
    }
}

当智能体运行时,LLM 会自动判断需要调用哪些工具——先调用 getAccountBalance 检查余额,如果足够则调用 sendMoney 完成转账。

3.3 Koog + Spring Boot:企业级集成

Koog 提供了 koog-spring-boot-starter,实现与 Spring Boot 的自动配置集成。

Maven 依赖

<dependency>
    <groupId>com.jetbrains.koog</groupId>
    <artifactId>koog-spring-boot-starter</artifactId>
    <version>1.0.0</version>
</dependency>

application.yml 配置

koog:
  llm:
    provider: openai
    api-key: ${OPENAI_API_KEY}
    model: gpt-5.2
  tools:
    scan-packages: com.example.banking.tools

Starter 会自动配置 LLMClientPromptExecutor Bean,并扫描 @Tool 注解的工具类。你只需在 Service 中注入 AIAgent 即可:

@Service
public class BankingService {

    @Autowired
    private AIAgent bankingAgent;

    public String handleUserRequest(String userMessage) {
        return bankingAgent.run(userMessage);
    }
}

Koog 还提供了 Spring AI 集成——你可以保留现有的 Spring AI LLM 提供商和数据库,在 Koog 中编写智能体,只需最小的配置变更。

四、Koog + ACP:将自定义智能体接入 IDE

Koog 与 ACP 的集成,让“用 Java 构建智能体”和“在 IDE 中使用智能体”无缝衔接。

4.1 集成架构

Koog 的 ACP 集成基于 ACP Kotlin SDK,通过 Koog 的 feature 机制实现。开发者只需在 Koog 智能体上启用 ACP feature,就能让它成为一个 ACP 兼容的服务器。

4.2 快速上手

Koog 官方提供了完整的 ACP 集成示例:

# 克隆 Koog 仓库
git clone https://github.com/JetBrains/koog.git

# 进入 ACP 示例目录
cd koog/examples/acp-agent

# 构建并运行
./gradlew installDist
./build/install/acp-agent/bin/acp-agent

启动后,在 IntelliJ IDEA 的 ACP 注册表中添加本地智能体地址,即可在 AI 聊天中选择并使用你自己构建的智能体。

五、ACP vs 原生 AI Assistant:对比实测

维度ACP 智能体(Codex/Cursor 等)JetBrains AI Assistant(原生)
模型选择自由选择(OpenAI/Anthropic/Google 等)受限于 JetBrains AI 订阅
MCP 工具支持完整支持(文件读写、Git、数据库等)功能有限
配置复杂度一键安装(ACP 注册表)开箱即用
成本按智能体自身定价(部分免费)需 JetBrains AI Pro 订阅
定制化可接入自建 Koog 智能体不可扩展
多智能体切换支持,按场景切换不支持

核心结论:JetBrains AI Assistant 适合开箱即用的场景;ACP 智能体适合需要模型自由、工具链完整、可定制的场景。

六、实战案例:从零构建一个“代码审查智能体”

下面用一个完整的案例,串联 ACP + Koog 的全部能力。

需求:构建一个智能体,能够审查 Java 代码并给出改进建议,然后在 IntelliJ IDEA 中直接使用。

Step 1 – 用 Koog 构建智能体

@Tool
@LLMDescription("Analyzes Java code and returns improvement suggestions")
public String reviewCode(
    @LLMDescription("The Java code to review") String code,
    @LLMDescription("The coding standards to follow") String standards
) {
    // 调用 LLM 进行代码审查
    return llmClient.chat(
        "Review this Java code against " + standards + ":\n" + code
    );
}

Step 2 – 启用 ACP Feature

在 Koog 智能体构建时启用 ACP 支持,使其成为一个 ACP 服务器。

Step 3 – 在 IDEA 中接入

在 IntelliJ IDEA 的 ACP 注册表中添加本地智能体地址,一键安装。

Step 4 – 使用

在 AI 聊天中选择该智能体,输入“审查当前文件的代码”,智能体自动分析并返回改进建议。

整个流程无需为 IDEA 开发任何插件,全部通过 ACP 标准协议完成。

七、总结与展望

IntelliJ IDEA 2026.1 的 ACP 支持 + Koog 1.0 的正式发布,标志着 Java 开发者的 AI 工具链进入了一个新时代

  • 作为开发者:你可以在 IDEA 中自由选择 Cursor、Codex、Claude Code 等任意 ACP 兼容智能体,不再被锁定在单一 AI 服务上
  • 作为智能体开发者:你可以用熟悉的 Java 语法,通过 Koog 构建企业级 AI 智能体,并通过 ACP 一键接入 IDE
  • 作为技术决策者:Koog 的 Spring Boot 集成和 OpenTelemetry 可观测性,让 AI 智能体可以像普通微服务一样被治理和监控

ACP 注册表正在持续增长——Cursor 已加入,更多智能体正在路上。JetBrains 正在构建一个开放的 AI 智能体生态系统。对于 Java 开发者来说,现在正是拥抱这场变革的最佳时机


📌 系列拓展阅读


📚 参考文献

  1. JetBrains Blog. IntelliJ IDEA 2026.1 Is Out!. https://blog.jetbrains.com/idea/2026/03/intellij-idea-2026-1/
  2. JetBrains Blog. ACP Agent Registry Is Live: Find and Connect AI Coding Agents in Your JetBrains IDE. https://blog.jetbrains.com/ai/2026/03/acp-agent-registry/
  3. JetBrains Blog. Cursor Joined the ACP Registry and Is Now Live in Your JetBrains IDE. https://blog.jetbrains.com/ai/2026/03/cursor-joined-the-acp-registry/
  4. JetBrains Blog. Koog 1.0 Is Out: Stable Core, Better Interop, and Multiplatform Observability. https://blog.jetbrains.com/ai/2026/05/koog-1-0-is-out/
  5. JetBrains Blog. Koog 登陆 Java:JetBrains 推出企业级 AI 智能体框架. https://blog.jetbrains.com/zh-hans/ai/2026/03/koog-comes-to-java/
  6. JetBrains Blog. Koog x ACP: Connect an Agent to Your IDE and More. https://blog.jetbrains.com/ai/2026/02/koog-x-acp/
  7. IT之家. IntelliJ IDEA 2026.1 发布:首发支持 Java 26 与 Kotlin 2.3.20. https://m.ithome.com/html/933569.htm
  8. Agent Client Protocol 官网. Introduction to ACP. https://agentclientprotocol.com/
赞(0) 打赏
未经允许不得转载:MACS Dev Hub » IntelliJ IDEA 2026 AI Agent 深度体验:ACP 协议与 Koog 框架实战

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册