第二练:Vibe Coding与基础设施搭建
利用 Vibe Coding 发现并解决大模型推理项目 Sglang 中存在的文档与源码在参数输入上存在的不一致问题。
背景
在 Sglang-Router v3.0.0 版本中存在文档与源码在参数输入上存在的不一致问题。出于性能的考量,Reasoning Parser 的源码是用 Rust 完成的。对于 Python 的使用者而言,直接阅读 Rust 源码不友好,并不方便直接地定位和解决问题。这时,如何利用类似于 Claude Code 的 Coding Agent 工具定位问题和解决问题就尤为重要。
1. 解决方案概述
综合成本和性能的考量,推荐 Claude Code 这个工具和 Minimax 2.1 这个国产大模型。
2. Claude Code 安装
2.1 CC Switch 安装
由于 Claude Code 是基于命令行的 CLI 工具,如需更换模型接口,需要对环境变量进行配置,略显繁琐和不便。在本文中推荐使用 CC Switch 这个项目对 Claude Code 的环境进行统一管理。
👉 项目地址:https://github.com/farion1231/cc-switch
主界面
添加模型供应商界面
它可以自动为你配置环境变量以及 VSCode 里对于 Claude Code 的相关配置,同时也可以比较方便地进行模型的切换。
不同操作系统具体的安装方法请参考 CC Switch GitHub 项目。
2.2 Claude Code 安装
Claude Code 是目前适配模型最丰富、生态最完善的 Coding Agent 工具之一,它有非常多 Claude 官方对于 Coding 相关的定制化工具,能够充分调用本地操作系统的环境进行代码的生成和调试。对于大型项目的项目结构和理解会比基于对话框的 GitHub Copilot 或者 TREA IDE 略强,因此推荐使用 Claude Code。
任何工具都有其适用性,强烈推荐大家在学习完 Claude Code 的使用之后,积极发挥主观能动性,去尝试不同的工具,以寻找到最适合自己的方案和工具。
👉 安装文档:Claude Code overview - Claude Code Docs
2.3 Claude Code for VSCode 安装
由于 Claude Code 是一个 CLI 工具,它能够独立在命令行中运行,但如果不配合上 IDE,在代码检查和调试上就会有些笨拙。因此,需要安装 Claude Code for VSCode,它是 Anthropic 推出的 VSCode 插件,能够以对话框形式与 Claude Code 进行交互,同时也保留了 Claude Code Agentic 的能力。
在 VSCode 扩展页面中搜索 Claude Code,有蓝标认证的 Claude Code for VSCode 便是。
3. Claude Code 的使用
3.1 大型项目的学习
大部分开源项目都可以通过 GitHub 仓库找到它的实现源码。当遇到一些 issue 里没有提及、同时官方文档的实现也存在疑问的时候,我们就可以从源码中找到答案。
👉 Sglang 官方仓库:https://github.com/sgl-project/sglang
步骤一:克隆项目
git clone https://github.com/sgl-project/sglang.git
将整个项目仓库拉到本地,然后对其使用 Claude Code 进行分析。对于一些很细节的源码实现,因为开源项目的更新周期都非常短,大模型的 WebUI 问答很难实现及时的同步和更新,将项目拉取到本地进行分析是合适的。
步骤二:初始化 Claude Code
在 VSCode 中打开项目文件夹之后,首先输入:
/init
Claude Code 会对整个项目进行扫描,它会从源码的角度去理解这个项目是在做什么、实现了什么功能。最后它会形成一个 .claude.md 文件,里面包含了这一次扫描所形成的它对于这个项目的认识和理解,以指导它对项目进行审查和修改。
步骤三:定位问题
这时你就可以问它:为什么对于 sglang-router 3.0.0 版本,输入 deepseek-r1 的 reasoning parser 不能正确解析返回 thinking_content 和正常 content?
Claude Code 会找到 sglang-router 下的 reasoning parser 模块——你会发现,它是 .rs 结尾的,也就意味着它是 Rust 语言书写的。
在 Rust 源码当中,匹配字段是 deepseek_r1,但是在官方文档中却是 deepseek-r1(下划线 _ vs 连字符 -),这就导致了对于 reasoning 内容的解析错误。
📋 小结
| 步骤 | 工具 | 用途 |
|---|---|---|
| 1 | CC Switch | Claude Code 环境管理 |
| 2 | Claude Code | Coding Agent CLI 工具 |
| 3 | Claude Code for VSCode | IDE 集成交互 |
| 4 | /init + .claude.md | 项目理解与记忆管理 |
掌握以上工具和方法论后,你就可以利用 Vibe Coding 的方式高效地分析和解决大型项目中的问题!🚀