<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI on XLabs</title><link>https://www.xlabs.club/categories/ai/</link><description>Recent content in AI on XLabs</description><generator>Hugo</generator><language>zh-CN</language><copyright>Copyright (c) 2020-2025 XLabs Club</copyright><lastBuildDate>Sun, 02 Aug 2026 11:10:20 +0800</lastBuildDate><atom:link href="https://www.xlabs.club/categories/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>AI Code Review 横评——CodeRabbit vs PR-Agent vs Copilot Review</title><link>https://www.xlabs.club/blog/ai-code-review-tools-comparison/</link><pubDate>Mon, 13 Jul 2026 22:00:00 +0800</pubDate><guid>https://www.xlabs.club/blog/ai-code-review-tools-comparison/</guid><description>&lt;p&gt;AI 写代码是热点，AI 审代码才是刚需。人工 Code Review 三个痛点：响应慢（等同事有空）、质量不稳（看人看心情）、覆盖率低（只审改动的 30%）。AI Code Review 解决的不是&amp;quot;替代人审&amp;quot;，是&lt;strong&gt;每次 PR 都有一致标准的先行审查&lt;/strong&gt;——人等会累，机器不会。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更多 AI 开发工具见 &lt;a href="https://github.com/xlabs-club/awesome-x-ops#ai-coding" target="_blank" rel="noopener"&gt;awesome-x-ops AI Coding 分类&lt;/a&gt;
。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="三款工具一句话"&gt;三款工具一句话&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;定位&lt;/th&gt;
					&lt;th&gt;一句话&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CodeRabbit&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;全托管 SaaS&lt;/td&gt;
					&lt;td&gt;「AI 审查 + 对话式修正 + 自动摘要」的无脑一体化方案&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;PR-Agent&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;开源可自托管&lt;/td&gt;
					&lt;td&gt;「各种 AI Provider 随便换」的审查框架，Codium 出品&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Copilot Review&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;GitHub 原生&lt;/td&gt;
					&lt;td&gt;「点一下就有」的零配置审查，但能力还在长&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="维度-1集成方式"&gt;维度 1：集成方式&lt;/h2&gt;
&lt;h3 id="coderabbitgithub-app--saas"&gt;CodeRabbit：GitHub App + SaaS&lt;/h3&gt;
&lt;p&gt;CodeRabbit 是托管服务。安装 GitHub App → 授权仓库 → 开 PR → 自动审。不需要 CI runner，不需要管理 token。&lt;/p&gt;



&lt;div class="expressive-code"&gt;
 &lt;figure class="frame not-content"&gt;
 &lt;figcaption class="header"&gt;
 &lt;span class="title"&gt;&lt;/span&gt;
 &lt;/figcaption&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# .coderabbit.yaml — 唯一的配置入口&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;reviews&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;auto_review&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;enabled&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;drafts&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;poem&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c"&gt;# 关掉那个烦人的诗&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;path_instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;**.go&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;检查 error 是否被正确处理，context 是否正确传递&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;db/migrations/**&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;instructions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;检查是否有破坏性变更，reviewers: @dba-team&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;优点&lt;/strong&gt;：零运维，摘要生成（PR Summary）质量好。&lt;strong&gt;缺点&lt;/strong&gt;：数据离仓，内部代码谨慎用。&lt;/p&gt;</description></item><item><title>MCP 协议深度解析——AI 工具互联的 USB-C 时刻</title><link>https://www.xlabs.club/blog/mcp-protocol-deep-dive/</link><pubDate>Thu, 09 Jul 2026 23:00:00 +0800</pubDate><guid>https://www.xlabs.club/blog/mcp-protocol-deep-dive/</guid><description>&lt;p&gt;2024 年底，Anthropic 发布了 &lt;strong&gt;MCP（Model Context Protocol）&lt;/strong&gt;——一个让 AI 模型安全、标准化地访问外部工具和数据源的开放协议。用 Anthropic 的话说：&lt;strong&gt;MCP 是 AI 应用的 USB-C 接口&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;六个月过去，MCP 已经从 Anthropic 的实验变成了整个 AI 生态的基础设施：OpenAI 发布了自己的 MCP 支持，Google 的 Gemini 接入，微软在 Copilot 生态中推广，开源社区贡献了 500+ MCP Server。&lt;/p&gt;
