精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

不停PUA大模型「寫更好點」,無需其它花哨技術就能讓AI代碼水平暴增

人工智能 新聞
這篇文章在網絡上引發了熱議,著名 AI 科學家在看完這篇文章中更是發出了 matters 三連:迭代很重要,提示詞設計很重要,代碼執行能力很重要。

AI 的編程能力已經得到了證明,但還并不完美。近日,BuzzFeed 的資深數據科學家 Max Woolf 發現,如果通過提示詞不斷要求模型寫更好的代碼(write better code),AI 模型還真能寫出更好的代碼!

圖片

這篇文章在網絡上引發了熱議,著名 AI 科學家在看完這篇文章中更是發出了 matters 三連:迭代很重要,提示詞設計很重要,代碼執行能力很重要。他表示:「一些更簡單的算法優化從未被考慮,同時一些過度的優化技術卻又被過早引入了。」

圖片

Woolf 寫了一篇深度博客介紹自己的發現,并分析了這種現象的原因。文中相關實驗的代碼也已發布在 GitHub。

圖片

相關代碼庫:https://github.com/minimaxir/llm-write-better-code/tree/main

如果不斷要求 LLM 寫更好的代碼

它能寫更好嗎?

2023 年 11 月,OpenAI 為 ChatGPT 添加了使用 DALL-E 3 生成圖像的功能。之后一段時間,出現了一類短暫的 meme:用戶為 LLM 提供一張基礎圖像,并不斷要求模型「使其更 X」,其中 X 可以指代任何東西。

圖片

讓一張普通照片更 bro,這是操作三次的結果,來自 Reddit /u/Jojop0tato

圖片

讓 Santa Claus 越來越 serious,來自 Reddit /u/hessihan

不過這個潮流很快就熄火了,因為這些圖像都非常相似且無趣,即不管使用什么起始圖像和提示詞,所有樣本都會最終收斂成某種宇宙感十足的東西。盡管這個流行曇花一現,但學術界的興趣要持久得多,他們想知道:為什么這樣一個沒多大意義且含義模糊的提示詞能對最終圖像產生顯而易見的影響?

如果對代碼也采用類似的技術,會發生什么呢?

如果通過迭代提示要求 LLM 「讓這些代碼更好」確實能讓代碼質量提升,那么有望極大地提升生產力。如果情況果然如此,那要是迭代次數過多又會怎樣呢?最終的代碼也會出現某種「宇宙感」嗎?只有試過才知道。

常規方式使用 LLM 寫代碼

盡管早在 ChatGPT 誕生前,就已經有研究者在圍繞 LLM 研發工具了,但我一直以來都不喜歡使用 GitHub Copilot 等 LLM 代碼助手來輔助編程。你的想法會在「LLM 自動完成了我的代碼,真棒」、「應該怎樣向 LLM 提問」以及「LLM 生成的代碼究竟對不對,還是幻覺產生的正確代碼」等之間來回切換,讓人難以集中精神專注工作,以至于使用 AI 帶來的生產力提升至多只能算是中性的。這里還沒有涉及使用 LLM 的高昂成本。

Claude 3.5 Sonnet 的出現改變了我的想法。或許是 Anthropic 在訓練中使用了什么秘方,Claude 3.5 Sonnet 的最新版本(claude-3-5-sonnet-20241022)具有出色的指令遵從能力,尤其是對于編程提示詞。編程基準已經證實,當 Claude 3.5 Sonnet 與 GPT-4o 比較時,Claude 更勝一籌;而且我在多種不同的技術和創意任務上都有類似的體驗。

初始請求

為了此實驗,我們將向 Claude 3.5 Sonnet 提供一個面試風格的編程提示詞(使用 Python):問題既很簡單 —— 新手軟件工程師也能實現,但也可被顯著優化。這個簡單提示詞可以代表軟件工程師使用 LLM 的典型方式。此外,另一個要求是這個測試提示詞應該足夠新穎,絕不能從 LeetCode 或 HackerRank 等代碼測試庫中取用,因為 LLM 在訓練時可能就已經看過這些問題了,完全可以根據記憶引用這些答案。

你可以在這個 GitHub 項目查看完整的、未經編輯的對話:https://github.com/minimaxir/llm-write-better-code/blob/main/python_30_casual_use.md

因此,這是我自己動手寫的測試提示詞:

圖片

