自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案

發(fā)布于 2025-4-7 00:28
瀏覽
0收藏

前言

去年下半年 cursor 非常火,讓很多一行代碼都不懂的小白,也可以做自己的網(wǎng)站和搭 App,當(dāng)時一下子就引爆了獨立開發(fā)的熱潮。

不過每月20dollar的價格也不算便宜,這時候可以使用 cline , aider composer + continue 之類的插件搭配其他大模型后端來實現(xiàn),也能實現(xiàn)類似的效果。

關(guān)于AI編程

AI編程現(xiàn)在主要有兩種玩法,簡單介紹下:

  1. 全自動模式(比如Cline、Aider這些工具):你動嘴,AI動手。直接把需求甩給它就能生成代碼,適合搞點小項目——比如做個單頁網(wǎng)頁、寫個命令行工具啥的。不過目前技術(shù)還不太行,復(fù)雜項目容易翻車。
  2. 半自動模式(Copilot這種經(jīng)典款):你和AI組隊寫代碼。你自己握方向盤,AI在旁邊幫你補(bǔ)全代碼、查漏補(bǔ)缺,相當(dāng)于副駕駛隨時遞工具。

重點來了:只要不是全交給AI干,生成的代碼千萬別直接照單全收!最好開著Git這類版本控制工具,多commit幾次。每次AI改完代碼就拉出來對比看看,這樣既能及時發(fā)現(xiàn)問題,又能避免代碼越堆越亂——這算是用AI編程的保命小技巧了。

cline的問題

網(wǎng)上說 cline 非常燒 token (使用大模型需要付費,根據(jù)消耗的 token數(shù)量進(jìn)行付費),我試了一下還真是,一個頁面還沒寫完,我充了20塊的某模型 token 就全都用完了……

使用本地部署的 DeepSeek 模型

試了下 cline 自動寫代碼,但花錢如流水,還不如我自己寫呢…

上次部署了 DeepSeek 的蒸餾模型(原版671B,其他模型都是llama/qwen等開源模型蒸餾的),效果還可以,這時候可以拿來當(dāng) cline 的后端。

遇到問題

不過在默認(rèn)配置下是無法使用的

會提示

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 的工作模式,通常需要模型具備較強(qiáng)的“代理式”推理、分步驟思考、以及對復(fù)雜指令的理解和執(zhí)行能力。相對而言,一些開源大模型(如 DeepSeek-R1 14B)可能在鏈?zhǔn)酵评?、代碼解釋或復(fù)雜上下文推斷上還不夠完備,或者對交互回合數(shù)、上下文格式都有所限制,因此在 Cline 這樣的多回合 Agentic 插件下就容易“跟不上”,從而觸發(fā)了“Cline is having trouble…”的警告信息。

從原理上來說,Cline 的交互流程是:

  1. Cline 根據(jù)你的指令生成比較復(fù)雜、帶有代理特征的 Prompt,其中包含“你是誰”“你的目標(biāo)是什么”“你需要如何自省、復(fù)盤”等指導(dǎo)信息。
  2. 讓模型多回合(多次)迭代思考,把每一次思考的內(nèi)容和輸出再用來生成后續(xù)回合的提示,從而不斷 refine 解決方案。
  3. 如果模型無法很好地遵循或記住這些多回合的提示,或是對其中的指導(dǎo)指令理解不準(zhǔn)確,就會出現(xiàn)答非所問、上下文混亂等情況。Cline 會偵測到這些現(xiàn)象并報錯/提示不兼容等。

問題的核心在于默認(rèn)的上下文長度(Context Length)太小,而 Cline 插件又需要保留較多的多輪對話上下文,導(dǎo)致模型沒辦法處理足夠長的提示,從而出現(xiàn) “Cline is having trouble…” 的提示。

