Cursor神器助力,三月速成AIAPP狂攬萬用戶,程式設計門檻真降低了?

編譯 | 傅宇琪
曾經,構建一個電子郵件客戶端需要數年時間和數百萬美元的投入。但今年,多模態媒體公司 Every 的 Kieran Klaassen 推翻了這一切。他在短短三個月內用 AI 打造了 Cora——一種全新的管理電子郵箱的方式,並且迅速吸引到超過 10,000 名使用者註冊,這是在當前生成式 AI 加持的狀態下才變得可能的事情。
那麼,Cora 與其他管理電子郵箱的軟體有什麼不同?Kieran 又是如何利用 AI、只花了一晚的時間就做出了產品的初版 MVP(Minimum Viable Product,最小可行產品)?近日,在播客節目《AI & I》中,Cora 總經理 Kieran Klaassen、Every 的工作室負責人 Brandon Gell 和  Every 的 CEO Dan Shipper 一起,暢聊打造 Cora 的心路歷程以及使用 Cursor 的獨特經驗。基於該播客影片,InfoQ 進行了部分增刪。
核心觀點如下:
  • 關鍵在於真正深入瞭解你要解決的問題,同時又能夠非常自由地去做一些嘗試。
  • 做軟體越來越像做內容,寫作越來越像程式設計。
  • 專注做好一件事,因為做好這一件事,會讓你在其他方面的不足得到寬容。
  • 真正重要的不是編寫程式碼,而是如何把它釋出到實際環境中。
  • 犧牲一些東西往往是讓你在自己關心的事情上取得進展的最佳方式。
  • 在建立公司和產品時,真正的關鍵是享受這個過程,接受其中的混亂和艱難。
