docs: update image paths and README content
- Update image paths in documentation files to use relative paths - Enhance README content with more detailed descriptions of chapters - Fix sidebar link for CLI AI coding tools
@@ -10,7 +10,7 @@
|
||||
|
||||
Git 是由 Linux 内核开发者 Linus Torvalds 于 2005 年创建的分布式版本控制系统。其核心功能是跟踪文件的修改历史,允许开发者随时查看和回滚到以前的版本,并在与他人协作时高效地合并更改。
|
||||
|
||||

|
||||

|
||||
|
||||
与早期的集中式版本控制系统相比,Git 的“分布式”特性允许每个开发者的本地设备存储代码仓库的完整历史记录。大多数操作(如提交、回滚和分支管理)都可以在不依赖中央服务器的情况下执行,这使得 Git 更灵活,更适合大规模协作和离线工作。
|
||||
|
||||
@@ -24,9 +24,9 @@ Git 是由 Linux 内核开发者 Linus Torvalds 于 2005 年创建的分布式
|
||||
>
|
||||
> 不同系统的终端有所不同。在 Windows 上,常见的是“命令提示符 (cmd)”和“PowerShell”。你可以通过在计算机的运行/搜索框中输入“cmd”或“powershell”来启动这些命令行程序。
|
||||
>
|
||||
> 
|
||||
> 
|
||||
>
|
||||
> 
|
||||
> 
|
||||
>
|
||||
> 前者是一个较旧的工具,仅支持基本命令,如查看文件和复制,适合简单任务。后者是一个更高级的版本,可以处理复杂的操作,如进程管理和远程控制,并且还兼容 cmd 命令——使其在开发或系统管理场景中更常用。macOS 和 Linux 都默认带有“终端”,它们的命令逻辑相似,源自 Unix(贝尔实验室工程师在 20 世纪 60 年代末开发的经典计算机系统)。
|
||||
>
|
||||
@@ -34,7 +34,7 @@ Git 是由 Linux 内核开发者 Linus Torvalds 于 2005 年创建的分布式
|
||||
>
|
||||
> 你可能会想,如果记不住所有那些终端命令该怎么办。事实上,随着大语言模型的快速发展,不再需要像以前那样死记硬背了。现在,你只需要在需要时询问模型(例如“如何用 Git 获取远程代码?”或“如何通过命令行删除文件夹或批量创建文件夹?”),然后从回复中复制有用的命令即可。
|
||||
>
|
||||
> 
|
||||
> 
|
||||
|
||||
## 如何安装 Git
|
||||
|
||||
@@ -44,16 +44,16 @@ Git 是由 Linux 内核开发者 Linus Torvalds 于 2005 年创建的分布式
|
||||
|
||||
1. 前往 [Git 官方下载页面](https://git-scm.com/download/win) 并下载适合你系统的安装程序:[安装包](https://github.com/git-for-windows/git/releases/download/v2.51.0.windows.1/Git-2.51.0-64-bit.exe)。默认情况下,推荐使用 x64 安装程序。
|
||||
2. 双击安装程序并按照安装向导说明进行操作:
|
||||

|
||||

|
||||
|
||||
1. 建议保持默认选项。如果你需要自定义,请注意以下几点:(在大多数情况下,你可以一直点击“Next”)
|
||||
* 选择 Git 使用的默认编辑器:选择你喜欢的编辑器(如 VS Code)。你可以默认选择第一个选项,即 Vim(一个文本编辑器),或选择“Visual Studio Code as Git's default editor”选项(需要预先安装 VS Code)。你可以保持默认选择并点击“Next”继续。
|
||||

|
||||

|
||||
* 选择如何使用 Git:这三个选项控制 Git 在系统中的可访问性。建议选择选项 2(“from command line and 3rd-party software”)——它将基本的 Git 工具添加到 PATH 中,让你可以在 Git Bash、命令提示符、PowerShell 和 IDE 中使用 Git,而不会使系统混乱。
|
||||

|
||||

|
||||
3. 安装后,在桌面上右键单击。如果在菜单中看到“Git Bash Here”,则安装成功。
|
||||
|
||||

|
||||

|
||||
|
||||
### MacOS
|
||||
|
||||
@@ -107,18 +107,18 @@ GitHub 是一个基于 Git 的代码托管平台。它不仅为 Git 仓库提供
|
||||
|
||||
GitHub 不仅是世界上最大的代码托管平台,也是全球最活跃、最具影响力的开源社区。这里“开源”的核心思想是任何人都可以下载并运行软件的源代码。这种模式允许世界各地的人们检查彼此的代码并进行修改,或基于此创建新项目。例如,你可以在 GitHub 上找到各种学习教程以及用于训练 GPT 模型的框架(如 PyTorch)的完整源代码。每天,无数人在全球范围内协作审查和改进代码。
|
||||
|
||||

|
||||

|
||||
|
||||
许多大公司在 GitHub 上开源他们的程序或教程,以获得行业竞争优势——这也可以看作是一种广告形式。在 GitHub 社区中,项目获得的“星标 (stars)”数量是衡量其价值的主要指标;项目或组织拥有的星标越多,其可信度和影响力就越大。
|
||||
|
||||

|
||||

|
||||
|
||||
在我们的课程中,支持资源和作业也将上传到专用的 GitHub 仓库。通过上传作业的过程,你将逐渐熟悉并掌握 GitHub 的使用,为未来应用程序开发中的版本控制打下坚实的基础。
|
||||
|
||||
## 注册 GitHub 账号
|
||||
|
||||
1. 访问 [GitHub 官网](https://github.com/) 并点击右上角的“Sign up”。
|
||||

|
||||

|
||||
2. 输入你的电子邮件地址(建议使用常用邮箱,因为验证和通知将发送到那里),设置密码(必须包含字母、数字和特殊字符)。
|
||||
3. 完成人工验证,按照提示验证邮箱,你的账号就创建好了。
|
||||
|
||||
@@ -126,9 +126,9 @@ GitHub 不仅是世界上最大的代码托管平台,也是全球最活跃、
|
||||
|
||||
接下来,我们将创建第一个存储文件夹,也称为仓库或“repo”。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
1. Repository name:向他人显示的仓库名称。
|
||||
2. Description:仓库的详细描述。
|
||||
@@ -142,15 +142,15 @@ GitHub 不仅是世界上最大的代码托管平台,也是全球最活跃、
|
||||
|
||||
建议勾选“Add README”,将仓库可见性设置为“Private”,并根据自己的喜好填写仓库名称和描述,然后点击“Create repository”完成创建第一个远程仓库。
|
||||
|
||||

|
||||

|
||||
|
||||
之后,你将拥有一个没有任何额外文件的干净仓库。接下来你可以开始上传文件了。
|
||||
|
||||

|
||||

|
||||
|
||||
获取仓库的命令是 `git clone`,但它需要仓库地址。你可以通过点击绿色的“Code”按钮找到仓库地址,你会看到 HTTPS 和 SSH 选项。通常,你可以使用这两种方法中的任何一种将仓库下载到本地机器(只有这样你才能修改和上传文件)。
|
||||
|
||||

|
||||

|
||||
|
||||
一般来说,通过 HTTP 克隆的仓库适合临时下载和测试他人的仓库,但不建议用于自己的开发。为了更好的学习体验,你应该先设置 SSH 认证。
|
||||
|
||||
@@ -192,13 +192,13 @@ SSH 认证依赖于密钥对(公钥 + 私钥),它们是匹配的加密文
|
||||
1. 使用 Trae 获取公钥(推荐)
|
||||
提示词:`Help me create the SSH key needed for GitHub login. My email is your_email@gmail.com , Please return the public key for me to copy`
|
||||
|
||||

|
||||

|
||||
|
||||
输入提示词后,你还需要在左侧终端按 Enter 键,否则命令会一直等待而不执行。由于 Trae 无法帮你执行任何条件判断,我们只需要一直按 Enter 即可。
|
||||
|
||||
最后,你会看到右侧的 Trae 返回了它读取的公钥。你只需复制它并准备在下一步中粘贴。
|
||||
|
||||

|
||||

|
||||
2. 手动获取公钥
|
||||
打开你的本地终端(在 Windows 上使用 Git Bash 或 PowerShell;在 macOS/Linux 上使用终端),输入以下命令(将 your_email@example.com 替换为你注册 GitHub 账号时使用的邮箱):
|
||||
|
||||
@@ -219,12 +219,12 @@ SSH 认证依赖于密钥对(公钥 + 私钥),它们是匹配的加密文
|
||||
3. macOS/Linux:在终端运行 cat ~/.ssh/id_ed25519.pub 并复制所有输出(从开头的 SSH-ed25519 到结尾的邮箱)。
|
||||
2. 登录 GitHub 并进入“SSH Key Management”页面:
|
||||
1. 点击右上角头像 → Settings → 左侧菜单 SSH and GPG keys → 点击 New SSH key。
|
||||

|
||||

|
||||
2. 输入任何标题(例如,your local computer's SSH),然后将你刚刚获取的 SSH 公钥粘贴到这里。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
3. 验证绑定是否成功
|
||||
|
||||
@@ -253,7 +253,7 @@ ssh -T git@github.com
|
||||
|
||||
你可以直接告诉它你想克隆的仓库地址
|
||||
|
||||

|
||||

|
||||
|
||||
## Git pull : 从远程仓库获取更新
|
||||
|
||||
@@ -269,7 +269,7 @@ prompt:`Help me pull this repository AIID-TEST in ./AIID-TEST.`
|
||||
|
||||
prompt:`I finished. Commit and push to the repository AIID-TEST in ./AIID-TEST.`
|
||||
|
||||

|
||||

|
||||
|
||||
推送成功。现在你可以在 GitHub 上看到更新的内容了。
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 252 KiB |
|
After Width: | Height: | Size: 710 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 282 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 182 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 439 KiB |
|
After Width: | Height: | Size: 343 KiB |
|
After Width: | Height: | Size: 1001 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 378 KiB |
|
After Width: | Height: | Size: 386 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 93 KiB |
|
After Width: | Height: | Size: 169 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 475 KiB |
@@ -141,7 +141,7 @@ API 无处不在,在后台默默工作。让我们看几个常见的“自动
|
||||
|
||||
我们不需要自己搜索。我们需要做的就是向语言模型提出后续问题,例如:“在代码中,哪几行调用了语言模型和图像生成模型?”,“如果用 Python 代码写会是什么样?”通过问这些问题,你将能直接得到完整的答案。
|
||||
|
||||

|
||||

|
||||
|
||||
这些 API 是使用官方智谱 SDK(SDK 代表 **软件开发工具包**)调用的。接下来,让我们看看如何调用 OpenAI 的官方 API。
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 415 KiB |
@@ -6,7 +6,7 @@
|
||||
|
||||
你可以把 IDE 理解成一种专门用来“编辑、管理、运行和调试”各种应用源代码的程序。在真正打包发布之前,不同语言写出来的程序本质上只是特定格式的代码文件而已,你可以用普通文本编辑器打开它们,也可以用 IDE 打开。早期的计算机几乎完全通过终端来操作(只用键盘就能完成所有操作,几乎不需要鼠标),所以早期的 IDE 外观也非常“原始”——除非你额外安装插件来实现简单的交互式界面。
|
||||
|
||||

|
||||

|
||||
|
||||
终端界面(Terminal)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
一个非常知名、功能成熟的“内置 IDE”叫做 `Vim`。在很多服务器上,你都可以直接用它来编辑文件(服务器通常没有显示屏,只能通过键盘远程操作)。
|
||||
|
||||

|
||||

|
||||
|
||||
现代 IDE 通常具有更加美观直观的图形界面,并提供更强大的编辑、运行和调试能力。一个典型的 IDE 通常包含以下核心组件:
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
除此之外,现代 IDE 往往还内置版本控制工具(如 Git)和项目管理工具等实用功能。当下最流行的 IDE 之一是微软出品的 **[Visual Studio Code (VS Code)](https://code.visualstudio.com/)**。它轻量、可扩展性极强,因此被广泛使用。当然,也有很多开发者推荐 JetBrains 家的专业 IDE,比如用于 Python 的 PyCharm、用于 C/C++ 的 CLion 等,它们对特定语言提供了更深入、更完整的支持。但从入门友好度和通用性角度出发,我们更推荐初学者优先选择 VS Code 作为主要开发工具。
|
||||
|
||||

|
||||

|
||||
|
||||
# 现代 IDE:VS Code
|
||||
|
||||
@@ -34,11 +34,11 @@ VS Code 的核心理念之一是“一切皆插件”。不同编程语言可以
|
||||
|
||||
VS Code 巧妙地通过“插件机制”解决了这一问题。比如,如果你要写 Python,就安装 Python 插件,它会提供 Python 专属的语法高亮、自动补全和代码导航功能;如果你要写 C/C++,则可以安装对应的 C/C++ 插件来获得相应支持。在不安装任何插件的情况下,VS Code 本质上只是一个“高级的文本文件管理器”;当你为某种语言安装了对应插件之后,它就会“变身”成该语言的理想开发工具。
|
||||
|
||||

|
||||

|
||||
|
||||
除了编写代码以外,你甚至可以把 VS Code 当作编辑 Markdown 文档的工具来使用。
|
||||
|
||||

|
||||

|
||||
|
||||
总之,你可以在 VS Code 的扩展市场中浏览和下载各类扩展,为不同类型的文件提供更好用的编辑体验,也可以根据需要搜索不同语言和调试工具的插件,尝试它们如何提升你的工作效率。
|
||||
|
||||
@@ -60,7 +60,7 @@ VS Code 巧妙地通过“插件机制”解决了这一问题。比如,如果
|
||||
|
||||
在最新版 VS Code 中,你可以点击右上角的侧边栏入口,打开 AI 功能区域,体验这些能力。
|
||||
|
||||

|
||||

|
||||
|
||||
不过,VS Code 并不是 AI 能力最强的 IDE。对于需要大量 AI 辅助编码的场景,我们往往希望使用“更聪明、效率更高”的工具——好的 AI IDE 能显著节省写代码和改 Bug 的时间。下面我们会介绍几款目前比较流行的 AI IDE,重点讲解 Trae IDE。你可以根据个人喜好选择任意一款 AI IDE 使用。
|
||||
|
||||
@@ -70,7 +70,7 @@ VS Code 巧妙地通过“插件机制”解决了这一问题。比如,如果
|
||||
|
||||
## Trae
|
||||
|
||||

|
||||

|
||||
|
||||
Trae 是字节跳动推出的一款 AI 编程助手,支持 100 多种编程语言,并能集成到主流 IDE 中。它的功能包括:用自然语言生成代码、自动调试、把设计稿转换为 React/Vue 组件等。在 2025 年 8 月的更新之后,Trae 新增了智能依赖导入、重命名建议、任务清单管理等功能;SOLO 模式也开始支持后端代码生成和技术架构文档编辑。
|
||||
|
||||
@@ -80,33 +80,33 @@ Cursor 是 Anysphere 开发的一款 AI 代码编辑器,基于 VS Code 定制
|
||||
|
||||
目前,Cursor 可以说是“带前端界面的 AI IDE”中综合体验最好的一款之一,用户数量庞大,功能迭代频率也很高。它最大的缺点是价格较高——专业版大约需要每月 20 美元。
|
||||
|
||||

|
||||

|
||||
|
||||
## Qoder
|
||||
|
||||
Qoder 是阿里巴巴推出的一款强调“透明协作”和“增强上下文工程能力”的 AI IDE。它通过 Action Flow 支持把任务拆解成多个步骤,并实时跟踪 AI 的执行过程;还支持多模型动态路由和任务状态机管理,非常适合在中大型项目中做架构治理和对遗留系统进行“反向工程”分析。
|
||||
|
||||

|
||||

|
||||
|
||||
## CodeBuddy
|
||||
|
||||
CodeBuddy 是腾讯云推出的一款 AI 编程工具,强调对中文指令的支持以及企业级合规能力。它提供代码补全、批量代码审查和多模型切换等功能;其中的 Craft 智能体可以实现多文件代码生成和 API 集成。企业版支持私有化部署,并通过了三级等保认证,适合金融、医疗等对数据安全要求较高的行业。
|
||||
|
||||

|
||||

|
||||
|
||||
## windsurf(已不推荐)
|
||||
|
||||
Windsurf 最初因其基于 Agent 的 AI 编程能力而受到关注。但由于 2024 年团队调整以及模型权限问题,它的稳定性大幅下降,目前已经不再推荐使用。尽管在前一年它还可以与 Cursor 分庭抗礼,但现在基本可以视为“被淘汰”的工具。
|
||||
|
||||

|
||||

|
||||
|
||||
## VS Code + Cline
|
||||
|
||||
Cline 是 VS Code(Visual Studio Code)的一款 AI 编程 Agent 插件,可以通过配置不同的 API 端点来灵活切换所使用的大模型。Cline 支持多模态输入、MCP 工具扩展以及成本监控,所有操作都需要用户确认后才会执行。它非常适合用于快速验证想法,或与现有开发流程集成。基础功能是免费的,企业版则支持在私有环境中部署模型。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
# 什么是 Trae
|
||||
|
||||
@@ -122,38 +122,38 @@ Trae 分为国际版和中国版。国际版需要能够访问海外网络,但
|
||||
|
||||
https://www.trae.ai/
|
||||
|
||||

|
||||

|
||||
|
||||
中国版下载地址:
|
||||
|
||||
https://www.trae.cn/
|
||||
|
||||

|
||||

|
||||
|
||||
## Trae 界面简介
|
||||
|
||||
简单来说,Trae 和 VS Code 看起来几乎一模一样。
|
||||
|
||||

|
||||

|
||||
|
||||
右侧的侧边栏就是 Copilot 交互窗口,也可以理解为 Agent 窗口。如果你暂时看不到它,可以点击 Trae 右上角的侧边栏图标将其打开。
|
||||
|
||||

|
||||

|
||||
|
||||
打开侧边栏之后,你会看到一个 `Builder` 选项,这就是 Agent 模式。简单理解,它相当于 z.ai 的“本地版”,可以帮你操作本机环境,安装运行环境、打开网页等。
|
||||
|
||||

|
||||

|
||||
|
||||
点击 “Builder” 后,你会看到 “Chat” 模式和 “Builder with MCP” 模式:
|
||||
|
||||
* **Chat 模式**:主要用于和当前文件夹里的代码对话,或者当作普通聊天模型来使用。(你可以通过左上角的 “File” 菜单打开一个文件夹,在这个文件夹中进行编辑操作。在这种情况下,Builder 创建或修改的文件都只会发生在这个文件夹内部。)
|
||||
* **Builder with MCP 模式**:为 Agent 提供了更多可用工具(例如把语言模型和其他软件联通起来、查询天气等)。你可以简单理解为:MCP 能让语言模型更方便地调用各种外部工具。
|
||||
|
||||

|
||||

|
||||
|
||||
在下面的区域,你还会看到模型选择选项,点击即可修改当前使用的大模型。在中国版中,你可以选择使用 Kimi k2 或 GLM 等国内模型;如果你使用的是国际版 Trae,还可以选择 ChatGPT 或 Claude 等海外模型。不过,由于国内大模型发展非常快,Kimi、Qwen、GLM 等在很多任务上的实际体验已经接近 Claude 3.5 或 3.7,对日常开发来说已经完全够用。
|
||||
|
||||

|
||||

|
||||
|
||||
以上就是对 Trae 的一个简单介绍。接下来,我们可以回顾一下之前在 z.ai 中做过的操作,并尝试在 Trae 中做同样的事情。
|
||||
|
||||
@@ -161,9 +161,8 @@ https://www.trae.cn/
|
||||
|
||||
大多数情况下,我们的 Windows 笔记本电脑默认不会预装前端开发所需的 Node.js 环境,或用于后端 / 通用开发的 Python 环境。我们可以尝试直接在 Trae 的 Agent 模式中跟它对话,让它帮我们安装 Python 环境或 Node.js 环境。
|
||||
|
||||

|
||||

|
||||
|
||||
## 📚 作业:用 Trae 写你的第一个程序
|
||||
|
||||
接下来,请尝试用 Trae 来完成你的第一个程序!你还记得之前的 AI 贪吃蛇游戏吗?把当时在 z.ai 中使用的那条提示词原封不动地输入到 Trae 的 Agent 模式中,看看会发生什么吧!
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 869 KiB |
|
After Width: | Height: | Size: 517 KiB |
|
After Width: | Height: | Size: 692 KiB |
|
After Width: | Height: | Size: 275 KiB |
|
After Width: | Height: | Size: 342 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 173 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 311 KiB |
|
After Width: | Height: | Size: 330 KiB |
|
After Width: | Height: | Size: 242 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 578 KiB |
@@ -18,9 +18,11 @@
|
||||
* RAG的效果评估与调优:了解核心评测指标、主流框架与持续优化的方法
|
||||
* RAG的前沿趋势:探索其与智能体、多模态等技术融合的未来方向
|
||||
|
||||
# 本节课你将收获
|
||||
|
||||
完成本教程后,你将建立起对 RAG 技术入门级的系统性理解,不仅知其然,更知其所以然。你将获得一个清晰的蓝图,知道如何评估、选型设计一个符合企业级要求的高效、可靠且可控的 RAG 系统,为开发真正的企业级 RAG 应用打下坚实基础。
|
||||
|
||||
# 1. 为什么需要 RAG
|
||||
1. # 为什么需要 RAG
|
||||
|
||||
检索增强生成(Retrieval-Augmented Generation,RAG)是当前生成式 AI 中非常重要的一种技术方式。它的基本思路是:在让大模型生成回答之前,先从外部知识库中检索出与问题相关的信息,再把这些检索结果连同用户的问题一起交给模型,让模型在参考真实资料的基础上作答。这个外部知识库可以是企业内部的制度与流程文档、产品知识库,也可以是行业数据库、法规标准库等。
|
||||
|
||||
@@ -67,7 +69,7 @@
|
||||
|
||||
因此,对希望在真实业务场景中长期、稳定、可控地使用大模型的企业而言,RAG 不是一个可有可无的增强选项,而是构建高质量企业知识应用体系时几乎不可缺少的基础技术。
|
||||
|
||||
# 2. 什么是 RAG
|
||||
2. # 什么是 RAG
|
||||
|
||||
RAG(Retrieval-Augmented Generation,检索增强生成)的核心思路是让大模型在回答问题时,不仅依赖训练阶段学到的静态知识,更能够实时调用外部知识库中的最新、可靠信息。
|
||||
|
||||
@@ -146,7 +148,7 @@ RAG(Retrieval-Augmented Generation,检索增强生成)的核心思路是
|
||||
|
||||
以上展示了一个典型 RAG 系统的完整流程,让我们从整体上理解了系统包含哪些核心环节、信息如何在各阶段流转。但是,检索时如何进行向量匹配?提示词如何组织才能让模型更好地利用检索到的内容?这些决定 RAG 实际效果的技术细节,目前仍是"黑盒"。接下来,我们将深入 RAG 的内部机制,从向量化原理、相似度计算、到提示词工程等关键环节,逐步拆解 RAG 究竟是如何工作的。
|
||||
|
||||
# 3. RAG 如何工作
|
||||
3. # RAG 如何工作
|
||||
|
||||
我们可以通过一个“苹果”的知识库问答案例,逐步拆解它的关键环节。
|
||||
|
||||
@@ -282,7 +284,7 @@ LLM接收到上述结构化输入后,会先判断参考信息是否包含“
|
||||
|
||||
通过以上三个实例可以看出,在检索增强生成的大模型对话阶段中,系统指令设定了LLM的角色和回答规则,检索证据提供了具体、可信的作答素材,用户问题则明确了任务目标。这种结构化的输入方式,正是RAG技术能够有效引导并约束原本可能产生“幻觉”的大模型,使其输出稳定、可靠答案的关键所在。它确保了大模型的能力被精准地应用于理解与组织已有信息,而非无根据地创造信息。
|
||||
|
||||
# 4. RAG 技术演进史
|
||||
4. # RAG 技术演进史
|
||||
|
||||
RAG 技术并非诞生于大模型时代,在更早期的研究中就已有雏形。从发展脉络来看,RAG 的出现源于对传统 LLM 局限性的认识。早期的大语言模型主要依赖预训练数据,这些数据往往在模型训练完成后就固定下来,无法获取后续更新的信息。例如,GPT-3 等模型的知识截止点通常在训练数据收集的日期之后,无法获取新知识。此外,重新训练或微调 LLM 以适应特定领域需要大量资源和专业知识,成本高昂且难以快速迭代。
|
||||
|
||||
@@ -384,7 +386,7 @@ Naive RAG可以理解为基础的 RAG 形态,它在工程上非常直接,典
|
||||
|
||||
在这一阶段,RAG 已经不再只是给大模型补几段参考资料的简单组件,而逐步演变为企业级智能应用的中枢式知识编排层,负责在多数据源、多工具、多任务之间进行协调与调度。
|
||||
|
||||
# 5. 从 Demo 到企业级的 RAG 系统
|
||||
5. # 从 Demo 到企业级的 RAG 系统
|
||||
|
||||
从企业工程实践的角度来看,RAG 系统的构建不能仅局限于检索增强生成技术本身,前面提到的内容更多是一个 Demo 级别的介绍。由于实际业务场景中的数据往往存在质量参差不齐、格式混乱等问题,因此需要在数据预处理、清洗及导入环节投入更多精力,同时在各个关键节点做好模型选型。
|
||||
|
||||
@@ -687,7 +689,7 @@ LLM裁判的优势在于能进行更接近人类的整体性判断——它可
|
||||
|
||||
将自建数据与公开基准结合使用,既能确保评测贴近业务实际,又能借助公共标准进行横向比对,是构建稳健评测体系的务实路径。
|
||||
|
||||
# 6. 深度研究:从比赛与开源教程中学习(Optional)
|
||||
6. # 深度研究:从比赛与开源教程中学习(Optional)
|
||||
|
||||
前面介绍的RAG系统原理和基础实现,虽然能帮助你快速搭建起一个可用的原型,但距离真正解决生产环境中的复杂问题还有不小的距离。如果你想深入理解更落地、更有实战价值的RAG技术,参考各大比赛的获奖方案和优质开源教程是最高效的学习路径,这些方案往往集中了优秀团队在真实场景下反复尝试后的最佳实践。
|
||||
|
||||
@@ -787,7 +789,7 @@ https://arxiv.org/pdf/2410.00005
|
||||
|
||||
这些来自真实竞赛和开源项目的经验,为搭建更好的企业级RAG系统提供了宝贵的参考,你可以根据实际问题搜索对应的比赛,找到成熟现有方案进行尝试。
|
||||
|
||||
# 7. 广度探索:RAG 的未来演化(Optional)
|
||||
7. # 广度探索:RAG 的未来演化(Optional)
|
||||
|
||||
在深入掌握了RAG的实战技巧与优化方法后,你已经能够在具体场景中有效提升系统性能。然而,要全面把握RAG技术,仅靠对局部的深入钻研还不够,我们还需拓展视野,从更广阔的维度理解其演进方向与扩展空间。
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
在开始之前,我们先弄清楚“部署(Deployment)”到底是什么意思。任何一个网站想要被外部用户访问,都必须有一个可以公开访问的网络地址(这个地址可以是 IP 地址,比如 123.45.67.89,也可以是域名,比如 [google.com](https://google.com/) 等)。但只有地址是不够的——你写好的网页代码(例如 HTML、CSS、JavaScript 文件,或者使用 React、Vue 等框架写的项目),以及相关的图片 / 视频资源,都必须“放”在一台 24 小时在线的服务器上,由它来响应网络请求,这样任何人的浏览器才能访问并下载这些资源。
|
||||
|
||||

|
||||

|
||||
|
||||
图片来源:https://www.hostinger.com/tutorials/what-is-cloud-hosting
|
||||
|
||||
@@ -17,11 +17,11 @@
|
||||
如果手动部署,一个项目往往需要好几个步骤,每一步都可能踩坑。常见关键步骤包括:
|
||||
|
||||
1. **服务器准备**:你需要先购买云服务器(比如阿里云、腾讯云、或 AWS EC2),选择服务器所在地区(如上海、新加坡)、配置(CPU、内存、磁盘大小等),还要学会如何远程连接服务器(例如通过 SSH 工具登录)。
|
||||

|
||||

|
||||
2. **环境配置**:Web 应用需要在特定“环境”中才能运行——例如运行 Node.js 项目必须先安装 Node.js;运行 Python 项目必须安装 Python 以及对应的第三方库。如果环境版本不匹配,程序就可能报错、无法启动。
|
||||
3. **上传资源**:你需要把本地的代码和资源上传到服务器上,常用的方法包括 FTP 或 Git。如果项目体积比较大(比如包含视频文件),中途一旦断线,有时需要重新上传。
|
||||
|
||||

|
||||

|
||||
|
||||
4. **启动服务并测试**:上传完成后,你还需要在服务器上执行命令启动应用,并测试“分配的网络地址是否能访问”。如果访问不了,有可能是服务器防火墙没有放行对应端口(比如你的应用监听 3000 端口,但该端口被防火墙拦截),也可能是程序本身有 Bug,这时就需要查看服务器日志进行排查。
|
||||
> 💡 可以把端口理解为区分同一台设备上不同应用的“房间号”,而 IP 则是这台设备的“门牌号”。IP 和端口合在一起(IP:port),就可以精确定位到某一个网络服务。
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
像 Zeabur 这样的“低代码部署平台”,就是为了解决上述复杂问题而诞生的。它会帮你自动完成“买服务器、配环境、上传代码、启动服务、监控运行”等步骤。你只需要把自己的代码仓库(比如 GitHub 或 GitLab)连接到 Zeabur,它就会自动拉取代码、识别应用类型、配置对应的运行时环境,最后给你一个可以被任何人访问的公网地址。它甚至可以一键绑定你自己的域名(例如把 your-app.zeabur.app 改成 your-app.com)。
|
||||
|
||||

|
||||

|
||||
|
||||
接下来,我们会一步步演示如何使用 Zeabur,从“代码仓库”走到“公开可访问的网页”,全程不需要手写任何服务器命令。当然,你也可以使用 Vercel(同样有免费额度)来做类似的简单 Web 部署。不过,[Vercel](https://vercel.com/) 在部分网络环境下访问不太稳定,有兴趣的同学可以课后自行学习(操作也很简单:就是把 GitHub 项目连上即可)。
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
在之前的课程中,我们已经简单接触过 Dify。现在,我们可以通过 [Zeabur](https://zeabur.com/projects) 非常轻松地启动自己的 Dify 服务。首先打开 [控制台页面](https://zeabur.com/projects),我们先看一下上面的各个区域。
|
||||
|
||||

|
||||

|
||||
|
||||
在这个页面上,你首先能看到许多方块,这些就是已经启动的服务。在顶部菜单中,你会看到 Agent、Servers、Docs、Templates 等几个选项,它们分别代表:
|
||||
|
||||
@@ -50,15 +50,15 @@
|
||||
|
||||
在页面右上角,你还能看到自己的余额。默认情况下,每个月会有 5 美元左右的免费额度。关于细节计费规则暂时可以不用太在意,只需要知道:只要服务器在运行,就会消耗额度。
|
||||
|
||||

|
||||

|
||||
|
||||
点击余额可以查看每日的消耗明细。
|
||||
|
||||

|
||||

|
||||
|
||||
现在我们来创建自己的 Dify 服务。首先,在 [控制台首页](https://zeabur.com/projects) 点击 “New Project”。
|
||||
|
||||

|
||||

|
||||
|
||||
接下来是各个创建方式的解释:
|
||||
|
||||
@@ -66,45 +66,45 @@
|
||||
可以连接到你的 GitHub 账号。绑定之后,就可以直接从 GitHub 仓库里选择项目部署(GitHub 是目前全球最大的代码托管平台)。
|
||||
2. **Template(模板)**
|
||||
可以基于模板来部署服务。Zeabur 内置了很多预设项目模板(例如 Dify、n8n 等),你可以基于这些模板快速创建并部署应用。
|
||||

|
||||

|
||||
3. **Databases(数据库)**
|
||||
用于部署数据库服务,比如 MySQL、MongoDB 等常见数据库。
|
||||

|
||||

|
||||
4. **Functions(函数)**
|
||||
可以部署函数服务,你可以编写 JavaScript 或 Python 代码,让它们以函数的形式被调用。
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
5. **Local Project(本地项目)**
|
||||
上传一个本地文件夹,Zeabur 会自动识别其中的启动脚本。这适合将你已经在本地开发好的项目快速部署到 Zeabur 上。
|
||||

|
||||

|
||||
6. **Docker Image**
|
||||
部署已经打包好的 Docker 镜像。如果你的项目已经被打成了 Docker 镜像(例如存放在 Docker Hub 或其他镜像仓库中),可以在这里直接部署。
|
||||

|
||||

|
||||
7. **Cursor**
|
||||
如果你安装了 Cursor(例如 Cursor IDE),可以通过这个入口将 Cursor 中的项目直接部署到 Zeabur。
|
||||
|
||||
如果你想部署自己的 Dify 服务,推荐选择 **Template** 方式,然后在搜索框中输入 “dify”。可以看到很多由不同作者维护的版本,你可以任选其一(比如 v1.6.0 版本)。
|
||||
|
||||

|
||||

|
||||
|
||||
接着,输入任意一个名称,Zeabur 会基于这个名称生成一个临时的自定义域名。之后所有人都可以通过这个网址访问你的服务。
|
||||
|
||||

|
||||

|
||||
|
||||
创建完成后,你会看到多个程序(服务)依次启动。需要耐心等待所有服务都进入“已启动”状态。(Dify 服务是由多个程序组成的,每个程序负责不同的功能,它们之间会相互协作。)
|
||||
|
||||
一般来说,你只需要点击左侧的 Dify 应用,就可以看到默认的访问入口地址。但在本例中,由于前面还套了一层 nginx,你需要点击 nginx 服务来获取最终访问地址。可以理解为:nginx 就是负责对外统一“收发请求”的主程序,它会把外部访问的地址分发给内部各个服务。点击左侧的 Nginx,在详情页中可以看到当前的服务地址,然后在浏览器里打开这个地址,等待服务完全启动。
|
||||
|
||||

|
||||

|
||||
|
||||
稍等片刻后,你就能看到 Dify 的登录界面了。输入邮箱地址和注册密码,就可以开始使用你自己的 Dify 服务了。
|
||||
|
||||

|
||||

|
||||
|
||||
如果你有兴趣,还可以顺便启动一个 n8n 服务。n8n 也是海外非常流行的一款 AI 工作流平台。
|
||||
|
||||

|
||||

|
||||
|
||||
# ⚠️ 如何停止和删除项目
|
||||
|
||||
@@ -112,11 +112,11 @@
|
||||
|
||||
如果要找到项目的管理入口,首先点击项目中的 “Settings” 选项。
|
||||
|
||||

|
||||

|
||||
|
||||
进入设置页面后,将页面拉到最下方,你会看到类似下面的界面:
|
||||
|
||||

|
||||

|
||||
|
||||
你可以点击 “Suspend All Services” 来暂停所有服务以降低费用;如果服务出现问题,可以点击 “Restart All Services” 对全部服务进行重启。如果你确定不再需要这个项目,可以点击 “Delete Project” 将整个项目彻底删除。
|
||||
|
||||
@@ -128,37 +128,37 @@
|
||||
|
||||
### 使用 HTML 框架实现
|
||||
|
||||

|
||||

|
||||
|
||||
对于 Trae 来说,生成一个基于 HTML 的贪吃蛇网页游戏非常简单。游戏生成完成后,你只需要按照前面介绍的 Zeabur 本地部署方式,把包含所有文件的文件夹上传上去即可。
|
||||
|
||||

|
||||

|
||||
|
||||
完成后,你就会进入该服务的详情界面:
|
||||
|
||||

|
||||

|
||||
|
||||
点击左侧的 “Network” 选项,在页面中找到 “Public Address” 区域。点击 “Generate Domain”,即可生成一个对外访问地址,你可以输入任意喜欢的名称。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
生成完成后,只要在浏览器中打开这个地址,就可以运行你自己的贪吃蛇游戏了。其它 HTML 类型的 Web 应用也可以用完全相同的方式来部署。
|
||||
|
||||

|
||||

|
||||
|
||||
### 使用 React 框架实现
|
||||
|
||||
前面我们学习了如何部署基于 HTML 的 Web 应用。接下来,我们再尝试部署一个目前更常用的前端框架:React 应用。相比纯 HTML,React 被认为是一种更加成熟、现代的前端开发框架。它通过组件化的方式组织页面结构,能够显著加快复杂页面的开发,是企业级项目中非常主流的选择。
|
||||
|
||||

|
||||

|
||||
|
||||
#### 重构为 React 架构
|
||||
|
||||
在 Trae 中,你只需要向 Agent 说明:“帮我把这份代码重构成 React 架构”,就可以比较轻松地把原本基于 HTML 的结构重构成 React 项目。
|
||||
|
||||

|
||||

|
||||
|
||||
不过,相比简单的 HTML 文件,React 应用依赖更复杂的构建工具和项目结构,因此部署过程也会稍微麻烦一些。一个典型的问题体现在端口设置上:默认情况下,React 应用一般会监听 3000 端口(你也可以在配置文件或启动日志中看到这一点)。
|
||||
|
||||
@@ -195,17 +195,16 @@
|
||||
|
||||
要把 React 默认监听端口(3000)改成 Zeabur 所要求的 8080,有很多做法。最简单的方式,就是直接在 Trae 里对 Agent 下指令:“请帮我把这个 React 项目的默认端口改为 8080。”Trae 就会帮你修改项目中对应的配置文件。修改完成后,你只需重新打包并按前面的方式上传到 Zeabur 即可。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
在网络设置中指定一个访问 URL,方式和部署 HTML 项目时基本相同,就可以启动 React 版本的服务。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
对于其它需要修改端口号的程序,你也可以采用同样的思路:先改默认端口,再上传到 Zeabur 部署。至此,你已经掌握了将常见 Web 应用部署到服务器的基础技能。
|
||||
|
||||
你可以尝试让 Trae 帮你构建不同类型的应用,并把它们部署到 Zeabur 的默认服务器上。在后续课程中,我们还会学习如何把应用部署到你自己购买的云服务器上。
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 258 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 154 KiB |
|
After Width: | Height: | Size: 94 KiB |
|
After Width: | Height: | Size: 189 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 232 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 71 KiB |
|
After Width: | Height: | Size: 289 KiB |
|
After Width: | Height: | Size: 411 KiB |
|
After Width: | Height: | Size: 490 KiB |
|
After Width: | Height: | Size: 191 KiB |
|
After Width: | Height: | Size: 448 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 533 KiB |
|
After Width: | Height: | Size: 180 KiB |
|
After Width: | Height: | Size: 63 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
After Width: | Height: | Size: 284 KiB |
|
After Width: | Height: | Size: 569 KiB |
|
After Width: | Height: | Size: 463 KiB |
|
After Width: | Height: | Size: 450 KiB |
|
After Width: | Height: | Size: 134 KiB |
|
After Width: | Height: | Size: 565 KiB |
|
After Width: | Height: | Size: 283 KiB |
|
After Width: | Height: | Size: 312 KiB |
|
After Width: | Height: | Size: 316 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 188 KiB |
@@ -1,4 +1,4 @@
|
||||
# 扩展知识 7 - CLI AI 编程工具与测试驱动开发原则
|
||||
# 扩展知识 9 - CLI AI 编程工具与测试驱动开发原则
|
||||
|
||||
在本教程中,我们将介绍直接在命令行中运行的 AI 编程 Agent。它们和之前学过的 Trae、Cursor 中的 Agent 不同,CLI AI 编程工具只能在终端中使用。与集成在 AI IDE 里的 Agent 相比,它们通常具有更长的上下文窗口、更快的工具调用速度,并且可以兼容更多种类的大模型。在最新的 AI Vibe Coding 实战中,我们往往会优先使用 CLI AI 编程工具,而不是 IDE 内置的编码 Agent。
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
> 在 Windows 上,常见的终端有“命令提示符(cmd)”和 “PowerShell”。你可以在电脑的运行/搜索框中输入 “cmd” 或 “powershell” 来启动这些命令行程序。
|
||||
|
||||

|
||||

|
||||
|
||||
CLI 天生适合文本命令操作,在一小部分极客(追求极致的编程爱好者)群体中,CLI 甚至比 GUI 更受欢迎——他们希望所有操作都通过键盘完成,觉得动鼠标反而会拖慢自己的编码效率。
|
||||
|
||||
在工业界,CLI 往往也是最常见的接口形式,因为 GUI 需要操作系统额外绘制界面、管理窗口,对计算机资源的要求更高;而 CLI 只需要把收到的命令传给系统执行即可。因此,在连接大规模服务器集群时,我们通常只通过 CLI 进行交互。
|
||||
|
||||

|
||||

|
||||
|
||||
对于许多没有 CLI 经验的同学来说,可能会觉得 CLI 操作很复杂、命令太多,甚至担心“一不小心就把电脑搞坏”。不用担心。还记得我们在前面教程里,经常让 Trae 帮忙完成各种基础操作吗?这里也可以完全照搬这个思路——我们可以让 CLI 编程工具帮我们执行所有 CLI 操作:让它帮你进入指定文件夹、搜索和处理文件、运行或复制开源项目等。整个过程都可以通过和 CLI AI 编程工具的对话来完成。
|
||||
|
||||
@@ -22,7 +22,7 @@ CLI 天生适合文本命令操作,在一小部分极客(追求极致的编
|
||||
|
||||
我们可以把 CLI AI 编程工具类比成之前学过的 z.ai 和 Trae。某种意义上,CLI AI 编程工具可以看成是一种特殊的 z.ai:它们同样只需要一个简单的对话入口,就会自动为你执行所有需要的操作(只是有时你需要手动打开浏览器查看最终效果)。而如果类比 AI IDE,那么 CLI AI 编程工具可以被看作是 IDE 中的 Agent 模块——也就是侧边那块对话区域。
|
||||
|
||||

|
||||

|
||||
|
||||
不过,由于不同 AI IDE 对 Agent 的实现方式不同,能力差异也很大,AI 编程效果经常不稳定,因此 CLI AI 编程工具通常由大型科技公司直接开发,例如 Claude 背后的 Anthropic、ChatGPT 背后的 OpenAI 等。
|
||||
|
||||
@@ -66,22 +66,22 @@ CLI 天生适合文本命令操作,在一小部分极客(追求极致的编
|
||||
|
||||
Claude Code 是由 Anthropic 基于 Claude 大模型能力开发的一款 AI 编程工具。它的主要交互场景在终端,同时也支持作为 VS Code 插件来使用。类似于 AI IDE 中的 Agent,它可以深度理解开发者的代码仓库,并通过自然语言指令完成端到端的开发任务——包括代码编辑、修复 Bug、执行和修复测试、管理 Git 工作流(例如解决合并冲突、创建 PR)、复杂代码讲解、执行终端命令等。
|
||||
|
||||

|
||||

|
||||
|
||||
Claude Code 的优势主要体现在:极长的上下文窗口(可以处理完整文件甚至小型项目)、可以主动澄清模糊需求、自动规划和分配执行任务,以及对整个代码库内容的深度理解和解释能力。与普通 IDE Agent 相比,它更适合“沉浸式 vibe coding” 的开发流程。
|
||||
|
||||
在实际使用中,你可以通过对话指令,让它帮你创建新项目、执行 CLI 操作(例如整理文件夹、批量重命名文件、部署开源项目等)、配置开发环境(例如安装和调试 Python 环境)。如果觉得某段代码难以理解、某个目录结构不清晰,也可以直接让 Claude Code 生成结构化的分析文档,或者对特定内容进行分步骤讲解。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
如果你想系统地学习 Claude Code,可以参考 Andrew Ng 与 Anthropic 联合推出的课程:
|
||||
https://www.bilibili.com/video/BV176t2zSEpr
|
||||
|
||||
接下来,我们将学习如何使用 Claude Code。由于直接使用官方 Claude Code 的成本往往非常高(如下图所示),我们会转而使用兼容 Claude Code 协议、但基于其他大模型的 API 平台。
|
||||
|
||||

|
||||

|
||||
|
||||
你需要学习下面几种不同方案(最好都尝试一遍),最后选择最适合你的那一种作为主要实践路径。
|
||||
|
||||
@@ -95,11 +95,11 @@ https://www.bilibili.com/video/BV176t2zSEpr
|
||||
|
||||
GLM(General Language Model)是智谱 AI 自主研发的一系列大型语言模型。GLM-4.6 是当前 GLM 系列的最新版本,其核心亮点是在代码能力上的优异表现(在公开基准和真实任务中对标 Claude Sonnet 4,在国内处于第一梯队)。
|
||||
|
||||

|
||||

|
||||
|
||||
它还将上下文窗口扩展到 200K,可以更加从容地处理长文本和大体量代码,同时加强了推理与工具调用能力,在性能和成本之间取得了不错的平衡。
|
||||
|
||||

|
||||

|
||||
|
||||
在接入 GLM 之前,我们需要先安装 Claude Code。
|
||||
|
||||
@@ -160,7 +160,7 @@ please help me configure and start Claude Code
|
||||
|
||||
你会看到类似下面的过程输出:
|
||||
|
||||

|
||||

|
||||
|
||||
> 💡 什么是环境变量?
|
||||
>
|
||||
@@ -225,11 +225,11 @@ export ANTHROPIC_API_KEY="YOUR_DASHSCOPE_API_KEY"
|
||||
|
||||
[Claude Code Router](https://github.com/musistudio/claude-code-router) 是一款专门为 Claude Code 设计的智能路由增强工具。它的核心作用,是帮助用户按需将 AI 请求分发到不同平台上的模型,并可以高度自定义。它支持接入几十个平台,包括 OpenRouter、DeepSeek、Ollama、Gemini 等,也可以按场景将任务路由到特定模型,比如 GLM-4.5、Kimi-K2、Qwen3-Coder 等。举例来说,你可以将后台任务自动交给本地 Ollama,以节省成本;将长文本 / 长代码任务交给 Gemini-2.5-Pro;把代码讲解交给 DeepSeek。
|
||||
|
||||

|
||||

|
||||
|
||||
该工具还提供了方便的 UI/CLI 配置管理能力,并通过“转换器(converter)”适配不同平台的 API 格式。它支持 GitHub Actions 等自动化集成以及自定义扩展,解决了“单一模型无法覆盖所有场景”以及“频繁切换平台很麻烦”的问题,帮助用户更灵活、低成本地利用 AI 工具。
|
||||
|
||||

|
||||

|
||||
|
||||
下面我们简单介绍如何安装 Claude Code Router。大致需要以下步骤(同样可以让 Trae 帮你执行),以准备好相关环境:
|
||||
|
||||
@@ -240,7 +240,7 @@ npm install -g @musistudio/claude-code-router
|
||||
|
||||
安装完成后,你需要确认本地可以使用 `ccr` 命令。如果看到类似下面的输出,说明安装成功:
|
||||
|
||||

|
||||

|
||||
|
||||
接下来,有两种方式来初始化和配置模型:
|
||||
|
||||
@@ -249,7 +249,7 @@ npm install -g @musistudio/claude-code-router
|
||||
|
||||
如果选择使用 CCR UI,你会看到类似下面的界面:
|
||||
|
||||

|
||||

|
||||
|
||||
此时点击 “Add Provider” 按钮,就会看到如下界面。你需要:
|
||||
|
||||
@@ -261,21 +261,21 @@ npm install -g @musistudio/claude-code-router
|
||||
|
||||
(界面往下滚动还有很多高级选项,但目前你可以先忽略它们。)
|
||||
|
||||

|
||||

|
||||
|
||||
下面是 DeepSeek 与 Kimi 的配置示例:
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
保存模型配置后,还需要在右侧 Router 区域中指定默认模型(Default)。点击对应的下拉选择,将其设置为 `kimi`(推荐),然后在右上角点击 `Save and Restart`。
|
||||
|
||||

|
||||

|
||||
|
||||
之后,只需在终端中输入 `ccr code`,即可通过 Claude Code Router 启动 Claude Code 的编码工作流。
|
||||
|
||||

|
||||

|
||||
|
||||
#### Claude Code 的进阶用法
|
||||
|
||||
@@ -345,7 +345,7 @@ https://docs.claude.com/en/docs/claude-code/slash-commands
|
||||
|
||||
其他 CLI AI 编程工具的整体实现方式也大体类似。
|
||||
|
||||

|
||||

|
||||
|
||||
Claude Code 会把编程任务拆解成一个持续的“感知—思考—行动—验证”循环,并在其中调用不同工具完成任务。它模仿人类开发者的工作流:不断“写代码 → 运行 → 看结果 → 再改进”。系统内部通过一个主任务循环不断执行步骤,在每一轮循环中,Claude 都可以调用不同工具——例如读写文件、执行命令、搜索代码等——再根据工具返回的真实结果决定下一步行动。
|
||||
|
||||
@@ -358,9 +358,9 @@ Claude Code 会把编程任务拆解成一个持续的“感知—思考—行
|
||||
|
||||
### Codex
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
和 Claude Code 类似,Codex 是由 OpenAI 开发的一款 AI 协作编程工具,你可以把它理解成 “OpenAI 版的 Claude Code”。它最大的优势是对 GPT-5 的高效适配。
|
||||
|
||||
@@ -376,9 +376,9 @@ npm i -g @openai/codex
|
||||
|
||||
如果直接使用 OpenAI 官方的 Codex 入口,配置会非常简单:当你已经开通 OpenAI 订阅或申请到了相应 API 配额之后,只需要在命令行中输入 `codex` 启动程序,并按提示完成登录即可。
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
#### 使用转发 OpenAI API 的方式作为后端
|
||||
|
||||
@@ -393,7 +393,7 @@ npm i -g @openai/codex
|
||||
|
||||
在密钥分组设置中,要注意选择专门用于 Codex 的那一项。
|
||||
|
||||

|
||||

|
||||
|
||||
接下来,我们需要把获取到的 Key 填入下面的提示词中,并把整段提示词交给 Trae,让它帮你完成整个配置过程:
|
||||
|
||||
@@ -607,7 +607,7 @@ https://github.com/langgenius/dify
|
||||
|
||||
收到你的请求后,Claude Code 会自动完成一系列操作,包括从 GitHub 拉取代码、配置运行环境、启动项目等。如果中间某一步出错或项目启动状态不正常,你再根据提示进行少量人工处理即可。除了 Dify,你也可以用 Claude Code 帮你部署大部分常见的 GitHub 开源项目——你只需要一个对话框,再加上喝一杯咖啡的时间 ☕️。
|
||||
|
||||

|
||||

|
||||
|
||||
### 讲解代码与撰写文档
|
||||
|
||||
|
After Width: | Height: | Size: 1001 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 461 KiB |
|
After Width: | Height: | Size: 561 KiB |
|
After Width: | Height: | Size: 688 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 401 KiB |
|
After Width: | Height: | Size: 102 KiB |