中文版:


編寫 Python 代碼來解決這個問題:


給定一個包含 100 萬個隨機整數的列表,這些整數的取值范圍是 1 到 100,000,找出各位數總和為 30 的最小數和最大數之間的差值。


將此作為用戶提示詞提供給 Claude API 并設置溫度值為 0(可獲得最好 / 最確定的答案),可得到如下結果:

圖片

這個實現是正確的且與大多數 Python 新手程序員編寫的差不多,并且還多了個附加功能,可處理沒有符合條件的有效數字的情況。對于列表中的每個數,檢查各位數總和是否為 30:如果是,則檢查它是否大于最近看到的最大數或小于最近看到的最小數,并相應地更新這些變量。搜索完列表后,返回差值。

我敢肯定,很多程序員看到這個實現都會搖頭,想要對其進行優化。digit_sum () 函數就是個例子:雖然該實現是一個有趣的 Python 式單行代碼,但 str 和 int 之間的類型轉換會導致很多不必要的開銷。

在我的 M3 Pro Macbook Pro 上,運行此代碼平均需要 657 毫秒。我們將使用此性能作為基準來比較未來的實現版本。(劇透:它們都更快)

第 1 次迭代

現在,來讓 Claude 改進這段代碼,做法是將當前答案以及之前的內容都放入對話提示詞中,并增加一個迭代提示詞:

write better code

是的,不開玩笑,真就這三個單詞。

Claude 現在會輸出修改后的代碼,并且還表示這是「使用了幾項改進的優化版代碼」。Claude 并沒有將所有代碼都重新放置到函數中,而是決定將其重構為 Python 類并使其更加面向對象:

圖片

其中,該代碼實現了 2 項聰明的算法改進:

  1. 執行各位數之和時,它使用了整數運算,并且避開了之前提到的類型轉換。
  2. 預先計算所有可能的各位數之和,并將它們存儲在一個字節數組中(有點不尋常,而不是列表)以便后面查找,這意味著當那 100 萬個數中有重復時,無需進行重復計算。由于這個數組是作為字段存儲在類中,因此在搜索新的隨機數列表時不需要重新計算。

這些優化將代碼的運行速度提升了 2.7 倍。

第 2 次迭代

再來一次 write better code,Claude 發現了更顯而易見的優化方法(為方便閱讀有所裁剪):

圖片

Claude 現在又添加了兩個優化,終于意識到這個編程問題是一個令人尷尬的并行問題:

  • 通過 Python 的 parallel-futures 包進行多線程處理,將大列表分成可獨立處理的塊。
  • 對 numpy 運算進行向量化處理,這比基礎 Python 運算快得多。這里特別要提到 _precompute_digit_sums () 函數,它是求和計算的向量化實現。條件 while digits.any (): 是 galaxy-brain 代碼,但它可以正確地工作。

但是,這種特定的并行化實現存在一個問題:它會生成子進程,這會導致許多麻煩問題,包括無法直接內聯運行它,并且必須使用 main () guard 來調用它,這大大限制了它的實用性。但即使作為單獨的腳本運行,它也 print 了一個錯誤:無法 pickle 'generator' 對象錯誤,原因是使用了來自 numbers [mask] 的輸出(所述生成器完全沒有必要,返回 numbers [mask] 就足夠了)。代碼還混合了 numpy 數組 dtype,而這也會導致錯誤:將它們全部設置為 np.int32 可以修復它。

經過修復之后,這些代碼的速度是基礎實現的 5.1 倍。

第 3 次迭代

再來一次 write better code,Claude 又返回一個實現。它聲稱「使用了高級技術和現代 Python 特性的更復雜和優化的版本」,但實際代碼沒有表現出明顯的算法改進,實際上通過恢復到 type-casting 方法在數字求和計算中使用了回歸。整體來說,代碼庫變得更臃腫了,例如新增了一個用于計算差值的類:

圖片

這一次,無需任何修復就能運行該代碼。不過,相比前一次實現,這一次迭代版本的性能略有下降,速度是基礎實現的 4.1 倍。

第 4 次迭代

這種迭代提示方法的收益似乎開始下降了。但我們依然繼續 write better code,Claude 表示新實現使用了「前沿優化技術和企業級功能」。什么?企業級功能?!

