Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
92

Thủ thuật

Tối ưu hóa chất lượng code từ AI với tệp cấu hình agent.md

(giờ Việt Nam)

Tóm tắt AI

Bằng cách đặt tệp agent.md tại thư mục gốc, lập trình viên có thể thiết lập các quy tắc coding chuẩn mực, giúp AI tạo ra mã nguồn sạch và nhất quán hơn cho dự án.

Bản dịch AI

21 tháng 8, 2026

Lần đầu tiên tôi thử dùng LLM để tăng tốc lập trình là vào giữa năm 2025. Tôi không mấy ấn tượng. Khi đó tôi đang làm việc với libadbmdns, một bản cài đặt mDNS bằng Rust. Mã nguồn được tạo ra thậm chí còn không thể biên dịch được.

Tôi quay lại sử dụng LLM vào tháng 1 năm 2026. Lần này mọi thứ hiệu quả hơn. Nó không chỉ viết được một lớp indexed-binary heap phức tạp mà còn xác định được một lỗi khó hiểu trong crate polling do cách cài đặt Windows IOCP.

Tuy nhiên, chất lượng mã nguồn lại rất tệ. Đó là kiểu "spaghetti code" không có chú thích và không có cấu trúc. Thật thú vị nhưng không thực tế khi làm việc với LLM nếu tốc độ đạt được lại bị mất đi do phải dọn dẹp mã nguồn cho đến khi đạt tiêu chuẩn sản xuất.

Vào tháng 3 năm 2026, tôi thử sử dụng các agentic IDE như Antigravity và plugin Claude Code của VS Code. Giờ đây tôi đã có thể "lặp lại" (iterate) trên phần mã nguồn đã được "dàn dựng" (staged). Tôi thấy mình đang đánh giá mã nguồn của một sinh viên khoa học máy tính năm cuối kiên nhẫn vô hạn với những gợi ý như "đừng dùng magic numbers", "thêm một chú thích ngắn ở đây để giải thích ý nghĩa" hoặc "dùng tên hàm ngắn gọn".

Chất lượng mã nguồn cải thiện đáng kể. Nó rất gần với những gì tôi tự tay viết, nhưng lại khá tẻ nhạt. Cuối cùng, tôi cứ phải lặp đi lặp lại những yêu cầu đó trong mỗi phiên làm việc mới.

Khi một phiên lập trình bắt đầu, coding harness sẽ tải một tệp có tên là agent.md và đưa nó vào prompt. Đây là vị trí hoàn hảo để tinh chỉnh sâu các tùy chọn về phong cách lập trình. Mỗi khi thấy mình phải lặp lại cùng một gợi ý để cải thiện mã nguồn, tôi lại thêm nó vào đó.

Đây là phiên bản agent.md của tôi để bạn tham khảo nếu cần. Chỉ cần đặt nó vào thư mục gốc của dự án là đủ. Ngoài ra, bạn có thể tạo symlink từ gemini.md/claude.md trỏ đến agent.md để kích hoạt nó ở bất cứ đâu.

Mặc dù "mẹo" này đã cải thiện đáng kể mã nguồn được tạo ra, nhưng đây không phải là viên đạn bạc giúp tôi tránh việc phải đọc mã. LLM liên tục gặp tình trạng "ảo giác" (hallucinate) và không thể tin tưởng hoàn toàn. Tôi vẫn phải kiểm tra và lặp lại nhiều lần, nhưng giờ đây tôi thường tập trung vào kiến trúc và thiết kế thay vì phong cách viết mã.

Có một hiện tượng gây khó chịu với LLM gọi là "context dilution" (loãng ngữ cảnh) hoặc "attention dilution" (loãng sự chú ý) đã được đề cập trong bài báo Lost in the Middle. Khi ngữ cảnh ngày càng dài, mô hình bắt đầu ít chú ý hơn đến các hướng dẫn ở giữa ngữ cảnh và ưu tiên những gì nằm ở đầu và cuối. Lý do tại sao điều này xảy ra vẫn chưa được hiểu rõ tại thời điểm tôi viết những dòng này. Tôi chỉ tìm thấy hai cách để giảm thiểu tác động của nó.

Bạn không cần phải mở trình soạn thảo mỗi khi muốn thêm một quy tắc mới. Việc tôi làm bây giờ là yêu cầu agent tự cập nhật tệp agent.md.

lập trìnhAIcông cụnăng suấtcoding
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.