5.12.2026

100 Bài Nhạc Phạm Duy: Bài Ca Sao

Tác giả: Claude AI, dưới sự dẫn dắt và chỉnh sửa của Học Trò.


Bối Cảnh Lịch Sử

Nguồn Gốc Ca Dao

Bài hát được xây dựng từ một câu ca dao cổ của Việt Nam:

*Sao Tua chín cái nằm kề*
*Thương em từ thuở mẹ về với cha*

Đây là câu ca dao độc đáo trong kho tàng văn học dân gian Việt Nam — người xưa đã dùng hình ảnh các vì sao trên trời để diễn tả tình yêu. Tình yêu được đặt trong không gian vô tận của vũ trụ và thời gian bất tận của kiếp người.

Phạm Duy Và Ca Dao

Trong Hồi Ký, Phạm Duy giải thích về nguồn cảm hứng: "Người Việt Nam khi xưa đã cho của thời gian bất tận lẫn không gian vô tận vào một câu thơ tình lục bát. Tình yêu của người soạn câu ca dao thật vĩ đại bởi vì người này nhìn vào tinh tú vô biên để thương yêu một người từ thuở chưa có người đó."[1]

Năm 1961 — Thời Kỳ Tiểu Họa

Theo Georges Gauthier, năm 1961 đánh dấu một giai đoạn đặc biệt trong sự nghiệp Phạm Duy. Sau những "bức bích họa lớn" như trường ca "Con Đường Cái Quan" (1960), ông chuyển sang sáng tác những "thi phẩm nhỏ nhắn, tinh vi."[2]

"Bài Ca Sao" ra đời cùng năm với "Xuân Ca," "Bài Ca Trăng," và "Những Bàn Chân" — những ca khúc mang tính chất tiểu họa, chau chuốt từng chi tiết.[2]

Sài Gòn Đầu Thập Niên 1960

Đây là thời kỳ Sài Gòn tương đối yên bình, trước khi chiến tranh leo thang. Phạm Duy có thời gian để sáng tác những bài tình ca lãng mạn, khám phá những chủ đề triết học và tâm linh trong âm nhạc. "Bài Ca Sao" phản ánh tinh thần đó — một bài tình ca mang chiều kích vũ trụ, nơi tình yêu được đặt trong bối cảnh của những vì sao.


Ý Nghĩa Ca Từ

Cấu Trúc: Các Chòm Sao và Tình Yêu

Bài hát được xây dựng theo cấu trúc đối xứng: mỗi khổ gồm hai cặp câu lục bát, mỗi cặp nhắc đến một chòm sao và một giai đoạn của tình yêu. Phạm Duy đã mở rộng từ một câu ca dao gốc thành một bài hát dài, kể lại toàn bộ hành trình của tình yêu từ thuở cha mẹ gặp nhau đến khi chia ly.

Các Chòm Sao Trong Bài Hát

Sao Tua (Pleiades): "Chín cái nằm kề" — Đây là chòm sao Thất Tinh, người Việt gọi là Sao Tua, thường được nhìn thấy như một cụm sao nhỏ gần nhau. "Thương em từ thuở mẹ về với cha" — tình yêu bắt đầu từ khi cha mẹ gặp nhau.

Sao Vua: "Sáu cái nằm xa" — "Thương em từ thuở người ra người vào" — hình ảnh những người đến rồi đi, có lẽ là lúc em chưa ra đời nhưng đã có người đến thăm gia đình.

Sao Khuê: "Chín cái nằm dài" — "Thương em từ thuở tình ngoài nghĩa trong" — giai đoạn tình yêu còn chưa rõ ràng, nửa tình nửa nghĩa.

Sao Măng: "Năm cái nằm ngang" — "Thương em từ thuở mẹ mang đầy lòng" — lúc em còn trong bụng mẹ.

Sao Đôi: "Hai cái nằm chồng" — "Thương em từ thuở mẹ bồng mát tay" — lúc em mới sinh, được mẹ bồng ẵm.

Sao Hoa: "Ba cái nằm xoay" — "Thương em từ thuở được vay nụ cười" — lúc em biết cười, tuổi thơ ngây.

Sao Băng: "Bay vút vào đời" — "Thương em từ thuở mẹ ngồi nghĩ xa" — sao băng như ước mơ của mẹ về tương lai con.

Sao Sa: "Rơi xuống vườn hoa" — "Thương em từ thuở người ta lại gần" — lúc có người đến tìm hiểu, bắt đầu tình yêu.

Sao Hôm, Sao Mai: "Lấp lánh đầu làng, lấp lánh đầu thôn" — "Thương em từ thuở em về với ai" — lúc em về nhà chồng, sao Hôm sao Mai như hai người yêu nhau, gặp nhau lúc chiều tà và lúc bình minh.

Sao Vân, Sao Quanh: "Xa tít đầu trời, cao ngất ngoài khơi" — "Thương em từ thuở nghìn trùng cách chia" — lúc xa cách, tình yêu vẫn còn dù khoảng cách xa xôi.

Triết Lý Về Tình Yêu

Bài hát mang một triết lý độc đáo: tình yêu không bắt đầu từ lúc gặp nhau mà từ trước đó rất lâu — từ thuở cha mẹ gặp nhau, từ thuở em còn trong bụng mẹ. Đây là quan niệm "duyên tiền định" trong văn hóa Việt Nam — hai người yêu nhau vì đã có duyên từ kiếp trước.

Phạm Duy đã diễn đạt triết lý này bằng hình ảnh các vì sao. Sao trên trời có từ ngàn đời, tình yêu cũng vậy — không có điểm bắt đầu, không có điểm kết thúc.

Kết Thúc Bài Hát

*Sao ơi sao hỡi buồn gì*
*Sao ơi sao hỡi buồn chi*

Hai câu kết đầy ám ảnh. Sau khi kể lại cả hành trình tình yêu, từ lúc chưa sinh đến lúc chia ly, người hát hỏi sao: "Buồn gì? Buồn chi?" Câu hỏi không có câu trả lời, để lại khoảng trống cho người nghe tự suy ngẫm.

Có phải sao buồn vì chứng kiến bao cuộc tình tan vỡ? Hay sao buồn vì tình yêu con người quá ngắn ngủi so với tuổi thọ của tinh tú? Đây là nét đặc trưng của ca dao — không nói hết, không giải thích hết, để lại chiều sâu cho người nghe.


Kỹ Thuật Viết Lời và Nhạc Thuật

Kỹ Thuật Viết Lời

Thể thơ lục bát: Toàn bộ bài hát được viết theo thể lục bát — thể thơ truyền thống của ca dao Việt Nam. Mỗi cặp câu gồm một câu sáu chữ và một câu tám chữ, với vần điệu chặt chẽ:

  • "Sao Tua chín cái nằm **kề**" (6 chữ)
  • "Thương em từ thuở mẹ **về** với **cha**" (8 chữ)

Vần "ề" ở cuối câu sáu được lặp lại ở chữ thứ sáu của câu tám ("về"), tạo nhịp điệu êm ái, dễ nhớ.

Cấu trúc đối xứng: Mỗi khổ thơ có cấu trúc giống nhau:

  • Câu 1: Tên sao + số lượng + vị trí (ví dụ: "Sao Tua chín cái nằm kề")
  • Câu 2: "Thương em từ thuở..." + giai đoạn tình yêu

Sự lặp lại này tạo nhịp điệu đều đặn như tiếng ru, như lời kể chuyện bên bếp lửa.

Điệp ngữ "Thương em từ thuở": Cụm từ này được lặp lại 12 lần xuyên suốt bài hát, trở thành điểm tựa cảm xúc. Mỗi lần lặp lại đều mang một ý nghĩa mới, đưa người nghe qua từng giai đoạn của tình yêu.

Từ "sao" đa nghĩa: Trong tiếng Việt, "sao" vừa là ngôi sao trên trời, vừa là từ hỏi (tại sao, vì sao). Hai câu kết "Sao ơi sao hỡi buồn gì / Sao ơi sao hỡi buồn chi" chơi chữ trên sự đa nghĩa này — vừa hỏi ngôi sao, vừa hỏi tại sao buồn.

Nhạc Thuật

Âm giai Fa trưởng (F major): Georges Gauthier xếp "Bài Ca Sao" vào nhóm ca khúc viết ở âm giai Fa trưởng, mô tả đây là âm giai có "màu sắc trong sáng và có vẻ đồng nội, phảng phất chút buồn lâng lâng."[2]

Gauthier nhận xét rằng Phạm Duy "ưa thích và sử dụng rất khéo" âm giai này trong các bài như "Khối Tình Trương Chi," "Nhớ Người Ra Đi," "Chú Cuội," và "Bài Ca Sao."[2]

Tính chất tiểu họa: Gauthier mô tả các ca khúc năm 1961, trong đó có "Bài Ca Sao," là những "thi phẩm nhỏ nhắn, tinh vi" — tương phản với những "bức bích họa lớn" như trường ca.[2]

Điều này có nghĩa bài hát được chau chuốt từng chi tiết, từng nốt nhạc, như một bức tranh thu nhỏ nhưng đầy đủ ý nghĩa.

Nhịp điệu ru: Dù không có tư liệu cụ thể về nhịp điệu bài hát, từ ca từ và cấu trúc lục bát, có thể suy luận rằng bài hát mang nhịp điệu êm ái như lời ru — phù hợp với nội dung kể lại tình yêu từ thuở em còn trong bụng mẹ, thuở được mẹ bồng mát tay.

Nghệ Thuật Phổ Ca Dao

Phạm Duy không chỉ đơn thuần phổ nhạc một câu ca dao có sẵn mà đã mở rộng, phát triển thành một tác phẩm hoàn chỉnh. Từ hai câu lục bát gốc, ông tạo ra một bài hát dài với nhiều khổ, mỗi khổ mang một ý nghĩa riêng, tạo thành một câu chuyện trọn vẹn về tình yêu.

Đây là cách tiếp cận ca dao đặc trưng của Phạm Duy — không copy nguyên văn mà sáng tạo thêm, làm cho ca dao cổ sống lại trong một hình thức mới, phù hợp với thời đại mới.


Tid-bits và Giai Thoại

Tên Các Sao Trong Bài Hát

Các tên sao trong bài hát phần lớn là tên gọi dân gian của người Việt xưa:

  • **Sao Tua (Pleiades):** Còn gọi là Sao Thất Tinh, là cụm sao nhỏ dễ nhận ra trên bầu trời đêm
  • **Sao Khuê:** Một trong 28 chòm sao theo thiên văn học Trung Hoa
  • **Sao Hôm, Sao Mai:** Thực ra là sao Kim (Venus), được gọi là Sao Hôm khi xuất hiện buổi tối và Sao Mai khi xuất hiện buổi sáng
  • **Sao Băng:** Hiện tượng thiên thạch rơi vào khí quyển, tạo vệt sáng trên trời
  • **Sao Sa:** Có thể là sao băng rơi, hoặc sao rơi trong truyền thuyết

Một số tên sao khác có thể do Phạm Duy sáng tạo thêm để phù hợp với vần điệu và ý nghĩa bài hát.

Sao Và Duyên Số

Trong văn hóa Việt Nam, người ta tin rằng mỗi người sinh ra đều có một ngôi sao riêng trên trời. Khi ngôi sao đó rơi, người đó qua đời. "Sao băng ngã xuống gầm trời" trong bài hát có thể mang ý nghĩa này — mỗi cuộc tình, mỗi cuộc đời đều được viết sẵn trên bầu trời sao.

"Bài Ca Sao" và "Bài Ca Trăng"

Năm 1961, Phạm Duy viết cả "Bài Ca Sao" lẫn "Bài Ca Trăng" — hai bài hát về thiên thể, về vũ trụ. Đây có thể là giai đoạn ông đang suy tư về những chủ đề lớn hơn cuộc sống thường ngày — tình yêu được đặt trong bối cảnh của vũ trụ bao la.

Ca Dao Gốc — Một Kiệt Tác Vô Danh

Câu ca dao gốc "Sao Tua chín cái nằm kề / Thương em từ thuở mẹ về với cha" là một trong những câu ca dao đẹp nhất về tình yêu trong kho tàng văn học dân gian Việt Nam. Không ai biết tác giả là ai, nhưng người sáng tác đã thể hiện một triết lý sâu sắc: tình yêu không bắt đầu từ lúc gặp nhau mà từ trước đó rất lâu — từ khi vũ trụ còn chưa có mình.

Phạm Duy gọi đây là "câu ca dao bất diệt" — và quả thật, qua bản phổ nhạc của ông, câu ca dao này tiếp tục sống trong lòng nhiều thế hệ người Việt.

Bài Hát Về Thiên Văn

"Bài Ca Sao" có thể xem là bài hát về thiên văn trong nhạc Việt Nam. Nó kể tên nhiều chòm sao, nhiều hiện tượng thiên văn, đặt chúng trong mối quan hệ với tình yêu con người. Đây là cách tiếp cận độc đáo — dùng vũ trụ để nói về tình yêu, dùng vô hạn để diễn tả hữu hạn.


So Sánh và Liên Hệ

So Sánh Với Các Bài Ca Dao Phổ Nhạc Khác

Trong số các bài ca dao phổ nhạc của Phạm Duy, "Bài Ca Sao" có vị trí đặc biệt:

  • **Đố Ai:** Mang tính chất vui tươi, hài hước, với những câu đố dân gian
  • **Nụ Tầm Xuân:** Trữ tình nhẹ nhàng, nói về tình yêu đơn phương
  • **Tóc Mai Sợi Vắn Sợi Dài:** Thực tế, gần gũi, nói về tình nghĩa vợ chồng
  • **Bài Ca Sao:** Triết lý, vũ trụ quan, đặt tình yêu trong bối cảnh không gian và thời gian vô tận

