Tác giả: jason (@jxnlco
Nguyên văn:

jason
@jxnlco
·

Bài viết
Khai thác tối đa Codex
Hầu hết các nhà phát triển lần đầu sử dụng tác nhân mã hóa để viết code: kiểm tra kho lưu trữ, tạo diff, chạy kiểm thử và mở pull request.
Đó vẫn là trọng tâm của Codex. Nhưng phần lớn công việc trên...
38
187
1,5K
Hầu hết các nhà phát triển, khi lần đầu tiếp xúc với tác nhân AI để chỉnh sửa code, thường chỉ bắt chúng làm một việc: viết code. Ví dụ, kiểm tra kho lưu trữ, tạo diff, chạy kiểm thử và sau đó gửi pull request.
Việc viết code thực sự vẫn là thế mạnh cốt lõi của Codex. Nhưng hãy nghĩ mà xem, hầu hết công việc chúng ta làm trên máy tính đều liên quan mật thiết đến code: thực thi lệnh terminal, duyệt web, gọi API, xuất tài liệu, phản hồi các sự kiện khác nhau hoặc kích hoạt các quy trình tự động hóa. Khi Codex bắt đầu mở rộng sang các lĩnh vực này, nó không còn chỉ là một "trợ lý lập trình" hạn hẹp nữa, mà phát triển thành một "người lao động đa năng" có thể giúp bạn xử lý đủ loại tác vụ máy tính.
Các tính năng mới của Codex làm cho sự chuyển đổi này trở nên hữu hình. Các luồng hiện tại có thể ghi nhớ ngữ cảnh của bạn, gọi các công cụ khác nhau, hiển thị các artifact đã tạo và chuyển đổi liền mạch giữa các prompt khác nhau, vì vậy bạn không còn phải "tự giới thiệu lại" mỗi khi kết thúc một cuộc trò chuyện.
Để khai thác triệt để tiềm năng của Codex, bạn cần kết hợp các thủ thuật chuyên gia sau:
- Các luồng bền bỉ có thể lưu giữ bộ nhớ lâu dài
- Sử dụng linh hoạt đầu vào bằng giọng nói, điều hướng tác vụ và xếp hàng đợi tác vụ trong khi bạn duy trì quyền kiểm soát
- Mở rộng phạm vi của Codex ra ngoài kho lưu trữ code bằng cách sử dụng trình duyệt, sử dụng máy tính, máy chủ Giao thức Ngữ cảnh Mô hình (MCP) (một tiêu chuẩn phổ quát để AI kết nối an toàn với dữ liệu và công cụ cục bộ) và các bộ kết nối khác nhau
- Để nó tiếp tục làm việc trong khi bạn rời khỏi máy tính bằng cách sử dụng tự động hóa luồng và Mục tiêu
- Sử dụng thành thạo bảng điều khiển bên cạnh để xem lại code, tài liệu, slide và các tệp khác đã tạo bất cứ lúc nào
Các luồng bền bỉ
Các luồng bền bỉ: Các luồng Codex chạy lâu dài duy trì ngữ cảnh công việc của bạn qua nhiều lần sử dụng.
Ghim luồng là một cách tuyệt vời để giữ các luồng hội thoại bền bỉ này luôn sẵn sàng chỉ trong tích tắc. Đây là một món quà trời cho đối với các quy trình công việc cần được tiến hành lặp đi lặp lại, chẳng hạn như:
- Một luồng "Tham mưu trưởng" chuyên dụng (giúp bạn xử lý các công việc lặt vặt hàng ngày)
- Một luồng dành riêng cho việc ra mắt sản phẩm
- Một luồng để xem xét tài liệu
- Một luồng giám sát tập trung vào dữ liệu bên ngoài
Đây không phải là các hộp thoại "chat xong là hết"; chúng là những không gian làm việc liên tục. Theo thời gian, Codex có thể quay lại các cuộc hội thoại này bất cứ lúc nào, ghi nhớ các quyết định trước đây của bạn, sở thích cá nhân và tiến độ hiện tại. Nếu không có tính năng này, bạn sẽ phải cung cấp lại toàn bộ thông tin nền từ đầu mỗi lần.
Phím tắt ghim làm cho điều này cực kỳ thiết thực. Bằng cách nhấn Command-1 đến Command-9, bạn có thể ngay lập tức nhảy trở lại các luồng chuyên dụng đã lưu này để tiếp tục làm việc.
Đầu vào bằng giọng nói
Đầu vào bằng giọng nói rất hữu ích vì nó nắm bắt những suy nghĩ nguyên thủy, thô sơ nhất trong đầu bạn trước khi bạn phải cẩn thận trau chuốt chúng thành văn bản.
Codex có tích hợp đầu vào bằng giọng nói. Điều này đặc biệt hiệu quả đối với những ý tưởng mơ hồ kiểu "nói thì dễ nhưng gõ thì mệt". Ví dụ:
"Tôi nhớ ai đó tên Ben đã đề cập điều này trên Slack.
Tôi quên mất chi tiết rồi.
Hãy đi tìm nó cho tôi."
Đối với một tác nhân AI có thể tự tìm kiếm, thu thập ngữ cảnh và báo cáo lại cho bạn, vài câu nói này là đủ để nó bắt tay vào việc.
Khi bạn có một ý tưởng chung chung trong đầu chưa thực sự rõ ràng, việc dành hai ba phút "lẩm bẩm" với nó và xả hết suy nghĩ của bạn cùng một lúc cũng hiệu quả một cách đáng ngạc nhiên.
Việc ghi chép phiên âm cũng tuân theo cùng một logic. Một biên bản cuộc họp chưa được trau chuốt hoặc một kế hoạch dự thảo được đọc chính tả thường có giá trị hơn một bản tóm tắt ngắn gọn. Bởi vì những ghi chép thô đó giữ lại giọng điệu do dự của bạn, những điểm nhấn mạnh và những tia cảm hứng chưa hoàn thiện.
Điều hướng và xếp hàng đợi
Khi bạn kết hợp đầu vào bằng giọng nói với khả năng kiểm soát trực tiếp các tác vụ đang chạy, sức mạnh của nó mới thực sự bộc lộ.
Khi một tác vụ đang thực thi, nếu bạn muốn:
Điều hướng tác vụ: Ngắt lời Codex giữa chừng trước khi nó hoàn thành và đưa ra một hướng đi mới.
Điều này rất hữu ích khi bạn thấy AI đang đi sai hướng và cần sửa nó trước khi nó đâm đầu vào tường. Ví dụ, trong khi yêu cầu nó xem xét một trang web, bạn có thể chỉ ra các vấn đề trong bảng điều khiển bên cạnh trong khi trực tiếp ngắt lời công việc của nó:
- "Làm cái này nhỏ hơn một chút"
- "Khoảng cách giữa hai phần tử này trông không ổn"
- "Đoạn văn này viết sai rồi"
Xếp hàng đợi tác vụ: Giao cho Codex tác vụ tiếp theo sau khi nó hoàn thành bước hiện tại.
Xếp hàng đợi tác vụ khác với điều hướng. Nó không ngắt lời tác vụ đang thực hiện mà đặt tác vụ mới vào cuối hàng đợi. Bạn có thể nói với nó:
"Sau khi việc này xong, hãy gửi liên kết xem trước cho người đánh giá trên Slack."
Nói một cách đơn giản, "điều hướng" là thay đổi những gì Codex đang làm ngay bây giờ, trong khi "xếp hàng đợi" là sắp xếp những gì nó nên làm tiếp theo. Cả hai tính năng đều cho phép bạn duy trì cảm giác kiểm soát "con người-máy tính hợp nhất" trong suốt quá trình thực thi tác vụ.
Công cụ và tầm với
Một khi luồng đã có bộ nhớ liên tục, câu hỏi tiếp theo là: nó có thể chạm vào những gì? Các vòi bạch tuộc của Codex có thể mở rộng ra từng lớp:
- $browser: Một trình duyệt trong ứng dụng chạy trên bảng điều khiển bên cạnh, nơi Codex có thể xem xét và chú thích các trang web.
- @chrome: Có thể truy cập trạng thái đăng nhập trình duyệt của bạn để xử lý các quy trình làm việc dựa trên Chrome.
- @computer: Dành riêng cho các tác vụ chỉ có thể hoàn thành thông qua giao diện người dùng đồ họa (GUI) trên máy tính để bàn.
$browser phù hợp để xem xét web trên bảng điều khiển bên cạnh; @chrome dành cho công việc trong trình duyệt yêu cầu đăng nhập tài khoản của bạn; và @computer được sử dụng cho các tác vụ yêu cầu nhấp chuột trên màn hình máy tính.
Máy chủ MCP và các bộ kết nối khác nhau mở rộng khả năng này sâu hơn nữa vào toàn bộ quy trình làm việc của bạn. Tích hợp Slack, cũng như các bộ kết nối công cụ MCP và hướng dẫn MCP khác nhau, rất quan trọng vì nhiều tác vụ quan trọng thường bắt đầu như một tin nhắn trò chuyện, một email trong hộp thư đến hoặc một vấn đề về lịch trình trước khi chúng trở thành code.
Kỹ năng cho phép các quy trình làm việc lặp đi lặp lại có thể được tái sử dụng. Khi một quy trình làm việc đã được chứng minh là hữu ích, bạn có thể củng cố nó như một kỹ năng để Codex có thể chạy trực tiếp vào lần sau mà không cần phải học lại quy trình từ đầu.
Làm việc từ bất cứ đâu
Khái niệm làm việc với Codex từ bất cứ đâu phá vỡ hoàn toàn giới hạn truyền thống rằng "chúng ta phải ngồi trước máy tính để làm việc". Một tác vụ có thể bắt đầu trên máy Mac của bạn, nơi chứa đầy tệp, quyền và môi trường cục bộ, sau đó tiếp tục tiến triển một cách âm thầm khi bạn rời khỏi bàn làm việc và kiểm tra nó trên điện thoại.
Điều này rất hữu ích trong thời gian gián đoạn. Bạn có thể để Codex chạy một tác vụ dài trên máy tính và sau đó rời bàn làm việc đi lấy cà phê. Nếu nó có câu hỏi khi bạn đang ra ngoài, bạn có thể trả lời trực tiếp qua điện thoại, chấp thuận bước tiếp theo của nó hoặc đưa ra một hướng đi mới trước khi quay lại chỗ ngồi. Môi trường cục bộ của bạn vẫn ở đó làm việc lặng lẽ trong khi bạn di chuyển tự do.
Tự động hóa
Các tính năng tự động hóa cho phép Codex làm việc tự động theo lịch trình bạn đặt ra. Đối với các tác vụ cần bắt đầu lại từ đầu mỗi ngày, như tạo báo cáo hàng ngày hoặc kiểm tra kho lưu trữ định kỳ, hãy sử dụng "tự động hóa theo lịch trình". Nhưng nếu bạn cần tiến triển công việc trong một cuộc hội thoại có bộ nhớ lịch sử, hãy sử dụng "tự động hóa luồng".
Tự động hóa luồng: Giống như một cơ chế "nhịp tim" được hẹn giờ, định kỳ quay lại cùng một luồng Codex để tiếp tục làm việc theo một lịch trình đã định.
Ghim luồng rất hữu ích, nhưng nó vẫn yêu cầu bạn chủ động quay lại với nó. "Tự động hóa luồng", mặt khác, có thể tự động kiểm tra sau mỗi vài phút hoặc vài giờ cho đến khi một điều kiện nhất định được đáp ứng, và thậm chí có thể điều chỉnh tần suất kiểm tra dựa trên tình hình.
Ví dụ, luồng "Tham mưu trưởng" của bạn có thể chạy mỗi 30 phút:
Cứ 30 phút một lần, hãy kiểm tra Slack và Gmail của tôi xem có tin nhắn nào cần xử lý nhưng chưa được trả lời không.
Giúp tôi ưu tiên chúng.
Nếu ai đó hỏi tôi một câu hỏi, hãy nghiên cứu nó một cách kỹ lưỡng nhất có thể và giúp tôi soạn thảo câu trả lời, nhưng đừng gửi trực tiếp.
Khi bạn quay lại máy tính, công việc "thu thập thông tin nền" tốn nhiều thời gian nhất thường đã được hoàn thành. Là một con người, bạn chỉ cần đưa ra quyết định cuối cùng là gửi nó đi.
Tự động hóa luồng cũng hoàn hảo để xử lý các "vòng lặp phản hồi". Nó có thể âm thầm theo dõi các nhận xét của bạn trong PR, Google Docs hoặc Slack, và tự động thực hiện các sửa đổi tiếp theo khi bạn vắng mặt.
Hãy tưởng tượng một kịch bản sản xuất hoạt hình: một người đánh giá đăng video lên Slack. Tự động hóa luồng có thể định kỳ kiểm tra tiến độ thảo luận; ngay khi có đề xuất sửa đổi, nó tự động kết xuất một phiên bản mới, sau đó @đề cập đến người đánh giá trong luồng ban đầu và trả lời bằng video mới. Nếu một giao diện tích hợp phần mềm không thể tự động hoàn tất việc tải lên cuối cùng, nó thậm chí có thể huy động "tự động hóa máy tính để bàn" để hoàn thành bước cuối cùng qua GUI.
Vòng lặp khép kín hoàn chỉnh này trải dài từ Slack để nhận phản hồi, kho lưu trữ code để kết xuất và các công cụ tự động hóa máy tính để bàn cho lần tải lên cuối cùng.
Mục tiêu
Khi một tác vụ có vạch đích rõ ràng và tác nhân AI có thể liên tục làm việc hướng tới mục tiêu đó, sức mạnh của Mục tiêu thực sự bùng nổ.
Mục tiêu: Các tác vụ Codex chạy lâu hơn với một vạch đích rõ ràng mà AI sẽ tiếp tục chạy nước rút trong một khoảng thời gian.
Một mục tiêu tồi được đặt như thế này:
Triển khai kế hoạch trong tệp Markdown này.
Một mục tiêu tốt phải có một tiêu chí thành công có thể đo lường được.
Ví dụ, một kỹ sư muốn di chuyển một công cụ nội bộ từ Python sang Rust có thể thiết lập thư mục mới, đặt mục tiêu và vạch ra một vạch đích rõ ràng:
Quá trình phát triển phiên bản mới này chỉ hoàn tất khi tất cả các bài kiểm tra đơn vị đều vượt qua.
Việc đặt mục tiêu về cơ bản là kết hợp "thực thi liên tục" với một "người xác minh". Bạn, với tư cách là con người, xác định kết quả mong muốn, các điều kiện để dừng lại và các tín hiệu được sử dụng để đánh giá liệu Codex có đang tiến gần hơn đến vạch đích hay không.
Các công cụ xác minh hữu ích bao gồm:
- Một bộ các trường hợp kiểm thử hoàn chỉnh
- Một bài kiểm tra hiệu suất điểm chuẩn
- Một lỗi có thể tái tạo nhất quán
- Một ma trận xác minh
- Một quy trình làm việc đầu cuối phải luôn vượt qua
Tham vọng là quan trọng, nhưng tham vọng mà không có cơ chế xác minh chỉ là ước mơ.
Bảng điều khiển bên cạnh
Tính năng bảng điều khiển bên cạnh giữ các kết quả công việc đã tạo của bạn ngay cạnh cửa sổ trò chuyện. Bạn không còn phải xuất tệp và chuyển đổi đau đớn giữa các phần mềm khác nhau; bạn có thể xem xét chúng ngay tại chỗ. Kết quả được tạo có thể là code, nhưng cũng có thể là slide, PDF, trang web, bảng tính hoặc bất cứ thứ gì khác được tạo ra.
Nó đặc biệt tốt trong việc xử lý bốn loại công việc:
- Kiểm tra các artifact đã tạo
- Chú thích các khu vực cần sửa đổi
- Vận hành giao diện web
- Xem xét các thay đổi đối với code hoặc tệp
Bảng điều khiển bên cạnh cho phép người dùng xem trực tiếp các tài liệu Markdown, bảng tính, bảng dữ liệu, tài liệu văn bản thuần túy và slide. Bạn có thể kiểm tra, chú thích và sửa đổi tệp mà không làm gián đoạn quy trình làm việc hiện tại của mình.

Các slide hoặc PDF của bạn luôn được mở ngay cạnh hộp thoại, sẵn sàng để bạn xem xét và sửa đổi bất cứ lúc nào.

Trình duyệt trong ứng dụng cho phép Codex trực tiếp kiểm tra các trang web đã kết xuất, điều khiển chúng và thậm chí phản hồi trực tiếp các chú thích bạn thực hiện trên trang. Các nhận xét trên trang web hoặc tệp đều nằm trong vòng lặp công việc này, không còn cần phải được chia thành các tác vụ bàn giao riêng biệt như trước đây.
Trang web vừa là kết quả đầu ra của nó, vừa là một bảng điều khiển mà bạn có thể thao tác. Codex có thể xây dựng một trang, mở nó trong bảng điều khiển bên cạnh, tự kiểm tra nó, sửa lỗi và sau đó liên tục lặp lại và tối ưu hóa cùng một thứ tại chỗ.

Các kịch bản sau đây đặc biệt hiệu quả với bảng điều khiển bên cạnh:
- Sử dụng một tệp index.html duy nhất cho các hiển thị tĩnh nhẹ
- Chạy Storybook để xem xét các thành phần giao diện người dùng
- Sử dụng Remotion Studio để tạo hoạt ảnh bằng code
- Trình chiếu slide được hiển thị trong trình duyệt
- Ứng dụng dữ liệu cho các luồng phân tích dữ liệu
Một tệp index.html đơn giản có thể biến thành một ứng dụng tương tác thú vị mà thậm chí không cần thiết lập máy chủ. Hơn nữa, tự động hóa luồng có thể âm thầm cập nhật các tệp tĩnh này theo thời gian, vì vậy khi bạn quay lại, tiến độ mới nhất luôn chờ đợi bạn.
Bộ nhớ dùng chung
Khi các luồng chạy lâu dài đó có thể phá vỡ ranh giới của một cuộc trò chuyện duy nhất và chia sẻ bộ nhớ, tính hữu dụng của chúng có một bước nhảy vọt về chất.
Bộ nhớ dùng chung: Ngữ cảnh liên tục được lưu trữ bên ngoài một cuộc trò chuyện duy nhất, cho phép công việc trong tương lai tiến hành dựa trên thông tin rõ ràng, có thể truy xuất nguồn gốc.
Một cách tiếp cận tương đối an toàn là "neo" các luồng liên tục này trong một kho lưu trữ Obsidian. Nói một cách đơn giản, hãy tạo một thư mục để lưu trữ các tệp văn bản thuần túy. Nó đơn giản, thuận tiện cho bạn xem, sửa đổi và di chuyển bất cứ lúc nào, và tồn tại lâu dài. Các nhóm có thể đặt thư mục này trong bất kỳ ổ đĩa đám mây nào họ thích, chẳng hạn như Git, Dropbox, Google Drive hoặc các công cụ đồng bộ khác.
Kho lưu trữ của bạn có thể trông như thế này:
[văn bản]
vault/
├── TODO.md
├── people/
├── projects/
├── agent/
└── notes/
Trong thư mục gốc, bạn có thể đặt một tệp AGENTS.md. Ở đây, bạn có thể đặt các quy tắc cho Codex: cách nó nên cập nhật kho lưu trữ này khi nó học được những điều mới về con người, dự án, quyết định và các việc cần làm.
Đừng sao chép một cấu trúc kho lưu trữ cụ thể một cách mù quáng. Điều bạn cần làm là "dạy" cho tác nhân AI của mình: ngữ cảnh liên tục nên đi đâu, ngữ cảnh nào cần được giữ lại và khi nào không được động vào tệp.
Một hướng dẫn AGENTS.md thực tế có thể nói:
- Coi ~/vault như khu vực bộ nhớ làm việc dài hạn của bạn.
- Cố gắng giữ các ghi chú có tổ chức; đừng để các bản ghi rời rạc nằm rải rác khắp nơi.
- Phân loại chính xác các việc cần làm, con người, dự án, bản tóm tắt hàng ngày và bản nháp.
- Lưu đúng cách các quyết định đã đưa ra, các rào cản gặp phải, chủ sở hữu, ngày tháng và các liên kết hữu ích.
- Nếu không có tiến triển thực chất mới, đừng sửa đổi tệp trong kho lưu trữ một cách ngẫu nhiên.
Các kho lưu trữ code là để lưu trữ code. Kho lưu trữ này là để lưu trữ ngữ cảnh luân chuyển: ai có liên quan, cái gì đã được thay đổi, mọi thứ đang bị kẹt ở đâu, ai sẽ theo dõi tiếp theo và những chi tiết đó sẽ hoàn toàn biến mất nếu bị cắt đứt giữa hai cuộc trò chuyện.
Ngữ cảnh quan trọng không bao giờ được khóa duy nhất trong các bản ghi văn bản của một cuộc trò chuyện duy nhất. Hãy viết chúng ra và đặt chúng ở nơi mà luồng tiếp theo có thể lấy chúng ngay lập tức.
Bản thân Codex cũng cung cấp các tính năng bộ nhớ chính thức trong Cài đặt > Cá nhân hóa > Bộ nhớ. Chúng giống như những cuốn sổ tay cục bộ tích hợp để ghi nhớ sở thích cá nhân, quy trình làm việc phổ biến và các cạm bẫy thường gặp của bạn. Tuy nhiên, tính năng này nhằm bổ sung cho ngữ cảnh bạn viết ra một cách rõ ràng, không phải thay thế nó. Thành phần bộ nhớ Chronicle cũng tuân theo cùng một logic, giúp Codex trích xuất và xây dựng bộ nhớ từ những gì đã xảy ra gần đây trên màn hình của bạn.
Từ code ra bên ngoài
Mặc dù Codex bắt đầu với việc viết code như một nghề chính, nhưng giờ đây nhiều tác vụ ngoại vi xung quanh code có thể được xử lý trong cùng một hệ thống này: cho dù đó là máy chủ MCP, giao diện web, điều khiển máy tính để bàn, tự động hóa luồng hay các tệp có thể được xem xét trực tiếp trong bảng điều khiển bên cạnh.
Điều này hoàn toàn thay đổi cách chúng ta điều khiển nó. "Điều hướng tác vụ" có thể ngắt lời các hành động của nó giữa chừng; "xếp hàng đợi tác vụ" có thể giúp nó sắp xếp các bước tiếp theo; "tự động hóa luồng" cho phép hệ thống tiếp tục chạy khi bạn không ở đó; và "đặt mục tiêu" vạch ra một vạch đích rõ ràng, cho Codex biết nơi cần tiếp tục chạy nước rút.
Codex ngày nay đã có thể mang một quy trình làm việc hoàn chỉnh: từ nghe hướng dẫn và thực thi tác vụ cho đến xem xét tệp cuối cùng. Ngay cả khi các tác vụ này đã vượt xa phạm vi của kho lưu trữ code, nó vẫn xử lý chúng một cách dễ dàng.