最終的代碼量過于龐大,難以放入這篇文章,但它確實創造了兩項優化:它現在使用可以調用 JIT 編譯器的 numba Python 庫,該編譯器可直接針對 CPU 優化代碼。在這種情況下,它只需一個 decorator 就可以非常快速地預先進行數字求和:

圖片

這個完整類還使用了 Python 的 asyncio 進行并行化,這比子進程方法更適合調度任務。它還可以更好地與現有的內聯代碼和 REPL(如 Jupyter Notebooks)配合使用。

它還添加了以下所謂「企業級」功能:

  • 使用 Prometheus 進行結構化的指標日志記錄。
  • 一個信號處理程序,這樣如果強制終止,就可以優雅地被解除該代碼。
  • 使用一個顏色豐富的表格展示基準測試結果。

圖片

不過確實挺漂亮!

看起來,對 AI 生成的代碼而言,實現宇宙感就是做成「企業級」,也即對代碼進行過度的工程開發。似乎說得通。盡管如此,該代碼無需任何修改就能運行。async 和 numba 都是 Python 中實現并行的方法,因此它們可能冗余了并導致過度開銷。然而,基準測試表明,該算法非常快,每次運行大約需要 6 毫秒,也就是能實現 100 倍加速。之前我還猜想這種提示方法會收益遞減,但顯然這種猜想并不合理。也許 numba 就是秘訣所在?

總體而言,這種迭代優化代碼的迭代提示法并不完美:代碼確實更好,但事后看來,「better」這個要求過于寬泛了。我只想要算法改進,而不是完整的 SaaS。讓我們從頭開始再試一次,但這次會使用更多方向。

對 LLM 進行提示詞工程,以獲得還要更好的代碼

現在是 2025 年,為了讓 LLM 得出最佳結果,仍然需要使用提示詞工程。實際上,提示詞工程的重要性還在提升:下一 token 預測模型的訓練目標是基于大批量輸入最大化下一 token 的預測概率,也因此它們是針對一般性的輸入和輸出進行了優化。隨著 LLM 的大幅改進,生成的輸出會變得更加平均化,因為這就是它們所接受的訓練:所有 LLM 都偏向平均水平。不過,僅需少量指導,明確說明你想要 LLM 做什么,再給出幾個示例,LLM 的輸出就能提升。由于 Claude 3.5 Sonnet 能很好地遵從指令,因此即使只是一點點提示詞工程也能帶來很大的好處。

下面重做上面的代碼優化實驗。這一次使用更加積極主動的提示詞工程,明確我們想要的結果,不給出任何模糊空間。是的,冷酷機械地對待 LLM 可以讓它們表現更好。

初始請求

這次我們將使用系統提示詞,僅通過 API 提供。系統提示詞列出了 LLM 必須遵從的「規則」。因為我想要更優化的代碼,我們將在規則中定義這一點,并提供詳細示例:

圖片

中文版如下:


你編寫的所有代碼都必須完全優化。


「完全優化」包括:


- 最大化內存和運行時間的算法 big-0 效率

- 在適當的情況下使用并行化和向量化

- 遵循代碼語言的正確樣式約定(例如,最大化代碼復用 (DRY))

- 除了解決用戶問題絕對必要的代碼之外,沒有額外的代碼(即沒有技術債)


如果代碼未完全優化,你將被罰款 100 美元。


關于最后一行:在系統提示詞中向 LLM 提供正面 / 負面激勵已不再常用,我自己的研究表明,尚不清楚它是否能否產生積極影響,但罰款在迭代提示中將變得更加有用。

初始用戶提示詞還有一行附加內容:

圖片

中文版:


編寫 Python 代碼來解決這個問題:


給定一個包含 100 萬個隨機整數的列表,這些整數的取值范圍是 1 到 100,000,找出各位數總和為 30 的最小數和最大數之間的差值。


在編寫代碼之前,規劃出所有必要的優化。


「規劃」是一個很常用的技巧,可以幫助 LLM 在第一次通過時對齊輸出 —— 算是「let’s think step by step」的現代版本。某些 LLM 會忽視它,但 Claude 3.5 Sonnet 總是會服從。

基于此提示詞工程策略的未經編輯的完整對話線程可見這里:https://github.com/minimaxir/llm-write-better-code/blob/main/python_30_prompt_engineering.md

將系統提示詞和此用戶提示詞發送給 Claude,會得到如下開頭的響應:

圖片