"Bài Ca Sao" là bài ca dao phổ nhạc mang tính triết học nhất của Phạm Duy — không chỉ là tình ca mà còn là suy tư về duyên số, về tiền định, về mối quan hệ giữa con người và vũ trụ.

Ảnh Hưởng Của Ca Dao Trong Nhạc Phạm Duy

Phạm Duy đã từng nói rằng ca dao là nguồn cảm hứng vô tận cho âm nhạc Việt Nam. Ông không chỉ phổ nhạc ca dao mà còn học hỏi cách diễn đạt, cách sử dụng hình ảnh, cách chơi chữ từ ca dao để áp dụng vào các sáng tác của mình.

"Bài Ca Sao" là ví dụ điển hình cho cách Phạm Duy tiếp cận ca dao: không copy nguyên văn mà mở rộng, phát triển, thêm vào những ý tưởng mới trong khi vẫn giữ được hồn cốt của ca dao.

Vị Trí Trong Dòng Tình Ca Phạm Duy

Nếu đặt "Bài Ca Sao" trong dòng tình ca Phạm Duy, đây là bài tình ca mang chiều kích vũ trụ. So với những bài tình ca khác như "Tình Ca" (nói về tình yêu và quê hương), "Ngậm Ngùi" (nói về nỗi nhớ), "Bài Ca Sao" đưa tình yêu lên một tầm cao mới — tình yêu được viết trên bầu trời sao.

Giá Trị Lâu Dài

"Bài Ca Sao" chứng minh rằng ca dao cổ có thể sống lại trong hình thức âm nhạc hiện đại mà không mất đi chiều sâu triết lý. Bài hát là cầu nối giữa truyền thống và hiện đại, giữa văn học dân gian và âm nhạc đương đại — một minh chứng cho tài năng của Phạm Duy trong việc bảo tồn và phát triển văn hóa Việt Nam.


Chú Thích

[1] Phạm Duy, "Hồi Ký Phạm Duy," Tập 3, phần viết về các ca khúc dựa trên ca dao.

[2] Georges Gauthier, "Khuôn Mặt Người Nghệ Sĩ — Phân tích tác phẩm Phạm Duy," phần về âm giai và thời kỳ sáng tác 1961.

[3] Phạm Duy, "100 Tình Khúc Của Một Đời Người," nguồn lời ca chính thức.

100 Bài Nhạc Phạm Duy: Áo Anh Sứt Chỉ Đường Tà

Tác giả: Claude AI, dưới sự dẫn dắt và chỉnh sửa của Học Trò.


Bối Cảnh Lịch Sử

Hữu Loan và Bài Thơ "Màu Tím Hoa Sim"

Hữu Loan là một cán bộ chính trị kiêm thi sĩ hoạt động trong kháng chiến chống Pháp tại Khu IV. Trong Hồi Ký của mình, Phạm Duy mô tả: "Hữu Loan trông bề ngoài rất là oai, nhất là khi anh cưỡi ngựa đi công tác trong khu IV này. Đầu húi cua, tiếng nói lớn, và khi ngủ thì ngáy như sấm, vậy mà khi làm thơ thì toàn là thơ buồn."[1]

Bài thơ "Màu Tím Hoa Sim" được Hữu Loan viết dựa trên câu chuyện có thật — câu chuyện của chính ông hoặc của một người bạn chiến đấu. Trong thời kháng chiến, nhiều đôi vợ chồng trẻ phải chia ly ngay sau ngày cưới, người chồng ra mặt trận, không biết có còn ngày trở về. Bi kịch là nhiều khi không phải người chiến sĩ hy sinh mà chính người vợ trẻ ở nhà lại ra đi trước.

Hoàn Cảnh Kháng Chiến

Phạm Duy nhận xét về thời kỳ này: "Nhờ ở chuyến đi công tác tại đây mà tôi thấy được bộ mặt khác của kháng chiến. Trong vinh quang của chiến đấu có thống khổ của chiến tranh. Con người không phải lúc nào cũng chỉ ở trong hoàn cảnh hùng dũng mà nhiều khi còn bị đẩy vào những cảnh bi thương."[1]

Hữu Loan đã nói tới nỗi bi thương đó qua những vần thơ:

*Nhà em ở dưới mái chè*
*Chồng em chết trận em về quay tơ...*

Đây là mặt trái của chiến tranh — không phải những chiến thắng vang dội mà là những mất mát âm thầm, những góa phụ trẻ, những đứa con mồ côi.

Phạm Duy Phổ Nhạc

Bài thơ "Màu Tím Hoa Sim" đã được nhiều nhạc sĩ phổ nhạc, nhưng bản của Phạm Duy với tựa đề "Áo Anh Sứt Chỉ Đường Tà" được xem là thành công nhất. Phạm Duy đã giữ nguyên tinh thần và hầu hết ca từ của bài thơ gốc, chỉ sắp xếp lại cho phù hợp với nhạc.

Ca sĩ Thái Thanh là người trình bày bài hát này hay nhất, với giọng hát đầy cảm xúc, lúc bi thương, lúc hào hùng, diễn tả trọn vẹn cả nỗi đau mất mát lẫn tinh thần chiến đấu của người lính.


Ý Nghĩa Ca Từ

Cấu Trúc Câu Chuyện

Bài hát kể lại câu chuyện theo trình tự thời gian, từ lúc quen nhau đến ngày cưới, rồi chia ly, rồi tin dữ, và cuối cùng là nỗi đau còn mãi. Đây là lối kể chuyện (narrative) truyền thống trong ca dao và dân ca Việt Nam.

Phần Mở: Giới Thiệu Nhân Vật

*Nàng có ba người anh đi bộ đội lâu rồi*
*Nàng có đôi người em có em chưa biết nói*
*Tóc nàng hãy còn xanh, tóc nàng hãy còn xanh...*

Ngay từ đầu, Phạm Duy đã vẽ nên bức chân dung của nàng: con gái trong một gia đình đông anh em, ba người anh đã đi bộ đội, còn các em thì còn nhỏ, có em chưa biết nói. Nàng là người con gái trưởng thành duy nhất trong nhà, gánh vác trách nhiệm gia đình.

"Tóc nàng hãy còn xanh" — câu này được lặp lại hai lần, nhấn mạnh sự trẻ trung của nàng. Đây cũng là lời than thở ngầm: tóc còn xanh mà đã phải chịu tang chồng, hoặc tệ hơn — tóc còn xanh mà đã ra đi.

Ngày Cưới Giữa Thời Loạn

*Ngày hợp hôn tôi mặc đồ hành quân*
*Bùn đồng quê bết đôi giầy chiến sĩ*
*Tôi mới từ xa nơi đơn vị về*

Đám cưới thời chiến không có áo cưới, không có lễ nghi đầy đủ. Chú rể mặc đồ quân phục, giày còn dính bùn đồng quê vì vừa mới từ đơn vị về. Đây là hình ảnh quen thuộc trong thời kháng chiến — những đám cưới vội vã, những ngày hạnh phúc ngắn ngủi trước khi chia ly.

*Nàng cười vui bên anh chồng kỳ khôi*
*Thời loạn ly có ai cần áo cưới*
*Cưới vừa xong là tôi đi*

"Anh chồng kỳ khôi" — chữ "kỳ khôi" vừa hài hước vừa xót xa. Chú rể trong bộ đồ hành quân, lấm lem bùn đất, khác xa hình ảnh chú rể thông thường. Nhưng "thời loạn ly có ai cần áo cưới" — đây là sự chấp nhận, là niềm vui giản dị giữa thời loạn.

"Cưới vừa xong là tôi đi" — câu này ngắn gọn, dứt khoát như nhịp bước hành quân. Không có tuần trăng mật, không có thời gian bên nhau. Cưới xong là đi.

Nỗi Lo Âu Xa Xôi

*Từ chốn xa xôi nhớ về ái ngại*
*Lấy chồng chiến binh mấy người trở lại*
*Mà nhỡ khi mình không về*
*Thì thương người vợ, bé bỏng chiều quê*

Đây là đoạn độc thoại nội tâm của người chiến sĩ. Từ nơi xa, anh lo lắng cho vợ. "Lấy chồng chiến binh mấy người trở lại" — câu hỏi tu từ đau đớn. Bao nhiêu người lính đã ra đi không trở về, bao nhiêu người vợ trẻ đã thành góa phụ.

"Bé bỏng chiều quê" — hình ảnh người vợ trẻ, nhỏ bé, đơn độc nơi làng quê, chờ đợi tin chồng. Chữ "bé bỏng" vừa thương yêu vừa xót xa.

Bước Ngoặt Bi Thảm

*Nhưng không chết người trai chiến sĩ*
*Mà chết người gái nhỏ miền xuôi*
*Hỡi ôi! Hỡi ôi!*

Đây là cao trào của bài hát — sự đảo ngược nghiệt ngã của số phận. Người chiến sĩ lo sợ mình sẽ chết nơi chiến trường, nhưng trớ trêu thay, chính người vợ trẻ ở nhà lại ra đi trước. Câu này được lặp lại ba lần, như tiếng kêu than không dứt.

"Hỡi ôi! Hỡi ôi!" — tiếng kêu thống thiết, không còn lời nào diễn tả được nỗi đau.

Ngày Trở Về

*Tôi về không gặp nàng*
*Má ngồi bên mộ vàng*
*Chiếc bình hoa ngày cưới*
*Đã thành chiếc bình hương*

Bốn câu ngắn gọn như bốn nhát dao cắt vào lòng người. "Chiếc bình hoa ngày cưới đã thành chiếc bình hương" — hình ảnh đối lập đau đớn. Vật trang trí ngày cưới nay thành vật thờ cúng người đã khuất. Hạnh phúc chưa kịp nở đã héo tàn.

*Nhớ xưa em hiền hòa*
*Áo anh em viền tà*
*Nhớ người yêu màu tím*
*Nhớ người yêu màu sim*

"Áo anh em viền tà" — chi tiết nhỏ nhưng đầy ý nghĩa. Người vợ hiền đã từng ngồi khâu vá áo cho chồng, viền lại đường tà bị sứt chỉ. Đây cũng là nguồn gốc của tựa đề bài hát — "Áo anh sứt chỉ đường tà, vợ anh chết sớm mẹ già chưa khâu."

"Màu tím, màu sim" — màu của hoa sim, loài hoa mọc đầy trên những đồi núi miền Trung. Màu tím trở thành màu của kỷ niệm, của nỗi nhớ, của tang tóc.

Hình Ảnh Những Đồi Sim

*Chiều hành quân qua những đồi sim*
*Những đồi sim, những đồi sim, đồi tím hoa sim*
*Tím cả chiều hoang biền biệt*

Đây là đoạn mang tính hội họa nhất của bài hát. Những đồi sim trùng trùng điệp điệp, tím ngát cả một vùng trời. Hình ảnh vừa đẹp vừa buồn — vẻ đẹp của thiên nhiên hòa với nỗi buồn của con người.

Lời Ru Giữa Tiếng Quân Ca

*À ơi! À ơi! Áo anh sứt chỉ đường tà*
*Vợ anh chết sớm, mẹ già chưa khâu*

Đây là câu ca dao được lồng vào giữa tiếng hát hành quân — lời ru buồn giữa những khúc quân ca hào hùng. Sự tương phản này tạo nên hiệu ứng đặc biệt: trong vinh quang chiến thắng vẫn có nỗi đau riêng tư, trong tiếng hát tập thể vẫn có tiếng khóc cá nhân.


Kỹ Thuật Viết Lời và Nhạc Thuật

Kỹ Thuật Viết Lời

Trung thành với nguyên tác: Phạm Duy đã giữ nguyên hầu hết ca từ từ bài thơ của Hữu Loan, chỉ sắp xếp lại và thêm những từ cần thiết để điền đầy câu nhạc. Đây là cách phổ thơ tôn trọng nhất — không biến tấu quá nhiều mà giữ nguyên tinh thần của nhà thơ.

Sử dụng điệp ngữ: Những cụm từ quan trọng được lặp lại nhiều lần để nhấn mạnh:

  • "Tóc nàng hãy còn xanh" — lặp 2 lần
  • "Tôi mới từ xa nơi đơn vị về" — lặp 2 lần
  • "Cưới vừa xong là tôi đi" — lặp 2 lần
  • "Nhưng không chết người trai chiến sĩ, mà chết người gái nhỏ miền xuôi" — lặp 3 lần
  • "Những đồi sim" — lặp nhiều lần ở đoạn cuối

Theo Học Trò: "Riêng 'tóc nàng hãy còn xanh,' khi lặp lại như vậy đã phỏng được tiếng kêu than, oán trách trời xanh về sự từ trần đột ngột của người vợ trẻ."[2]

Cấu trúc câu ngắn gọn: Đặc biệt trong đoạn [B], các câu nhạc rất ngắn — chỉ 3-4 chữ: "tôi mới từ xa," "nơi đơn vị về," "cưới vừa xong," "là tôi đi." Học Trò nhận xét: "Nhanh như một giấc mơ. Cấu trúc các câu nhạc cũng ngắn... tạo nên một trạng thái dồn dập, khẩn trương, đúng hệt như tác phong quân ngũ."[2]

Sử dụng tương phản: Bài hát xây dựng trên những cặp tương phản:

  • Niềm vui ngày cưới ↔ Nỗi đau ngày tang
  • Người chồng sống sót ↔ Người vợ qua đời
  • Tiếng quân ca hào hùng ↔ Lời ru buồn bã
  • Chiến thắng tập thể ↔ Mất mát cá nhân

Nhạc Thuật

