」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我如何使用 AI 建立複雜的 SaaS 應用程序,您也可以嗎

我如何使用 AI 建立複雜的 SaaS 應用程序,您也可以嗎

發佈於2024-08-31
瀏覽:758

How I Built a Complex SaaS App with AI—And So Can You

我已經成為開發者幾年了,但直到人工智慧出現我才能夠開始建立應用程式。我學習的第一門語言是 Visual Basic。我從來沒有掌握它的竅門,它沒有什麼是基本的。接下來是 C ,即使有兩個加號,仍然沒有任何結果。為我辯護,我在學習時沒有電腦,而是在白板上教的。

發現號

我已經使用 LLM 有一段時間了,至少從第一個 GPT4 版本發布以來是這樣。我剛完成了 Solidity 的區塊鏈開發學習,並在軟體機構找到了一份工作。就在那時,GPT4 發布了。起初我只是問一般性問題。然後我開始透過使用一些 Solidity 程式碼進行測試來使用它進行編碼。

它做得非常好,就在那時,我使用人工智慧編碼的火花點燃了。當時我在一家軟體機構工作,我們有一個客戶想要一個腳本,可以自動以低於特定價格的價格從 Solana 市場購買 NFT。我用 GPT4 完成了整個專案。

應用程式的想法

當 Claude 發佈時,我對此表示懷疑,並決定推遲一段時間,因為我正在玩免費模型。

最終,我掌握了竅門並決定訂閱。一段時間後,Claude Opus 成為我最喜歡的模型,將其用於個人編碼專案和一般研究。不久之後,Claude 3.5 Sonnet 發布了。

大樓

大約在這個時候,我想到了一個 vscode 擴展的想法,它可以通過將其引入 IDE 並為其提供讀寫訪問權限來擴展 AI 功能,從而為 AI 提供實時上下文。

我決定開始使用 Claude 3.5 Sonnet 進行建置。從一開始,我們就有了一個好的開端,我做了一些事情。然而,幾分鐘後,程式碼中出現了一些問題,我用 Sonnet 繞了大約一個小時,試圖修復它。我感到沮喪並切換回我熟悉的模型 Opus。

然而,我正在修復一個又一個的錯誤。但我還是堅持了下來,因為我還是習慣了 Opus,不願意更換。但在擺弄 Opus 大約 2 天后,我意識到我還遠遠沒有達到 Sonnet 的水平。所以我回到 Sonnet,獲取了最新版本的有效程式碼並從那裡重新開始。

正是在這一點上,事情開始步入正軌。一週之內我就得到了至少可以運行和測試的程式碼。我越了解如何提示,我就能越快使用它。

挑戰

然而,事情並非一帆風順。有幾個例子,但最重要的是在某個時刻,因為我也將它用於研究和架構決策,它表明了一種錯誤的方法,而我的設定不可能實現這種方法。鑑於我沒有意識到這一點,我實現了它,但在測試時它不起作用。

在查閱 Sonnet 的錯誤時,它仍然無法理解為什麼該模組無法運作。所以我為chatGPT的實施做了更多的諮詢。它還建議了相同的方法(但不起作用),但給了我第二個選擇。我拿了第二個,把它給了克勞德,瞧!火車又開動了。

結果

總而言之,我們花了大約 2 個月的時間才提出一個可行的應用程式。我最終得到了 10 多個模組,我發現它們適合可擴展性和調試。

根據我的經驗,我意識到人工智慧的品質已經達到了可以以驚人的速度實施和迭代想法的水平。

人工智慧編碼的當前限制是您只能來回複製和貼上。這是可行的,但有時,當出現錯誤時,上下文中可能會出現空白,因為 AI 可能不知道您目前的專案是如何在 IDE 中設定的,並且錯誤並未傳達這一點。

由於人工智慧和你都沒有意識到,所以你們最終都會陷入循環。這就是我使用codingAGI解決的問題,將AI引入IDE並設定環境,編寫程式碼,運行程式碼並以成功訊息或錯誤的形式接收即時上下文,然後可以進行偵錯。

結論

