The speaker discusses how to effectively use AI as a pair programmer, emphasizing the importance of trust and verification to scale agent-assisted coding. AI is best used as a pair programming partner, not as a tool to replace coding or outsource thinking. Using AI can save time writing code but often increases time spent reviewing and correcting AI output. Trust is crucial when working with AI agents; without trust, engineers micromanage and cannot scale to many agents. Verification—allowing agents to run code and test it—is the most important skill for building trust in AI agents. The speaker's journey shows increasing trust in agents over five months, leading to high productivity (e.g., 1000 PRs in a month).
Diễn giả thảo luận về cách sử dụng AI hiệu quả như một lập trình viên cặp, nhấn mạnh tầm quan trọng của tin cậy và xác minh để mở rộng quy mô lập trình được hỗ trợ bởi tác nhân. AI được sử dụng tốt nhất như một đối tác lập trình cặp, không phải như một công cụ thay thế việc viết mã hoặc thuê ngoài suy nghĩ. Sử dụng AI có thể tiết kiệm thời gian viết mã nhưng thường làm tăng thời gian xem xét và sửa chữa đầu ra của AI. Tin cậy là rất quan trọng khi làm việc với các tác nhân AI; nếu không có tin cậy, các kỹ sư sẽ quản lý vi mô và không thể mở rộng quy mô cho nhiều tác nhân. Xác minh—cho phép tác nhân chạy mã và kiểm tra nó—là kỹ năng quan trọng nhất để xây dựng tin cậy vào các tác nhân AI. Hành trình của diễn giả cho thấy sự tin cậy ngày càng tăng vào các tác nhân trong năm tháng, dẫn đến năng suất cao (ví dụ: 1000 PR trong một tháng).
Um, personally I think that, uh, the best use of you of AI is really as, like, a, like, a pair, like, someone you pair programming with, and not someone as, not, not a, not a tool to just replace the act of writing code or, worse, outsourcing your thinking.
Ừm, cá nhân tôi nghĩ rằng, ờ, cách sử dụng AI tốt nhất thực sự là như một, kiểu như, một cặp, kiểu như một người mà bạn lập trình cặp với, chứ không phải là một người, không, không phải một công cụ chỉ để thay thế hành động viết mã hay, tệ hơn, là thuê ngoài tư duy của bạn.
And I think there's a tendency, like, you know, because AI is so exciting, you want to put AI everywhere and be seen as someone who's very, you know, um, what do you call it?
Và tôi nghĩ có một xu hướng, kiểu như, bạn biết đấy, vì AI quá thú vị, bạn muốn đặt AI ở khắp mọi nơi và được nhìn nhận như một người rất, bạn biết đấy, ừm, bạn gọi nó là gì nhỉ?
Like, uh, on the ball, I guess, with AI.
Kiểu như, ờ, nhanh nhạy, tôi đoán vậy, với AI.
Uh, that you feel this pressure of, like, you know, I'm just going to, I got to increase my productivity.
Ờ, rằng bạn cảm thấy áp lực kiểu như, bạn biết đấy, tôi chỉ cần, tôi phải tăng năng suất của mình lên.
I got to ship, like, 100 PRs this week and barely understand what I'm
Tôi phải gửi, kiểu như, 100 PR trong tuần này và hầu như không hiểu mình đang
doing and, you know, vive code my way to a million ARR or whatever.
Làm gì và, bạn biết đấy, cứ thế vibe code để đạt được một triệu ARR hay gì đó.
Um, but I think, you know, um, one of the things that I've personally seen is that although when I use AI I save some time, you know, writing the code, I actually find myself spending more time reviewing what the AI did and, like, correcting it.
Ừm, nhưng tôi nghĩ, bạn biết đấy, ừm, một trong những điều mà cá nhân tôi đã thấy là mặc dù khi tôi dùng AI tôi tiết kiệm được chút thời gian, bạn biết đấy, khi viết mã, tôi thực sự thấy mình dành nhiều thời gian hơn để xem xét những gì AI đã làm và, kiểu như, sửa lại nó.
So, you know, like, I've, I've tried the, the thing that a lot of people say, like, you know, you, uh, instead of prompting an AI to just build the feature outright, you sort of get it to, uh, build a spec for you first, then you review that spec, and then you do this whole thing, then it's like, - uh, okay.
Nên, bạn biết đấy, kiểu như, tôi đã, tôi đã thử cái điều mà nhiều người nói, kiểu như, bạn biết đấy, bạn, ờ, thay vì nhắc AI xây dựng thẳng tính năng đó, bạn kiểu như để nó, ờ, xây dựng một bản đặc tả cho bạn trước, rồi bạn xem xét bản đặc tả đó, rồi bạn làm toàn bộ quy trình đó, rồi nó kiểu như, - ờ, được thôi.
So, I assume you can see my screen.
Vậy, tôi giả sử bạn có thể thấy màn hình của tôi.
- Yes.
- Vâng.
Yeah, we're good.
Ừ, chúng ta ổn.
clears throat So yeah, today, yeah, I think, I think the big theme for me as I've been using agents to write code, and I'm sure a lot of you have had the same experience as well, is how do you trust it?
[hắng giọng] Vậy ừ, hôm nay, ừ, tôi nghĩ, tôi nghĩ chủ đề lớn đối với tôi khi tôi dùng các agent để viết mã, và tôi chắc nhiều bạn cũng đã có trải nghiệm tương tự, là làm sao để bạn tin tưởng nó?
You know, especially if you are an engineer that's been writing code for a very long time.
Bạn biết đấy, đặc biệt nếu bạn là một kỹ sư đã viết mã trong một thời gian rất dài.
You have a lot of opinions and lessons that you've learned about doing good engineering.
Bạn có rất nhiều quan điểm và bài học mà bạn đã rút ra về việc làm kỹ thuật tốt.
And when you see agents just, you know, winging it and, you know, guessing, hallucinating, uh, you know, confidently stating that they found the smoking gun, uh, for the hundth time, uh, but it's actually not the real problem.
Và khi bạn thấy các agent chỉ, bạn biết đấy, làm tùy hứng và, bạn biết đấy, đoán mò, ảo giác, ờ, bạn biết đấy, tự tin tuyên bố rằng chúng đã tìm ra bằng chứng quyết định, ờ, đến lần thứ một trăm, ờ, nhưng thực ra đó không phải là vấn đề thật sự.
You lose a lot of trust.
Bạn mất rất nhiều niềm tin.
And when you lose, when you don't
Và khi bạn mất, khi bạn không
have much trust clears throat in your agents, I feel like you really can't get the most out of them.
Có nhiều niềm tin [hắng giọng] vào các agent của mình, tôi cảm thấy bạn thực sự không thể tận dụng tối đa chúng.
And for me, the parallel is like with management.
Và với tôi, sự tương đồng là với việc quản lý.
Uh, so if I'm an, a manager, an engineering manager of a team, and I have a bunch of, you know, I have a team of engineers, uh, on my team, and I don't trust them, then the mode of operation I'm going to be in is going to be like micromanagement,
Ờ, nên nếu tôi là một, một quản lý, một quản lý kỹ thuật của một nhóm, và tôi có một loạt, bạn biết đấy, tôi có một nhóm kỹ sư, ờ, trong nhóm của tôi, và tôi không tin tưởng họ, thì chế độ vận hành mà tôi sẽ ở trong đó sẽ kiểu như quản lý vi mô,
right, I'll have to spend a lot of time looking over my reports' shoulders and checking that they're doing their work well, you know, that they're not shipping bugs to production.
Đúng không, tôi sẽ phải dành nhiều thời gian nhìn qua vai các nhân viên của mình và kiểm tra rằng họ đang làm việc tốt, bạn biết đấy, rằng họ không đẩy bug lên production.
And so I drew this chart because, uh, it's, it's not, it's not a very scientific chart, but, like, this is how I imagine myself and my journey through using agents.
Và thế là tôi vẽ biểu đồ này vì, ờ, nó, nó không, nó không phải là một biểu đồ khoa học lắm, nhưng, kiểu như, đây là cách tôi hình dung về bản thân và hành trình của mình qua việc sử dụng các agent.
So, you know, like, fast forward or
Nên, bạn biết đấy, kiểu như, tua nhanh về phía trước hoặc
back forward, uh, or fast back, uh, fast backwards, like, a year or so when, you know, nobody was, or not many people were using agents to code.
Tới trước, ờ, hoặc tua nhanh về sau, ờ, tua ngược nhanh, kiểu như, khoảng một năm trước khi, bạn biết đấy, không ai, hoặc không nhiều người dùng agent để viết mã.
Uh, I think you, uh, you know, get into this mode where you are in very heavily in the loop with one or several, like, a handful of agents, and you find yourself just constantly fig, uh, you know, trying to understand what your agents are doing, uh, and you're very
Ờ, tôi nghĩ bạn, ờ, bạn biết đấy, rơi vào chế độ này khi bạn ở rất sâu trong vòng lặp với một hoặc vài, kiểu như, một số ít agent, và bạn thấy mình cứ liên tục, ờ, bạn biết đấy, cố gắng hiểu các agent của mình đang làm gì, ờ, và bạn rất
in loop.
Trong vòng lặp.
You're watching every single output.
Bạn đang xem từng kết quả đầu ra.
You are sitting there prompting, um, and you really can't parallelize beyond that because you don't, again, you don't have that trust, right?
Bạn ngồi đó nhắc lệnh, ừm, và bạn thực sự không thể song song hóa vượt quá mức đó vì bạn không, một lần nữa, bạn không có niềm tin đó, đúng không?
You can't go to a 100 agents, uh, like, spawn 100 agents when you don't even trust the output of one agent.
Bạn không thể đi đến 100 agent, ờ, kiểu như, tạo ra 100 agent khi bạn còn không tin tưởng kết quả đầu ra của một agent.
So over the past 5 months, I feel like I've really been able to, uh, like, ascend this trust curve, and now I'm at the
Nên trong 5 tháng qua, tôi cảm thấy mình thực sự đã có thể, ờ, kiểu như, vượt lên trên đường cong niềm tin này, và giờ tôi đang ở
point where, uh, I actually have this, sounds kind of scary to say, and it makes me sound like a slop artist, but I, I promise I'm not.
Điểm mà, ờ, tôi thực sự có cái này, nghe hơi đáng sợ khi nói ra, và nó khiến tôi nghe như một kẻ làm nội dung rác, nhưng tôi, tôi hứa là tôi không phải vậy.
But I actually have my agents now, um, autoemerging PRs for me.
Nhưng tôi thực sự có các agent của mình bây giờ, ừm, tự động hợp nhất PR cho tôi.
Uh, which is like a wild thing to say, but, um, like, I woke up today and there were like 20 PRs landed and I just reviewed them on main, like, they were already landed and they were good.
Ờ, điều đó thật hoang đường khi nói ra, nhưng, ừm, kiểu như, tôi thức dậy hôm nay và có kiểu như 20 PR đã được hợp nhất và tôi chỉ xem xét chúng trên main, kiểu như, chúng đã được hợp nhất rồi và chúng tốt.
Uh, so
Ờ, vậy
how did I get to that point is basically what I wanted to talk about today.
Làm sao tôi đến được điểm đó về cơ bản là điều tôi muốn nói hôm nay.
Uh, and again, like, yeah, feel free to jump in if you have questions.
Ờ, và một lần nữa, kiểu như, ừ, cứ thoải mái tham gia nếu bạn có câu hỏi.
Colon.
Dấu hai chấm.
Um, but, uh, oh yeah, of course I got to show this, this chart.
Ừm, nhưng, ờ, ồ đúng rồi, tất nhiên tôi phải cho xem cái này, biểu đồ này.
laughter Uh, where, uh, no, do not trust to someone requested to control my computer.
[tiếng cười] Ờ, ở đó, ờ, không, đừng tin tưởng ai đó yêu cầu điều khiển máy tính của tôi.
Uh, I probably won't do that.
Ờ, tôi có lẽ sẽ không làm thế.
Uh, but yeah, so this chart, I think I'm, I'm sharing this chart not to kind of, like, flex, but to kind of show, like, the journey, like, so you can see
Ờ, nhưng ừ, vậy biểu đồ này, tôi nghĩ tôi, tôi chia sẻ biểu đồ này không phải để kiểu như, khoe khoang, mà để kiểu như cho thấy, kiểu như, hành trình, kiểu như, để bạn có thể thấy
like the curve, like, it sort of like inversely matches the contributions I've been able to land at cursor.
Kiểu như đường cong, kiểu như, nó sort of kiểu như tương phản nghịch với những đóng góp mà tôi đã có thể hợp nhất tại cursor.
So I joined five months ago and five months ago, like, I, you know, my first month I was like not very productive because I was, obvious, you know, I was learning the codebase, didn't know what the heck was going on, and as I got more confident in my agents, uh, I've really been able to kind
Nên tôi tham gia năm tháng trước và năm tháng trước, kiểu như, tôi, bạn biết đấy, tháng đầu tiên tôi kiểu như không năng suất lắm vì tôi, rõ ràng, bạn biết đấy, tôi đang học codebase, không biết cái quái gì đang diễn ra, và khi tôi tự tin hơn vào các agent của mình, ờ, tôi thực sự đã có thể kiểu
of ramp up my productivity, uh, and again, like, yeah, like, last month I shipped a thousand PRs, which is ridiculous.
Như tăng năng suất của mình lên, ờ, và một lần nữa, kiểu như, ừ, kiểu như, tháng trước tôi đã gửi một nghìn PR, điều thật vô lý.
Uh, and then this month we're only on the 12th.
Ờ, và tháng này chúng ta mới chỉ đến ngày 12.
I'm already at like almost 800 PRs landed.
Tôi đã ở mức gần như 800 PR được hợp nhất.
Uh, so the velocity is definitely high and you, I'm sure a lot of you will definitely be questioning, like, how much of this code is actually good.
Ờ, nên tốc độ chắc chắn là cao và bạn, tôi chắc nhiều bạn chắc chắn sẽ đặt câu hỏi, kiểu như, có bao nhiêu phần trong số mã này thực sự tốt.
Um, and I think, yeah, like, that's definitely fair to
Ừm, và tôi nghĩ, ừ, kiểu như, điều đó chắc chắn là công bằng để
question.
Đặt câu hỏi.
Um, but, uh, yeah, I think, I think if you set up your agents well, you can definitely get to a very similar level.
Ừm, nhưng, ờ, ừ, tôi nghĩ, tôi nghĩ nếu bạn thiết lập các agent của mình tốt, bạn chắc chắn có thể đạt đến một mức rất tương tự.
Um, and so I'm going to talk about how we do that.
Ừm, và vậy tôi sẽ nói về cách chúng tôi làm điều đó.
Uh, so for me, I think I'm curious, like, I guess call in your experience as well, but, uh, for me, I think the most important skill that you should have in your toolbox when you work with agents is verification.
Uh, vậy với tôi, tôi nghĩ tôi tò mò, kiểu, tôi đoán hãy gọi cả kinh nghiệm của bạn nữa, nhưng, uh, với tôi, tôi nghĩ kỹ năng quan trọng nhất mà bạn nên có trong hộp công cụ của mình khi làm việc với agent là xác minh.
Uh, and by verification I mean the ability for an agent to actually run the code, uh, or take CPU traces or heap snapshots, or, uh, you know, open an iOS simulator, whatever, you know,
Uh, và ý tôi khi nói xác minh là khả năng để một agent thực sự chạy code, uh, hoặc lấy CPU trace hay heap snapshot, hoặc, uh, bạn biết đấy, mở một trình giả lập iOS, gì cũng được, bạn biết đấy,
however your application is exposed to your users.
Dù ứng dụng của bạn được hiển thị với người dùng như thế nào.
It can do the same thing and, uh, run it for real and actually test and verify it don't work because that's the thing that really closes the loop.
Nó có thể làm điều tương tự và, uh, chạy nó thật sự và thực sự kiểm tra và xác minh nó không hoạt động bởi vì đó là thứ thực sự khép kín vòng lặp.
Uh, it doesn't guarantee your agent writes good code, uh, but it allows them to at least write correct code, uh, which is a big, a really big step forward for being able to trust your agents.
Uh, nó không đảm bảo agent của bạn viết code tốt, uh, nhưng nó cho phép chúng ít nhất viết code đúng, uh, đó là một bước tiến lớn, thực sự lớn để có thể tin tưởng agent của bạn.
Um,
Ừm,
I will, I can share one example that we have, uh, within cursor.
Tôi sẽ, tôi có thể chia sẻ một ví dụ mà chúng tôi có, uh, trong cursor.
Uh, oops, where, let me open this.
Uh, oops, để tôi mở cái này.
Let's make this, uh, make me full screen.
Hãy làm cái này, uh, cho tôi toàn màn hình.
There you go.
Được rồi.
Uh, so for the, for cursor's agent window, uh, so this is actually an interesting story, but, uh, when I joined cursor five months ago, uh, they're actually, uh, well, I was supposed to join a different team, I was supposed to join like the cloud agents team, uh, but then since I have a lot of experience working on react and agents window is a react application, uh, I was, uh, I was asked to basically help out
Uh, vậy với, với cửa sổ agent của cursor, uh, đây thực ra là một câu chuyện thú vị, nhưng, uh, khi tôi gia nhập cursor năm tháng trước, uh, họ thực ra, uh, à, tôi đáng lẽ gia nhập một team khác, tôi đáng lẽ gia nhập kiểu team cloud agents, uh, nhưng rồi vì tôi có nhiều kinh nghiệm làm việc với react và cửa sổ agent là một ứng dụng react, uh, tôi được, uh, tôi được yêu cầu cơ bản là giúp đỡ
with, uh, the agent window work, uh, but, um, there wasn't really a lot of, like, skills to help me.
Với, uh, công việc cửa sổ agent, uh, nhưng, ừm, thực sự không có nhiều, kiểu, kỹ năng để giúp tôi.
So I just found myself that, okay, uh, agents switch is going to launch in like a week, right, we have a really tight deadline, and, um, there was, uh, you know, I was just sitting there like, okay, I'm going to open up the performant, the, the chrome dev tools and just like take a trace, look at it myself, and try to
Nên tôi tự nhận ra rằng, được rồi, uh, agent switch sẽ ra mắt trong khoảng một tuần nữa, đúng không, chúng tôi có deadline rất gấp, và, ừm, có, uh, bạn biết đấy, tôi chỉ ngồi đó kiểu, được rồi, tôi sẽ mở performant, chrome dev tools và chỉ kiểu lấy một trace, tự xem nó, và cố gắng
make sense of this flame graph, and keep in mind I was just like in my first week, so I had no idea what I was looking at, no idea where, you know, I mean, I had some idea, but, you know, the code base was completely fresh to me, uh, and I realized, like, my agent had no idea either, you know, like, I would take a screenshot of the trailer, I would download trades, I would send it to it and it be like,
Hiểu cái flame graph này, và nhớ rằng tôi chỉ mới ở tuần đầu tiên, nên tôi không biết mình đang nhìn cái gì, không biết ở đâu, bạn biết đấy, ý tôi là, tôi có chút ý tưởng, nhưng, bạn biết đấy, code base hoàn toàn mới với tôi, uh, và tôi nhận ra rằng, kiểu, agent của tôi cũng không biết gì cả, bạn biết đấy, kiểu, tôi sẽ chụp ảnh màn hình cái trailer, tôi sẽ tải trace xuống, tôi sẽ gửi nó cho nó và nó kiểu,
yeah, it kind of looks like this, you know, uh, and it would like confidently state like it's this thing and then I'd try to fix that and turns out that's not the actual thing.
Ừ, nó kiểu trông như thế này, bạn biết đấy, uh, và nó sẽ kiểu tự tin khẳng định rằng đó là cái này và rồi tôi cố sửa cái đó và hóa ra đó không phải là thứ thực sự.