看起來很有希望:Claude 立即發現它應該從 numpy 和 numba 開始,并使用整數運算來求和。初始實現:

圖片

這比之前的初始實現更加精簡,尤其是沒有不必要的注釋。但仍有改進空間,特別是此實現未在 jit decorator 中設置 parallel=True。

如此簡單的提示詞工程就得到了平均運行時長僅 11.2 毫秒的代碼,這比原始實現快 59 倍。厲害!

第 1 次迭代

現在使用比「write code better」更詳細的提示來迭代代碼:

圖片

中文版:


你的代碼未完全優化,你已被罰款 100 美元。使其更加優化。


不,這不是煤氣燈效應,這叫激勵式對齊(incentive alignment)

Claude 的響應如下:

圖片

很好,它找到了 parallel=True!但是那個求和實現很奇怪,并且使用了位移位(bit-shifting),這通常僅用于超優化(hyperoptimization)。我認為應該不能很好地對十進制數使用位移位,而且經過測試證明確實不能,因為這個實現得到的和是錯誤的。該實現還再次包括多處理分塊方法(未展示出來),這可能對 numba 來說更加冗余并會導致額外的開銷。同樣未展示出來的是:該腳本還使用一個小的測試數組預編譯 JIT 函數以獲得更好的實際性能,這是 numba 文檔推薦用于基準測試的。

盡管如此,與最初的提示詞工程實現代碼相比,這個代碼的性能大大退步,現在僅比原始實現快 9.1 倍。可能的原因是多處理會產生新的進程,而這些進程每次都會重新編譯 numba JIT 函數,因此會產生巨大的開銷。

第 2 次迭代

再次迭代上述提示詞:

圖片

Claude 現在開始使用 SIMD 操作和塊大小調整來實現(理論上)極致性能。

此時,我很困惑,它錯過了位移位實現的某些東西,因為它仍然是錯誤的,特別是現在十六進制數也參與進來了。事實證明,該實現是一種計算十六進制數而非十進制數的和的優化方法,因此它完全是一種幻覺。還有另一個非常微妙的幻覺:當 parallel=True 時,prange 函數無法接受 32 的步長,這是一個幾乎沒有文檔記錄的細微差別。設置 parallel=False 并進行基準測試,與最初的提示詞工程實現相比,確實略有改進,比基本實現快 65 倍。

第 3 次迭代

又一次迭代:

圖片

在這種情況下,LLM 放棄了一直導致問題的分塊策略,并增加了兩個優化:全局 HASH_TABLE(這只是一個 numpy 數組,我不確定簡單的索引查找是否算作哈希表);另外它引入了一個邏輯微優化,即在求和后,如果數字超過 30,則可以停止計數,因為它可以立即被認定為無效。

一個主要問題:由于互聯網文檔很少,導致「在模塊加載時生成哈希表」技巧實際上不起作用:numba 的經過 JIT 處理后的函數之外的對象是只讀的,但 HASH_TABLE 仍在經過 JIT 處理后的函數之外實例化并在經過 JIT 處理后的函數內進行修改,因此會導致非常令人困惑的錯誤。經過微小的重構,使得 HASH_TABLE 在經過 JIT 處理后的函數內實例化,代碼就可以工作,并且運行速度極快:比原始基本實現快 100 倍,與基礎提示方法的最終性能相同,但代碼量少了幾個數量級。

第 4 次迭代

這時候,Claude 實際上已經在抱怨了,表示該代碼已經達到了「該問題可能的理論最小時間復雜度」。所以我把問題混在一起,讓其解決這個求和問題,而它僅僅是使用之前用過的整數實現來替換相關代碼,并沒有嘗試修復 HASH_TABLE。更重要的是,通過 HASH_TABLE 調整,我終于確認了該實現是正確的,不過由于不再進行位移,其性能略有下降:現在速度提升是 95 倍。

為了實現更好 LLM 代碼生成

還要哪些步驟

綜合起來,我們用一張圖將這些提升直觀地展示出來吧,其中尤其強調了需要人來修改代碼邏輯,以便消除 bug 讓代碼可運行的案例。

圖片