人工智慧不會取代開發人員。你還是需要提示它,引導它達到你想要的結果。這意味著了解軟體設計原則和模式。差別在於速度。人工智慧開發人員將更快地構思、更快地編碼並更快地交付。

查看 CodingAGI 並開始發貨!

版本聲明 本文轉載於:https://dev.to/edmond1770/how-i-built-a-complex-modular-app-with-ai-1fdo?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • Gosync.Pool 及其背後的機制
    Gosync.Pool 及其背後的機制
    这是帖子的摘录;完整的帖子可以在这里找到:https://victoriametrics.com/blog/go-sync-pool/ 这篇文章是关于 Go 中处理并发的系列文章的一部分: Gosync.Mutex:正常和饥饿模式 Gosync.WaitGroup 和对齐问题 Gosync.Poo...
    程式設計 發佈於2024-11-06
  • 如何在 PHP 中包含 CSS:詳細指南
    如何在 PHP 中包含 CSS:詳細指南
    在PHP 中包含CSS 檔案:綜合指南在進行Web 開發時,將CSS 樣式合併至PHP 程式碼中對於管理至關重要您的頁面的呈現。然而,眾所周知,使用 HTML 程式碼包含 CSS 檔案是標準方法。在本文中,我們將深入研究基於 PHP 的解決方案,幫助您了解如何將 CSS 檔案直接匯入 PHP 程式碼...
    程式設計 發佈於2024-11-06
  • 如何使用 JavaScript(不使用 jQuery)檢索 Div 標籤文字?
    如何使用 JavaScript(不使用 jQuery)檢索 Div 標籤文字?
    如何使用 JavaScript 檢索 Div 標籤文字(不使用 jQuery)要只使用 JavaScript 取得 div 元素的文字內容,還有 jQuery 的替代方案。 問題陳述:之前嘗試使用 document.getElementById('superman').value 檢...
    程式設計 發佈於2024-11-06
  • 如何計算 DOM 元素中的行數?
    如何計算 DOM 元素中的行數?
    計算DOM 元素中的行數可以決定DOM 元素中文字的行數,但這需要一些考慮元素的樣式和尺寸。 自動插入DOM文本中的自動換行符號並未直接在 DOM 本身中表示。 DOM 只包含原始文字內容。 根據元素高度計算行數但是,如果元素的高度取決於其內容,則可以估計行數行的高度除以字體行高。 var divH...
    程式設計 發佈於2024-11-06
  • 如何將 java.util.Date 轉換為 java.time 的 Instant、OffsetDateTime 或 ZonedDateTime?
    如何將 java.util.Date 轉換為 java.time 的 Instant、OffsetDateTime 或 ZonedDateTime?
    將java.util.Date 轉換為java.time 的Instant、OffsetDateTime 或ZonedDateTime隨著我們向現代java.time 框架遷移,了解如何將遺留java.util.Date 物件轉換為適當的java.time 類型至關重要。以下是等效項的概述:java...
    程式設計 發佈於2024-11-06
  • 高效的 React 開發:利用上下文和 Hook 進行無縫資料處理
    高效的 React 開發:利用上下文和 Hook 進行無縫資料處理
    介绍 React 的 Context API 允许您在应用程序中全局共享数据,而 Hooks 提供了一种无需类组件即可管理状态和副作用的方法。它们共同简化了数据处理并使您的代码更易于维护。在本文中,我们将深入研究 React Context 和 Hooks,提供详细的分步示例,帮助...
    程式設計 發佈於2024-11-06
  • 代理設計模式
    代理設計模式
    在我之前的博客中,我探索了处理对象创建机制的各种创作设计模式。现在,是时候深入研究结构设计模式,该模式重点关注如何组合对象和类以形成更大的结构,同时保持它们的灵活性和高效性。让我们从代理设计模式开始 JavaScript 中的代理设计模式 代理设计模式是一种结构设计模式,它提供一个...
    程式設計 發佈於2024-11-06
  • 您可以使用「src」屬性在外部 JavaScript 檔案中嵌入內嵌腳本嗎?
    您可以使用「src」屬性在外部 JavaScript 檔案中嵌入內嵌腳本嗎?
    您可以使用 SRC 屬性在外部 JavaScript 檔案中嵌入內嵌腳本嗎? 雖然 JavaScript 通常是使用外部腳本檔案包含的,出現一個常見問題:可以使用 src 屬性將內聯腳本合併到該外部檔案嗎? 根據HTML 4.01 規範:「腳本可以在SCRIPT 元素或在外部文件中如果未設定src ...
    程式設計 發佈於2024-11-06
  • 如何在 Go 中追蹤 HTTP POST 請求的進度?
    如何在 Go 中追蹤 HTTP POST 請求的進度?
    Go 中追蹤HTTP POST 請求的進度透過POST 請求發送大檔案和映像時,開發者經常面臨追蹤上傳進度的挑戰。本問題探討了一種可靠的方法來監控 Go 應用程式中此類請求的進度。 此問題建議手動開啟 TCP 連線並分塊發送 HTTP 請求。但是,此方法可能會遇到 HTTPS 網站的限制,並且不被認...
    程式設計 發佈於2024-11-06
  • 如何在 Java 中取得資料夾中的檔案名稱清單?
    如何在 Java 中取得資料夾中的檔案名稱清單?
    使用Java 獲取文件夾中的文件名獲取目錄中文件名列表的任務是各種環境中的常見需求編程場景。要在 Java 中實現此目的,有一個簡單的方法,即利用 File 類別。 程式碼方法:首先,使用所需的目錄路徑實例化File 物件:File folder = new File("your/path...
    程式設計 發佈於2024-11-06
  • 角管:綜合指南
    角管:綜合指南
    Angular 中的 Pipes 是简单的函数,用于在不修改底层数据的情况下转换模板中的数据。管道接收一个值,对其进行处理,然后返回格式化或转换后的输出。它们通常用于格式化日期、数字、字符串,甚至数组或对象。 它们允许您直接在视图中以更具可读性或相关性的格式格式化和显示数据,而无需更改底层数据模型。...
    程式設計 發佈於2024-11-06
  • Tailwind CSS 和深色模式
    Tailwind CSS 和深色模式
    在本文中,我們將探討如何在 Tailwind CSS 中實現深色模式。深色模式已成為流行的設計趨勢,因為它可以在低光環境下提供更好的使用者體驗並減輕眼睛疲勞。 Tailwind 可透過其內建實用程式輕鬆支援暗模式。 1. Tailwind 中的深色模式如何運作 Tailwind 提...
    程式設計 發佈於2024-11-06
  • 如何使用 CakePHP 的 Find 方法執行 JOIN 查詢?
    如何使用 CakePHP 的 Find 方法執行 JOIN 查詢?
    CakePHP Find 方法與 JOINCakePHP find 方法提供了一種從資料庫檢索資料的強大方法,包括連接表。本文示範了使用 CakePHP 的 find 方法執行 JOIN 查詢的兩種方法。 方法 1:利用模型關係此方法涉及定義模型之間的關係並使用可遏制的行為。考慮以下模型關係:cla...
    程式設計 發佈於2024-11-06
  • 如何在 Python 中重複使用生成器而不重新計算或儲存結果?
    如何在 Python 中重複使用生成器而不重新計算或儲存結果?
    透過重置在 Python 中重複使用生成器在 Python 中,生成器是用於迭代元素序列的強大工具。但是,一旦迭代開始,生成器就無法倒回。如果您需要多次重複使用生成器,這可能會帶來挑戰。 重複使用產生器的一個策略是再次重新運行生成器函數。這將從頭開始重新啟動生成過程。然而,如果生成器函數的計算成本很...
    程式設計 發佈於2024-11-06
  • 面向 JavaScript 開發人員的熱門 S 程式碼擴展
    面向 JavaScript 開發人員的熱門 S 程式碼擴展
    JavaScript 正在快速發展,圍繞它的工俱生態系統也在快速發展。 身為開發人員,您希望讓您的工作流程盡可能有效率且流暢。這就是 Visual Studio Code (VS Code) 的用武之地。 我精心挑選了 5 個 VS Code 擴展,它們將顯著增強您的 JavaScript 開發...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3