&lt;p&gt;这篇文章不是翻译官方文档，而是我们从实现 MCP Server 和 Client 的过程中，对协议设计哲学的理解。&lt;/p&gt;
&lt;h2 id="问题function-calling-不够吗"&gt;问题：Function Calling 不够吗？&lt;/h2&gt;
&lt;p&gt;在 MCP 之前，LLM 调用外部工具的标准方式是 &lt;strong&gt;Function Calling&lt;/strong&gt;：&lt;/p&gt;



&lt;div class="expressive-code"&gt;
 &lt;figure class="frame not-content"&gt;
 &lt;figcaption class="header"&gt;
 &lt;span class="title"&gt;&lt;/span&gt;
 &lt;/figcaption&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// OpenAI 风格 Function Calling
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tools&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;function&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;function&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;search_database&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;查询用户数据库&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;parameters&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;object&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;properties&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;query&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;string&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;limit&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nt"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;integer&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;这个模式的三个致命缺陷：&lt;/p&gt;</description></item><item><title>AI Coding 工具横评——Aider vs Continue vs Cline 谁更适合你</title><link>https://www.xlabs.club/blog/ai-coding-tools-comparison/</link><pubDate>Thu, 09 Jul 2026 22:00:00 +0800</pubDate><guid>https://www.xlabs.club/blog/ai-coding-tools-comparison/</guid><description>&lt;p&gt;2026 年的 AI Coding 工具已经不再是「玩具」或「自动补全」那么简单。Aider、Continue、Cline 代表了三种不同的设计哲学：&lt;strong&gt;终端原生的结对编程&lt;/strong&gt;、&lt;strong&gt;IDE 内嵌的上下文感知&lt;/strong&gt;、&lt;strong&gt;VS Code 插件的 Agent 自动化&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;本文从 12 个维度对比这三款工具，帮你选型——不是看谁功能多，是看谁的设计哲学契合你的工作流。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更多 AI 基础设施工具参见 &lt;a href="https://github.com/xlabs-club/awesome-x-ops#ai--inference" target="_blank" rel="noopener"&gt;awesome-x-ops AI 分类&lt;/a&gt;
。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="一句话定位"&gt;一句话定位&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;定位&lt;/th&gt;
					&lt;th&gt;核心哲学&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Aider&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;终端原生 AI 结对编程&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;AI 是你的 Pair，Git 是真相来源&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Continue&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;IDE 内嵌 AI 助手&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;AI 应该像 Tab 补全一样自然，不打断心流&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Cline&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;VS Code AI Agent&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;AI 应该能自己读代码、写代码、执行命令&amp;rdquo;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="维度-1工作流适配"&gt;维度 1：工作流适配&lt;/h2&gt;
&lt;h3 id="aider终端原生"&gt;Aider：终端原生&lt;/h3&gt;
&lt;p&gt;Aider 在终端运行，和 Git 深度集成。你不需要离开终端——&lt;code&gt;aider&lt;/code&gt; 启动，AI 自动理解 Git 仓库的上下文。&lt;/p&gt;



&lt;div class="expressive-code"&gt;
 &lt;figure class="frame not-content"&gt;
 &lt;figcaption class="header"&gt;
 &lt;span class="title"&gt;&lt;/span&gt;
 &lt;/figcaption&gt;
 &lt;pre tabindex="0"&gt;&lt;code&gt;$ aider
Aider v0.75.0
Models: claude-sonnet-4-5 with diff edit format
Git repo: .git with 1,234 files
Repo map: using 1024 tokens
──────────────────────────────────────────
&amp;gt; 把这个函数的错误处理改成 Result 类型

# AI 直接在终端中输出 diff，你可以 /add、/drop、/undo&lt;/code&gt;&lt;/pre&gt;
 &lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;适合&lt;/strong&gt;：Vim/Neovim/终端重度用户、Git 工作流驱动的开发。&lt;/p&gt;</description></item></channel></rss>