Thay đổi time signature: Theo Học Trò, bản nhạc "chuyển time signature nhiều lần" để phù hợp với từng đoạn của câu chuyện. Đoạn mở đầu chậm buồn, đoạn ngày cưới chuyển sang thể hành khúc 2/4 mạnh mẽ, rồi lại trở về buồn ở đoạn tin dữ.[2]

Chuyển hệ (Metabole): Phạm Duy sử dụng kỹ thuật "chuyển hệ rất tài tình từ thứ sang trưởng rồi lại trở về thứ, rồi từ key signature này sang key signature khác rất nhanh lẹ mà ta nghe vẫn không thấy ngỡ ngàng chi hết."[2]

Âm giai diễn tả nhân vật: Học Trò quan sát: "Khi nói về 'nàng' thì nhạc sĩ dùng âm giai thứ (mảnh mai) để diễn tả, trong khi nói về 'cái tôi' hoặc về các chiến sĩ thì phần lớn ông dùng âm giai trưởng (khỏe mạnh, dứt khoát)."[2]

Đoạn [E] - Tiết tấu Valse: "Tôi đặc biệt thích đoạn [E], tiết tấu valse, dịu dàng và buồn: 'áo anh em viền tà, nhớ người yêu màu tím, nhớ người yêu màu sim.' Rất cảm động!"[2]

Đoạn [F] - Tối giản và thê lương: "Trong đoạn [F], chỉ với hai nốt nhạc (Do và Mi giáng) cùng với một tiến trình hòa âm đi xuống (Cm->Abmaj7->Cm), nhạc sĩ đã tạo nên một bầu không khí thê lương ảm đạm."[2]

Đoạn [G] - Vẽ núi đồi bằng âm nhạc: Học Trò phân tích: "Ở đoạn [G], nhạc sĩ đã vẽ cho ta một dãy núi đồi trùng trùng điệp điệp, san sát nhau, với những đoàn quân nối bước nhau, có leo, có thả dốc, rồi lại leo nữa."[2]

Kết thúc paradox: Đoạn cuối mang tính "khải hoàn ca" về giai điệu và hòa âm — mạnh mẽ, đầy hạnh phúc, toàn vẹn — nhưng lời nhạc lại diễn tả tâm trạng u hoài về "những đồi tím hoa sim." Học Trò viết: "Ta thấy rõ cái giá chua chát phải trả của bất kỳ một cuộc chiến tranh nào, cho dù chiến tranh ấy có chính nghĩa hay không."[2]

Tổng Hợp Kỹ Thuật

Bài hát là minh chứng cho tài năng phổ thơ của Phạm Duy. Ông không chỉ đặt thơ vào nhạc một cách máy móc mà còn dùng âm nhạc để nâng cao, để diễn tả những gì mà thơ không thể nói hết. Sự đa dạng về nhạc thuật — thay đổi time signature, chuyển hệ, sử dụng âm giai khác nhau cho từng nhân vật — tất cả đều phục vụ cho mục đích kể chuyện.

Học Trò kết luận: "Nhạc theo lối kể chuyện, và tình tiết thì éo le lắm, và tả cảnh, tả người, v.v. nữa, nên nhạc thuật phải rất phong phú. Nó không những mang âm hưởng Việt Nam sâu đậm mà cũng chứa đựng nhiều kỹ thuật viết nhạc tinh xảo — nhưng khi nghe lại thấy rất dễ nghe cũng như dễ dàng ăn sâu vào lòng người."[2]


Tid-bits và Giai Thoại

Nhiều Bản Phổ Nhạc

Bài thơ "Màu Tím Hoa Sim" của Hữu Loan đã được nhiều nhạc sĩ phổ nhạc, trong đó có:

  • **Phạm Duy** với tựa "Áo Anh Sứt Chỉ Đường Tà"
  • **Dzũng Chinh** với tựa "Những Đồi Hoa Sim"
  • **Anh Bằng**
  • Và nhiều nhạc sĩ khác

Tuy nhiên, bản của Phạm Duy được xem là thành công nhất về mặt nghệ thuật, được yêu thích rộng rãi nhất, và trở thành "bản chuẩn" trong lòng người nghe.

Thái Thanh — Giọng Hát Định Mệnh

Ca sĩ Thái Thanh được xem là người trình bày bài hát này hay nhất. Với giọng soprano cao vút và khả năng diễn cảm tuyệt vời, bà đã truyền tải được cả nỗi đau của người vợ trẻ lẫn sự hào hùng của người chiến sĩ. Bản thu âm của Thái Thanh tại Sài Gòn năm 1970 được xem là bản kinh điển.

Câu Ca Dao Gốc

Tựa đề bài hát lấy từ câu ca dao:

*Áo anh sứt chỉ đường tà*
*Vợ anh chết sớm, mẹ già chưa khâu*

Câu ca dao này nói về hoàn cảnh éo le của người đàn ông mất vợ sớm: áo sứt chỉ không còn ai khâu vá, mẹ già thì không còn sức. Phạm Duy đã khéo léo đưa câu ca dao này vào đoạn cuối bài hát, tạo nên một kết thúc đầy ám ảnh.

Triết Lý "Nhất Tướng Công Thành Vạn Cốt Khô"

Học Trò nhận xét rằng bài hát mang triết lý "nhất tướng công thành vạn cốt khô" — một tướng lập công, vạn xương khô. Đằng sau mỗi chiến thắng là bao nhiêu hy sinh, bao nhiêu mất mát. Phạm Duy sau này tiếp tục khai thác triết lý này trong "Minh Họa Kiều" với nhạc phẩm "Hán Sở Tranh Hùng," phổ từ thơ Nguyễn Du:

*Trải qua một cuộc binh đao*
*Đống xương vô định đã cao bằng trời...*

Hữu Loan — Số Phận Nghiệt Ngã

Hữu Loan sau này có số phận khá nghiệt ngã. Dù là cán bộ trong kháng chiến, ông đã gặp nhiều khó khăn về chính trị. Bài thơ "Màu Tím Hoa Sim" của ông bị coi là "bi quan," "tiểu tư sản," không phù hợp với tinh thần cách mạng. Tuy nhiên, chính bài thơ này lại được nhân dân yêu thích và truyền tụng, chứng minh rằng nghệ thuật chân chính luôn vượt qua những rào cản chính trị.

Những Đồi Sim Miền Trung

Hoa sim là loài hoa đặc trưng của vùng đồi núi miền Trung Việt Nam. Vào mùa hoa nở, những đồi sim tím ngát một màu — hình ảnh vừa đẹp vừa buồn. Màu tím của hoa sim trở thành màu của kỷ niệm, của nỗi nhớ trong bài hát.

Nhiều người lính thời kháng chiến đã kể lại rằng mỗi khi hành quân qua những đồi sim, họ lại nghĩ đến bài hát này và nhớ về người thân nơi quê nhà.


So Sánh và Liên Hệ

So Sánh Với Các Bài Thơ Phổ Nhạc Khác

Trong sự nghiệp phổ thơ của Phạm Duy, "Áo Anh Sứt Chỉ Đường Tà" đứng ở vị trí đặc biệt. Nếu so sánh với các bài thơ phổ nhạc khác:

  • **Ngậm Ngùi** (thơ Huy Cận): Mang tính trữ tình thuần túy, tập trung vào cảm xúc cá nhân
  • **Tiếng Thu** (thơ Lưu Trọng Lư): Thiên về tả cảnh, gợi buồn nhẹ nhàng
  • **Áo Anh Sứt Chỉ Đường Tà** (thơ Hữu Loan): Kết hợp cả kể chuyện, tả cảnh, và triết lý về chiến tranh

Đây là bài phổ thơ dài nhất và phức tạp nhất về cấu trúc. Phạm Duy phải sử dụng nhiều kỹ thuật nhạc thuật — thay đổi time signature, chuyển hệ, đa dạng âm giai — để theo kịp câu chuyện éo le trong bài thơ.

Vị Trí Trong Dòng Kháng Chiến Ca

Trong dòng kháng chiến ca của Phạm Duy, bài hát này mang góc nhìn khác biệt. Nếu những bài như "Ngày Trở Về," "Quê Nghèo" tập trung vào niềm vui chiến thắng hoặc nỗi đau tập thể, thì "Áo Anh Sứt Chỉ Đường Tà" nói về nỗi đau cá nhân — nỗi đau của một người chồng mất vợ trẻ.

Đây là mặt trái của chiến tranh mà ít bài hát kháng chiến nào đề cập trực tiếp: không phải chiến thắng hay hy sinh anh hùng, mà là những mất mát âm thầm, những bi kịch gia đình.

Ảnh Hưởng Đến Âm Nhạc Việt Nam

"Áo Anh Sứt Chỉ Đường Tà" đã trở thành một trong những bài hát phổ thơ được yêu thích nhất trong âm nhạc Việt Nam. Bài hát chứng minh rằng thơ và nhạc có thể kết hợp hoàn hảo, nâng cao lẫn nhau — thơ cho nhạc chiều sâu nội dung, nhạc cho thơ đôi cánh bay xa.

Nhiều nhạc sĩ sau này đã học hỏi từ cách Phạm Duy phổ thơ: không chỉ đặt thơ vào giai điệu có sẵn mà phải sáng tạo giai điệu riêng cho từng bài thơ, phù hợp với nội dung và cảm xúc của từng đoạn.

Giá Trị Lâu Dài

Hơn sáu mươi năm sau ngày ra đời, "Áo Anh Sứt Chỉ Đường Tà" vẫn được yêu thích và trình bày rộng rãi. Bài hát vượt qua bối cảnh lịch sử cụ thể để trở thành một tác phẩm nói về nỗi đau phổ quát của chiến tranh, về tình yêu vợ chồng bị chia lìa, về sự mong manh của hạnh phúc.

Đây là bài hát mở đầu xứng đáng cho loạt "100 Tình Khúc Của Một Đời Người" — một tác phẩm hội tụ đầy đủ tài năng của Phạm Duy: kỹ thuật phổ thơ điêu luyện, nhạc thuật phong phú, ca từ đầy hình ảnh, và thông điệp nhân văn sâu sắc.


Chú Thích

[1] Phạm Duy, "Hồi Ký Phạm Duy," Tập 2, phần viết về thời kỳ kháng chiến tại Khu IV.

[2] Học Trò, "Áo Anh Sứt Chỉ Đường Tà," bài phân tích trong tuyển tập "Tìm Hiểu Nhạc Phạm Duy."

[3] Hữu Loan, "Màu Tím Hoa Sim," bài thơ gốc.

[4] Phạm Duy, "100 Tình Khúc Của Một Đời Người," nguồn lời ca chính thức.

5.11.2026

gstack: A Virtual Engineering Team Inside Claude Code

So, I have a link to a website, where the owner Garry Tan claimed that his productivity is x810 times comparing with his output in 2013.

https://github.com/garrytan/gstack

I looked at the github, and upon seeing so many files, I need Claude's help in summarizing the site's purpose for me. So I ask it:

 explain to me the essence of this toolkit. I only have Claude Code as you know. write your explanation to a md then html: https://github.com/garrytan/gstack


Below is the reply, neatly output into a HTML.

 

gstack: A Virtual Engineering Team Inside Claude Code

Published: May 2026


The One-Line Idea

gstack is a free, open-source toolkit that gives Claude Code a set of specialized roles — CEO, architect, designer, security officer, QA lead, release engineer — so a single person can ship software the way a team does, but faster.

It was built by Garry Tan, the president of Y Combinator, who claims it helped him ship at roughly 810× the rate he did in 2013, while still running one of the world's top startup accelerators full-time.


Why It Exists

Claude Code on its own is already powerful. You describe a problem, it writes code, fixes bugs, edits files. But raw capability is not the same as a structured process. A blank canvas is intimidating. What gstack noticed is that professional software teams do not work randomly — they move through predictable phases: think, plan, build, review, test, ship, reflect.

Without a structure like that, even the best AI assistant just becomes an expensive autocomplete. gstack imposes the structure. It wraps Claude Code in a sprint workflow where each phase has its own "specialist" with a specific lens and a specific job.


The Core Workflow

Every feature or product goes through seven stages:

Phase What Happens
Think /office-hours interrogates your idea with hard forcing questions before you write a line of code
Plan CEO, engineer, designer, and DX reviews all weigh in on your plan from their own angle
Build Claude Code writes the actual implementation
Review A virtual staff engineer reviews for production-level bugs; a design reviewer audits visuals
Test /qa opens a real Chromium browser, walks through your flows, fixes bugs, generates regression tests
Ship /ship syncs main, runs tests, opens a PR; /land-and-deploy merges and verifies production
Reflect /retro runs a weekly retrospective with per-contributor metrics

The key insight is that each skill feeds its output into the next. The plan review's output shapes what gets built. The build's output becomes the review's input. You're not hopping between random prompts — you're moving through a pipeline.


The 23 Skills, Grouped by What They Do

gstack ships 23 "skills" (slash commands) and 8 power tools. Here is how they cluster:

Planning layer — challenges assumptions before coding starts

  • /office-hours — Product interrogation. Forces you to defend what you are building and why.
  • /autoplan — Runs the CEO, design, engineering, and DX reviews automatically in one go.
  • /plan-ceo-review, /plan-eng-review, /plan-design-review, /plan-devex-review — Each specialist review on its own.

Design layer — goes from idea to working visual to production HTML

  • /design-consultation — Builds a design system from scratch.
  • /design-shotgun — Generates four to six distinct mockup variants so you can pick a direction rather than guess.
  • /design-html — Converts the approved mockup into production-ready HTML (30KB, zero dependencies, framework-aware).
  • /design-review — Live design audit; finds problems and applies fixes on the spot.