在堅持使用 Ollama 的情況下,就只能通過調(diào)整上下文長度來解決這個問題了。(參考: https://github.com/deepseek-ai/DeepSeek-R1/issues/28)

調(diào)整上下文長度

上下文長度(Context Length)是什么?

  • 所謂 “上下文長度” 指的是模型在一次推理過程中能記住并處理的 Token 數(shù)量上限(你可以把它簡單理解為模型的“記憶容量”)。
  • 如果這個容量不夠,當(dāng)你給模型多輪指令或大段文本時,后續(xù)部分會被截斷或遺忘,所以任務(wù)可能無法被完整地理解和執(zhí)行。

許多開源模型初始設(shè)置的上下文窗口往往是 2K、4K,如果 Cline 生成了長 Prompt 或者你跟它多次對話累積了很多歷史信息,那么原先的 4K 上下文就很容易不足。

在 Ollama 里創(chuàng)建帶有大上下文長度的模型鏡像

創(chuàng)建一個名為 deepseek-r1-14b-32k.ollama(文件名自定)的文件,放在哪里都行,Ollama 并不會強(qiáng)制你把它放在某個固定位置,只要命令行能找到該文件即可。

一旦你用 ollama create 命令創(chuàng)建了新的模型,它就會被存儲到 Ollama 的模型倉庫,后續(xù)引用時只需要模型名稱,不需要再關(guān)心這個文件在哪。

內(nèi)容大致如下:

FROM deepseek-r1:14b
PARAMETER num_ctx 32768

然后使用 Ollama 命令行把這個文件轉(zhuǎn)為一個新的模型。例如:

ollama create deepseek-r1-14b-32k -f deepseek-r1-14b-32k.ollama

完成后,就相當(dāng)于你有一個帶 32k 上下文窗口的 DeepSeek-R1 14B 模型副本。

完成之后可以執(zhí)行 ollama list 驗證一下

$ 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 的上下文容量,避免因為上下文不足導(dǎo)致的中途報錯。

映射Ollama服務(wù)到本地

上一篇文章我把模型部署在服務(wù)器上

為了讓本地能調(diào)用,需要使用SSH隧道轉(zhuǎn)發(fā)一下。

ssh -L 11434:localhost:11434 用戶名@服務(wù)器地址 -p 端口

配置 cline 插件

點擊右上角的齒輪按鈕

在 API Provider 選擇 Ollama,模型選擇我們剛才創(chuàng)建的 deepseek-r1-14b-32k

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案-AI.x社區(qū)

設(shè)置完成之后點擊「Done」保存

火力全開寫代碼

這里我讓AI制作一個「新年祝福生成器」(參考小破站某up主的想法)

這里我用的提示詞寫得比較詳細(xì),把設(shè)計的細(xì)節(jié)都告訴AI,可以減少后續(xù)修改次數(shù)。

這個提示詞比較長,限于篇幅我就不放在正文里了,有需要參考的同學(xué)可以在公眾號后臺回復(fù)「提示詞」獲取完整版。

需要開發(fā)其他功能也可以把這篇提示詞交給 DeepSeek ,讓其參考。


輸入提示詞之后,就開始寫代碼了,可以看到代碼一行行自動生成。

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案-AI.x社區(qū)

完成之后發(fā)現(xiàn)有標(biāo)紅的警告,別擔(dān)心,AI會根據(jù)提示信息自動修改

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案-AI.x社區(qū)

實現(xiàn)效果

生成出來的代碼只能說一般,DeepSeek-14B 應(yīng)該還是受到模型參數(shù)規(guī)模限制了。

首先是出現(xiàn)了以下代碼

<p className="text-sm opacity-70 mt-2">距離春節(jié)還有 {new Date().getDaysLeftToChineseNewYear()} 天</p>

但是卻沒有定義這個原型擴(kuò)展方法。

然后是它對 tailwindcss 的認(rèn)知很有限,說好的背景顏色并沒有生效。

在我手動修復(fù)了 bug 之后,運行起來的頁面長這樣

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案-AI.x社區(qū)

但是也不能說 DeepSeek-14B 的代碼能力就完全不行

很可能是因為 cline 插件的上下文太長了

我直接與模型對話,同樣的需求,生成出來的代碼直接就能 run

開發(fā)者新選擇:用DeepSeek實現(xiàn)Cursor級智能編程的免費方案-AI.x社區(qū)

部署 LocalAI(可選)

https://github.com/mudler/LocalAI

LocalAI 充當(dāng)一個兼容 OpenAI API 協(xié)議的網(wǎng)關(guān),對外提供 /v1/xxx? 路由(如 /v1/completions?, /v1/chat/completions)。

  • 你可以用任何支持 OpenAI API 的客戶端(如 Pythonopenai 庫、LangChain、或各種開源/商用工具)去調(diào)用 LocalAI 的地址。
  • LocalAI 后臺則會在本地加載 .bin 或 .gguf 模型,并用 CPU 或 GPU 進(jìn)行推理,將結(jié)果以 OpenAI 兼容的 JSON 格式返回給客戶端。

由于我這次使用的 cline 插件支持直接調(diào)用 Ollama,所以就不部署 LocalAI 了,有興趣的同學(xué)可以自行嘗試。

參考資料

  • https://v2ex.com/t/1102806

本文轉(zhuǎn)載自??程序設(shè)計實驗室???,作者:曦遠(yuǎn)

標(biāo)簽
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