前言
去年下半年,Cursor 的爆火让许多不懂代码的用户也能轻松开发网站和应用程序,掀起了一股独立开发的热潮。然而,每月 20 美元的价格并不亲民。此时,你可以选择使用 Cline、Aider Composer 或 Continue 等插件搭配其他大模型后端,同样能实现类似的效果。
关于 AI 编程
AI 编程目前主要分为两种模式:
- 全自动模式(如 Cline、Aider 等工具):用户只需输入需求,AI 自动生成代码。适合小型项目,如单页网页或命令行工具。但由于技术限制,复杂项目容易出现失误。
- 半自动模式(如 Copilot):用户与 AI 协作编程,AI 提供代码补全和错误检查,相当于一个智能助手。
重点提示:除非完全交给 AI,否则生成的代码不应直接使用。建议配合 Git 等版本控制工具,多次提交代码,及时对比并发现问题,这是 AI 编程的“保命”技巧。
Cline 的问题
Cline 的 Token 消耗问题备受诟病(使用大模型需按 Token 收费)。个人测试发现,刚写一个页面,20 元的充值就已耗尽。
使用本地部署的 DeepSeek 模型
Cline 自动生成代码的成本较高,不如手动编写。经过测试,发现部署 DeepSeek 的蒸馏模型(原版 671B,基于 Llama/Qwen 等开源模型蒸馏)作为 Cline 后端效果尚可。
遇到的问题
默认配置下,Cline 无法正常运行,并提示:
Cline is having trouble…
Cline uses complex prompts and iterative task execution that may be challenging for less capable models. For best results, it’s recommended to use Claude 3.5 Sonnet for its advanced agentic coding capabilities.
根本原因在于 Cline 的工作模式需要模型具备较强的推理能力,如分步骤思考和复杂指令处理。开源大模型(如 DeepSeek-R1 14B)在链式推理和复杂上下文推断上表现不足,导致 Cline 无法正常运行。
Cline 的交互流程包括:
- 生成复杂 Prompt:包含指导信息,如“你是谁”“你的目标是什么”等。
- 多回合迭代思考:模型多次生成和优化解决方案。
- 报错机制:若模型无法遵循提示或理解指令,Cline 会提示不兼容。
核心问题在于默认上下文长度不足,导致模型无法处理长 Prompt。o
调整上下文长度
上下文长度指的是模型在一次推理过程中能处理的 Token 数量上限。初始默认值通常为 2K 或 4K,但 Cline 的长 Prompt 和多轮对话需求往往超出这一范围。
在 Ollama 中创建大上下文长度的模型镜像
创建一个名为 deepseek-r1-14b-32k.ollama
的文件,内容如下:
yaml
FROM deepseek-r1:14b
PARAMETER num_ctx 32768
使用 Ollama 命令行创建新模型:
bash
ollama create deepseek-r1-14b-32k -f deepseek-r1-14b-32k.ollama
完成后,使用 ollama list
验证:
bash
$ ollama list
NAME ID SIZE MODIFIED
deepseek-r1-14b-32k:latest 6ecc115f8ae2 9.0 GB 1 second ago
deepseek-r1:14b ea35dfe18182 9.0 GB 21 hours ago
在 Cline 中切换到 deepseek-r1-14b-32k
模型即可使用 32K 上下文长度。
映射 Ollama 服务到本地
为了让本地调用服务器上的模型,需使用 SSH 隧道转发:
bash
ssh -L 11434:localhost:11434 用户名@服务器地址 -p 端口
配置 Cline 插件
- 点击右上角的齿轮按钮。
- 在 API Provider 中选择 Ollama,模型选择
deepseek-r1-14b-32k
。 - 设置完成后点击「Done」保存。
火力全开写代码
尝试让 AI 生成一个“新年祝福生成器”,提示词写得尽可能详细,以减少后续修改次数。生成过程中,代码逐行自动完成,AI 也会根据提示信息自动修正错误。
实现效果
生成的代码尚可,但仍有一些问题,如未定义的扩展方法和对 TailwindCSS 的认知有限。修复后,页面运行效果如下:
DeepSeek-14B 的代码能力并非完全不足,可能是 Cline 插件的上下文长度限制导致的问题。直接与模型对话时,生成的代码可以直接运行。
部署 LocalAI(可选)
LocalAI 是一个兼容 OpenAI API 的网关,支持加载本地模型并进行推理。由于 Cline 插件已支持 Ollama,无需额外部署 LocalAI,有兴趣的用户可自行尝试。
小结
总体而言,DeepSeek 勉强可用,但 Cline 的 Token 消耗问题仍需解决。下次将尝试其他插件是否有改善空间。