Code quality layer — catches what you missed

  • /review — Staff engineer level review with auto-fixes for obvious issues.
  • /investigate — Systematic root-cause debugging with hypothesis testing, not just stabs in the dark.
  • /cso — Chief Security Officer: scans for OWASP Top 10 vulnerabilities and runs STRIDE threat modeling.
  • /codex — Sends your code to OpenAI's Codex CLI for a cross-model second opinion.

Testing and deployment layer

  • /qa — The crown jewel. Opens a real Chromium browser, tests actual user flows, fixes bugs it finds, and writes regression tests for next time.
  • /qa-only — Same as above but report-only; no code changes.
  • /ship — Bootstraps test frameworks, audits coverage, and opens a pull request.
  • /land-and-deploy — Merge, CI, and production verification in one command.
  • /canary — Post-deploy monitoring: checks for console errors, performance regressions, page failures.
  • /benchmark — Measures Core Web Vitals and compares before/after.

Safety tools — guardrails so you do not break things accidentally

  • /careful — Warns you before destructive commands like rm -rf, DROP TABLE, or force-push.
  • /freeze — Restricts all file edits to a single directory so debugging one area cannot spill into another.
  • /guard — Activates both /careful and /freeze at once.

Utility layer

  • /browse — Real Chromium browser with roughly 100ms command latency.
  • /learn — Saves session learnings persistently so the next session starts smarter.
  • /document-release — Auto-updates README and project docs to match what just shipped.
  • /retro — Engineering retrospective with metrics.

GBrain: Memory Across Sessions

By default, Claude Code starts fresh every session. GBrain is gstack's optional persistent memory layer, backed by a local or cloud database.

Once set up, GBrain lets agents remember decisions made last week, design choices that were rejected, and project-specific patterns. You can also set trust tiers per repository: read-write, read-only, or no access.

Three ways to run it:

  • Supabase cloud — syncs across machines, takes about ninety seconds to provision automatically
  • PGLite local — zero accounts, zero network, everything stays on your machine
  • Existing Supabase — paste your Session Pooler URL and go

What Makes It Different From Just Prompting

Most people who use Claude Code write prompts like "refactor this function" or "fix this bug." That works for isolated tasks. gstack is doing something different: it is encoding the judgment of experienced engineers into repeatable, composable steps.

The /design-shotgun → /design-html → /qa → /ship sequence, for example, closes the loop between having a visual idea and getting something running in production — with testing and review built in between. It does not just generate code; it runs the code in a real browser and validates that it works before handing it off.

