Tác giả: Xin
Là một trong những sản phẩm tăng trưởng nhanh nhất từ trước đến nay, Cursor đạt 100 triệu đô la ARR chỉ 20 tháng sau khi ra mắt. Trong hai năm tiếp theo, ARR của công ty đã vượt quá 300 triệu đô la và tiếp tục dẫn đầu trong việc chuyển đổi cách các kỹ sư và đội ngũ sản phẩm phát triển phần mềm. Tính đến đầu năm 2025, Cursor có hơn 360.000 người dùng trả phí.
Michael Truell là đồng sáng lập và giám đốc điều hành của Anysphere, công ty mẹ của Cursor. Anh thành lập Anysphere cùng ba người bạn cùng lớp tại MIT và cho ra mắt Cursor trong vòng ba tháng. Michael Truell hiếm khi trả lời phỏng vấn trên podcast, trước đây anh chỉ tham gia Lex Fridman Podcast. Trong số này, ông đã đề cập đến những dự đoán của mình về "Kỷ nguyên Mã bưu chính", những trải nghiệm trái ngược với trực giác của ông khi xây dựng Cursor và quan điểm của ông về xu hướng phát triển trong tương lai của các kỹ sư.
Nội dung lần được lấy từ Podcast của Lenny. Sau đây là bản dịch toàn văn.
- Mục tiêu của Cursor là tạo ra một cách lập trình hoàn toàn mới: mọi người sẽ thấy mã giả gần giống với câu tiếng Anh hơn trong tương lai. Mọi người sẽ có quyền kiểm soát chặt chẽ đối với nhiều chi tiết khác nhau của phần mềm và có thể thực hiện các sửa đổi và lặp lại cực kỳ nhanh chóng.
- “Hương vị” sẽ ngày càng có giá trị: Cốt lõi của “hương vị” là phải hiểu rõ “cần xây dựng cái gì”.
- Những người dùng giỏi sử dụng AI nhất là những người bảo thủ trong việc sử dụng công nghệ: họ rất giỏi trong việc giới hạn phạm vi nhiệm vụ mà họ giao cho AI để nó nhỏ hơn và cụ thể hơn.
- Phần cốt lõi của buổi phỏng vấn Cursor là đợt đánh giá kéo dài hai ngày: các dự án đánh giá này được mô phỏng, nhưng chúng cho phép ứng viên tạo ra kết quả công việc thực tế trong hai ngày. Đây không chỉ là bài kiểm tra "bạn có muốn làm việc với họ không" mà còn rất quan trọng để thu hút ứng viên. Điều duy nhất thu hút mọi người tham gia một công ty giai đoạn đầu thường là một đội ngũ mà họ cảm thấy đáng để làm việc cùng.
Vấn đề chính với lập trình theo kiểu chatbot là thiếu độ chính xác
Lenny: Chúng ta đã nói trước đây về những gì sẽ xảy ra trong kỷ nguyên mã bưu chính. Bạn ứng xử sự phát triển trong tương lai của Cursor như thế nào? Công nghệ sẽ chuyển từ mã truyền thống sang các hình thức khác như thế nào?
Michael Truell: Mục tiêu của Cursor là tạo ra một cách lập trình hoàn toàn mới, một cách xây dựng phần mềm khác biệt. Bạn chỉ cần mô tả ý định của mình với máy tính theo cách đơn giản nhất có thể và xác định cách phần mềm hoạt động và giao diện.
Khi công nghệ ngày nay ngày càng phát triển, chúng tôi tin rằng chúng tôi có thể tạo ra một phương pháp hoàn toàn mới để xây dựng phương pháp mềm tiên tiến hơn, hiệu quả hơn và dễ sử dụng hơn so với hiện nay. Quá trình này sẽ rất khác so với cách viết phần mềm hiện nay.
Tôi muốn đối chiếu điều này với một số quan điểm chính thống về hình thức phần mềm trong tương lai, một số trong đó hiện đang phổ biến quan điểm chúng tôi không hoàn toàn đồng ý với chúng.
Một cho rằng việc xây dựng phần mềm trong tương lai sẽ vẫn rất giống với hiện nay, chủ yếu dựa vào việc soạn thảo văn bản bằng các ngôn ngữ lập trình chính thức như TypeScript, Go, C, Rust, v.v. Một cho rằng bạn chỉ cần nhập hướng dẫn vào chatbot, để nó giúp bạn xây dựng phần mềm và sau đó để nó sửa đổi bất cứ lúc nào. Phong cách chatbot này giống như đang trò chuyện với bộ phận kỹ thuật của bạn.
Chúng tôi cho rằng cả hai viễn cảnh mong đợi này đều có vấn đề.
Vấn đề chính của lập trình theo kiểu Chatbot là thiếu độ chính xác. Nếu bạn muốn mọi người có toàn quyền kiểm soát giao diện và chức năng của phần mềm, bạn cần cung cấp những cách chính xác hơn để hướng dẫn họ thực hiện những thay đổi họ muốn, thay vì chỉ nói "thay đổi phần này của ứng dụng" với bot trong hộp trò chuyện rồi xóa toàn bộ.
Mặt khác, quan điểm cho rằng mọi thứ sẽ không thay đổi cũng sai, vì công nghệ sẽ ngày càng mạnh mẽ hơn. Trong thế giới "mã bưu chính" mà chúng ta hình dung, logic phần mềm sẽ được diễn đạt giống tiếng Anh hơn.
Bạn có thể tưởng tượng nó tồn tại ở dạng chính thức hơn, chuyển sang dạng mã giả. Bạn có thể viết logic của phần mềm, chỉnh sửa ở cấp độ cao và dễ dàng điều hướng. Sẽ không có hàng triệu dòng mã khó hiểu. Thay vào đó, nó sẽ rõ ràng hơn, dễ hiểu hơn và dễ xác định vị trí hơn. Chúng tôi đang nỗ lực để biến các ký hiệu và cấu trúc mã phức tạp thành dạng dễ đọc và chỉnh sửa hơn đối với con người.
Trong thời đại mã bưu chính, hương vị sẽ ngày càng trở nên có giá trị hơn
Lenny: Điều đó thực sự sâu sắc và tôi muốn chắc chắn rằng mọi người đều hiểu quan điểm của bạn. Sự thay đổi mà bạn hình dung là mọi người không còn nhìn thấy mã và không còn phải suy nghĩ theo hướng JavaScript hoặc Python nữa. Thay vào đó, nó được thay thế bằng một dạng biểu đạt trừu tượng hơn, một mã giả gần hơn với câu tiếng Anh.
Michael Truell: Chúng tôi cho rằng cuối cùng nó sẽ đạt tới giai đoạn đó. Chúng tôi tin rằng để đạt được giai đoạn này cần có sự tham gia và thăng tiến của các kỹ sư chuyên nghiệp hiện tại. Trong tương lai, con người vẫn sẽ là người nắm quyền lái xe.
Mọi người có quyền kiểm soát chặt chẽ mọi chi tiết của phần mềm và sẽ không dễ dàng từ bỏ quyền kiểm soát này. Con người cũng có khả năng thực hiện thay đổi và lặp lại cực kỳ nhanh chóng. Tương lai sẽ không phụ thuộc vào kỹ thuật diễn ra chậm rãi, thầm lặng và mất nhiều tuần để hoàn thành.
Lenny: Điều này gợi ra một câu hỏi. Đối với các kỹ sư hiện tại hoặc những người đang cân nhắc trở thành kỹ sư, nhà thiết kế hoặc quản lý sản phẩm, bạn cho rằng những kỹ năng nào sẽ ngày càng có giá trị trong "thời đại hậu mã nguồn"?
Michael Truell: Tôi cho rằng hương vị sẽ ngày càng có giá trị hơn. Khi mọi người nói về sở thích trong lĩnh vực phần mềm, họ có xu hướng nghĩ đến hiệu ứng hình ảnh, hình ảnh động mượt mà, bảng màu, UI, UX, v.v.
Hình ảnh rất quan trọng đối với sản phẩm. Nhưng như đã đề cập trước đó, tôi cho rằng điều quan trọng còn lại nằm ở logic sản phẩm và cách thức hoạt động của nó.
Chúng ta có nhiều công cụ để thiết kế hiệu ứng hình ảnh, nhưng mã vẫn là hình thức thể hiện tốt nhất cho logic vận hành của phần mềm. Bạn có thể sử dụng Figma để thể hiện hiệu ứng hoặc chỉ cần phác thảo nó trong ghi chú của bạn. Nhưng logic chỉ có thể được trình bày rõ ràng khi bạn có một nguyên mẫu hoạt động thực sự.
Trong tương lai, các kỹ sư sẽ ngày càng giống những "nhà thiết kế logic". Họ cần phải diễn đạt chính xác ý định của mình, chuyển từ "cách triển khai" đằng sau hậu trường sang "triển khai cái gì" và "triển khai là gì" ở cấp độ cao, điều đó có nghĩa là "gu" sẽ trở nên quan trọng hơn trong phát triển phần mềm.
Chúng ta vẫn chưa đạt tới trình độ đó trong kỹ thuật phần mềm. Có rất nhiều câu chuyện cười thú vị và đáng suy ngẫm lan truyền trên Internet, phản ánh sự phụ thuộc quá mức của mọi người vào sự phát triển của AI cũng như những khiếm khuyết và vấn đề chức năng rõ ràng của phần mềm.
Nhưng tôi tin rằng các kỹ sư phần mềm trong tương lai sẽ không phải chú ý nhiều đến việc kiểm soát chi tiết như bây giờ. Chúng ta sẽ dần chuyển từ sự nghiêm ngặt và tỉ mỉ sang chú ý nhiều hơn đến "gu".
Lenny: Điều này làm tôi nhớ đến mã hóa rung cảm. Điều này có giống với những gì bạn mô tả là không cần phải suy nghĩ quá nhiều về các chi tiết và chỉ cần thuận theo tự nhiên không?
Michael Truell: Tôi cho rằng hai điều này có liên quan. Những gì mọi người hiện nay nói về mã hóa rung cảm có vẻ như đang mô tả một phương thức sáng tạo gây tranh cãi về việc tạo ra lượng lớn mã mà không thực sự hiểu chi tiết về nó. Mô hình này sẽ mang lại nhiều vấn đề. Nếu không hiểu các chi tiết cơ bản, bạn sẽ nhanh chóng nhận ra mình đang tạo ra thứ gì đó quá lớn và khó sửa đổi.
Điều chúng tôi thực sự quan tâm là làm sao mọi người có thể kiểm soát hoàn toàn mọi chi tiết mà không cần hiểu đầy đủ về mã cơ bản. Giải pháp này có liên quan chặt chẽ đến mã hóa rung cảm.
Hiện tại chúng ta không có khả năng để "hương vị" thực sự hướng dẫn việc xây dựng phần mềm. Một vấn đề với mã hóa rung cảm hoặc các chế độ tương tự là mặc dù bạn có thể tạo ra thứ gì đó, nhưng phần lớn trong số đó là những quyết định vụng về của AI và bạn không thể kiểm soát hoàn toàn.
Lenny: Bạn có nhắc đến "hương vị". Cụ thể thì nó có nghĩa là gì?
Michael Truell: Có ý tưởng rõ ràng về những gì cần xây dựng. Việc truyền tải ý tưởng rằng đây là phần mềm bạn muốn tạo ra, đây là giao diện và đây là cách hoạt động của phần mềm cũng ngày càng dễ dàng hơn.
Không giống như bây giờ, khi bạn và đội ngũ có ý tưởng về sản phẩm, bạn vẫn cần một lớp dịch, đòi hỏi rất nhiều công sức để chuyển đổi ý tưởng đó sang định dạng mà máy tính có thể hiểu và thực hiện được.
"Hương vị" không liên quan nhiều đến UI. Có lẽ từ "hương vị" không thực sự phù hợp, nhưng cốt lõi của nó là phải hiểu đúng về "những gì cần xây dựng".
Sự ra đời của Cursor bắt nguồn từ việc khám phá một vấn đề
Lenny: Tôi muốn quay trở lại nguồn gốc của Cursor. Nhiều người nghe có thể không biết bài hát này ra đời như thế nào. Bạn đang xây dựng một trong những sản phẩm tăng trưởng nhanh nhất trong lịch sử. Cursor đang thay đổi sâu sắc cách mọi người xây dựng sản phẩm và thậm chí thay đổi toàn bộ ngành công nghiệp. Mọi chuyện bắt đầu thế nào? Một số khoảnh khắc đáng nhớ trong quá trình phát triển ban đầu của bạn là gì?
Michael Truell: Sự ra đời của Cursor bắt nguồn từ việc chúng tôi khám phá một vấn đề và phần lớn cũng là suy nghĩ của chúng tôi về cách AI sẽ trở nên tốt hơn trong mười năm tới. Trong đó hai khoảnh khắc quan trọng.
Lần đầu tiên là khi tôi sử dụng phiên bản Beta của Copilot. Đây là lần đầu tiên chúng ta tiếp xúc với một sản phẩm AI thực tế có thể thực sự hỗ trợ, thay vì chỉ là bản demo hào nhoáng. Copilot là một trong những công cụ phát triển có giá trị nhất mà chúng tôi đã áp dụng cho đến nay và chúng tôi thực sự hào hứng về nó.
Một lý do nữa là các công ty như OpenAI đã phát hành sê-ri bài báo về việc mở rộng quy mô mô hình. Những nghiên cứu này cho thấy rằng ngay cả khi không có những ý tưởng mới Sự lật đổ, khả năng của AI sẽ ngày càng mạnh mẽ hơn chỉ bằng cách mở rộng quy mô mô hình và tăng lượng dữ liệu đào tạo. Vào cuối năm 2021 và đầu năm 2022, chúng tôi tự tin vào triển vọng của các sản phẩm AI và công nghệ này chắc chắn sẽ trưởng thành trong tương lai.
Khi chúng ta nhìn xung quanh, chúng ta thấy rằng mặc dù nhiều người đang nói về cách tạo mô hình, nhưng ít người thực sự đi sâu vào một lĩnh vực kiến thức cụ thể để suy nghĩ về cách lĩnh vực này sẽ tiến triển như thế nào cùng với sự phát triển của công nghệ AI.
Điều này khiến chúng tôi suy nghĩ: Khi công nghệ này phát triển, những lĩnh vực cụ thể này sẽ thay đổi như thế nào trong tương lai? Tác phẩm cuối cùng sẽ trông như thế nào? Các công cụ chúng ta sử dụng để hoàn thành công việc sẽ phát triển như thế nào? Mô hình cần đạt tới cấp độ nào để hỗ trợ những thay đổi này trong hình thức làm việc? Khi khả năng mở rộng mô hình và đào tạo trước không thể được cải thiện thêm nữa, làm sao chúng ta có thể tiếp tục mở rộng ranh giới của khả năng công nghệ?
Sai lầm ban đầu của Cursor là chúng tôi đã chọn một lĩnh vực ít cạnh tranh và nhàm chán hơn. Không ai chú ý đến những khu vực buồn tẻ như vậy.
Vào thời điểm đó, mọi người đều cho rằng lập trình là nghề hấp dẫn và thú vị, nhưng chúng tôi cảm thấy rằng đã có rất nhiều người theo đuổi nghề này.
Trong bốn tháng đầu tiên, chúng tôi thực sự làm việc trên một dự án hoàn toàn khác - hỗ trợ kỹ thuật cơ khí về tự động hóa và tăng cường, xây dựng công cụ cho kỹ sư cơ khí.
Nhưng chúng tôi gặp phải một vấn đề lúc đầu. Người đồng sáng lập và tôi đều không phải là kỹ sư cơ khí. Mặc dù chúng tôi có bạn bè trong lĩnh vực này nhưng chúng tôi lại không hề quen thuộc với nó. Có thể nói chúng ta như “người mù sờ voi”. Ví dụ, làm thế nào chúng ta có thể thực sự áp dụng mô hình hiện tại vào kỹ thuật cơ khí? Vào thời điểm đó, chúng tôi kết luận rằng chúng tôi phải tự phát triển mô hình của riêng mình từ đầu. Điều này rất khó khăn vì hầu như không có dữ liệu công khai nào về mô hình 3D của nhiều công cụ và bộ phận khác nhau cũng như các bước để chế tạo chúng, đồng thời cũng khó có thể lấy được mô hình từ các nguồn có sẵn những tài nguyên như vậy.
Nhưng cuối cùng chúng tôi cũng tỉnh ngộ và nhận ra rằng kỹ thuật cơ khí không phải là thứ chúng tôi thực sự quan tâm và cũng không phải là thứ chúng tôi muốn cống hiến cả cuộc đời mình cho nó.
Nhìn lại lĩnh vực lập trình, mặc dù đã khá lâu trôi qua nhưng vẫn chưa có thay đổi đáng kể nào xảy ra. Những người làm việc trong lĩnh vực này dường như không theo kịp cách chúng ta suy nghĩ, họ thiếu tham vọng và tầm nhìn về tương lai cũng như cách AI sẽ định hình lại mọi thứ. Chính những hiểu biết sâu sắc này thúc đẩy chúng tôi đến con đường xây dựng Cursor.
Lenny: Tôi thực sự thích lời khuyên nên theo đuổi những ngành có vẻ nhàm chán, ít cạnh tranh và cơ hội, và đôi khi điều đó thực sự hiệu quả. Nhưng tôi thích một cách tiếp cận khác - mạnh dạn theo đuổi những lĩnh vực hot nhất và phổ biến nhất, chẳng hạn như lập trình AI và phát triển ứng dụng, và cách này cũng hiệu quả.
Bạn cảm thấy các công cụ hiện tại thiếu tham vọng hoặc tiềm năng, và có thể làm được nhiều hơn nữa. Tôi cho rằng đây là một khám phá rất có giá trị. Ngay cả khi có vẻ như đã quá muộn trong một lĩnh vực nào đó, các sản phẩm như GitHub Copilot vẫn đã tồn tại và nếu bạn thấy các giải pháp hiện tại không đủ tham vọng, không đáp ứng được tiêu chuẩn của bạn hoặc có sai sót trong phương pháp, trong đó vẫn còn rất nhiều cơ hội lớn. vậy sao?
Michael Truell: Hoàn toàn đồng ý. Nếu chúng ta muốn đạt được tiến bộ đột phá, chúng ta cần phải tìm ra điều gì đó cụ thể để làm. Điều hấp dẫn về AI là vẫn còn nhiều khoảng trống lớn chưa được khám phá trong nhiều lĩnh vực, bao gồm cả lập trình AI.
Trần nhà ở nhiều khu vực rất cao. Nhìn về phía trước, ngay cả với những công cụ tốt nhất trong bất kỳ lĩnh vực nào, vẫn còn lượng lớn việc phải làm trong vài năm tới. Có một không gian rộng lớn và giới hạn cao như vậy là điều khá độc đáo trong phát triển phần mềm, ít nhất là trong AI.
Cursor nhấn mạnh dogfooding ngay từ đầu
Lenny: Chúng ta hãy quay lại vấn đề về IDE ( Hoàn cảnh phát triển tích hợp ). Bạn có một số tuyến đường khác nhau mà các công ty khác cũng đang thử.
Một là xây dựng IDE cho các kỹ sư và tích hợp khả năng AI vào trong đó . Loại còn lại là mô hình AI Agent hoàn chỉnh, chẳng hạn như các sản phẩm như Devin. Một cách tiếp cận khác là tập trung vào việc xây dựng một mô hình có khả năng mã hóa tốt và nỗ lực tạo ra mô hình mã hóa tốt nhất.
Điều gì khiến bạn quyết định rằng IDE là con đường tốt nhất?
Michael Truell: Những người tập trung vào việc phát triển các mô hình ngay từ đầu hoặc cố gắng tự động hóa lập trình từ đầu đến cuối đang cố gắng xây dựng thứ gì đó rất khác so với chúng ta.
Chúng tôi tập trung hơn vào việc đảm bảo mọi người có quyền kiểm soát mọi quyết định trong các công cụ họ xây dựng. Ngược lại, họ có nhiều khả năng hình dung ra một tương lai mà AI thực hiện toàn bộ quy trình hoặc thậm chí đưa ra mọi quyết định.
Vì vậy, một mặt, sự lựa chọn của chúng ta bao gồm các yếu tố thúc đẩy sở thích. Mặt khác, chúng tôi luôn cố gắng ứng xử cái nhìn thực tế về tình hình hiện tại. Chúng tôi vô cùng hào hứng về tiềm năng phát triển của AI trong những thập kỷ tới, nhưng đôi khi mọi người có xu hướng nhân cách hóa các mô hình này vì họ thấy AI hoạt động tốt trong một lĩnh vực, cho rằng nếu chúng thông minh hơn con người trong lĩnh vực này, chúng chắc chắn sẽ xuất sắc trong lĩnh vực khác.
Nhưng những mô hình này có rất nhiều vấn đề. Quá trình phát triển sản phẩm của chúng tôi đã nhấn mạnh vào "Dogfooding" ngay từ đầu. Bản thân chúng tôi sử dụng Cursor lượng lớn mỗi ngày và không bao giờ muốn phát hành bất kỳ tính năng nào vô dụng với mình.
Chúng tôi là người dùng cuối cùng của các sản phẩm, điều này giúp chúng tôi hiểu rõ hơn về tình trạng hiện tại của công nghệ. Chúng tôi cho rằng rằng điều quan trọng là phải để con người "nắm quyền lái" và AI không thể làm được mọi thứ.
Chúng tôi cũng muốn trao cho người dùng quyền kiểm soát này vì lý do cá nhân. Điều này cho phép chúng tôi trở thành nhiều hơn là một công ty mẫu mực và thoát khỏi tư duy phát triển sản phẩm đầu cuối vốn tước đi quyền kiểm soát của con người.
Về lý do tại sao chúng tôi chọn xây dựng IDE thay vì phát triển plug-in cho hoàn cảnh lập trình hiện có, đó là vì chúng tôi tin chắc rằng lập trình sẽ được thực hiện thông qua các mô hình này và cách lập trình sẽ thay đổi đáng kể trong vài năm tới. Khả mở rộng của hoàn cảnh lập trình hiện tại bị hạn chế đến mức nếu bạn cho rằng giao diện người dùng và mô hình lập trình sẽ có những thay đổi Sự lật đổ thì bạn phải có toàn quyền kiểm soát toàn bộ ứng dụng.
Lenny: Tôi biết hiện tại bạn đang làm việc trên IDE. Có thể đây là thành kiến của bạn và đây là điều bạn cho rằng là hướng đi trong tương lai. Nhưng tôi tò mò, bạn có cho rằng rằng phần lớn công việc của bạn sẽ được các kỹ sư AI thực hiện trong các công cụ như Slack không? Liệu cách tiếp cận này có được tích hợp vào Cursor một ngày nào đó không?
Michael Truell: Tôi cho rằng lý tưởng nhất là bạn có thể chuyển đổi giữa những thứ này rất dễ dàng. Đôi khi, bạn có thể muốn để AI chạy độc lập trong một thời gian; đôi khi bạn có thể muốn lấy kết quả công việc của AI và cộng tác hiệu quả với nó. Đôi khi có thể để nó chạy tự động trở lại.
Tôi cho rằng bạn cần một hoàn cảnh thống nhất nơi các biểu mẫu backend và frontend có thể hoạt động tốt. Đối với các hoạt động nền, nó đặc biệt phù hợp với nhiệm vụ lập trình yêu cầu ít hướng dẫn để chỉ định chính xác các yêu cầu và xác định các tiêu chuẩn phù hợp. Sửa lỗi là một ví dụ hay, nhưng chắc chắn đó không phải là tất cả những gì cần có trong lập trình.
Bản chất của IDE thay đổi đáng kể theo thời gian. Chúng tôi quyết định xây dựng trình soạn thảo của riêng mình chính xác vì nó sẽ tiếp tục được cải thiện. Sự phát triển này bao gồm khả năng tiếp quản nhiệm vụ từ nhiều giao diện khác nhau, chẳng hạn như Slack và các hệ thống theo dõi sự cố; Màn hình kính mà bạn nhìn vào hàng ngày cũng sẽ có những thay đổi lớn. Hiện nay, chúng ta coi IDE là nơi chúng ta xây dựng phần mềm.
Những người sử dụng AI thành công nhất là những người bảo thủ trong việc sử dụng công nghệ này
Lenny: Tôi cho rằng có một điều mà mọi người không nhận ra đầy đủ khi họ nói về các Đại lý và các kỹ sư AI này là chúng ta sẽ trở thành những "người quản lý kỹ thuật" với rất nhiều người chưa thông minh và bạn sẽ phải dành lượng lớn thời gian để xem xét, phê duyệt và chỉ định các yêu cầu. Bạn nghĩ gì về vấn đề này? Có phương pháp nào để đơn giản hóa quá trình này không?
Bởi vì nghe có vẻ như việc này thực sự không dễ dàng. Bất kỳ ai từng quản lý một đội ngũ lớn sẽ hiểu rằng: "Những cấp dưới này luôn đến gặp tôi nhiều lần với công việc có chất lượng khác nhau. Thật là cực hình."
Michael Truell: Vâng, có lẽ cuối cùng chúng ta sẽ phải trò chuyện riêng với tất cả các Đặc vụ này.
Chúng tôi nhận thấy rằng những người dùng thành công nhất với AI là những người bảo thủ hơn trong việc ứng dụng công nghệ này. Tôi cho rằng những người dùng thành công nhất hiện nay chủ yếu dựa vào các tính năng như Dự đoán lần chỉnh sửa tiếp theo của chúng tôi. Trong luồng lập trình thông thường, AI của chúng ta có thể dự đoán một cách thông minh hành động tiếp theo cần thực hiện. Họ cũng rất giỏi trong việc xác định nhiệm vụ mà họ giao cho AI ở phạm vi cụ thể và nhỏ hơn.
Xét đến thời gian bạn bỏ ra để xem xét mã, có hai chế độ cộng tác chính với Agent. Một là bạn có thể dành lượng lớn thời gian ở giai đoạn đầu để giải thích chi tiết, để AI hoạt động độc lập, sau đó xem xét kết quả của AI. Khi bạn hoàn tất việc đánh giá thì nhiệm vụ đã hoàn tất.
Ngoài ra, bạn có thể chia nhỏ nhiệm vụ thành nhiều phần nhỏ hơn. Lần chỉ giao một phần nhỏ, để AI hoàn thành rồi mới xem lại; sau đó đưa ra hướng dẫn tiếp theo, để AI tiếp tục hoàn thiện, rồi xem lại lần nữa. Giống như việc triển khai chức năng tự động hoàn thành trong suốt quá trình vậy.
Tuy nhiên, chúng tôi thường thấy rằng những người dùng tận dụng tốt nhất các công cụ này vẫn thích chia nhỏ nhiệm vụ và quản lý nhiệm vụ dễ dàng hơn.
Lenny: Hiếm thật đấy. Tôi muốn quay lại thời điểm bạn lần xây dựng Cursor. Khi nào bạn nhận ra nó đã sẵn sàng? Khi nào bạn cảm thấy đã đến lúc công khai ý tưởng đó và xem điều gì sẽ xảy ra?
Michael Truell: Khi chúng tôi bắt đầu phát triển Cursor, chúng tôi lo rằng sẽ mất quá nhiều thời gian để phát triển và không thể phát hành nó ra thế giới bên ngoài. Phiên bản đầu tiên của Cursor được chúng tôi "làm thủ công" hoàn toàn từ đầu. Hiện tại chúng tôi sử dụng VS Code làm nền tảng, giống như nhiều trình duyệt khác sử dụng Chromium làm cốt lõi.
Nhưng lúc đầu không phải như vậy, chúng tôi đã phát triển một nguyên mẫu của Cursor từ đầu, điều này trong đó lượng lớn công sức. Chúng tôi đã phải tự mình phát triển nhiều tính năng mà trình soạn thảo mã hiện đại yêu cầu, chẳng hạn như hỗ trợ nhiều ngôn ngữ lập trình, điều hướng giữa các mã, theo dõi lỗi, v.v. Ngoài ra, còn cần có dòng lệnh tích hợp cũng như khả năng kết nối với máy chủ từ xa để xem và chạy mã.
Chúng tôi phát triển với tốc độ chóng mặt, tự xây dựng trình chỉnh sửa hoàn toàn từ đầu và đồng thời phát triển các thành phần AI. Sau khoảng năm tuần, chúng tôi đã hoàn toàn quyết tâm sử dụng trình soạn thảo của riêng mình, bỏ hẳn trình soạn thảo trước đó và chuyển sang công cụ mới. Khi chúng tôi cảm thấy sản phẩm đã đạt đến một mức độ thực tế nhất định, chúng tôi đã đưa nó cho những người khác dùng thử trong một bản beta rất ngắn.
Cursor chỉ mất khoảng ba tháng kể từ khi viết dòng mã đầu tiên cho đến khi chính thức phát hành ra công chúng. Mục tiêu của chúng tôi là đưa sản phẩm đến tay người dùng nhanh nhất có thể và lặp lại nhanh chóng dựa trên phản hồi của công chúng.
Điều ngạc nhiên là chúng tôi nghĩ rằng công cụ này chỉ thu hút được vài trăm người dùng trong một thời gian dài, nhưng ngay từ đầu, chúng tôi đã có lượng người dùng lượng lớn và rất nhiều phản hồi. Phản hồi ban đầu của người dùng cực kỳ có giá trị và chính phản hồi này thúc đẩy chúng tôi quyết định từ bỏ việc xây dựng phiên bản từ đầu và chuyển sang phát triển dựa trên VS Code. Kể từ đó, chúng tôi liên tục tối ưu hóa sản phẩm trong hoàn cảnh công cộng.
Ra mắt sản phẩm trong ba tháng và đạt được 100 triệu đô la ARR trong một năm
Lenny: Tôi đánh giá cao sự khiêm tốn của anh về những thành tựu của mình. Theo tôi biết, bạn đã tăng ARR từ 0 lên 100 triệu đô la trong khoảng một đến một năm rưỡi, đây chắc chắn là một thành tựu lịch sử.
Bạn cho rằng những yếu tố then chốt dẫn tới thành công là gì? Bạn vừa đề cập rằng sử dụng sản phẩm của riêng bạn là một trong số đó. Nhưng thật không thể tin được là bạn có thể tung ra sản phẩm chỉ trong ba tháng. Bí mật đằng sau điều này là gì?
Michael Truell: Phiên bản đầu tiên, phiên bản được hoàn thành sau ba tháng, không hoàn hảo. Vì vậy, chúng ta luôn có cảm giác cấp bách và luôn cảm thấy rằng mình có thể làm tốt hơn rất nhiều.
Mục tiêu cuối cùng của chúng tôi là thực sự tạo ra một mô hình lập trình mới có thể tự động hóa lượng lớn công việc viết mã mà chúng ta biết hiện nay. Bất kể Cursor đã tiến bộ đến mức nào cho đến nay, chúng tôi cảm thấy rằng vẫn còn rất xa mục tiêu cuối cùng đó và vẫn luôn có rất nhiều việc phải làm.
Nhiều khi, chúng tôi không quá chú trọng vào kết quả phát hành ban đầu mà thay vào đó tập trung vào quá trình phát triển liên tục của sản phẩm và cam kết liên tục cải tiến và hoàn thiện công cụ này.
Lenny: Có bước ngoặt nào sau ba tháng đó mà mọi thứ bắt đầu khởi sắc không?
Michael Truell: Thành thật mà nói, lúc đầu chúng tôi thấy tăng trưởng khá chậm, có lẽ vì chúng tôi hơi thiếu kiên nhẫn. Nhưng xét về tốc độ tăng trưởng chung, điều này vẫn khiến chúng ta ngạc nhiên.
Tôi cho rằng trong đó đáng ngạc nhiên nhất là tăng trưởng này thực sự vẫn duy trì xu hướng theo cấp số nhân ổn định, với tăng trưởng liên tục hàng tháng, mặc dù việc phát hành phiên bản mới hoặc các yếu tố khác đôi khi đẩy nhanh quá trình này.
Tất nhiên, tăng trưởng theo cấp số nhân này có vẻ khá chậm lúc đầu và nền tảng thực sự thấp nên nó không thực sự khởi sắc ngay từ đầu.
Lenny: Nghe có vẻ giống như trường hợp “cứ xây dựng đi rồi họ sẽ đến”. Bạn vừa tạo ra một công cụ mà bạn thích và khi nó được phát hành, mọi người đều thích và lan truyền nó bằng cách truyền miệng.
Michael Truell: Vâng, về cơ bản là như vậy. Đội ngũ của chúng tôi dành phần lớn năng lượng vào sản phẩm và không sao nhãng việc khác. Tất nhiên, chúng tôi cũng dành thời gian làm nhiều việc quan trọng khác, như xây dựng đội ngũ, luân phiên người phụ trách hỗ trợ người dùng, v.v.
Tuy nhiên, chúng tôi “chỉ để nguyên như vậy” đối với một số nhiệm vụ thường lệ mà nhiều công ty khởi nghiệp dành nhiều thời gian thực hiện trong giai đoạn đầu, đặc biệt là trong lĩnh vực bán hàng và tiếp thị.
Chúng tôi tập trung toàn bộ năng lượng vào việc hoàn thiện sản phẩm, trước tiên là tạo ra sản phẩm mà đội ngũ của chúng tôi thích, sau đó lặp lại dựa trên phản hồi từ một số người dùng cốt lõi. Nghe có vẻ đơn giản nhưng thực ra không dễ để thực hiện tốt.
Có nhiều hướng để khám phá, nhiều tuyến sản phẩm khác nhau. Một trong những thách thức là phải tập trung, lựa chọn chiến lược các tính năng chính để xây dựng và ưu tiên chúng.
Một thách thức khác là không gian chúng tôi đang hoạt động đại diện cho một mô hình hoàn toàn mới về phát triển sản phẩm: chúng tôi ở đâu đó giữa một công ty phần mềm truyền thống và một công ty mô hình cơ bản.
Chúng tôi đang phát triển sản phẩm cho hàng triệu người dùng, điều này đòi hỏi chúng tôi phải đạt được chất lượng sản phẩm tốt nhất. Nhưng một khía cạnh quan trọng khác của chất lượng sản phẩm nằm ở việc liên tục đào sâu nghiên cứu khoa học và phát triển mô hình, đồng thời liên tục tối ưu hóa chính mô hình trong các tình huống quan trọng. Việc cân bằng hai khía cạnh này luôn là một thách thức.
Điều trái ngược với trực giác nhất là tôi không mong đợi mình sẽ phát triển được mô hình của riêng mình.
Lenny: Điều gì phản trực giác nhất mà bạn thấy khi xây dựng Cursor và xây dựng các sản phẩm AI cho đến nay?
Michael Truell: Điều trái ngược với trực giác nhất đối với tôi là chúng tôi chưa bao giờ mong đợi phát triển được mô hình của riêng mình ngay từ đầu. Khi chúng tôi mới bước vào lĩnh vực này, đã có những công ty tập trung vào đào tạo người mẫu ngay từ đầu. Khi chúng tôi tính toán chi phí và nguồn lực cần thiết để đào tạo GPT-4, rõ ràng đây không phải là việc chúng tôi có khả năng thực hiện.
Đã có rất nhiều mẫu mã tuyệt vời trên thị trường, tại sao phải bận tâm sao chép những gì người khác đã làm? Đặc biệt là trong quá trình đào tạo trước, đòi hỏi một mạng lưới nơ-ron không biết gì về bất cứ điều gì để học toàn bộ Internet. Vì vậy, lúc đầu chúng tôi không có ý định đi theo con đường này. Ngay từ đầu, chúng tôi đã thấy rõ rằng có nhiều thứ có thể được thực hiện với các mô hình hiện có nhưng chưa được thực hiện vì thiếu các công cụ phù hợp để xây dựng chúng. Nhưng chúng tôi vẫn đầu tư lượng lớn năng lượng vào việc phát triển mô hình.
Bởi vì mọi “khoảnh khắc kỳ diệu” mà bạn trải nghiệm khi sử dụng Cursor một phần là nhờ vào các mô hình tùy chỉnh của chúng tôi. Quá trình này diễn ra dần dần. Ban đầu, chúng tôi đã thử đào tạo mô hình của riêng mình trong một trường hợp sử dụng mà không có mô hình cơ sở phổ biến nào phù hợp và đã thành công. Sau đó, chúng tôi mở rộng ý tưởng này sang một trường hợp sử dụng khác cũng hiệu quả và chúng tôi tiếp tục tiến triển.
Khi phát triển loại mô hình này, điều quan trọng là phải chọn mục tiêu chính xác chứ không phải phát minh lại bánh xe. Chúng tôi không đề cập đến những lĩnh vực mà các mô hình cơ bản hàng đầu đã làm rất tốt mà thay vào đó tập trung vào những thiếu sót của chúng và nghĩ cách khắc phục chúng.
Lenny: Nhiều người ngạc nhiên khi biết bạn có mô hình riêng của mình. Bởi vì khi mọi người nói về Cursor và các sản phẩm khác trong lĩnh vực này, họ thường gọi chúng là "GPT shell", cho rằng chúng chỉ là các công cụ được xây dựng trên các mô hình như ChatGPT hoặc Sonnet. Nhưng bạn có nói rằng thực ra bạn có mô hình riêng của mình. Bạn có thể nói về công nghệ đằng sau điều này không?
Michael Truell: Chúng tôi sử dụng những mô hình cơ bản phổ biến nhất trong nhiều tình huống khác nhau.
Chúng tôi dựa nhiều hơn vào các mô hình tự phát triển để cung cấp cho người dùng liên kết chính của trải nghiệm Con trỏ, chẳng hạn như một số trường hợp sử dụng không thể xử lý được do chi phí hoặc tốc độ của mô hình cơ bản. Một ví dụ về điều này là tính năng tự động hoàn thành.
Điều này có thể khó hiểu đối với những người không viết mã. Viết code là một công việc đặc biệt. Đôi khi, những gì bạn sẽ làm trong 5, 10, 20 phút tiếp theo hoặc thậm chí nửa giờ có thể được dự đoán bằng cách quan sát các hoạt động hiện tại của bạn.
So với việc viết, có lẽ nhiều người quen thuộc với chức năng tự động hoàn thành của Gmail và nhiều lời nhắc tự động hoàn thành xuất hiện khi chỉnh sửa tin nhắn văn bản, email và các văn bản khác. Nhưng những tính năng này có tính hữu dụng hạn chế. Bởi vì thường rất khó suy đoán điều bạn sẽ viết tiếp theo nếu chỉ dựa vào những gì đã viết.
Nhưng khi viết mã, khi bạn sửa đổi một phần của cơ sở mã, bạn thường cần phải sửa đổi các phần khác của cơ sở mã cùng một lúc và nội dung cần sửa đổi là rất rõ ràng.
Một trong những tính năng cốt lõi của Cursor là chức năng tự động hoàn thành nâng cao. Nó có thể dự đoán sê-ri hành động bạn sẽ thực hiện tiếp theo trên nhiều tệp và nhiều vị trí khác nhau trong tệp.
Để mô hình hoạt động tốt trong trường hợp này, mô hình phải đủ nhanh để đảm bảo đưa ra kết quả hoàn thành trong vòng 300 mili giây. Chi phí cũng là một yếu tố quan trọng. Lần nhấn một phím, chúng ta sẽ kích hoạt hàng lần suy luận và liên tục cập nhật dự đoán về hành động tiếp theo của bạn.
Điều này cũng liên quan đến một thách thức kỹ thuật rất đặc biệt: chúng ta cần mô hình không chỉ có khả năng hoàn thành mã thông báo tiếp theo như xử lý một chuỗi văn bản bình thường mà còn phải có khả năng hoàn thành sê-ri các diffs (thay đổi mã), tức là dựa trên các sửa đổi đã xảy ra trong cơ sở mã, dự đoán các nội dung bổ sung, xóa và thay đổi có thể xảy ra tiếp theo.
Chúng tôi đã đào tạo một mô hình cụ thể cho nhiệm vụ này và nó hoạt động rất tốt. Phần này được chúng tôi phát triển hoàn toàn độc lập và chưa bao giờ sử dụng bất kỳ mô hình cơ bản nào. Chúng tôi không dán nhãn hoặc xây dựng thương hiệu cho công nghệ này, nhưng đây là cốt lõi của Cursor.
Một kịch bản khác mà chúng tôi sử dụng các mô hình của riêng mình là nâng cao hiệu suất của các mô hình lớn như Sonnet, Gemini hoặc GPT, đặc biệt là về mặt đầu ra và đầu vào.
Khi nhập dữ liệu, mô hình của chúng tôi sẽ tìm kiếm toàn bộ cơ sở mã và xác định các phần có liên quan cần hiển thị cho các mô hình lớn này. Bạn có thể coi nó như một "Google Search thu nhỏ" chuyên dùng để tìm nội dung có liên quan trong cơ sở mã.
Ở giai đoạn đầu ra, chúng tôi sẽ xử lý các đề xuất sửa đổi do các mô hình lớn này đưa ra và sử dụng các mô hình được đào tạo chuyên biệt của mình để bổ sung hoàn thiện các chi tiết. Ví dụ, thiết kế logic cấp cao được thực hiện bởi các mô hình tiên tiến hơn, trong đó sẽ sử dụng một số mã thông báo để đưa ra hướng đi chung. Các mô hình nhỏ hơn, chuyên biệt hơn và cực kỳ nhanh kết hợp một số kỹ thuật tối ưu hóa suy luận để chuyển đổi các đề xuất sửa đổi cấp cao này thành các chuyển đổi mã hoàn chỉnh, có thể thực thi được.
Cách tiếp cận này đã cải thiện đáng kể chất lượng hoàn thành nhiệm vụ chuyên môn và tăng tốc độ phản hồi. Với chúng tôi, tốc độ cũng là một chỉ báo quan trọng để đánh giá sản phẩm.
Lenny: Thật thú vị. Gần đây tôi đã phỏng vấn Kevin Weil, CPO của OpenAI, trên một podcast và ông ấy gọi đây là Tích hợp các mô hình.
Họ cũng tận dụng lợi thế tốt nhất của từng mô hình. Sử dụng một mô hình rẻ hơn có thể rất tiết kiệm chi phí. Các mô hình bạn tự đào tạo có được phát triển dựa trên các mô hình mã nguồn mở như LLaMA không?
Michael Truell: Chúng tôi rất thực tế trong vấn đề này và không muốn làm lại những điều đã có. Do đó, chúng tôi bắt đầu với các mô hình được đào tạo trước tốt nhất trên thị trường, thường là mã nguồn mở và đôi khi làm việc với các mô hình lớn có tỷ trọng không mở ra bên ngoài. Chúng tôi ít quan tâm đến khả năng đọc trực tiếp hoặc tra cứu từng hàng các ma trận tỷ trọng xác định đầu ra mà quan tâm hơn đến khả năng đào tạo và đào tạo sau mô hình.
Trần của các sản phẩm AI giống như máy tính cá nhân và công cụ tìm kiếm trong thế kỷ trước
Lenny: Nhiều doanh nhân và nhà đầu tư AI đang suy nghĩ về một câu hỏi: Khả năng hệ thống bảo vệ và hào bảo vệ của AI ở đâu? Các mô hình tùy chỉnh có vẻ như là một cách để xây dựng hệ thống bảo vệ. Làm sao bạn có thể phát triển khả năng phòng thủ lâu dài khi đối thủ cạnh tranh liên tục cố gắng tung ra sản phẩm mới và cướp mất công việc của bạn?
Michael Truell: Tôi cho rằng có một số phương pháp truyền thống để xây dựng sự trì trệ và hệ thống bảo vệ của người dùng. Nhưng cuối cùng, chúng ta phải tiếp tục làm việc để tạo ra sản phẩm tốt nhất có thể. Tôi tin chắc rằng giới hạn của AI rất cao và bất kể bạn xây dựng rào cản nào, chúng đều có thể bị vượt qua bất cứ lúc nào.
Thị trường này có phần khác biệt so với thị trường phần mềm truyền thống hoặc thị trường doanh nghiệp trước đây. Một ví dụ về thị trường tương tự như thế này là công cụ tìm kiếm vào cuối những năm 1990 và đầu những năm 2000. Thứ hai là sự phát triển của máy tính cá nhân và máy tính mini vào những năm 1970, 1980 và 1990.
Mức trần cho các sản phẩm AI rất cao và các sản phẩm được lặp lại rất nhanh chóng. Bạn có thể liên tục nhận được sản lượng khổng lồ từ giá trị gia tăng của mỗi giờ làm việc thông minh và giá trị gia tăng của mỗi đô la chi cho hoạt động R&D. Trạng thái này có thể kéo dài trong một thời gian dài. Bạn sẽ không bao giờ thiếu tính năng mới để phát triển.
Đặc biệt trong lĩnh vực tìm kiếm, việc thêm kênh phân phối cũng có thể giúp cải thiện sản phẩm vì bạn có thể tiếp tục lặp lại các thuật toán và mô hình dựa trên dữ liệu và phản hồi của người dùng. Tôi tin rằng những động lực này cũng tồn tại trong ngành của chúng tôi.
Đối với chúng ta, đây có thể là một thực tế khá bất lực. Nhưng đây lại là sự thật thú vị đối với toàn thế giới. Sẽ có nhiều sản phẩm hàng đầu xuất hiện trong tương lai và rất nhiều chức năng có ý nghĩa đang chờ được tạo ra.
Chúng ta vẫn còn một chặng đường dài để đạt được viễn cảnh mong đợi trong năm đến mười năm tới và điều chúng ta cần làm là duy trì động lực đổi mới ở tốc độ cao.
Lenny: Nghe có vẻ giống như việc xây dựng một hệ thống bảo vệ"phong cách người tiêu dùng" hơn. Tiếp tục cung cấp những sản phẩm tốt nhất để người dùng muốn tiếp tục sử dụng, thay vì ép buộc nhân viên phải sử dụng bằng cách ràng buộc hợp đồng với toàn bộ công ty như Salesforce đang làm.
Michael Truell: Đúng vậy. Tôi cho rằng vấn đề ở đây là nếu bạn đang làm trong một lĩnh vực mà chẳng mấy chốc sẽ không còn nhiều việc có giá trị để làm thì đó không phải là điều tốt. Nhưng nếu trong lĩnh vực này, lượng lớn và nỗ lực của những nhân tài xuất chúng có thể liên tục tạo ra giá trị, thì bạn sẽ có thể tận hưởng hiệu ứng quy mô trong R&D, đào sâu công nghệ theo đúng hướng và xây dựng được các rào cản.
Điều này có xu hướng hướng tới người tiêu dùng nhất định. Nhưng cốt lõi của tất cả là xây dựng sản phẩm tốt nhất.
Lenny: Bạn có cho rằng đây sẽ là thị trường "kẻ thắng sẽ được tất cả" trong tương lai hay sẽ có nhiều sản phẩm khác biệt xuất hiện?
Michael Truell: Tôi cho rằng thị trường này rất lớn. Bạn đã đề cập đến tình hình IDE trước đó. Một số người nghiên cứu lĩnh vực này sẽ nhìn lại thị trường IDE trong thập kỷ qua và tự hỏi: "Ai có thể kiếm được tiền từ nghề biên tập viên?" Trước đây, mọi người đều có cấu hình tùy chỉnh của riêng mình. Chỉ có một công ty đạt được thành công thương mại bằng cách xây dựng một trình soạn thảo tốt, nhưng quy mô của công ty này rất hạn chế.
Vì thế, một số người đã kết luận rằng tương lai cũng sẽ tương tự như vậy. Nhưng tôi cho rằng quan điểm này bỏ qua một điều là vào những năm 2010, tiềm năng xây dựng trình soạn thảo dành cho lập trình viên bị hạn chế.
Công ty kiếm tiền từ trình soạn thảo tập trung vào việc đơn giản hóa việc điều hướng cơ sở mã, kiểm tra lỗi và tạo ra các công cụ gỡ lỗi hiệu quả. Mặc dù các tính năng này rất có giá trị, tôi cho rằng trong đó có cơ hội rất lớn để xây dựng các công cụ cho lập trình viên và rộng hơn là cho những người làm công việc trí óc trong nhiều lĩnh vực khác nhau.
Thách thức thực sự mà chúng ta đối diện là làm thế nào để tự động hóa lượng lớn công việc giao dịch và tri thức tẻ nhạt. Điều này sẽ dẫn đến năng suất làm việc đáng tin cậy và hiệu quả hơn trong mọi lĩnh vực công việc tri thức.
Tôi cho rằng thị trường mà chúng ta đang tham gia rất lớn, lớn hơn nhiều so với những gì mọi người từng nghĩ về thị trường công cụ dành cho nhà phát triển. Trong tương lai, nhiều giải pháp khác nhau sẽ xuất hiện và một công ty dẫn đầu ngành cũng có thể xuất hiện. Có thể là chúng ta, nhưng vẫn phải chờ xem. Công ty này sẽ tạo ra một công cụ phổ quát có thể giúp xây dựng hầu hết các phần mềm trên thế giới và đây sẽ là một doanh nghiệp quy mô lớn có sức ảnh hưởng mang tính thời đại. Nhưng cũng có những sản phẩm tập trung vào các phân khúc thị trường cụ thể hoặc các phần cụ thể của vòng đời phát triển phần mềm.
Cuối cùng, bản thân việc lập trình có thể không còn được viết bằng ngôn ngữ lập trình chính thức truyền thống nữa mà hướng tới các cấp độ cao hơn, và các công cụ cấp độ cao hơn này sẽ trở thành đối tượng chính mà người dùng mua và sử dụng. Tôi tin rằng sẽ có một đơn vị thống trị trong lĩnh vực lập trình AI và phát triển thành một doanh nghiệp cực kỳ lớn mạnh.
Lenny: Thật thú vị khi Microsoft lại là trung tâm của sự thay đổi này, với những sản phẩm tuyệt vời và kênh phân phối tuyệt vời. Bạn nói rằng Copilot giúp bạn nhận ra tiềm năng to lớn trong lĩnh vực này, nhưng có vẻ như nó vẫn chưa hoàn toàn chiếm lĩnh được thị trường. Thậm chí còn có độ trễ. Bạn cho rằng lý do là gì?
Michael Truell: Tôi cho rằng có những lý do lịch sử và cấu trúc cụ thể khiến Copilot không đáp ứng được đầy đủ kỳ vọng.
Về mặt cấu trúc, dự án Copilot của Microsoft đã truyền cảm hứng rất lớn cho chúng tôi. Họ làm rất nhiều điều tuyệt vời và bản thân chúng tôi cũng là người dùng Microsoft.
Nhưng tôi cho rằng thị trường này không thân thiện với các công ty đã trưởng thành. Những thị trường thân thiện với họ thường là những thị trường có ít không gian cho sự đổi mới, có thể thương mại hóa nhanh chóng và có thể kiếm lợi nhuận bằng cách đóng gói sản phẩm.
Ở thị trường này, sự khác biệt về ROI giữa các sản phẩm khác nhau không quá lớn. Việc mua các giải pháp sáng tạo riêng lẻ không có ý nghĩa nhiều, thay vào đó, mua các sản phẩm theo gói lại hấp dẫn hơn.
Một loại thị trường khác đặc biệt có lợi cho các doanh nghiệp đã thành lập là thị trường mà người dùng phụ thuộc rất nhiều vào công cụ của bạn ngay từ đầu và chi phí chuyển đổi rất cao.
Nhưng trong lĩnh vực của chúng tôi, người dùng có thể dễ dàng thử nhiều công cụ khác nhau và chọn sản phẩm phù hợp hơn dựa trên đánh giá của riêng họ. Tình hình này ít có lợi cho các công ty lớn và có lợi hơn cho những công ty có sản phẩm sáng tạo nhất.
Về những lý do lịch sử cụ thể, theo như tôi biết, hầu hết đội ngũ đầu tiên tham gia phát triển phiên bản đầu tiên của Copilot sau đó đã chuyển sang các công ty khác để làm những việc khác. Thật sự rất khó để phối hợp tất cả các phòng ban và nhân sự có liên quan để cùng nhau làm việc trên một sản phẩm.
Kỹ sư cao cấp có kỳ vọng quá thấp và kỹ sư mới vào nghề có kỳ vọng quá cao
Lenny: Nếu bạn có thể ngồi cạnh mỗi người dùng mới sử dụng Cursor lần và thì thầm vài lời khuyên vào tai họ để giúp họ sử dụng Cursor tốt hơn, bạn sẽ nói gì?
Michael Truell: Tôi cho rằng có một vấn đề chúng ta cần giải quyết ở cấp độ sản phẩm ngay bây giờ.
Nhiều người dùng hiện có thể sử dụng thành công Cursor đều có "gu" nhất định về khả năng của mô hình này. Những người dùng này hiểu được mức độ mà Con trỏ có thể hoàn thành nhiệm vụ và mức độ mà họ cần cung cấp hướng dẫn cho nó. Họ hiểu được những phẩm chất, hạn chế, những gì mô hình có thể làm và những gì không thể làm.
Trong các sản phẩm hiện có, chúng tôi chưa làm tốt việc giáo dục người dùng về lĩnh vực này và thậm chí còn không cung cấp hướng dẫn sử dụng rõ ràng.
Để nuôi dưỡng "hương vị" này, tôi có hai gợi ý.
Đầu tiên, đừng giao cho mô hình tất cả nhiệm vụ cùng một lúc. Bạn có thể thất vọng với kết quả thu được hoặc chấp nhận nó như hiện tại. Thay vào đó, tôi sẽ chia nhiệm vụ thành nhiều phần nhỏ. Bạn có thể dành cùng một khoảng thời gian để có được kết quả cuối cùng, nhưng hãy thực hiện theo từng bước. Xác định nhiệm vụ nhỏ tại một thời điểm, có được kết quả một phần và lặp lại quy trình thay vì cố gắng viết một hướng dẫn dài dòng. Cách tiếp cận này dễ dẫn tới thảm họa.
Thứ hai, tốt nhất là bạn nên thử nó trên một dự án phụ trước, thay vì sử dụng nó trực tiếp cho công việc nghiêm túc. Tôi muốn khuyến khích các nhà phát triển đã quen với quy trình phát triển hiện tại hãy có nhiều kinh nghiệm thất bại hơn và cố gắng phá vỡ giới hạn trên của mô hình.
Họ có thể tận dụng tối đa AI trong một hoàn cảnh tương đối an toàn, chẳng hạn như trong công việc phụ. Nhiều khi, chúng ta thấy rằng một số người không trao cho AI cơ hội công bằng và đánh giá thấp khả năng của nó.
Bằng cách áp dụng phương pháp phân tích nhiệm vụ và chủ động khám phá ranh giới của mô hình, chúng ta có thể cố gắng vượt qua trong một hoàn cảnh an toàn. Bạn có thể ngạc nhiên khi thấy rằng trong một số trường hợp, AI không mắc lỗi như bạn mong đợi.
Lenny: Tôi hiểu là bạn cần phát triển trực giác để hiểu được ranh giới khả năng của mô hình và mức độ mà nó có thể thúc đẩy một ý tưởng, thay vì chỉ làm theo hướng dẫn của bạn. Và mỗi khi một mô hình mới được phát hành, như GPT-4 chẳng hạn, bạn cần phải xây dựng lại trực giác này sao?
Michael Truell: Đúng vậy. Trong vài năm trở lại đây, cảm giác này có thể không còn mạnh mẽ như khi mọi người lần tiếp xúc với mô hình lớn. Nhưng đây thực sự là một điểm khó khăn mà chúng tôi hy vọng có thể giải quyết tốt hơn cho người dùng trong tương lai và giảm bớt gánh nặng cho họ. Tuy nhiên, mỗi mô hình đều có những nét độc đáo và tính cách hơi khác nhau.
Lenny: Mọi người đang thảo luận xem liệu các công cụ như Cursor có hữu ích hơn đối với kỹ sư mới vào nghề hay kỹ sư cao cấp không? Liệu chúng có giúp các kỹ sư cao cấp tăng năng suất gấp mười lần hay giúp các kỹ sư mới vào nghề trở nên giống các kỹ sư cao cấp hơn? Bạn nghĩ nhóm người nào sẽ được hưởng lợi nhiều nhất khi sử dụng Cursor ngay lúc này?
Michael Truell: Tôi cho rằng cả hai loại kỹ sư đều có thể lợi nhuận rất nhiều và khó có thể nói loại nào sẽ được hưởng lợi nhiều hơn.
Họ sẽ rơi vào những kiểu phản ứng khác nhau. Các kỹ sư trẻ đôi khi quá phụ thuộc vào AI và để nó làm mọi thứ. Nhưng chúng ta vẫn chưa có khả năng sử dụng AI toàn diện trong cơ sở mã được duy trì lâu dài, với các công cụ chuyên dụng, khi cộng tác với hàng chục hoặc thậm chí hàng trăm người.
Đối với các kỹ sư cao cấp, mặc dù điều này không đúng với tất cả, việc áp dụng các công cụ này trong các công ty thường bị cản trở bởi một số người cực kỳ cao cấp, chẳng hạn như một số đội ngũ trải nghiệm của nhà phát triển. Bởi vì họ thường chịu trách nhiệm phát triển các công cụ để tăng năng suất cho các kỹ sư khác trong tổ chức.
Chúng ta cũng đang chứng kiến một số nỗ lực tiên tiến với các kỹ sư cao cấp đi đầu trong việc nắm bắt và tận dụng công nghệ nhiều nhất có thể. Trung bình, các kỹ sư cao cấp có xu hướng đánh giá thấp khả năng giúp ích của AI và có xu hướng gắn bó với quy trình làm việc hiện tại.
Thật khó để xác định nhóm người nào sẽ được hưởng lợi nhiều hơn. Tôi cho rằng cả hai loại kỹ sư đều sẽ gặp phải "mẫu phản" của riêng mình, nhưng cả hai đều có thể đạt được lợi ích đáng kể khi sử dụng các công cụ này.
Lenny: Điều đó hoàn toàn có lý, nó giống như hai thái cực, một bên là kỳ vọng quá cao và một bên là kỳ vọng không đủ. Giống như câu chuyện ngụ ngôn về ba chú gấu.
Cốt lõi của việc tuyển dụng Cursor là đánh giá trong hai ngày
Lenny: Bạn ước mình biết điều gì trước khi bắt đầu sử dụng Cursor? Nếu bạn có thể quay lại thời điểm bắt đầu của Cursor và cho Michael một lời khuyên, bạn sẽ nói gì với anh ấy?
Michael Truell: Khó khăn là nhiều trải nghiệm giá trị lại ẩn chứa và khó có thể diễn tả bằng lời. Thật không may, có một số lĩnh vực của nhân loại mà bạn thực sự cần phải thất bại để học được bài học, hoặc bạn cần phải học hỏi từ những người giỏi nhất trong lĩnh vực đó.
Chúng tôi hiểu sâu sắc điều này trong khâu tuyển dụng. Trên thực tế, chúng tôi rất kiên nhẫn trong việc tuyển dụng. Điều quan trọng đối với chúng tôi là có một đội ngũ kỹ sư và nhà nghiên cứu đẳng cấp thế giới cùng nhau làm việc để hoàn thiện Cursor, phục vụ cho cả viễn cảnh mong đợi cá nhân và chiến lược công ty.
Vì chúng tôi cần xây dựng nhiều thứ mới nên chúng tôi hy vọng tìm được những tài năng vừa có tính tò mò vừa có tinh thần thử nghiệm. Chúng tôi cũng tìm kiếm những người thực tế, thận trọng và thẳng thắn. Khi công ty và việc kinh doanh tiếp tục mở rộng, sẽ có ngày càng nhiều tiếng ồn và điều đặc biệt quan trọng là phải giữ được đầu óc tỉnh táo.
Ngoài sản phẩm, việc tìm đúng người để gia nhập công ty có lẽ là mối quan tâm lớn nhất của chúng tôi, và đó là lý do tại sao chúng tôi không mở rộng đội ngũ trong một thời gian dài. Nhiều người nói rằng tuyển dụng quá nhanh là một vấn đề, nhưng tôi cho rằng chúng tôi đã tuyển dụng quá chậm ngay từ đầu và chúng tôi có thể làm tốt hơn.
Phương pháp tuyển dụng mà chúng tôi áp dụng và mang lại hiệu quả cao chính là tập trung tìm kiếm những người mà chúng tôi xác định là tài năng đẳng cấp thế giới, đôi khi phải mất tới vài năm để tuyển dụng họ.
Chúng tôi đã có được kinh nghiệm quý báu trong nhiều lĩnh vực, chẳng hạn như cách đánh giá ứng viên lý tưởng, ai thực sự phù hợp với đội ngũ, tiêu chuẩn xuất sắc là gì và cách giao tiếp cũng như khơi dậy sự quan tâm của những người không chủ động tìm kiếm việc làm. Phải mất khá nhiều thời gian chúng tôi mới học được cách làm điều này.
Bốn người sau năm 2000 đã đồng sáng lập Anysphere: Aman Sanger, Arvid Lunnemark, Sualeh Asif và Michael Truell
Lenny: Bạn có thể chia sẻ kinh nghiệm gì với các công ty đang tuyển dụng hiện nay? Bạn đã bỏ lỡ điều gì và đã học được điều gì?
Michael Truell: Lúc đầu, chúng tôi có xu hướng tìm kiếm những người phù hợp với hồ bối cảnh của một trường học danh giá, đặc biệt là những người trẻ đã đạt được thành tích xuất sắc trong một hoàn cảnh học thuật có tiếng .
Chúng tôi may mắn khi tìm được những người thực sự tuyệt vời ngay từ đầu. Họ đã là những người có thâm niên trong công việc, nhưng họ vẫn sẵn lòng làm việc cùng nhau.
Khi mới bắt đầu tuyển dụng, chúng tôi quá coi trọng sự quan tâm và kinh nghiệm. Mặc dù chúng tôi đã tuyển dụng được nhiều người trẻ tài năng và tuyệt vời, nhưng họ không giống như đội hình kỳ cựu bước thẳng từ sân khấu trung tâm.
Chúng tôi cũng đã nâng cấp quy trình phỏng vấn. Chúng tôi có một bộ câu h