用 AI 做 AI APP
Dan: 介紹一下 Cora 是什麼?
Kieran:Cora 來源於我們試圖解決的一個問題——每當想到“電子郵件”這個詞時產生的恐懼感。沒人會興奮地想著:“我要開啟我的郵箱,看看那一萬封未讀郵件。”因為處理郵件很煩,我們開始著手開發 Cora,它的核心功能就是幫助你減少開啟郵箱時感到的壓力。Cora 將 90% 的不重要郵件從你的收件箱中移除,並且每天兩次生成簡報(briefs)為你概述它們,讓你可以集中精力閱讀那些真正重要的資訊。
Dan: 舉個例子,所有我不需要回復的郵件,比如新聞簡報、促銷資訊等,我不需要一封封去歸檔和閱讀它們。透過 Cora,我可以直接滾動滑鼠,快速地瀏覽這些資訊。如果這些郵件有我需要檢視的內容,我也可以點選進入閱讀完整郵件。對我來說,這節省了大量時間,讓我每天處理郵件變得更加高效。
我認為 Kieran 說得非常對,Cora 真的解決了那種處理郵件時令人畏懼的感覺,反而讓這件事變成了一種享受。此外,最重要的是,Kieran 是在三個月內完成了這個產品的全部開發,這真是相當瘋狂。
Kieran: 是的,我們花了三個月的時間來開發,但實際上大約在四個月前就開始有這個想法了。
Brandon: 我們一開始並沒有從簡報入手,而是從目前很多產品都在做的地方開始——幫你草擬電子郵件。最初我們確實能得到很不錯的草稿。但我們意識到,不管大模型如何模仿你的語氣,如果它沒有額外的上下文資訊,它就無法為你寫出一封好的電子郵件。所以,Cora 確實會為你草擬郵件,但它只會草擬它認為能夠做得非常好的郵件,或者說那些你幾乎不需要修改的郵件。
透過這個過程,我們發現實際上真正的負擔並不是回應郵件的部分,回應郵件其實是一個比較愉快的部分,因為它意味著你可能推動了一些事情向前發展。真正讓人感到壓力的,往往是管理收件箱,這也是我們大部分時間都在做的事。
Dan: 以前,最昂貴的部分是構建軟體本身,但現在成本變得低廉得多,這意味著你要構建的東西變得更加重要。因此,從“有了一個想法,我們來做草擬”到“草擬可以,但其實我們花了很多時間在閱讀和歸檔不需要回應的郵件,或許 AI 在這方面能做得更好”的轉變,讓人意識到,比起寫底層程式碼,能夠意識到這一點的價值在某種程度上反而更大了。
不過我很好奇,Kieran,你是如何這麼快速地完成這些的?是因為你本身有多麼出色的程式設計能力,還是你在利用 AI 來讓自己工作更高效呢?
Kieran: 我認為關鍵在於真正深入瞭解你要解決的問題,同時又能夠非常自由地去做一些嘗試。比如,Brandon 和我在電話裡討論可以從草擬郵件開始時,我靈感迸發,在走回家的時候就拿出手機,開啟備忘錄錄音,說出一個大概的提綱。根據我之前作為程式設計師的經驗,我開始思考用什麼技術來實現這個想法,並把這些想法全都說出來,可能花了五到八分鐘,然後把它們轉成文字。那天晚上,我就做了一個 MVP,併發了封郵件給 Brandon 說,“嘿,Brandon,系統可以幫你自動草擬郵件了。”
Brandon:Cora 背後的程式碼有多少是 AI 寫的?你覺得這個比例是多少?
Kieran: 其實幾乎所有的程式碼都是由 AI 寫的,可能有 80% 或 90%,但 100% 的想法都是我自己想出來的。AI 像是一個合作伙伴,幫助我更快地完成那些繁瑣的工作。
Brandon: 你現在更像是一個懂得程式設計的寫作者,而不是一個程式設計師。
Kieran: 我有一點音樂人背景,所以對我來說,軟體就像音樂,都是在講一個故事。就像你用音樂來支援一部電影或短片,讓觀眾產生某種情感一樣,我也會以類似的方式看待軟體開發。你創造了一種體驗或者講述一個故事,讓人感受到某種情緒。這與傳統的工程師解決問題的視角不同,後者的觀點是:“我有一個程式,接下來要怎麼做。”我總是想得很宏大,而且我並不太關心它是如何工作的。雖然我當然也在意程式碼的優美和結構,但更重要的是它是否有效。如果它能夠解決問題,講述一個故事,或者讓你產生某種感覺,那就是最棒的。
Dan: 我們之前討論過做軟體變得越來越像做內容的原因。因為現在寫軟體變得更容易了,AI 可以幫助完成很多工作。現在任何人都能做出一個郵件總結或者回復工具。大家都能解決問題,但能夠打動人的工具才能贏得客戶,才是最終的贏家。另外,寫作也變得越來越像程式設計,因為你實際上可以透過寫作來構建東西。所以,現在有一種融合的趨勢。
長期以來,我們一直把軟體工程看作是解決非常明確的問題的過程,因為軟體開發成本曾經非常高,所以你不希望冒險去開發一個對別人沒有實際幫助的東西。而你現在的做法,更像是從另一個方向切入,強調的是做一些能夠讓人產生情感反應的東西,這種方式與寫作和創作本身是相容的,很大程度上取決於品味、視野、經驗和創造力等等,我認為軟體正朝著這個方向發展。
Kieran: 對於 Cora 來說,團隊中的每個人都帶來了他們的獨特視野,提供了不同的解決方案來處理電子郵件。我們常聽到人們說,“沒有其他像這樣的產品,它不一樣。” 我們對此感到非常自豪。有時我們也會討論,“是不是應該讓使用者的體驗稍微輕鬆一點,或者讓流程更加流暢?”我會想,也許做一些獨特的設計或者以某種方式做出宣告,也是可以的。尤其是為了讓產品與眾不同,這本身就來自於品味和一種感覺。
Dan:Kieran 你能不能再具體談一談你是如何在一個晚上構建 Cora 的第一個 MVP 的?你在開始一個新專案時,用到的 prompt 是什麼樣的?
Kieran: 我通常是去散步,散步可以讓我進入一種流動的狀態。我會在腦海中開始構建一個 prompt,比如“你是一個非常優秀的 iOS 工程師,你非常擅長 Swift 18,你很棒”之類的開場白,類似這樣就可以開始為思路設定基礎。
接下來,我在腦海中想象這個應用。也許這個應用每個角落都有不同的顏色,帶一點紋理,像是顆粒感的噪點紋理,可能還會使用“高階”和“蘋果設計”這樣的詞語來描述它的感覺。在中間會有一個分隔線,其實這並不是一條線,而是由兩個漸變部分組成。然後我會繼續描述下去,直到我腦袋裡沒有更多想法為止,我才會停止錄音。這個過程其實只是第一步,之後我不會直接從這裡繼續發展,而是要透過這個過程去整理並形成完整的思路。
Dan: 我認為需要明確的是,也許像“我付你 1 萬美元,給我一個好答案”這種方式可能會過時。但能夠準確地表達“我想要一個這樣的應用,我希望背景是這樣的,我希望左側按鈕的風格是這樣的”,這些細節實際上是不會消失的。這就是 prompt 工程,能夠清楚地知道自己想要什麼,能夠在表達時做到精準,這非常重要。你腦海裡有一個清晰的願景,你在散步時儘可能詳細地表達出來,你並不太擔心自己表達得是否完全正確,因為你可以回頭再修改,說“其實我不想要那個,我想要的是這個”。聽起來你在做的是轉錄工作,那你是用什麼工具進行轉錄的呢?
Kieran: 我通常會使用語音備忘錄,然後將其匯入到 Mech Whisper,這是一個免費的語音轉文字工具。不過現在,隨著 iOS 18 的更新,語音備忘錄也支援轉錄了,所以我有時也會使用這個功能。然後,我會將轉錄的文字匯入到我選擇的大模型,開始進一步處理,通常會將它轉化為 PRD(產品需求文件)。大多數時候,我會說,“好吧,我有了這個想法”,然後有時我還會新增筆記本,建立一個檔案的大綱,或者根據需要使用不同的工具。
Dan: 你選擇什麼模型來將這些內容轉化為 PRD?
Kieran: 我總是儘量使用最好的模型,目前這個是 o1 Pro,其他模型也做得很好,比如 Claud Sonet。對於程式設計,我大多數時間使用 Cursor。但 o1 Pro 適用於其他一切,比如用來做規劃、編碼,還有思考策略,或者只是做一些非編碼的合作,像是作為一個合作伙伴交換想法。
Dan: 我自己幾乎一直在使用 o1,它是我現在的主要模型。我也有 o1 Pro,基本是在進行程式設計工作時使用它,但我覺得它太慢了,有時候它會顯得有點過於深思熟慮,可能 o1 的更快響應反而會更好。現在很多程式設計助手,比如 Windsurf 或者 Cursor Composer,它們有時會陷入死迴圈或做出奇怪的操作,所以當它們卡住時,我就把程式碼丟給 o1 Pro 說,“這個程式碼裡有什麼我應該注意的地方嗎?它真的是按照我想的那樣做嗎?”這很有幫助,但除此之外,我大多數時間還是傾向於使用 o1。
Kieran: 它的處理速度確實很慢。雖然有人可能會覺得這是個缺點,但對我來說,這也讓我放鬆了一些。因為與 AI 合作可能會很有活力,但也會有些壓力,因為它的處理速度太快了,一直讓大腦處於高強度的運轉狀態。偶爾坐在椅子上什麼也不做,等三到五分鐘,反而讓人感覺很清新。所以,我其實很享受這種節奏。
Brandon: 你會有意去檢視它的思維過程嗎?
Kieran: 我從來不看它的思維過程,因為它本身就是一個總結。我之所以使用它,是因為它是最新的模型,我想透過它學習更多。唯一真正瞭解一個模型的方法就是使用它——這就是進步的方式。所以,也許是因為它對我來說還比較新,我還沒有完全理解或者習慣它的工作方式,這也是我選擇使用它的原因之一。
Dan:Brandon 你最近在用什麼模型?
Brandon: 我主要在用 o1。我本來想說,我不像你們那樣做那麼多程式設計,但前幾天我確實用它做了一個奢華的個人應用,我簡直驚訝於自從上次嘗試以來它的進步有多大。我還在開發一些產品,幫助我更好地學習西班牙語,實際上我一直找不到一款合適的口語閃卡產品。
Dan: 什麼是口語閃卡?
Brandon: 它能和你對話,我希望它能讀出我要說的詞,然後我可以用西班牙語或英語回答。
Dan: 那你成功了嗎?
Brandon: 成功了!很有趣,實際上大概用了三個 prompt 就把產品做到了能用的程度,然後加了一些錯誤處理,很快就搞定了。
Dan: 你是用即時 API 嗎?
Brandon: 我最開始用的是谷歌的音訊 API,效果很糟糕。現在我把它切換成即時 API 了。
Dan: 我認為目前人們仍然低估了非技術人員甚至技術人員能夠快速實現某些東西的容易程度。
Brandon: 這就是為什麼像 Replit Agent 這樣的工具會變得如此重要。真正重要的不是編寫程式碼——這可能是 o1 Pro 或 o1 最擅長的——而是如何把它釋出到實際環境中,這才是現在的難點。
Dan: 是的,所有環境配置的部分。對我來說,使用 Windsurf 和 Cursor Composer 有個不錯的地方,就是它們現在可以使用檔案系統。它們會設定好多這樣的東西,然後假設它們執行“npm install”或者其他命令時,會安裝所有的依賴項。如果遇到錯誤,它們會識別並自動修復,這為我節省了大量的時間。過去,我經常會因為一個錯誤問題而一直卡住,然後還得去 Google 查詢解決方法,現在它們幫我解決了。Kieran,你主要是使用 Cursor Composer 對吧?有什麼小故事嗎?
如何馴服 Cursor
Kieran: 我有個朋友,兩天前我對他說:“你怎麼不去做點什麼呢?”他說,“但是我不太懂技術啊”,這種話我聽過太多次了。我就說:“下載 Cursor Composer,試試做個簡單的東西。”我給了他一些指導,結果昨天他給我發信息:“我又做了一個應用!”然後還發了影片,今天他又告訴我:“我為我女兒的學校做了一個應用。”他現在完全被 AI 這種東西給迷住了。
但問題是,做什麼才有用?真正的有效方法就是:去做,去感受。因為如果你從沒體驗過這個過程,很難理解。而且,你需要明白一些東西,比如:Chat、Composer 和 Agent 模式之間的區別,知道哪個適合自己用。現在的限制因素不再是知識本身了。
Brandon: 這需要耐心,還有你自己下定決心去面對問題。有時候我會想,我並不真正理解問題所在,這樣做是不是不好?但我還是這麼做。因為我的目標並不是理解這些東西,而是建成一個東西。
Dan: 我一直在思考一個關於“分配經濟”的理論——我們正在從知識經濟向分配經濟轉型。在過去,知道多少東西決定了你如何獲得報酬,而現在是看你如何分配智力(intelligence),而分配智力的技能就是目前人類管理者的技能。因為每個管理者都會問自己這個問題:有人做了一些工作,我是應該微觀管理,深入細節,還是應該完全委派出去?我怎麼知道什麼時候做該做什麼事?
我很好奇,對 Kieran 來說,你說過你理解正在編寫的程式碼,那是因為你實際審查了大部分程式碼,還是因為你在 AI 編寫程式碼之前已經設計好了架構,因此對系統的運作有很高的信心?你是怎麼在“深入細節”與“委派”之間找到平衡的?
Kieran:Cora 的情況與我快速做一些小應用不同,因為我使用的是我已經使用了十多年的技術,我非常熟悉它。
對我來說,最重要的部分其實不是程式碼本身,而是出錯的地方。如果出錯,通常是因為想法或問題不夠明確。比如說我們要定義什麼是電子郵件,電子郵件可能處於什麼狀態。如果我對這些方面沒有清晰的理解,那麼 Cursor 生成的程式碼就很難正確。它會填充細節,但有時候這些細節可能會偏離原本的方向,這就不好了。所以,方向必須非常明確。
Dan: 如何處理填充細節呢?就我的經驗而言,雖然我主要是用 Cursor 做一些臨時應用,但是每次我建立應用時,我又要重新做出所有決定。比如說,我用 Superbase 作為資料庫,在那個 Composer 會話中,它記住了這些決定。但當我下次開啟一個新會話時,它就會忘記很多這些資訊,然後會做出新的或不同的決定。它可能會說,“哦,假設資料庫是一個本地託管的 PostgreSQL 資料庫,我們來連線它。” 然後我就會說:“不不不,是 Superbase。” 它就會問,“那 N file 在哪裡?” 我會說,“在這裡。”
你是否一直在建立上下文檔案?你怎麼確保 Cursor 記住你做過的決定呢?
Kieran: 在專案中,你可以建立一個名為“Do Cursor Rules”的檔案,將一些規則寫在其中,並將其與當前專案關聯。通常,當我發現問題時,我會直接進入這個檔案進行編輯,操作非常簡單。例如,對於控制器,我通常會在檔案頂部新增標題“Controllers”,然後在下面寫明有關控制器的相關資訊,指示程式碼應遵循哪些規則。
這些規則通常來源於我在專案中遇到的問題或錯誤,當出現某個問題時,我會思考是否可以這樣處理,如果可行,我就將這個解決方案新增到 Cursor Rules 中,這樣下次就不需要每次都說明了。我確實是手動編輯的,如果可以自動化這個過程,一定很有趣。
Dan: 我們作為一家媒體公司,核心成員是一些非常重視語言的寫作和編輯人員。所以,我們所有應用的文案都會經過仔細的編輯,這個過程有時會比較耗時。我知道你把 Style Guide 放進了 Cursor Rules 裡,目的是希望能減少一些文案編輯的工作。這個方法有效嗎?Cursor Composer 是否能夠將這個 Style Guide 應用到 APP 中?
Kieran: 我認為是有效的。我最近也在將 Style Guide 應用到 APP 文案處理上,這樣它就不會產生不一致的情況。到目前為止,它確實在一定程度上改變了我們寫作的方式。
Dan: 我給 Kieran 傳送了我正在寫的一篇文章的部分草稿,他將它儲存為一個 Markdown 檔案,並放在他的 Cora 專案中。他將使用自己的 Cursor Rules,其中包含了文案編輯的建議,並讓 Cursor 根據我們的文案編輯 Style Guide 進行編輯。
我覺得很多人可能不明白這個 Agent 介面是多麼有趣和重要,它會在每種工作流中變得普遍。現在它從程式碼開始,但最終會在所有領域都有應用,文字處理、我們生活的各個方面都會涉及到。我其實已經開始用它來做筆記,效果很棒。
Cursor 給出的反饋是:我已經應用了 Style Guide 規則來改進寫作,並列出了關鍵的修改內容,例如標題和章節標題的標題大小寫。我得仔細看看,但根據目前的情況來看,我猜測它還是缺失了一些內容,你需要做的是讓它逐條執行規則來檢查整個檔案。
Kieran: 如果我們想更深入地利用這個功能,你可以建立一個記事本來存放 Style Guide,然後引用那個記事本,並說“請逐行檢查這個記事本中的所有內容”,或者你也可以選擇讓它只檢查一次,然後再做其他處理。還有其他方法可以做到這一點,雖然目前它並沒有專門為這種任務進行設定。不過,最酷的部分是,雖然這有點複雜,但你可以要求它基於這個想法建立一封促銷郵件,並連結到完整的部落格文章。
Dan: 你基本上是在把它當作一個內容創作工具,而且不僅僅是用它來創作內容,還將內容整合到整個系統中,甚至它能為你編寫相關的程式碼。我覺得很多人可能還沒意識到,這種整合是多麼強大,所有的部分結合在一起,能夠讓工作變得更加高效和流暢。同時,你需要時刻關注你的 Agent,因為它可能會做出你不希望它做的事情。你要注意到這些問題,然後修改原始提示,而不是等它自動執行。我的最後一個問題是:你能要求它逐行檢查風格指南嗎?
Kieran: 我們來試一試。我現在做的是一個快速且簡化的 Style Guide,裡面寫著“始終使用以下樣式”,然後逐項檢查並建議修改。我現在回到 Composer 命令,重置了一下。接下來我會進入記事本,選擇這個叫做“新記事本”的檔案,讓我們看看它會怎麼處理。還有一個很酷的功能是,雖然我們現在使用的是 Claude 3.5,但如果你想嘗試其他模型,都可以輕鬆切換到,介面保持不變,然後看看效果如何。
Dan: 我覺得現在這個功能還不完全成熟。我發現當前版本的 AI 模型,並不擅長在文字中找到每個違反規則的地方並應用規則。它們只能找到一些違反的地方。唯一能做到這一點的模型是 o1,但 o1 並沒有出現在這些 Agent 介面中,因為它還不支援工具呼叫。不過,這個功能正在開發中,預計會在這個季度釋出,我相信那時候它會徹底改變這個流程。
Kieran: 是的,所以我切換到普通模式,因為我們不需要 Agent 來處理這個,它其實更像是一次性任務。普通模式和 Agent 模式的區別在於,Agent 可以按步驟進行思考,看到錯誤並修復它;而普通模式更多的是你輸入一個指令,然後它給你一個回應。普通模式仍然可以建立檔案或執行某些操作,你需要自己去發現錯誤並修復。不過,你仍然可以在普通模式中使用 o1 模型,這樣效果也是不錯的。
Dan:Agent 基本上是在一個迴圈中執行,嘗試為你完成任務,而 Chat 則是告訴你該做什麼。它有點像在你的 Cursor 中嵌入了 ChatGPT,你需要手動應用每個修改,而不是讓 Agent 自動處理所有事情。
Brandon: 對,Agent 可以根據遇到的問題逐步處理任務,但它目前還不能在單個提示中進行迭代操作,也就是說,它不能在一個提示內反覆調整和改進,直到問題完全解決。
Dan: 是的,它不會基於你最初的提示一直執行,直到它認為任務完成。它會一次性給出所有的回應,你需要手動應用這些修改,然後再繼續說“好,我們繼續”。
Cora 的未來
Dan: 我們已經發布了 Cora,目前有 7000 人在等候名單上,我們也開始陸續從等待名單上把人放出來。這個過程其實很簡單,就是給他們傳送一封郵件,告知他們已被移出等待名單。我們決定採用這種方式,是因為用電子郵件註冊並授權一個服務訪問你的郵箱其實是一個非常有壓力的事情。為了降低壓力,我們採用了這種肩並肩的方式,這樣我們能發現潛在的問題,並在初期就幫助使用者解決這些問題,確保後續順利。
但我想聊聊的是,當前我們在解決的主要問題是什麼?我們如何從這裡邁向下一步?
Brandon: 我想分享一下其中最困難的部分,那就是我們總是使用自己做的產品。有時候我覺得,這可能會讓我們產生一種錯覺,認為這些產品是有效的,因為我們正在使用它們。所以我們可能在自我說服:一些我們遇到的問題並不是真正的問題。而且,這個問題幾乎是無法回答的,因為很難判斷產品是否真的存在這些問題。我覺得,手動進行使用者引導幫助我們更好地理解,使用者對於這款產品的真實關注點或顧慮是什麼,尤其是對於這樣一款管理工作中至關重要部分的產品。
目前我們大家都非常清楚的一個問題就是,Cora 會歸檔電子郵件,它可能會導致你看不到別人可能傳送給你的重要資訊。今天早上我們就討論了這個問題——我們都沒有遇到這個問題,但我們在引導一些使用者時,他們確實有這種感受。那麼,這到底是一個多大的問題呢?那些有此問題的使用者,真的是我們理想中的目標客戶嗎?因為我們似乎並沒有遇到這個問題,那我們是不是在自我安慰,覺得自己並不需要解決這個問題?所以,我認為在這個過程中,如何優先處理這些問題,成為了我們面臨的一個重大挑戰。
Dan: 其實我非常喜歡我們能做出自己會使用的產品。但是,我認為潛在的缺點是,你第一次使用一個產品時,所有“我不熟悉這個產品”的問題都會浮現出來。一旦你使用了一段時間,這些問題就會慢慢消失了。只有透過接觸更多的初始使用者,你才會重新意識到:“哦,這就是從零開始使用這個產品的感覺。”你需要認真對待這些問題。但接下來,你還需要弄清楚,如果我們只進行過幾次使用者引導,而那些參與引導的使用者並不喜歡這個引導體驗或不喜歡這個產品,這意味著什麼?我們該如何平衡他們的反饋和我們對產品的良好感覺?
我不知道大家的感覺如何,但我個人認為,最重要的是獲取更多的資料。你需要儘可能地讓更多人使用這個產品。當資料量增加時,你就可以開始大範圍地分析,看到不同型別的使用者反應。有些人非常喜歡這個產品,那我們就集中精力先關注這些使用者;如果每個人都遇到同樣的問題,那很明顯我們需要修復一些東西。我想這就是人們在談論創業的過山車時所指的——你從少數幾個人那裡獲得早期資料,然後做出推測,這種過程要麼讓你感到非常興奮,要麼讓你感到非常沮喪。隨著資料量的增加,你對產品的評估就會更加客觀和冷靜。
Kieran: 另一個角度是,你可以專注於解決最大的問題,或者你可以問自己,什麼地方已經做得很好,怎麼才能做得更好。有些人用了一天就會覺得:“哇,這太棒了。”或者那些試過 20 個類似工具的人會說:“雖然這些工具功能差不多,但你的產品真的不一樣。”有些功能目前可能做得還不夠好,甚至有些地方仍然讓人非常煩惱,但他們仍然喜歡這個理念、喜歡它的價值。這就是另一種看待問題的方式:專注做好一件事,因為做好這一件事,會讓你在其他方面的不足得到寬容。
Brandon: 是的,感覺現在我們面臨的核心問題是,Cora 提供了一種不同的方式來管理電子郵件。我們覺得這種新的方式挺好的,願意接受這種管理郵箱的方式。然而,其他數百萬的人是否也願意以這種方式來處理他們的收件箱?
Dan: 我很喜歡這種思維方式或轉變,因為我認為初創公司常面臨的問題之一,尤其是當要解決像電子郵件這樣的大問題時,他們可能會認為,只有在構建出一個完整的電子郵件客戶端、甚至達到像 Gmail 這樣的競爭對手的標準之前,才能真正知道自己是否解決了問題,這種想法往往導致一場註定要失敗的戰鬥。
早期你想要構建的產品應該是針對某一類特定使用者,它應該在某些方面比現有的產品好十倍,足以吸引他們使用,儘管它在功能上可能無法與其他電子郵件產品媲美。我覺得這正是我們目前在做的事——比如簡報。雖然最終希望 Cora 能成為一個完整的電子郵件客戶端,但現在我們的任務是讓它在某一特定功能上做到極致,做到即使它還不是一個完整的郵件客戶端,人們依然願意使用它。
同時,我們也需要弄清楚這些使用它的人是誰。它不會一開始就適合所有人,也不應該是這樣。問題在於,是否有一群核心使用者會非常喜歡它?我的理論是,雖然現在還太早說,但從目前產品的狀態來看,答案是肯定的,100% 會有一群人非常喜歡它,並且這對他們來說是一個非常有粘性且驚人的體驗。
Brandon: 想想看,電子郵箱現在幾乎就像是傳統的紙質郵件收件箱:有一堆垃圾郵件,我根本不會開啟,直接刪除——這和我的實體郵箱一模一樣。有些郵件我會開啟,但會迷茫,甚至不知道是否需要回復,感覺像是有些郵件在“欺騙”我。這種情況讓人很困惑,而 Cora 完全顛覆了這種模式。我們面臨的最大挑戰之一就是:一方面,要有一個真正能解決問題的優秀產品,另一方面則是讓大量的人知道 Cora 的存在,如何在這兩者之間進行優先順序排序——這就是產品構建過程中那種“模糊性”的體現,因為最終你必須做出決策。
Dan: 我們已經談論過很多次“你願意犧牲什麼?”因為作為一個組織,我們每個人在很多時候都不想放棄任何東西,但實際上,犧牲一些東西往往是讓你在自己關心的事情上取得進展的最佳方式。
如果相信像 OpenAI 那樣的機構所說的,我們可能在接下來的 1 到 2 年內就能實現 AGI。但對我來說,更有趣或重要的點是:目前所有大型實驗室都在集中精力研發能夠逐步解決問題的 AI——這種 AI 能夠驗證每一步解決方案的正確性,就像解決編碼問題或數學問題一樣。
一旦這一步完成,人們會意識到,世界上其實只有少數問題可以像這樣逐步解決,而大多數問題則更為模糊,無法像那樣被拆解成一個個可以驗證每一步的解決方案。這些問題往往牽涉到品味、直覺、模式匹配等。然而,大模型並不擅長這些問題,因為我們不能像處理可證明的問題那樣,透過相同的反饋迴路來最佳化這些問題。反饋迴路總是“做一些事情,從世界中獲取資料,提出新的想法,新的視角,然後再次嘗試,看看結果如何”。我覺得這是一個無法避免的現實,但它也非常美麗。對我來說,這是構建過程中最有趣的部分。
Brandon: 我同意,這確實是最有趣的部分,同時也是最讓人焦慮的部分,因為要做的事情太多了。你希望能夠達到某個完成的狀態,但現實是,這個完成狀態根本不存在,在建立公司和產品時,真正的關鍵是享受這個過程,接受其中的混亂和艱難。對我來說,我是那種喜歡“二型樂趣”的人,二型樂趣是指那些看起來艱難痛苦,但在經歷之後你會感到非常有成就感的事情,你必須學會享受這些艱難決策帶來的困境,也許這就是為什麼我喜歡做這類工作的原因。
Kieran: 對我來說,合作也是一個重要因素。和那些能激發你思考、提出難題的人一起工作真的很棒。當你聽到一個問題,心裡突然想:“天哪,這個問題真好”時,那種感覺真是太棒了。
Brandon: 我有時候會陷入細節,想要把所有事情都列出來,然後一一搞清楚,但 Kieran 特別擅長把我從這些瑣碎的事里拉出來,說:“這些不重要,眼下我們有更大的問題需要解決,剩下的以後再處理。”我們這樣相互合作,雖然“有趣”可能不是最合適的形容詞,但確實是對我們關係和 Cora 的建設都非常有益。我們就像兩塊固執的石頭,在相互摩擦中打磨出一顆璀璨的鑽石。
你們有看到關於 OpenAI 和微軟的協議嗎?聽說當 OpenAI 能夠證明自己能夠創造出價值 1000 億美元的產品時,協議就會結束。
Dan: 這是一個非常有趣的教訓。在公司建設中,理想化的願景往往能夠激勵人們,但當你為了迎合這種理想化願景而建立複雜的商業結構時,最終你會發現其實常規的商業結構可能更有效。像 OpenAI,它有非盈利性質,又有盈利性質,還涉及微軟投資等複雜的安排。然而,微軟最後決定,等他們達到一定的收入目標後,就可以轉為非盈利,或者根據需求做其他改變。
我認為,這種情況和人工智慧的發展也有些相似。我覺得我們正處在這樣一個階段,認為人工智慧在一到兩年內可能會達到 AGI 的水平,覺得一切都將改變,未來會變得截然不同。而這種情緒有時也會帶來一種焦慮,大家開始質疑:我們究竟要去往哪裡?
有趣的是,這種情況其實出現在每一輪人工智慧的浪潮中,每一次人工智慧的熱潮也伴隨著類似的情緒。當人工智慧的研發始於 50 年代時,人們曾說:“我們夏天就能搞定。”接著,60 年代和 70 年代又有了新的突破。人們發現,每當邁向一個新的階段時,新的難題和複雜性也隨之而來。
你們有沒有過這樣的經歷?我曾去過天使之路徒步,天使之路上有一段特別有意思的路程,你需要繞過一系列的急轉彎,然後有一段幾乎是靠牆走的路,旁邊就是懸崖,足足有 500 英尺的高度。有意思的是,當我到達山頂時,我突然發現遠處有一個更高的山峰,我心想:“哦,原來還有這個更高的目標,我得去看看。”然後我又繼續走,直到每次走到一個峰頂,都會發現遠處有一個新的山頂。這就像是你永遠在追逐一個看似馬上就能達成的目標,但每次都又會發現一個新的目標。
我覺得,人工智慧的發展就像這次爬山的經歷一樣。你會看到一個峰頂,覺得可以達到,然後一旦你到達那個峰頂,你會突然意識到還有一個更高的目標。就這樣,一直向前進。這就是我對人工智慧的看法,我們可能很快就會在某種定義下到達 AGI 的階段,但這個過程也會暴露出更多的複雜性。所有那些烏托邦式的期望和末日論調可能會顯得不那麼重要,真正的現實將會遠比我們想象的更為複雜。這反而讓我感到興奮,我喜歡這種不確定性和複雜性帶來的挑戰。
Brandon: 你剛才描述的其實是所謂的“假峰”現象。我曾經看到過一個圖,它展示了人類知識的全貌。圖中,所有人類的知識以一個大圓圈的形式呈現。現在,我們可以把當前的人工智慧發展看作這個圓圈的邊緣,雖然它看起來很重要,像是一個巨大的變革力量,但如果你放大一點,你會發現,實際上它只是這個大圓的一部分。我們現在所學到的,實際上它只是漸進式的。容易產生一種末日情緒,覺得 AGI 一旦到來,就會改變一切,我們將失去工作,也無法再進行創造。但實際上,人類的現實情況是,AGI 的到來只是為另一個未知的領域打開了一扇門。
Dan: 我想,把話題拉回到 Cora,這是我從 Cora 中學到的一個重要點。很多人會擔心“如果人工智慧彼此之間在發郵件,沒有人類再發郵件,那怎麼辦?”但我發現使用 Cora 後,實際上我的收件箱裡只剩下了人類的郵件。只有人類是我需要回復的物件,而 AI 則在幫助我整理其他所有內容。AI 正以更易於消化的方式把這些自動化的內容呈現給我,從而讓我有更多時間去專注於那些真正值得關注的人。我覺得這個效果真的很棒,而這些“末日論者”根本沒有意識到這一點。
參考連結:
https://www.youtube.com/watch?app=desktop&v=MhKKKBG28a4
宣告:本文為 InfoQ 翻譯,未經許可禁止轉載。
 會議推薦
在 AI 大模型技術如洶湧浪潮席捲軟體開發領域的當下,變革與機遇交織,挑戰與突破共生。2025 年 4 月 10 – 12 日,QCon 全球軟體開發大會將在北京召開,以 “智慧融合,引領未來” 為年度主題,匯聚各領域的技術先行者以及創新實踐者,為行業發展撥雲見日。現在報名可以享受 8 折優惠,單張門票立省 1360 元,詳情可聯絡票務經理 18514549229 諮詢。
你也「在看」嗎?👇

相關文章