The other thing worth noting is that /codex deliberately routes a cross-check to a different AI model (OpenAI's Codex) for a second opinion. One AI reviewing its own output has obvious blind spots. Using a second model as a challenger catches different classes of errors.


Practical Notes If You Want to Try It

Requirements: Claude Code, Git, and Bun v1.0+. On Windows, you also need Node.js because of a Playwright bug with Bun's pipe transport.

Install (30 seconds):

```

git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup

```

Once installed, /gstack-qa runs the browser testing skill. You can shorten it to just /qa with ./setup --no-prefix.

License: MIT. Completely free. No premium tier.


Quick Reference

Skill When to Use It
/office-hours Before you write anything — to stress-test the idea
/autoplan To get all plan reviews in one pass
/design-shotgun When you need visual options, not a blank prompt
/review After every significant code change
/cso Before any public release
/qa Before opening a PR
/ship When you are ready to open a PR
/land-and-deploy When you are ready to merge to production
/careful Always, as a habit
/investigate When you have a bug you cannot explain

Key Things to Remember

  • gstack is not a replacement for knowing what you are building. /office-hours exists precisely because the tool assumes you might not have fully thought it through yet. Use it first, not last.
  • The browser testing skill (/qa) is the most unusual thing here. Most AI coding tools stop at generating code. gstack actually runs it in a real browser and verifies behavior. That gap is enormous in practice.
  • You do not need all 23 skills. Start with /review and /qa. Add the planning layer once you have a feel for the workflow.
  • GBrain is optional but valuable. If you find yourself re-explaining your project context at the start of every session, GBrain is the fix.
  • The 810× productivity claim is for Garry Tan specifically, coding at his pace, in his codebase. Your mileage will vary. The structure itself is the real gift — it gives AI assistance a shape that mirrors how professional teams actually work.

5.05.2026

Andrej Karpathy: Từ Vibe Coding Đến Kỹ Thuật Tác Nhân — Bản Ghi Chép Đầy Đủ

Sự kiện: AI Ascent 2026, do Sequoia Capital tổ chức

Khách mời: Andrej Karpathy — đồng sáng lập OpenAI, cựu Giám Đốc Trí Tuệ Nhân Tạo tại Tesla, sáng lập Eureka Labs

Người phỏng vấn: Stephanie Zhan, Cộng Tác Viên tại Sequoia Capital

Năm: 2026



Giới Thiệu

STEPHANIE ZHAN: Chúng tôi vô cùng vui mừng được đón tiếp vị khách đặc biệt đầu tiên. Ông đã giúp xây dựng trí tuệ nhân tạo hiện đại, rồi giải thích nó, và đôi khi đặt tên lại cho nó. Thực ra ông đã đồng sáng lập OpenAI, ngay tại văn phòng này. Ông là người đã làm cho hệ thống Autopilot của Tesla hoạt động được từ thuở ban đầu, và ông có một tài năng hiếm có: biến những bước chuyển mình kỹ thuật phức tạp nhất thành điều vừa dễ hiểu vừa tất yếu.

Tất cả các bạn đều biết ông qua thuật ngữ "vibe coding" mà ông đặt ra năm ngoái, nhưng chỉ trong vài tháng gần đây, ông đã nói một điều còn đáng kinh ngạc hơn: rằng ông chưa bao giờ cảm thấy mình bị bỏ lại phía sau như một lập trình viên đến vậy. Đó là điểm khởi đầu của chúng ta hôm nay. Cảm ơn ông Andrej đã có mặt.


Cảm Giác Bị Tụt Hậu Như Một Lập Trình Viên

ANDREJ KARPATHY: Vâng. Xin chào. Rất vui được có mặt ở đây để mở đầu.

STEPHANIE: Được rồi. Vậy thì, chỉ vài tháng trước, ông đã nói rằng ông chưa bao giờ cảm thấy mình bị tụt hậu như một lập trình viên đến vậy. Thật đáng ngạc nhiên khi nghe điều này từ chính ông. Ông có thể giúp chúng tôi hiểu rõ hơn không? Cảm giác đó là phấn khích hay bất an?

ANDREJ: Vừa phấn khích vừa bất an. Trước hết, cũng như nhiều người trong số các bạn, tôi đã dùng các công cụ tác nhân — những thứ như Claude Code và các công cụ tương tự — trong một thời gian, có lẽ hơn một năm nay kể từ khi chúng ra đời. Chúng rất giỏi với từng đoạn code. Đôi khi chúng sai và bạn phải sửa, nhưng nhìn chung cũng khá hữu ích. Rồi thì tháng Mười Hai năm ngoái là một bước ngoặt rõ ràng. Tôi đang nghỉ phép nên có nhiều thời gian hơn. Tôi nghĩ nhiều người cũng có trải nghiệm tương tự. Tôi bắt đầu nhận ra rằng với các mô hình mới nhất, các đoạn code cứ ra đúng hoài. Rồi tôi tiếp tục yêu cầu thêm và nó vẫn cứ đúng. Rồi tôi không còn nhớ lần cuối mình phải sửa nó là khi nào. Và rồi tôi ngày càng tin tưởng hệ thống hơn, và thế là tôi "vibe coding" rồi.

(tiếng cười)

Đó thực sự là một bước chuyển rất rõ ràng. Tôi đã cố gắng nhấn mạnh điều này trên Twitter — hay X — vì tôi nghĩ nhiều người trải nghiệm AI năm ngoái như một thứ gì đó gần với ChatGPT. Nhưng đến tháng Mười Hai, bạn thực sự phải nhìn lại, vì mọi thứ đã thay đổi cơ bản — đặc biệt là về quy trình làm việc tác nhân liên mạch, thứ đã thực sự bắt đầu hoạt động được. Chính nhận thức đó đã khiến tôi lao vào cái hố thỏ này của vô số dự án cá nhân. Thư mục dự án phụ của tôi đầy ắp với đủ thứ ngẫu nhiên, và tôi cứ vibe coding suốt. Vậy đó, chuyện đó xảy ra vào tháng Mười Hai, và tôi đã theo dõi những hệ lụy của nó từ đó đến nay.


Giải Thích Software 3.0

STEPHANIE: Ông đã nói rất nhiều về ý tưởng LLM như một máy tính mới — không chỉ là phần mềm tốt hơn, mà là một mô thức tính toán hoàn toàn mới. Software 1.0 là các quy tắc tường minh, software 2.0 là các trọng số được học, software 3.0 là thứ này. Nếu điều đó thực sự đúng, thì một nhóm phát triển sẽ xây dựng khác đi thế nào vào ngày họ thực sự tin vào điều này?

ANDREJ: Đúng vậy. Software 1.0, tôi viết code. Software 2.0, tôi thực ra lập trình bằng cách tạo ra các bộ dữ liệu và huấn luyện mạng thần kinh — vậy nên lập trình ở đây có nghĩa là sắp xếp dữ liệu và có thể một số mục tiêu cùng kiến trúc mạng thần kinh. Rồi điều đã xảy ra là: về cơ bản, nếu bạn huấn luyện một trong những mô hình GPT hay LLM này trên một tập hợp nhiệm vụ đủ lớn — ngầm định, vì khi huấn luyện trên internet bạn phải xử lý đồng thời tất cả mọi thứ trong bộ dữ liệu — những mô hình này thực ra trở thành một loại máy tính có thể lập trình được theo nghĩa nào đó. Vậy software 3.0 về cơ bản là: lập trình của bạn bây giờ chuyển thành viết prompt, và những gì trong cửa sổ ngữ cảnh là đòn bẩy của bạn đối với bộ thông dịch là LLM, thứ đang diễn giải ngữ cảnh của bạn và thực hiện tính toán trong không gian thông tin số. Đó là bước chuyển đó. Và tôi nghĩ có một vài ví dụ thực sự đã làm tôi hiểu ra điều này.


Tác Nhân Như Một Bộ Cài Đặt

ANDREJ: Ví dụ, khi Claude Code ra đời — khi bạn muốn cài đặt nó, thông thường bạn sẽ mong đợi đó là một bash script, một shell script. Bạn chạy shell script để cài đặt Claude Code. Nhưng vấn đề là, để nhắm tới nhiều nền tảng và nhiều loại máy tính khác nhau, những shell script này thường phình to ra và trở nên cực kỳ phức tạp. Và bạn vẫn mắc kẹt trong vũ trụ software 1.0 của việc muốn viết code. Thực ra, cài đặt Claude Code là một đoạn văn bản mà bạn copy-paste và đưa cho tác nhân của mình. Về cơ bản đó là một kỹ năng nhỏ — bạn copy-paste đoạn này và đưa cho tác nhân, và nó sẽ cài đặt Claude Code. Lý do điều này mạnh mẽ hơn nhiều là vì bạn đang làm việc trong mô thức software 3.0, nơi bạn không cần phải liệt kê từng chi tiết cụ thể của việc cài đặt đó. Tác nhân có trí thông minh riêng của mình, nó gói gọn mọi thứ, làm theo hướng dẫn, xem xét môi trường và máy tính của bạn, thực hiện các hành động thông minh để mọi thứ hoạt động, gỡ lỗi trong vòng lặp — và nó mạnh mẽ hơn rất nhiều. Đây là một cách suy nghĩ rất khác: đoạn văn bản nào để copy-paste cho tác nhân? Đó chính là mô thức lập trình bây giờ.


MenuGen So Với Các Prompt Thô

ANDREJ: Thêm một ví dụ khác còn cực đoan hơn, đó là khi tôi đang xây dựng MenuGen. MenuGen là ý tưởng khi bạn đến nhà hàng, họ đưa cho bạn một thực đơn, thường không có hình ảnh. Vậy nên tôi không biết nhiều món là gì — thường khoảng ba mươi phần trăm các món tôi không biết, đôi khi năm mươi phần trăm. Vậy nên tôi muốn chụp ảnh thực đơn nhà hàng và nhận được hình ảnh những món đó có thể trông như thế nào theo nghĩa chung. Tôi đã vibe-code ứng dụng này, thứ về cơ bản cho phép bạn tải ảnh lên và xử lý tất cả những thứ đó. Nó chạy trên Vercel, hiển thị lại thực đơn, cho bạn xem tất cả các món, và sử dụng trình tạo hình ảnh để OCR tất cả các tiêu đề khác nhau, lấy hình ảnh của chúng, và hiển thị cho bạn. Rồi tôi thấy phiên bản software 3.0 của điều này, và nó thổi bay tâm trí tôi. Nó chỉ đơn giản là: chụp ảnh, đưa cho Gemini, và nói "Hãy dùng Nana Banana để phủ các món ăn lên thực đơn." Và Nana Banana trả lại một hình ảnh chính xác là tấm ảnh thực đơn tôi đã chụp, nhưng nó đã đặt vào các pixel những hình ảnh được render của các món trong thực đơn. Điều này thổi bay tâm trí tôi, vì toàn bộ MenuGen của tôi là thừa. Nó đang hoạt động trong mô thức cũ — ứng dụng đó không nên tồn tại. Và mô thức software 3.0 thô hơn nhiều: mạng thần kinh của bạn đang làm ngày càng nhiều công việc, prompt hay ngữ cảnh của bạn chỉ là hình ảnh, đầu ra là một hình ảnh, và không cần bất kỳ ứng dụng nào ở giữa.

Vậy nên tôi nghĩ mọi người phải tái định khung mọi thứ — không làm việc trong mô thức hiện tại của những gì đã tồn tại và chỉ coi đó là tăng tốc độ. Thực ra là những thứ mới đang có mặt bây giờ. Và điều đó cũng là ví dụ của việc làm việc với tư duy cũ, bởi vì không chỉ là lập trình trở nên nhanh hơn. Đây là xử lý thông tin tổng quát hơn, nay có thể tự động hóa. Vậy nên nó không chỉ là về code. Code trước đây hoạt động trên dữ liệu có cấu trúc. Nhưng ví dụ, với dự án LLM knowledge bases của tôi — về cơ bản bạn dùng LLM để tạo wiki cho tổ chức hoặc cho bản thân — đây thậm chí không phải là một chương trình. Đây không phải là thứ có thể tồn tại trước đây, vì không có code nào sẽ tạo ra một knowledge base từ một loạt sự kiện. Nhưng bây giờ bạn chỉ cần lấy những tài liệu này và về cơ bản biên dịch lại chúng theo cách khác, sắp xếp lại chúng, và tạo ra thứ gì đó mới và thú vị. Đây là những thứ mới không thể thực hiện được trước đây. Tôi cứ cố gắng quay lại câu hỏi đó: không chỉ là những gì chúng ta có thể làm nhưng nhanh hơn, mà là những cơ hội mới nào — những thứ không thể thực hiện được trước đây? Và tôi gần như nghĩ điều đó còn thú vị hơn.


Điều Gì Sẽ Hiển Nhiên Vào Năm 2026

STEPHANIE: Tôi rất thích sự tiến triển và tương phản của MenuGen mà ông đã trình bày. Nếu ông nhìn xa hơn — điều tương đương năm 2026 là gì của việc xây dựng trang web trong những năm 90, xây dựng ứng dụng di động trong những năm 2010, xây dựng SaaS trong kỷ nguyên cloud trước? Điều gì sẽ trông hoàn toàn hiển nhiên khi nhìn lại mà hiện tại vẫn còn chủ yếu chưa được xây dựng?

ANDREJ: Vâng, đi theo ví dụ MenuGen, rất nhiều code này không nên tồn tại — chỉ là một mạng thần kinh đang làm hầu hết công việc. Tôi nghĩ sự ngoại suy trông rất kỳ lạ vì bạn có thể tưởng tượng những máy tính hoàn toàn thần kinh theo một nghĩa nào đó. Bạn đưa video hoặc âm thanh thô vào cơ bản là một mạng thần kinh, và nó sử dụng diffusion để render một giao diện người dùng độc đáo cho thời điểm đó. Và tôi cảm thấy như trong những ngày đầu của máy tính, mọi người hơi bối rối về việc liệu máy tính sẽ trông như máy tính bỏ túi hay như mạng thần kinh — trong những năm 50 và 60 của thế kỷ trước, không rõ ràng hướng nào sẽ thắng. Và tất nhiên chúng ta đã đi theo con đường máy tính bỏ túi và kết thúc bằng máy tính cổ điển. Và rồi mạng thần kinh đang chạy ảo hóa trên máy tính hiện có. Nhưng bạn có thể tưởng tượng rằng nhiều điều trong số này sẽ đảo ngược, và mạng thần kinh trở thành tiến trình chủ còn CPU trở thành đồng xử lý. Bạn có thể tưởng tượng điều gì đó thực sự kỳ lạ và xa lạ, nơi mạng thần kinh đang làm hầu hết công việc nặng nhọc, sử dụng công cụ như một thứ phụ lục lịch sử cho một số nhiệm vụ xác định, nhưng những gì thực sự điều hành mọi thứ là các mạng thần kinh này. Nhưng tôi nghĩ chúng ta sẽ đến đó từng bước một. Và sự tiến triển đó, thật ra vẫn còn chưa biết.

(tiếng cười)


Tính Kiểm Chứng Và Trí Tuệ Lởm Chởm

STEPHANIE: Tôi muốn nói một chút về khái niệm có thể kiểm chứng được — thực tế là AI sẽ tự động hóa nhanh hơn và dễ dàng hơn trong các lĩnh vực mà đầu ra có thể được kiểm chứng. Nếu khung đó đúng, công việc nào sắp chuyển động nhanh hơn mọi người nhận ra? Và những nghề nghiệp nào mọi người nghĩ là an toàn nhưng thực ra có tính kiểm chứng cao?

ANDREJ: Vâng. Vậy nên tôi đã dành một chút thời gian viết về tính kiểm chứng. Về cơ bản, máy tính truyền thống có thể dễ dàng tự động hóa những gì bạn có thể chỉ định trong code. Và vòng LLM mới nhất này có thể dễ dàng tự động hóa những gì bạn có thể kiểm chứng — theo một nghĩa nào đó — bởi vì cách thức hoạt động của nó là khi các phòng thí nghiệm hàng đầu huấn luyện những LLM này, đây là những môi trường học tăng cường khổng lồ. Vậy nên chúng được cho phần thưởng kiểm chứng, và vì cách các mô hình này được huấn luyện, chúng cuối cùng về cơ bản tiến bộ và tạo ra những thực thể lởm chởm này, thực sự đạt đỉnh năng lực trong các lĩnh vực có thể kiểm chứng như toán học và code và các lĩnh vực lân cận — và hơi đình trệ, hơi thô ở những lĩnh vực không nằm trong không gian đó.

Vậy nên tôi nghĩ lý do tôi viết về tính kiểm chứng là tôi đang cố gắng hiểu tại sao những thứ này lại lởm chởm đến vậy. Và một phần liên quan đến cách các phòng thí nghiệm huấn luyện các mô hình, nhưng tôi nghĩ một phần cũng liên quan đến sự tập trung của các phòng thí nghiệm và những gì họ đưa vào phân phối dữ liệu. Bởi vì một số thứ có giá trị hơn đáng kể trong nền kinh tế và cuối cùng tạo ra nhiều môi trường hơn vì các phòng thí nghiệm muốn làm việc trong những bối cảnh đó. Code là một ví dụ tốt về điều đó. Có lẽ còn rất nhiều môi trường có thể kiểm chứng khác mà họ có thể nghĩ đến nhưng chưa được đưa vào vì chúng không hữu ích lắm để phát triển năng lực xung quanh.

Nhưng tôi nghĩ bí ẩn lớn đối với tôi là — ví dụ yêu thích một thời là: "strawberry" có bao nhiêu chữ cái? Và các mô hình đã nổi tiếng trả lời sai điều này. Đó là một ví dụ về tính lởm chởm. Các mô hình bây giờ đã vá lỗi đó. Nhưng câu mới là: Tôi muốn đến tiệm rửa xe cách đây 50 mét — tôi nên lái xe hay đi bộ? Và các mô hình hàng đầu ngày nay sẽ nói với bạn là đi bộ vì nó quá gần. Làm sao có thể như vậy khi Opus 4.7 hàng đầu có thể đồng thời tái cấu trúc một codebase 100.000 dòng hoặc tìm các lỗ hổng zero-day, mà lại nói với tôi là đi bộ đến tiệm rửa xe? Điều này thật điên rồ.

(tiếng cười)

Và trong phạm vi mà các mô hình này vẫn còn lởm chởm, đó là chỉ dấu rằng thứ nhất, có thể có gì đó hơi sai, hoặc thứ hai, bạn cần thực sự tham gia vào một chút — bạn cần đối xử với chúng như công cụ và theo dõi những gì chúng đang làm. Vậy nên toàn bộ bài viết của tôi về tính kiểm chứng, tóm lại, chỉ đơn giản là cố gắng hiểu tại sao những thứ này lại lởm chởm. Có mô hình nào không? Và tôi nghĩ đó là sự kết hợp nào đó của "có thể kiểm chứng" cộng với "phòng thí nghiệm quan tâm."

Thêm một giai thoại nữa mang tính chỉ dẫn: từ GPT-3.5 đến GPT-4, mọi người nhận thấy cờ vua cải thiện rất nhiều. Nhiều người nghĩ đó chỉ là sự tiến bộ năng lực bình thường thôi. Nhưng thực ra, tôi nghĩ — đây là thông tin công khai, tôi thấy trên internet — một lượng dữ liệu cờ vua rất lớn đã được đưa vào tập huấn luyện trước. Và chỉ vì nó nằm trong phân phối dữ liệu, mô hình đã cải thiện nhiều hơn nhiều so với mặc định. Vậy nên ai đó tại OpenAI đã quyết định thêm dữ liệu này, và bây giờ bạn có một năng lực đã đạt đỉnh nhiều hơn. Và đó là lý do tôi nhấn mạnh khía cạnh này: chúng ta đang hơi bị chi phối bởi bất cứ điều gì các phòng thí nghiệm đang làm, bất cứ điều gì họ đưa vào. Và bạn phải khám phá thứ họ cho bạn mà không có hướng dẫn sử dụng. Nó hoạt động trong một số bối cảnh, nhưng có thể không trong những bối cảnh khác. Nếu bạn ở trong các mạch đã là một phần của học tăng cường, bạn bay. Nếu bạn ở trong các mạch nằm ngoài phân phối dữ liệu, bạn sẽ vật lộn. Và nếu bạn không ở trong những mạch đó, thì bạn thực sự phải xem xét tinh chỉnh và làm một số công việc của riêng mình, vì LLM không nhất thiết sẽ cho bạn điều đó ngay từ đầu.


Lời Khuyên Cho Nhà Sáng Lập Và Tự Động Hóa

STEPHANIE: Tôi muốn nói đến khái niệm trí tuệ lởm chởm một chút nữa. Nếu bạn là một nhà sáng lập ngày nay đang nghĩ đến việc xây dựng một công ty — bạn đang cố gắng giải quyết một vấn đề mà bạn nghĩ là có thể thực hiện được, điều gì đó trong một lĩnh vực có thể kiểm chứng — nhưng bạn nhìn xung quanh và nghĩ, "Ôi trời ơi, các phòng thí nghiệm đã thực sự bắt đầu đạt vận tốc thoát trong những lĩnh vực rõ ràng nhất: toán học, code, và những thứ khác." Lời khuyên của ông cho các nhà sáng lập trong khán giả là gì?

ANDREJ: Vậy nên tôi nghĩ điều đó có thể quay lại câu hỏi trước. Tính kiểm chứng làm cho một thứ gì đó có thể thực hiện trong mô thức hiện tại vì bạn có thể ném một lượng học tăng cường khổng lồ vào nó. Vậy nên có thể một cách để nhìn nhận là điều này vẫn đúng ngay cả khi các phòng thí nghiệm không tập trung trực tiếp vào nó. Nếu bạn ở trong một môi trường có thể kiểm chứng nơi bạn có thể tạo ra những môi trường RL hay ví dụ, điều đó thực sự thiết lập cho bạn để tiềm năng thực hiện tinh chỉnh của riêng mình, và bạn có thể hưởng lợi từ điều đó. Nhưng đó là công nghệ về cơ bản chỉ hoạt động — bạn có thể kéo một đòn bẩy nếu bạn có một lượng lớn các bộ dữ liệu đa dạng và môi trường RL. Tôi không muốn nói quá rõ câu trả lời, nhưng có một số ví dụ về điều này mà tôi nghĩ rất có giá trị.

STEPHANIE: Mặt khác, điều gì ông nghĩ vẫn chỉ có vẻ có thể tự động hóa từ xa?

ANDREJ: Tôi nghĩ cuối cùng hầu hết mọi thứ đều có thể được làm cho kiểm chứng được ở một mức độ nào đó — một số thứ dễ hơn những thứ khác. Bởi vì ngay cả với những thứ như viết lách, bạn có thể tưởng tượng có một hội đồng các thẩm phán LLM và có thể nhận được điều gì đó hợp lý từ cách tiếp cận đó. Vậy nên vấn đề là cái gì dễ hay khó. Cuối cùng tôi nghĩ...

Tất cả mọi thứ.

(tiếng cười)

Tất cả mọi thứ đều có thể tự động hóa.


Từ Vibe Coding Đến Kỹ Thuật Tác Nhân

STEPHANIE: Tuyệt vời. Vậy thì năm ngoái ông đã đặt ra thuật ngữ "vibe coding", và hôm nay chúng ta đang ở trong một thế giới có vẻ nghiêm túc hơn một chút — kỹ thuật tác nhân. Ông nghĩ sự khác biệt giữa hai điều là gì, và ông thực sự sẽ gọi những gì chúng ta đang ở hôm nay là gì?

ANDREJ: Vâng. Vậy nên tôi sẽ nói rằng vibe coding là về việc nâng cao nền tảng cho tất cả mọi người về những gì họ có thể làm trong phần mềm. Nền tảng nâng lên, mọi người đều có thể vibe-code bất cứ thứ gì — và điều đó thật tuyệt vời, đáng kinh ngạc. Nhưng sau đó tôi sẽ nói rằng kỹ thuật tác nhân là về việc bảo tồn thanh chất lượng của những gì đã tồn tại trước đây trong phần mềm chuyên nghiệp. Bạn không được phép đưa ra các lỗ hổng do vibe coding. Bạn vẫn chịu trách nhiệm về phần mềm của mình, giống như trước — nhưng bạn có thể đi nhanh hơn không? Và câu trả lời là: bạn có thể. Nhưng làm thế nào để làm điều đó đúng cách? Vậy nên với tôi, kỹ thuật tác nhân — tôi gọi nó như vậy vì tôi nghĩ nó là một loại ngành kỹ thuật. Bạn có những tác nhân này, là những thực thể lởm chởm. Chúng hơi không đáng tin cậy, hơi ngẫu nhiên, nhưng chúng cực kỳ mạnh mẽ. Câu hỏi là: làm thế nào để bạn phối hợp chúng để đi nhanh hơn mà không hy sinh thanh chất lượng? Và làm điều đó tốt và đúng đắn là lĩnh vực của kỹ thuật tác nhân. Vậy nên tôi coi chúng là khác nhau — một cái là về nâng cao nền tảng, và cái kia là về ngoại suy lên cao. Và những gì tôi thấy là có một trần rất cao về năng lực kỹ thuật tác nhân. Người ta từng nói về kỹ sư 10x. Tôi nghĩ điều này được khuếch đại nhiều hơn — 10x không phải là tốc độ tăng bạn đạt được. Dường như với tôi rằng những người giỏi điều này đạt đỉnh nhiều hơn 10x.

STEPHANIE: Tôi thực sự thích cách đóng khung đó. Khi Sam Altman đến AI Ascent năm ngoái, một điều đáng nhớ ông ấy nói là người ở các thế hệ khác nhau sử dụng ChatGPT khác nhau. Vậy nếu bạn ở tuổi 30, bạn dùng nó như thứ thay thế tìm kiếm Google. Nhưng nếu bạn ở tuổi thiếu niên, ChatGPT là cửa ngõ của bạn vào internet. Điều song song ở đây trong lập trình hôm nay là gì? Nếu chúng ta quan sát hai người code bằng Claude Code hoặc Codex — một người bạn coi là tầm thường với nó, và một người bạn coi là hoàn toàn AI-native — bạn sẽ mô tả sự khác biệt như thế nào?

ANDREJ: Ý tôi là, tôi nghĩ đó chỉ là cố gắng tận dụng tối đa các công cụ có sẵn, sử dụng tất cả các tính năng của chúng, đầu tư vào cài đặt của bạn. Giống như trước đây, các kỹ sư đã quen với việc tận dụng tối đa các công cụ họ sử dụng — dù là Vim hay VS Code, hay bây giờ là Claude Code hay Codex. Vậy nên chỉ là đầu tư vào cài đặt của bạn và sử dụng nhiều công cụ có sẵn.

Tôi nghĩ một suy nghĩ liên quan là nhiều người có thể đang tuyển dụng cho điều này ngay bây giờ, vì họ muốn tuyển dụng các kỹ sư tác nhân mạnh. Những gì tôi thấy là hầu hết mọi người vẫn chưa tái cấu trúc quy trình tuyển dụng của họ cho năng lực kỹ thuật tác nhân. Nếu bạn đang đưa ra các câu đố để giải, đây vẫn là mô thức cũ. Tôi sẽ nói rằng tuyển dụng cho điều này phải trông như: cho tôi một dự án thực sự lớn và xem ai đó triển khai nó. Chẳng hạn, viết một Twitter clone — cho tác nhân — và sau đó làm cho nó thực sự tốt, thực sự an toàn. Rồi có một số tác nhân mô phỏng hoạt động trên Twitter clone này. Và rồi tôi sẽ dùng 10 Codex agents để cố phá vỡ trang web bạn đã triển khai. Họ sẽ cố phá vỡ nó, và họ không nên có thể làm được. Có lẽ nó trông như vậy, đúng không? Quan sát mọi người trong bối cảnh đó, xây dựng các dự án lớn hơn, sử dụng công cụ — đó có thể là những gì tôi sẽ xem xét.

STEPHANIE: Và khi các tác nhân làm nhiều hơn, kỹ năng con người nào bạn nghĩ trở nên có giá trị hơn, không phải ít hơn?

ANDREJ: Vâng, đó là câu hỏi hay. Ngay bây giờ, câu trả lời là các tác nhân giống như những thực thể thực tập sinh. Đáng chú ý — bạn về cơ bản vẫn phải chịu trách nhiệm về thẩm mỹ, phán đoán, thị hiếu, và một chút giám sát. Có lẽ một trong những ví dụ yêu thích của tôi về sự kỳ lạ của tác nhân là với MenuGen: bạn đăng ký bằng tài khoản Google, nhưng bạn mua credits bằng tài khoản Stripe. Cả hai đều có địa chỉ email. Và tác nhân của tôi thực sự đã cố — khi bạn mua credits, nó gán chúng bằng cách dùng địa chỉ email từ Stripe để khớp với tài khoản Google. Như là, không có user ID cố định mà nó cố gắng khớp; nó đang cố gắng khớp địa chỉ email. Nhưng bạn có thể dùng địa chỉ email khác cho Stripe và Google của mình, và về cơ bản nó sẽ không liên kết được các khoản tiền. Và đây là loại điều tác nhân vẫn còn mắc lỗi — tại sao bạn lại dùng địa chỉ email để cố gắng tương quan chéo các khoản tiền? Chúng có thể là tùy ý. Bạn có thể dùng email khác nhau. Đây là điều thực sự kỳ lạ cần làm.

Vậy nên tôi nghĩ mọi người phải chịu trách nhiệm về đặc tả, kế hoạch. Và tôi thực sự không thích "plan mode" — ý tôi là, rõ ràng nó rất hữu ích, nhưng tôi nghĩ có điều gì đó tổng quát hơn ở đây nơi bạn phải làm việc với tác nhân của mình để thiết kế một đặc tả rất chi tiết. Có thể đó về cơ bản là các tài liệu — để tác nhân viết chúng, và bạn chịu trách nhiệm về việc giám sát và các danh mục cấp cao nhất, nhưng các tác nhân đang làm nhiều công việc bên dưới. Và vì vậy bạn không quan tâm đến một số chi tiết. Ví dụ, với arrays hay tensors trong mạng thần kinh — có rất nhiều chi tiết giữa PyTorch và NumPy và tất cả các chi tiết API nhỏ khác nhau, như với pandas và vân vân. Và tôi đã quên những thứ như "keepdims" hay "keep_dim", hay đó là "dim" hay "axis", hay "reshape" hay "permute" hay "transpose" — tôi không nhớ những thứ này nữa, vì bạn không cần. Đây là loại chi tiết được xử lý bởi thực tập sinh, vì chúng có khả năng nhớ rất tốt. Nhưng bạn vẫn phải biết, ví dụ, rằng có một tensor bên dưới, có một view bên dưới, và bạn có thể thao tác view của cùng một storage hay bạn có thể có storage khác nhau — điều đó kém hiệu quả hơn — và vì vậy bạn vẫn phải hiểu những gì thứ này đang làm ở mức cơ bản, để bạn không sao chép bộ nhớ xung quanh một cách không cần thiết. Nhưng các chi tiết của API bây giờ được chuyển giao. Vậy nên bạn đang chịu trách nhiệm về thị hiếu, kỹ thuật, thiết kế — đảm bảo nó có ý nghĩa, yêu cầu đúng thứ, nói "những thứ này phải là ID người dùng độc đáo mà chúng ta sẽ gắn mọi thứ vào đó." Bạn đang làm thiết kế và định hướng, và các tác nhân đang điền vào chỗ trống. Đó là nơi chúng ta đang ở hiện tại.

STEPHANIE: Bạn có nghĩ có khả năng rằng thị hiếu và phán đoán này sẽ quan trọng ít đi theo thời gian không, hay trần sẽ cứ tiếp tục nâng lên?

ANDREJ: Vâng, đó là câu hỏi hay. Ý tôi là, tôi hy vọng nó cải thiện. Tôi nghĩ có lẽ lý do nó không cải thiện ngay bây giờ là, một lần nữa, nó không phải là một phần của học tăng cường. Có lẽ không có chi phí hay phần thưởng thẩm mỹ, hay nó không đủ tốt, hay điều gì đó như vậy. Và tôi nghĩ khi bạn thực sự nhìn vào code, đôi khi tôi có một cơn hoảng loạn nhỏ vì nó không phải là code siêu tuyệt vời nhất thiết luôn luôn — nó rất cồng kềnh, có rất nhiều copy-paste, có những abstractions lạ kỳ giòn. Nó hoạt động, nhưng nó thực sự xấu. Và tôi hy vọng điều này có thể cải thiện trong các mô hình tương lai.

Một ví dụ hay cũng là dự án microGPT, nơi tôi đang cố gắng đơn giản hóa việc huấn luyện LLM để đơn giản nhất có thể. Các mô hình ghét điều này. Chúng không thể làm được. Tôi cứ cố gắng nhắc nhở LLM "đơn giản hóa thêm, đơn giản hóa thêm", và nó chỉ không thể. Bạn cảm thấy như mình đang ở ngoài các mạch học tăng cường. Nó cảm thấy như nhổ răng — không phải tốc độ ánh sáng. Vậy nên tôi nghĩ mọi người vẫn còn chịu trách nhiệm về điều này. Nhưng tôi nghĩ không có gì cơ bản ngăn nó cải thiện. Các phòng thí nghiệm chỉ chưa làm điều đó.

STEPHANIE: Vâng. Vậy nên tôi muốn quay lại ý tưởng về các hình thức trí tuệ lởm chởm này. Ông đã viết một chút về điều này trong một bài khá gây tranh luận về động vật so với ma — ý tưởng rằng chúng ta không xây dựng động vật, chúng ta đang triệu hồi ma. Đây là những hình thức trí tuệ lởm chởm được định hình bởi dữ liệu và hàm phần thưởng, nhưng không bởi động lực nội tại, niềm vui, sự tò mò, hay sự trao quyền — những thứ xuất hiện qua tiến hóa. Tại sao cách đóng khung đó quan trọng, và nó thực sự thay đổi cách bạn xây dựng, triển khai, đánh giá, hay thậm chí tin tưởng chúng như thế nào?

ANDREJ: Vâng. Vậy nên tôi nghĩ lý do tôi viết về điều này là tôi đang cố gắng hiểu những thứ này là gì. Bởi vì nếu bạn có một mô hình tốt về những gì chúng là — hay không phải là — thì bạn sẽ có năng lực hơn trong việc sử dụng chúng. Và tôi không chắc liệu nó có thực sự có sức mạnh thực tiễn không.

(tiếng cười)

Tôi nghĩ đó là một chút triết học. Nhưng tôi nghĩ đó chỉ là chấp nhận thực tế rằng những thứ này không phải là trí tuệ động vật. Như là, nếu bạn quát tháo chúng, chúng không hoạt động tốt hơn hay tệ hơn — không có tác động gì. Và tất cả chỉ là loại các mạch mô phỏng thống kê nơi chất nền là huấn luyện trước — vậy nên thống kê — và rồi học tăng cường được gắn vào trên đó, thứ tăng cường các phần phụ. Và có lẽ đó chỉ là tư duy — về những gì tôi đang tiếp cận, hay những gì có khả năng hoạt động hay không hoạt động, hay cách để sửa đổi nó. Nhưng tôi thực sự không có "đây là năm kết quả rõ ràng về cách làm cho hệ thống của bạn tốt hơn." Đó chỉ là trạng thái nghi ngờ, và khám phá dần dần theo thời gian.


Tác Nhân Khắp Nơi Và Việc Học Hỏi

STEPHANIE: Đó là điểm khởi đầu. Được rồi, vậy nên ông đang rất sâu trong làm việc với các tác nhân không chỉ trò chuyện — chúng có quyền thực sự, chúng có ngữ cảnh cục bộ, chúng thực sự thực hiện hành động thay mặt bạn. Thế giới sẽ như thế nào khi tất cả chúng ta bắt đầu sống trong thế giới đó?

ANDREJ: Vâng. Tôi nghĩ nhiều người ở đây phấn khích về môi trường native tác nhân này trông như thế nào — và mọi thứ phải được viết lại. Mọi thứ vẫn về cơ bản được viết cho con người và phải được làm lại. Tôi vẫn dùng, hầu hết thời gian, khi tôi dùng các framework hay thư viện hay những thứ như vậy, các tài liệu về cơ bản được viết cho con người. Đây là điều tôi phàn nàn yêu thích nhất. Tại sao mọi người vẫn còn nói với tôi phải làm gì? Như là, tôi không muốn làm bất cứ điều gì. Đoạn văn bản nào để copy-paste cho tác nhân của tôi?

(tiếng cười)

Vậy nên, mỗi khi tôi được nói "hãy đến URL này" hay điều gì đó như vậy, nó chỉ là — ugh.

(tiếng cười)

Vậy nên mọi người đang phấn khích về cách chúng ta phân tách khối lượng công việc cần xảy ra thành về cơ bản các cảm biến trên thế giới, các cơ cấu trên thế giới. Làm thế nào để chúng ta làm cho nó native tác nhân? Về cơ bản mô tả mọi thứ cho tác nhân trước, và rồi có nhiều tự động hóa xung quanh các cấu trúc dữ liệu rất dễ đọc với LLMs. Vậy nên tôi hy vọng có nhiều cơ sở hạ tầng agent-first ở ngoài kia. Và cho MenuGen — nổi tiếng, khi tôi viết bài blog về MenuGen — rất nhiều rắc rối không phải là viết code cho MenuGen. Đó là triển khai nó trên Vercel, vì tôi phải làm việc với tất cả các dịch vụ khác nhau này, kết nối chúng, đi đến cài đặt và menu của chúng, cấu hình DNS của tôi — và nó thật phiền phức. Đó là ví dụ tốt về điều gì đó tôi hy vọng có thể thay đổi: tôi đưa một prompt cho LLM, "xây dựng MenuGen," và rồi không cần chạm vào bất cứ thứ gì, và nó được triển khai trên internet. Tôi nghĩ đó sẽ là thử nghiệm tốt về việc liệu cơ sở hạ tầng của chúng ta có ngày càng trở nên native tác nhân hơn không.

Và rồi cuối cùng, tôi nghĩ chúng ta đang hướng tới một thế giới nơi có đại diện tác nhân cho mọi người và tổ chức — tác nhân của tôi sẽ nói chuyện với tác nhân của bạn để tìm ra một số chi tiết cuộc họp của chúng ta hay những thứ như vậy.

(tiếng cười)

Tôi nghĩ đó là đại khái hướng mọi thứ đang đi. Nhưng vâng, tôi nghĩ mọi người ở đây đều hứng khởi về điều đó.

STEPHANIE: Tôi thực sự thích hình ảnh ẩn dụ về cảm biến và cơ cấu. Tôi thực sự chưa nghĩ đến điều đó trước đây.

ANDREJ: Đúng không?

STEPHANIE: Được rồi, tôi nghĩ chúng ta phải kết thúc với một câu hỏi về giáo dục. Bởi vì ông có lẽ là một trong những người giỏi nhất thế giới trong việc làm cho các khái niệm kỹ thuật phức tạp trở nên đơn giản, và ông đang suy nghĩ sâu sắc về cách chúng ta thiết kế giáo dục xung quanh nó. Điều gì vẫn còn đáng học sâu khi trí tuệ trở nên rẻ, khi chúng ta bước vào kỷ nguyên tiếp theo của AI?

ANDREJ: Vâng. Có một tweet đã thổi bay tâm trí tôi gần đây, và tôi cứ nghĩ về nó mỗi ngày. Nó đại khái là: "Bạn có thể thuê ngoài việc suy nghĩ của mình, nhưng bạn không thể thuê ngoài việc hiểu của mình." Và tôi nghĩ điều đó được nói rất hay. Bởi vì tôi vẫn là một phần của hệ thống, và thông tin vẫn phải đi vào não của tôi. Và tôi cảm thấy như mình đang trở thành một nút cổ chai — chỉ về mặt biết những gì chúng ta đang cố gắng xây dựng, tại sao nó đáng làm, làm thế nào để định hướng các tác nhân của mình, và vân vân. Vậy nên tôi vẫn nghĩ rằng có điều gì đó phải định hướng việc suy nghĩ và xử lý, và điều đó vẫn bị ràng buộc về cơ bản bởi sự hiểu biết. Và đây là một lý do tôi cũng rất hứng thú về LLM knowledge bases — vì tôi cảm thấy đó là cách để tôi xử lý thông tin. Và bất cứ khi nào tôi thấy một góc chiếu khác lên thông tin, tôi luôn cảm thấy như mình có được cái nhìn sâu sắc hơn. Đó thực sự chỉ là nhiều prompts để tôi tạo ra dữ liệu tổng hợp trên một số dữ liệu cố định. Tôi thực sự thích nó — bất cứ khi nào tôi đọc một bài báo, tôi có wiki của mình được xây dựng từ những bài báo này, và tôi thích hỏi câu hỏi về mọi thứ. Và tôi nghĩ cuối cùng đây là những công cụ để tăng cường sự hiểu biết. Và điều này vẫn là một loại nút cổ chai, vì bạn không thể là một đạo diễn tốt nếu các LLM chắc chắn không xuất sắc trong việc hiểu — bạn vẫn là người độc đáo chịu trách nhiệm về điều đó. Vậy nên vâng, tôi nghĩ các công cụ theo hướng đó đang cực kỳ thú vị và hứng khởi.

STEPHANIE: Tôi phấn khích được quay lại đây trong vài năm tới và xem liệu chúng ta có bị tự động hóa hoàn toàn ra khỏi vòng lặp hay không và các tác nhân thực sự đảm nhận cả sự hiểu biết. Cảm ơn ông rất nhiều khi tham gia cùng chúng tôi, Andrej. Chúng tôi thực sự trân trọng điều đó.

(tiếng vỗ tay)


Nguồn bản ghi chép: AI Ascent 2026, do Sequoia Capital tổ chức. Đã được chỉnh sửa để dễ đọc từ bản ghi âm giọng nói gốc.

Andrej Karpathy: From Vibe Coding to Agentic Engineering

Karpathy explains why he's never felt more behind as a programmer, why agentic engineering is a more serious discipline than vibe coding, and why we should think of LLMs not as animals but as ghosts.

From AI Ascent 2026, hosted by Sequoia Capital.
Guest: Andrej Karpathy — co-founder of OpenAI, former Head of A.I. at Tesla, founder of Eureka Labs.
Interviewer: Stephanie Zhan, Partner at Sequoia Capital.
Published: 2026




Introduction

STEPHANIE ZHAN: We are so excited for our very first special guest. He has helped build modern A.I., then explain modern A.I., and then occasionally rename modern A.I. He actually helped co-found OpenAI, right inside of this office. He was the one who got Autopilot working at Tesla back in the day, and he has a rare gift of making the most complex technical shifts feel both accessible and inevitable.

You all know him for having coined the term "vibe coding" last year, but just in the last few months he said something even more startling: that he's never felt more behind as a programmer. That's where we're starting today. Thank you, Andrej, for joining us.


I. Feeling Behind as a Coder

ANDREJ KARPATHY: Yeah. Hello. Excited to be here and to kick us off.

STEPHANIE: Okay. So just a couple of months ago, you said that you've never felt more behind as a programmer. That's startling to hear from you of all people. Can you help us unpack that? Was that feeling exhilarating or unsettling?

ANDREJ: Yeah, a mixture of both for sure. Well, first of all, I guess, like many of you, I've been using agentic tools — things like Claude Code, adjacent tools — for a while, maybe over the last year as they came out. And they were very good at, you know, chunks of code. Sometimes they would mess up and you'd have to edit them, and it was kind of helpful. Then I would say December was this clear inflection point. I was on a break, so I had a bit more time. I think many other people experienced something similar. I started to notice that with the latest models, the chunks just came out fine. And then I kept asking for more and it just came out fine. And then I couldn't remember the last time I'd corrected it. And then I just trusted the system more and more, and then I was vibe coding.

[laughter]

ANDREJ: And so it was kind of a — I do think it was a very stark transition. I think a lot of people... I tried to stress this on Twitter, or X, because I think a lot of people experienced A.I. last year as a ChatGPT-adjacent thing. But you really had to look again, as of December, because things changed fundamentally — especially on this agentic, coherent workflow, which really started to actually work. And so yeah, it was just that realization that had me go down this whole rabbit hole of just, you know, infinity side projects. My side projects folder is extremely full with lots of random things, and I'm just vibe coding all the time. So yeah, that kind of happened in December, I would say, and I've been looking at the repercussions of that ever since.


II. Software 3.0 Explained

STEPHANIE: You've talked a lot about this idea of LLMs as a new computer — that it isn't just better software, it's a whole new computing paradigm. Software 1.0 was explicit rules, software 2.0 was learned weights, software 3.0 is this. If that's actually true, what does a team build differently the day they actually believe this?

ANDREJ: Right. So, yeah, exactly. Software 1.0, I'm writing code. Software 2.0, I'm actually programming by creating data sets and training neural networks — so the programming is kind of like arranging data sets and maybe some objectives and neural network architectures. And then what happened is that basically, if you train one of these GPT models or LLMs on a sufficiently large set of tasks — implicitly, because by training on the internet you have to multitask all the things that are in the data set — these actually become kind of like a programmable computer in a certain sense. So software 3.0 is kind of about, you know, your programming now turns to prompting, and what's in the context window is your lever over the interpreter that is the LLM, which is kind of interpreting your context and performing computation in the digital information space. So I guess, yeah, that's kind of the transition. And I think there are a few examples that really drove it home for me.


III. Agents as the Installer

ANDREJ: For example, when Claude Code came out — when you want to install it, you would expect that normally this would be a bash script, a shell script. So you'd run the shell script to install Claude Code. But the thing is, in order to target lots of different platforms and lots of different types of computers, these shell scripts usually balloon up and become extremely complex. But you're still stuck in a software 1.0 universe of wanting to write the code. And actually, the Claude Code installation is a copy-paste of a bunch of text that you're supposed to give to your agent. So basically it's a little skill — you copy-paste this and give it to your agent, and it will install Claude Code. And the reason this is a lot more powerful is that you're now working in the software 3.0 paradigm, where you don't have to precisely spell out all the individual details of that setup. The agent has its own intelligence, it packages it up, it follows the instructions, looks at your environment and your computer, performs intelligent actions to make things work, debugs things in the loop — and it's just so much more powerful. So I think that's a very different kind of way of thinking about it: what is the piece of text to copy-paste to your agent? That's the programming paradigm now.


ANDREJ: One more example that comes to mind, that is even more extreme, is when I was building MenuGen. So MenuGen is this idea where you come to a restaurant, they give you a menu, there are no pictures usually. So I don't know what a lot of these things are — usually around thirty percent of items I have no idea what they are, sometimes fifty percent. So I wanted to take a photo of the restaurant menu and get pictures of what those dishes might look like in a generic sense. And so I built — I vibe-coded this app — that basically lets you upload a photo and does all this stuff. It runs on Vercel, rerenders the menu, gives you all the items, and uses an image generator to basically OCR all the different titles, get pictures of them, and show it to you. And then I saw the software 3.0 version of this, which blew my mind. It's literally just: take your photo, give it to Gemini, and say, "Use Nana Banana to overlay the dishes onto the menu." And Nana Banana returned an image that is exactly the picture of the menu that I took, but it actually put into the pixels rendered images of the different dishes in the menu. And this blew my mind, because all of my MenuGen is spurious. It's working in the old paradigm — that app shouldn't exist. And the software 3.0 paradigm is a lot more raw: your neural network is doing more and more of the work, your prompt or context is just the image, the output is an image, and there's no need to have any of the app in between.

ANDREJ: So I think people have to kind of reframe things — not to work in the existing paradigm of what things existed and just think of it as a speed-up of what already exists. It's actually that new things are available now. And going back to your programming question — that's also an example of working in the old mindset, because it's not just about programming becoming faster. This is more general information processing that is now automatable. So it's not even just about code. Previous code worked over structured data, right? But for example, with my LLM knowledge bases project — basically, you get LLMs to create wikis for your organization or for yourself personally — this is not even a program. This is not something that could have existed before, because there was no code that would create a knowledge base from a bunch of facts. But now you can just take these documents and basically recompile them in a different way, reorder them, and create something that is new and interesting as a reframing of the data. And so these are new things that weren't possible. I keep trying to get back to that question: not only what can we do that already existed but faster, but what are the new opportunities — things that couldn't be possible before? And I almost think that's even more exciting.


V. What's Obvious by 2026

STEPHANIE: I love the MenuGen progression and dichotomy that you laid out. I'm sure many folks here followed your own progression in programming from last October to early January and February of this year. If you extrapolate further — what is the 2026 equivalent of building websites in the '90s, building mobile apps in the 2010s, building SaaS in the last cloud era? What will look completely obvious in hindsight that is still mostly unbuilt today?

ANDREJ: Well, going with the example of MenuGen, a lot of this code shouldn't exist — it's just a neural network doing most of the work. I do think the extrapolation looks very weird because you could basically imagine... you could imagine completely neural computers in a certain sense. You feed raw video or audio into basically what's a neural net, and it uses diffusion to render a UI that is kind of unique for that moment. And I kind of feel like in the early days of computing, people were a little bit confused as to whether computers would look like calculators or whether computers would look like neural nets — in the '50s and '60s it was not really obvious which way it would go. And of course we went down the calculator path and ended up building classical computing. And then neural nets are currently running virtualized on existing computers. But you could imagine — I think — that a lot of this will flip, and that the neural net becomes kind of the host process and the CPUs become kind of the co-processor. So we saw the diagram of how intelligence compute for neural networks is going to take over and become the dominant spend of flops. You could imagine something really weird and foreign, where neural nets are doing most of the heavy lifting, using tool use as a kind of historical appendage for some deterministic tasks, but what's really running the show is these neural nets. You can imagine something extremely foreign as the extrapolation, but I think we're going to get there sort of piece by piece. And that progression is TBD, I would say.

[laughter]


VI. Verifiability and Jagged Skills

STEPHANIE: I'd like to talk a little bit about this concept of verifiability — the fact that A.I. will automate faster and more easily in domains where the output can be verified. If that framework is right, what work is about to move much faster than people realize? And what professions do people think are safe but are actually highly verifiable?

ANDREJ: Yes. So I spent some time writing about verifiability. Basically, traditional computers can easily automate what you can specify in code. And this latest round of LLMs can easily automate what you can verify — in a certain sense — because the way this works is that when frontier labs are training these LLMs, these are giant reinforcement learning environments. So they are given verification rewards, and because of the way these models are trained, they end up basically progressing and creating these jagged entities that really peak in capability in verifiable domains like math and code and adjacent areas — and kind of stagnate and are a little rough around the edges when things are not in that space.

So I think the reason I wrote about verifiability is that I'm trying to understand why these things are so jagged. And some of it has to do with how the labs train the models, but I think some of it also has to do with the focus of the labs and what they happen to put into the data distribution. Because some things are significantly more valuable in the economy and end up creating more environments because the labs wanted to work in those settings. Code is a good example of that. There are probably lots of verifiable environments they could think of that didn't make it into the mix because they're just not that useful to have capability around.

But I think the big mystery for me is — the favorite example for a while was: how many letters are in "strawberry"? And the models would famously get this wrong. That's an example of jaggedness. The models now patch that, I think. But the new one is: I want to go to a car wash to wash my car and it's 50 meters away — should I drive or should I walk? And state-of-the-art models today will tell you to walk because it's so close. How is it possible that state-of-the-art Opus 4.7 will simultaneously refactor a 100,000-line codebase or find zero-day vulnerabilities, and yet tells me to walk to this car wash? This is insane.

[laughter]

And to whatever extent these models remain jagged, it's an indication that, number one, maybe something is slightly off, or number two, you need to actually be in the loop a little bit — you need to treat them as tools and stay in touch with what they're doing. So all of my writing about verifiability, long story short, is just trying to understand why these things are jagged. Is there any pattern to it? And I think it's some kind of combination of "verifiable" plus "labs care."

The Chess Data Anecdote

Maybe one more anecdote that is instructive: from GPT-3.5 to GPT-4, people noticed that chess improved a lot. A lot of people thought, "Oh well, it's just a progression of capabilities." But actually, I think — this is public information, I saw it on the internet — a huge amount of chess data made it into the pre-training set. And just because it's in the data distribution, the model improved a lot more than it would by default. So someone at OpenAI decided to add this data, and now you have a capability that just peaked a lot more. And so that's why I'm stressing this dimension of it: we are slightly at the mercy of whatever the labs are doing, whatever they happen to put into the mix. And you have to explore this thing they give you that has no manual. It works in certain settings, but maybe not in others. And you have to kind of explore it a little bit. If you're in the circuits that were part of the reinforcement learning, you fly. If you're in the circuits that are out of the data distribution, you're going to struggle, and you have to figure out which circuits you're in for your application. And if you're not in those circuits, then you really have to look at fine-tuning and doing some of your own work, because it's not necessarily going to come out of the LLM out of the box.


VII. Founder Advice and Automation

STEPHANIE: I'd love to come back to the concept of jagged intelligence in a little bit. If you are a founder today thinking about building a company — you're trying to solve a problem that you think is tractable, something in a domain that is verifiable — but you look around and think, "Oh my gosh, the labs have really started getting to escape velocity in the ones that seem most obvious: math, coding, and others." What would your advice be to the founders in the audience?

ANDREJ: So I think maybe that comes back to the previous question. Verifiability makes something tractable in the current paradigm because you can throw a huge amount of reinforcement learning at it. So maybe one way to see it is that this remains true even if the labs are not focusing on it directly. If you are in a verifiable setting where you could create these RL environments or examples, that actually sets you up to potentially do your own fine-tuning, and you might benefit from that. But that is fundamentally technology that just works — you can pull a lever if you have a huge amount of diverse data sets and RL environments. You can use your favorite fine-tuning framework and pull the lever and get something that actually works pretty well. So I don't know exactly what the examples of this might be. But I do think there are some very valuable reinforcement learning environments that people could think of that are not part of the mix. Yeah, I don't want to give away the answer, but there is one domain that I think is very — oh, okay. Sorry, I don't mean to vague-post on stage, but there are some examples of this.

STEPHANIE: On the flip side, what do you think still feels automatable only from a distance?

ANDREJ: I do think that ultimately almost everything can be made verifiable to some extent — some things easier than others. Because even for things like writing, you can imagine having a council of LLM judges and probably get something reasonable out of that kind of approach. So it's more about what's easy or hard. I do think that ultimately...

Everything.

[laughter]

Everything is automatable.


VIII. From Vibe Coding to Agentic Engineering

STEPHANIE: Amazing. Okay. So last year you coined the term "vibe coding," and today we're in a world that feels a little bit more serious — more agentic engineering. What do you think is the difference between the two, and what would you actually call what we're in today?

ANDREJ: Yeah. So I would say vibe coding is about raising the floor for everyone in terms of what they can do in software. The floor rises, everyone can vibe-code anything — and that's amazing, incredible. But then I would say agentic engineering is about preserving the quality bar of what existed before in professional software. You're not allowed to introduce vulnerabilities due to vibe coding. You're still responsible for your software, just as before — but can you go faster? And the spoiler is: you can. But how do you do that properly? So to me, agentic engineering — I call it that because I do think it's kind of an engineering discipline. You have these agents, which are these spiky entities. They're a bit fallible, a little stochastic, but they are extremely powerful. The question is: how do you coordinate them to go faster without sacrificing your quality bar? And doing that well and correctly is the realm of agentic engineering. So I kind of see them as different — one is about raising the floor, and the other is about extrapolating upward. And what I'm seeing is that there is a very high ceiling on agentic engineering capability. People used to talk about the 10x engineer. I think this is magnified a lot more — 10x is not the speed-up you gain. It does seem to me like people who are very good at this peak a lot more than 10x, from my perspective right now.

What A.I.-Native Coding Actually Looks Like

STEPHANIE: I really like that framing. One thing — when Sam Altman came to AI Ascent last year, one memorable thing he said was that people of different generations use ChatGPT differently. So if you're in your 30s, you use it as a Google search replacement. But if you're in your teens, ChatGPT is your gateway to the internet. What is the parallel here in coding today? If we were to watch two people code using Claude Code or Codex — one you'd consider mediocre at it, and one you would consider fully A.I.-native — how would you describe the difference?

ANDREJ: [clears throat] I mean, I think it's just trying to get the most out of the tools that are available, utilizing all of their features, investing in your own setup. Just like previously, engineers were used to basically getting the most out of the tools they use — whether it's Vim or VS Code, or now it's Claude Code or Codex or so on. So just investing in your setup and utilizing a lot of the tools that are available to you. And I think it kind of looks like that.

I do think a related thought is that a lot of people are maybe hiring for this right now, because they want to hire strong agentic engineers. What I'm seeing is that most people have still not refactored their hiring process for agentic engineering capability. Like, if you're giving out puzzles to solve, this is still the old paradigm. I would say that hiring for this has to look like: give me a really big project and see someone implement it. Let's say, write a Twitter clone — for agents — and then make it really good, make it really secure. Then have some agents simulate some activity on this Twitter clone. And then I'm going to use 10 Codex agents to try to break the website that you deployed. They're going to try to basically break it, and they should not be able to break it. Maybe it looks like that, right? Watching people in that setting, building bigger projects, utilizing the tooling — that's maybe what I would look at, for the most part.

The Intern Problem — Taste, Judgment, and Oversight

STEPHANIE: And as agents do more, what human skill do you think becomes more valuable, not less?

ANDREJ: So, yeah, it's a good question. Right now, the answer is that the agents are kind of like these intern entities. It's remarkable — you basically still have to be in charge of the aesthetics, the judgment, the taste, and a little bit of oversight. Maybe one of my favorite examples of the weirdness of agents is with MenuGen: you sign up with a Google account, but you purchase credits using a Stripe account. Both of them have email addresses. And my agent actually tried to — when you purchase credits, it assigned them using the email address from Stripe to the Google account. Like, there wasn't a persistent user ID that it was trying to match up; it was trying to match up email addresses. But you could use a different email address for your Stripe and your Google, and it basically would not associate the funds. And so this is the kind of thing that agents still make mistakes about — like, why would you use email addresses to try to cross-correlate the funds? They can be arbitrary. You can use different emails. This is such a weird thing to do.

So I think people have to be in charge of the spec, the plan. And I actually don't even like "plan mode" — I mean, obviously it's very useful, but I think there's something more general here where you have to work with your agent to design a spec that is very detailed. Maybe it's basically the docs — get the agents to write them, and you're in charge of the oversight and the top-level categories, but the agents are doing a lot of the work under the hood. And so you're not caring about some of the details. As an example, with arrays or tensors in neural networks — there's a ton of details between PyTorch and NumPy and all the different little API details with pandas and so on. And I've already forgotten things like keepdims versus keep_dim, or whether it's dim or axis, or reshape or permute or transpose — I don't remember this stuff anymore, because you don't have to. This is the kind of detail that's handled by the intern, because they have very good recall. But you still have to know, for example, that there's an underlying tensor, there's an underlying view, and you can manipulate the view of the same storage or you can have different storage — which would be less efficient — and so you still have to understand what this stuff is doing at a fundamental level, so that you're not copying memory around unnecessarily. But the details of the APIs are now handed off. So you're in charge of the taste, the engineering, the design — making sure it makes sense, asking for the right things, saying "these have to be unique user IDs that we're going to tie everything to." You're doing the design and direction, and the agents are doing the fill-in-the-blanks. That's currently kind of where we are, and I think that's what everyone is seeing.

Animals vs. Ghosts — What Kind of Thing Is an LLM?

STEPHANIE: Do you think there's a chance that this taste and judgment matters less over time, or will the ceiling just keep rising?

ANDREJ: Yeah, it's a good question. I mean, I'm hoping that it improves. I think probably the reason it doesn't improve right now is, again, it's not part of the RL. There's probably no aesthetics cost or reward, or it's not good enough, or something like that. And I do think that when you actually look at the code, sometimes I get a little bit of a heart attack because it's not like super amazing code necessarily all the time — it's very bloated, there's a lot of copy-paste, there are awkward abstractions that are brittle. It works, but it's just really gross. And I do hope that this can improve in future models.

A good example also is this microGPT project, where I was trying to simplify LLM training to be as simple as possible. The models hate this. They can't do it. I kept trying to prompt an LLM to "simplify more, simplify more," and it just can't. You feel like you're outside of the RL circuits. It feels like you're pulling teeth — it's not light-speed. So I do think that people still remain in charge of this. But I do think that there's nothing fundamental preventing it from improving. It's just that the labs haven't done it yet, almost.

STEPHANIE: Yeah. So I'd love to come back to this idea of jagged forms of intelligence. You wrote a little bit about this in a very thought-provoking piece around animals versus ghosts — the idea that we're not building animals, we are summoning ghosts. These are jagged forms of intelligence shaped by data and reward functions, but not by intrinsic motivation, fun, curiosity, or empowerment — things that came about via evolution. Why does that framing matter, and what does it actually change about how you build, deploy, evaluate, or even trust them?

ANDREJ: Yeah. So I think the reason I wrote about this is that I'm trying to wrap my head around what these things are. Because if you have a good model of what they are — or are not — then you're going to be more competent at using them. And I do think that... I'm not sure if it actually has real practical power.

[laughter]

I think it's a little bit of philosophizing. But I do think it's just coming to terms with the fact that these things are not animal intelligences. Like, if you yell at them, they're not going to work better or worse — it doesn't have any impact. And it's all just kind of like statistical simulation circuits where the substrate is pre-training — so statistics — and then RL is bolted on top, which kind of increases the appendages. And maybe it's just a mindset — of what I'm coming into, or what's likely to work or not likely to work, or how to modify it. But I don't actually have "here are the five obvious outcomes of how to make your system better." It's more just being suspicious of it, and figuring things out over time.


IX. Agents Everywhere and Learning

STEPHANIE: That's where it starts. Okay, so you are so deep in working with agents that don't just chat — they have real permissions, they have local context, they actually take action on your behalf. What does the world look like when we all start to live in that world?

ANDREJ: Yeah. I think a lot of people here are excited about what this agent-native environment looks like — and everything has to be rewritten. Everything is still fundamentally written for humans and has to be reworked. I still use, most of the time, when I use different frameworks or libraries or things like that, docs that are fundamentally written for humans. This is my favorite pet peeve. Why are people still telling me what to do? Like, I don't want to do anything. What is the thing I should copy-paste to my agent?

[laughter]

So it's just — every time I'm told, you know, "go to this URL" or something like that, it's just like — ugh.

[laughter]

So everyone is excited about how do we decompose the workloads that need to happen into fundamentally sensors over the world, actuators over the world. How do we make it agent-native? Basically describe things to agents first, and then have a lot of automation around data structures that are very legible to LLMs. So I'm hoping that there's a lot of agent-first infrastructure out there. And for MenuGen — famously, when I wrote the blog post about MenuGen — a lot of the trouble was not even writing the code for MenuGen. It was deploying it on Vercel, because I had to work with all these different services, string them up, go to their settings and menus, configure my DNS — and it was just so annoying. That's a good example of something I would hope could change: I give a prompt to an LLM, "build MenuGen," and then don't have to touch anything, and it's deployed on the internet. I think that would be a good test of whether our infrastructure is becoming more and more agent-native.

And then ultimately, I do think we're going towards a world where there's agent representation for people and for organizations — I'll have my agent talk to your agent to figure out some of the details of our meetings or things like that.

[laughter]

I do think that's roughly where things are going. But yeah, I think everyone here is excited about that.

What Still Remains Worth Learning Deeply

STEPHANIE: I really like the visual analogy of sensors and actuators. I actually hadn't thought of that. That's super interesting.

ANDREJ: Right?

STEPHANIE: Okay, I think we have to end on a question about education. Because you are probably one of the very best in the world at making complex technical concepts simple, and you are deeply thoughtful about how we design education around it. What still remains worth learning deeply when intelligence gets cheap, as we move into the next era of A.I.?

ANDREJ: Yeah. There was a tweet that blew my mind recently, and I keep thinking about it every other day. It was something along the lines of: "You can outsource your thinking, but you can't outsource your understanding." And I think that's really nicely put. Because I'm still part of the system, and information still has to make it into my brain. And I feel like I'm becoming a bottleneck — just in terms of knowing what we're trying to build, why it's worth doing, how to direct my agents, and so on. So I do still think that something has to direct the thinking and the processing, and that's still kind of fundamentally constrained by understanding. And this is one reason I was also very excited about LLM knowledge bases — because I feel like that's a way for me to process information. And any time I see a different projection onto information, I always feel like I gain insight. It's really just a lot of prompts for me to do synthetic data generation over some fixed data. I really enjoy it — whenever I read an article, I have my wiki being built up from these articles, and I love asking questions about things. And I think that ultimately these are tools to enhance understanding. And this is still kind of a bottleneck, because you can't be a good director if the LLMs certainly don't excel at understanding — you are still uniquely in charge of that. So yeah, I think tools to that effect are incredibly interesting and exciting.

STEPHANIE: I'm excited to be back here in a couple of years and to see if we've been fully automated out of the loop and they actually take care of understanding as well. Thank you so much for joining us, Andrej. We really appreciate it.

[applause]


Transcript source: AI Ascent 2026, hosted by Sequoia Capital. Edited for readability from the original speech-to-text recording.