總之,要求 LLM 「write code better」確實能讓代碼變得更好,這取決于你對更好的定義。使用一般的迭代式提示方法,代碼確實會在基礎示例的基礎上獲得提升,不管是新增功能還是提升速度。而如果使用提示詞工程,代碼的提升會更加快速和穩定,但更可能引入一些微妙的 bug,因為 LLM 本就不是為了生成高性能代碼創造的。當然,你在使用 LLM 可能會有不一樣的歷程,但最終你都需要人力介入,解決一些不可避免的問題。

本文中的所有代碼(包括基準測試腳本和數據可視化代碼,全都已經在 GitHub 發布:https://github.com/minimaxir/llm-write-better-code/

另一方面,我很驚訝 Claude 3.5 Sonnet 在兩次實驗中都沒有發現和實施一些優化。也就是說,它沒有探索統計角度:由于我們從 1 到 10 萬的范圍內均勻生成 100 萬個數字,因此將有大量重復的數字永遠不需要分析。LLM 沒有嘗試進行重復數據刪除,例如將數字列表轉換為 Python set () 或使用 numpy 的 unique ()。我還期待一個實現,它涉及按升序對 100 萬個數字的列表進行排序:這樣,算法就可以從頭到尾搜索列表以查找最小值(或從尾到頭搜索最大值),而無需檢查每個數字,盡管排序很慢,而向量化方法確實更實用。

即使 LLM 可能會出錯,我從這些實驗中學到的一件值得注意的事情是:即使代碼輸出不能直接使用,它們確實有有趣的想法和工具建議。例如,我從未接觸過 numba,因為作為一名數據科學家 / 機器學習工程師,如果我需要更好的代碼性能,我習慣于專門使用 numpy 的技巧。但現在我很難不接受 numba JIT 函數的結果,我可能會將它添加到我的工具箱中。當在其他技術領域(如網站后端和前端)測試類似的「使其更好」提示迭代工作流程時,LLM 也有很好的想法。

當然,這些 LLM 不會很快取代軟件工程師,因為人們需要強大的工程背景才能識別出哪些才是真正的好主意,以及存在其他特定領域的約束。即使互聯網上有大量的代碼,LLM 也無法在沒有指導的情況下辨別出普通代碼和性能良好的高性能代碼。現實世界的系統顯然比求職面試式的編程問題要復雜得多,但如果快速的 for 循環反復要求 Claude 實現一個功能,提供可以將代碼速度提高 100 倍的能力,那么新出現的管道就物有所值。

有些人認為過早優化是一種糟糕的編碼習慣,但在現實世界中,這比擁有一個隨著時間的推移會成為技術債務的低于標準的實現要好。

不過必須要說的是,我的實驗使用 Python 對代碼改進進行基準測試,而 Python 并不是開發者在追求優化性能時考慮的編碼語言。雖然 numpy 和 numba 等庫利用 C 來解決 Python 的性能限制,但流行的 Python 庫(如 polars 和 pydantic)使用的一種現代方法是使用 Rust 進行編碼。與 C 相比,Rust 具有許多性能優勢,而 PyO3 包允許在 Python 中使用 Rust 代碼,并且開銷最小。

我可以確認,盡管該工作流程非常新,但 Claude 3.5 Sonnet 已經可以生成符合 PyO3 的 Python 和 Rust 代碼,不過這部分的內容足以寫另一篇博客文章了。

與此同時,雖然要求 LLM 改進代碼是 AI 更務實的用途,但你可以要求他們「再加把勁」…… 結果好壞參半。

對于以上使用 LLM 的操作,我專門使用了 API 或這些 API 的接口(例如 Claude 的 Anthropic Console 中的 Workbench)作為免費 LLM 的 Web 接口。相比之下普通的 ChatGPT/Claude 網絡應用使用管道,由于其固有的復雜性,會產生不可預測的結果。請注意這點。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2025-04-25 09:20:00

數據模型AI

2021-07-07 05:03:35

Debugger技巧Nodejs

2025-07-14 09:20:00

2025-07-22 10:15:44

2023-04-10 15:37:18

AI代碼

2025-09-08 08:50:00

AI模型訓練

2021-12-25 22:29:31

類型編程Javascript類型體操

2024-01-08 12:47:02

代碼模型Mistral

2022-09-08 12:11:50

開源OPT云上服務

2025-01-23 09:15:00

數據技術模型

2024-07-22 00:00:00

2020-09-22 11:17:49

Photoshop工具AI

2023-08-03 19:10:15

機器人AI

2023-05-31 15:15:53

2017-08-29 19:54:43

賽門鐵克代碼惡意軟件

2025-02-24 14:15:00

模型訓練AI

2022-02-09 16:12:24

樹莓派AI

2021-12-31 09:34:22

PyTorchtransformer模型

2024-03-12 10:36:17

AI大模型人工智能

2025-07-04 08:47:00

大模型AI信息
點贊
收藏

51CTO技術棧公眾號

亚洲毛片免费看| 妓院一钑片免看黄大片| 永久免费看黄网站| 成年人视频免费在线播放| 在线观看中文字幕的网站| 亚洲女同一区| 亚洲综合一区在线| 国产成人精品福利一区二区三区| 自拍视频第一页| 熟妇人妻一区二区三区四区| 欧美裸体在线版观看完整版| 欧美日韩中文另类| aaa级精品久久久国产片| 久久午夜夜伦鲁鲁片| 国产九九在线| 亚洲人成毛片在线播放女女| 欧洲精品在线观看| 国产日韩专区在线| 国产精品欧美性爱| 日本不卡网站| 国产成人一区在线| 中文国产成人精品| 国产av天堂无码一区二区三区| 在线视频1卡二卡三卡| 香蕉久久精品| 亚洲成人精品在线观看| 国产精品久久二区| aaaaaaaa毛片| 3p视频在线观看| 国产精品videossex久久发布| 在线观看网站黄不卡| 中国老女人av| 久久精品国产成人av| 自拍亚洲一区| 91精品国产91久久综合桃花 | 韩国三级av在线免费观看| 国精品一区二区| 在线播放精品一区二区三区| 性活交片大全免费看| 成年视频在线观看| 久久99精品视频| 中文字幕日本精品| 少妇一级淫片免费放播放| 色999韩欧美国产综合俺来也| 亚洲欧美电影一区二区| 国产精品一区二区久久久久| a资源在线观看| 韩国精品主播一区二区在线观看 | 亚洲精品无遮挡| 午夜精品视频| 精品国产一区二区三区av性色| 韩国中文字幕av| 国产精品一级伦理| 99国产精品久| 国产精品美女诱惑| 国产精品久久久久久免费播放| 婷婷丁香综合| 欧美精品欧美精品系列| 亚洲国产一区在线| 日本在线一二三| 日韩视频精品在线观看| 日韩一区二区中文字幕| 成年人视频大全| av中文字幕播放| 美女在线一区二区| www.亚洲一区| 91免费视频污| 性欧美1819sex性高清大胸| 国产成人在线观看| 51成人做爰www免费看网站| 亚洲网站在线免费观看| 日韩av在线发布| 日韩av中文在线| 波多野结衣天堂| 欧美电影免费观看高清完整| 欧美日韩国产黄| 欧美一进一出视频| 女人天堂在线| 麻豆国产精品视频| 欧美激情视频播放| 九九视频在线观看| 精品淫伦v久久水蜜桃| 亚洲最新在线观看| 男人天堂a在线| 日本一本草久在线中文| 99v久久综合狠狠综合久久| 国产精品久久一区二区三区| 成人精品在线播放| 日韩国产在线观看一区| 国产精品第二页| 精品一区二三区| 麻豆成人久久精品二区三区红 | 精品少妇一二三区| 久久大逼视频| 日韩一区二区在线视频| 在线观看天堂av| 视频精品一区| 狠狠干狠狠久久| 日韩亚洲欧美精品| 国产18精品乱码免费看| 99久久99精品久久久久久| 欧美大香线蕉线伊人久久| 欧美精品a∨在线观看不卡| 91欧美激情一区二区三区成人| 国产精品嫩草影院久久久| 国产又黄又粗又长| 国产精品中文字幕日韩精品 | 噜噜噜在线视频| 国产精品无码久久久久| 亚洲另类在线制服丝袜| 男人添女荫道口图片| 国模一区二区| 日韩精品在线一区二区| 182在线视频| 伊人久久大香线蕉| 久久精品视频va| 久久中文字幕人妻| 日韩成人18| 亚洲精品影视在线观看| 黑人巨大猛交丰满少妇| 精品91久久| 91精品国产乱| 日韩乱码人妻无码中文字幕久久| 国产精品xnxxcom| 亚洲国产三级网| 波多野结衣视频播放| 国产精品午夜一区二区三区| 欧美α欧美αv大片| 免费观看污网站| 欧美日韩老妇| 国内精久久久久久久久久人| 欧美成人三级在线观看| 香蕉国产精品偷在线观看不卡| 欧美精品久久久久久久免费观看 | 少妇精品久久久一区二区| 精品国产百合女同互慰| 久久久99999| 第一会所sis001亚洲| 久久久最新网址| 国产又粗又猛又黄又爽| 久久精品人人做人人爽97| 国产一级大片免费看| 看片一区二区| 亚洲欧洲视频在线| 人妻熟女aⅴ一区二区三区汇编| 亚洲国产不卡| 国产精品久久久久久久久久久久久久 | 天天做天天爱天天综合网2021| 欧美在线亚洲在线| 欧美天堂在线视频| 一区二区三区小说| 欧美丝袜在线观看| 欧美成人高清视频在线观看| 亚洲精品一区在线观看香蕉| 日韩av男人天堂| 国产成人丝袜美腿| 欧美另类videos| 99精品女人在线观看免费视频 | 人人爽人人爽av| 亚洲精品小区久久久久久| 欧美成人午夜视频| 国产日本精品视频| 狠狠色伊人亚洲综合成人| 日本视频精品一区| 亚洲黄色免费av| 欧美午夜精品一区二区蜜桃| 麻豆av免费观看| 国产日韩欧美| 蜜桃传媒一区二区| 345成人影院| 亚洲美女久久久| 日本熟女毛茸茸| 久久精品亚洲精品国产欧美kt∨| 国产亚洲天堂网| 久久不见久久见中文字幕免费| 欧美中文在线观看| 黄色在线视频观看网站| 欧美日韩国产综合视频在线观看中文| 亚洲色偷偷色噜噜狠狠99网| 99精品国产在热久久| 久久99精品久久久久久水蜜桃| 国产一二三在线| 91久久精品一区二区| 人妻熟人中文字幕一区二区| 热久久久久久久| 亚洲国产精品影视| 视频精品一区| 2019中文字幕全在线观看| 久久精品偷拍视频| 99这里都是精品| 欧美 国产 小说 另类| 国产欧美亚洲精品a| 5566日本婷婷色中文字幕97| 日韩黄色影片| 欧美日韩一本到| a级片在线观看免费| 9人人澡人人爽人人精品| 国产v亚洲v天堂无码久久久| 久久综合欧美| 成人在线国产精品| 美女网站在线看| 日韩在线小视频| 日韩黄色a级片| 久久久国产精品不卡| 成人性生交免费看| 国产在线成人| 日本在线高清视频一区| 国产精品视频首页| 97视频色精品| 91porn在线观看| 欧美mv日韩mv亚洲| 久久午夜鲁丝片| 亚洲国产一区二区视频| 五月激情五月婷婷| 狠狠色丁香久久综合频道| 欧美影视一区二区| 91国拍精品国产粉嫩亚洲一区| 欧美美女18p| 国产三级电影在线| 日韩三级中文字幕| 最新中文字幕免费| 午夜精品久久久久久久久久| 2017亚洲天堂| 97国产精品videossex| 亚洲黄色av片| 丝袜亚洲另类欧美| 9色porny| 亚洲综合专区| 欧美日韩在线精品一区二区三区| 国产精品亚洲综合在线观看| 国产成人午夜视频网址| 欧美韩日亚洲| 欧美三级电影在线观看| 国产一区二区视频在线观看免费| av一本久道久久综合久久鬼色| 天天综合网日韩| 日韩精品亚洲aⅴ在线影院| 国产在线观看一区二区三区| 亚洲欧洲自拍| 久久免费视频在线| 亚洲国产精品精华素| 日韩中文字幕视频在线观看| 麻豆app在线观看| 亚洲国产精品字幕| 性一交一乱一伧老太| 欧美一区二区在线播放| 成人小视频在线播放| 欧美色视频日本版| 日韩久久久久久久久| 夜夜精品视频一区二区| 亚洲色婷婷一区二区三区| 国产精品成人网| 亚洲黄色av片| 蜜桃av一区二区在线观看 | 很黄很黄激情成人| mm131午夜| 国产精品毛片一区二区在线看| 日本黄网免费一区二区精品| 日韩欧美在线精品| 国产一级特黄a大片99| 2021年精品国产福利在线| 91丝袜美腿美女视频网站| 激情欧美一区二区三区黑长吊| 国产精品18久久久久久首页狼| 成人欧美magnet| 全球成人中文在线| 免费亚洲电影| 国产成人精品视| 欧美日韩成人影院| 国产精品久久久久7777婷婷| 韩日一区二区| 国产v综合ⅴ日韩v欧美大片| 91老司机福利在线| 98视频在线噜噜噜国产| 午夜av不卡| 奇米四色中文综合久久| 亚洲午夜天堂| 日韩av手机在线观看| 校园春色亚洲色图| 国产精品都在这里| 成人在线啊v| 不卡一区二区三区视频| 国产精品18hdxxxⅹ在线| 91青青草免费观看| 在这里有精品| 看高清中日韩色视频| 国内精品久久久久久久影视简单| 天天综合色天天综合色hd| 日韩精品一级| 国产偷国产偷亚洲高清97cao| 日韩av网站在线免费观看| 欧美性xxxx69| 婷婷伊人综合| 人妻夜夜添夜夜无码av| 久久久噜噜噜久久狠狠50岁| 午夜剧场高清版免费观看 | 少妇精品无码一区二区| 99精品视频中文字幕| 国产第一页精品| 一区二区三区在线免费播放| 久久久久久久久影院| 欧美日韩另类国产亚洲欧美一级| 国产熟女一区二区三区四区| 精品久久久久一区二区国产| 欧美日本韩国一区二区| 久久av资源网站| 一区二区三区短视频| 91免费精品国偷自产在线| 欧美电影完整版在线观看| 亚洲国产一区二区精品视频 | 免费av观看网址| 蜜桃一区二区三区在线观看| 影音先锋资源av| 国产精品久久99| 午夜毛片在线观看| 欧美视频在线一区二区三区| 91亚洲精品国偷拍自产在线观看| 色综合天天综合给合国产| 91tv国产成人福利| 日韩精品中文字幕久久臀| 国产三级在线播放| 国产精品pans私拍| 高潮按摩久久久久久av免费| 亚洲va韩国va欧美va精四季| 精品69视频一区二区三区Q| 国产一线二线三线在线观看| 成年人网站91| 中文字幕av播放| 在线亚洲一区观看| 欧美 日韩 综合| 美女国内精品自产拍在线播放| 欧美xxx网站| 国产成人看片| 91高清一区| 91极品视频在线观看| 91在线丨porny丨国产| 黄色a级片在线观看| 欧美性受极品xxxx喷水| 神马午夜在线观看| 久久综合免费视频影院| 播放一区二区| 欧美日本亚洲| 一本色道久久综合亚洲精品高清| 在线观看视频你懂得| 国产精品国产三级国产有无不卡| 三级视频在线观看| 亚洲国产欧美一区| 免费看电影在线| 91在线色戒在线| 99精品视频精品精品视频| 国产自偷自偷免费一区| 久久蜜桃av一区精品变态类天堂 | 国产精品欧美一区喷水| 男女啊啊啊视频| 亚洲成人av资源网| 国产99re66在线视频| 91久久极品少妇xxxxⅹ软件| 五月天综合网站| 在线观看岛国av| 亚洲视频小说图片| 一区二区国产欧美| 社区色欧美激情 | 日韩黄色三级| 国产成人免费高清视频| 国产精品综合二区| 免费在线观看av网址| 欧美成人精品高清在线播放| 成人国产免费电影| 亚洲精品免费在线视频| 99久久婷婷国产综合精品青牛牛 | 亚洲深夜av| xxxxxx黄色| 欧美日韩一区二区免费视频| 男人的天堂在线免费视频| 国产999精品| 日韩在线二区| 91亚洲一区二区| 洋洋av久久久久久久一区| 色香蕉在线视频| 日韩av三级在线观看| 日韩欧美二区| 精产国品一二三区| 亚洲成人自拍网| 人成在线免费视频| 国产精品毛片a∨一区二区三区|国| 国产一区日韩| 亚洲免费黄色录像| 一区二区三区四区不卡视频| 日韩一级在线播放| 欧美在线精品免播放器视频| 欧洲杯什么时候开赛| av免费一区二区| 亚洲一区在线看| 黄色片在线看| 91日本在线视频| 一区二区三区四区五区精品视频| 国产色视频一区二区三区qq号| 在线亚洲一区二区| 在线免费av导航| 日韩在线导航|