29 điểm bởi GN⁺ 2025-05-06 | 2 bình luận | Chia sẻ qua WhatsApp
  • Tác giả cho biết dù đã nghiên cứu LLM và công nghệ sinh văn bản hơn 10 năm, nhưng trái với dự đoán, trong đời sống thực tế lại không thường xuyên sử dụng LLM
  • Khi dùng LLM, tác giả coi trọng việc kiểm soát tỉ mỉ như prompt engineering, thiết lập system prompt, điều chỉnh temperature, và ưu tiên cách tiếp cận dựa trên API thay vì frontend thông thường
  • Trong công việc tại BuzzFeed, tác giả đã ứng dụng LLM để giải quyết các vấn đề cụ thể như gán nhãn dữ liệu, tóm tắt cụm bài viết, rà soát style guide, và chứng minh được hiệu quả tiết kiệm thời gian rất lớn
  • Tác giả không dùng LLM để viết, nhưng tận dụng cách dùng các bình luận Hacker News giả định để kiểm thử góc nhìn phản biện nhằm xác minh tính logic của bài viết
  • LLM hữu ích cho hỗ trợ lập trình, nhưng với các tác vụ phức tạp hoặc đòi hỏi độ tin cậy cao thì vẫn ưu tiên tự triển khai, đồng thời giữ quan điểm hoài nghi với agent và vibe coding

Khoảng cách giữa tôi và LLM

  • Tác giả là một data scientist có nhiều kinh nghiệm với các công cụ AI tạo sinh, từng làm việc lâu năm với sinh văn bản dựa trên RNN, tinh chỉnh GPT-2, thử nghiệm GPT-3/ChatGPT
  • Tuy nhiên, những trường hợp dùng trực tiếp thường xuyên lại khá hiếm, và việc có dùng hay không là một cách tiếp cận mang tính công cụ, tùy theo tính chất và nhu cầu của công việc

Cách kiểm soát LLM

  • Prompt engineering là cốt lõi để dẫn dắt LLM tạo ra đầu ra như mong muốn
  • Thay vì frontend thông thường (ChatGPT.com), tác giả gọi API trực tiếp hoặc dùng qua UI backend, đặc biệt ưa dùng Claude Sonnet API
  • Thông qua system prompt và điều chỉnh temperature để cân bằng giữa tính sáng tạo và tính xác định, thường đặt ở mức 0.0 ~ 0.3 để đảm bảo khả năng dự đoán của đầu ra
  • Cần chú ý rằng vấn đề hallucination (tạo ra nội dung không đúng sự thật) có xu hướng nghiêm trọng hơn khi temperature cao

Các trường hợp ứng dụng trong công việc

  • Tự động hóa phân loại bài viết BuzzFeed: dùng Claude API, hệ thống phân loại dựa trên JSON và thiết lập temperature 0.0 để gán danh mục chính xác
  • Tóm tắt cụm bài viết: cung cấp 5 bài tương tự rồi yêu cầu trả về tiêu đề và mô tả chung, qua đó tự động hóa hiệu quả việc tóm tắt cụm nội dung
  • Rà soát dấu câu và style guide: đưa toàn bộ style guide vào system prompt để đánh giá ngữ pháp dựa trên chính sách
  • Mỗi tác vụ đều có thể hoàn thành POC chỉ trong vài giờ, chứng minh hiệu quả tiết kiệm hơn nhiều ngày so với cách làm cũ

Tự viết, còn phản biện thì giao cho LLM

  • Các bài blog được tác giả tự viết, vì phong cách cá nhân có những nét đặc thù mà LLM khó tái hiện
  • Tuy vậy, tác giả yêu cầu LLM viết các bình luận phê phán như người dùng Hacker News để dò tìm các lỗ hổng logic
  • Cách làm này giúp nâng cao chất lượng bài viết, nhưng không có nghĩa là LLM thay thế việc viết bài

Ứng dụng LLM trong lập trình

  • Với các tác vụ phức tạp nhưng lặp lại như viết regular expression, ghép ảnh bằng Pillow, LLM đóng góp rất lớn vào việc tăng năng suất
  • Ngược lại, khi dùng các thư viện mới như Polars, có thể phát sinh vấn đề như LLM nhầm sang hàm của pandas
  • Các gợi ý mã theo thời gian thực như Copilot không được ưa chuộng vì việc chuyển đổi ngữ cảnh tinh thần liên tục lại làm cản trở sự tập trung
  • Tác giả giữ quan điểm rằng từ những ý tưởng do LLM gợi ra, "mượn ý tưởng + tự chỉnh sửa" sẽ tốt hơn

Quan điểm về Agents, MCP và Vibe Coding

  • MCP và Agents tuy đã cải thiện về mặt khái niệm, nhưng trên thực tế không mang lại use case mới đáng kể
  • Vibe Coding có thể hữu ích với các dự án mang tính sở thích, nhưng không phù hợp cho sản phẩm chính thứckhông nên bị dùng như công cụ né tránh trách nhiệm
  • Tác giả nhấn mạnh quan điểm rằng chỉ có mã đáng tin cậy mới thể hiện tính chuyên nghiệp

Suy nghĩ về ngành LLM và đạo đức

  • Lập luận rằng "LLM là vô dụng"không phản ánh đúng thực tế sử dụng, mà vấn đề cốt lõi thực ra nằm ở ROI ngắn hạn và cấu trúc ngành
  • Các mô hình mã nguồn mở và hạ tầng thay thế (Cerebras, Groq, v.v.) vẫn có thể đáp ứng nhu cầu LLM ngay cả khi OpenAI biến mất
  • Sau cùng, LLM là một công cụ cần được dùng đúng với mục đích, và cả sự tán dương vô điều kiện lẫn phủ nhận hoàn toàn đều nguy hiểm

Kết luận

  • LLM là công cụ giống như cố nhét một cái chốt vuông vào lỗ tròn, tức có thể kém hiệu quả, nhưng cũng có thể mang tính đột phá
  • Điều quan trọng là năng lực phán đoán của người làm kỹ thuật về việc dùng nó khi nào, ở đâu và như thế nào, và đó mới là năng lực thật sự trong thời đại LLM

2 bình luận

 
ifmkl 2025-05-07

Tôi đồng cảm với dòng cuối cùng nhất. Điều tôi cảm nhận cũng khá giống vậy: rốt cuộc, AI và LLM chỉ có thể được sử dụng và khai thác đến mức tương xứng với năng lực của người dùng.

 
GN⁺ 2025-05-06
Ý kiến trên Hacker News
  • Có ý kiến về những điểm gây bối rối khi các lập trình viên giàu kinh nghiệm làm việc với LLMs

    • pandas là thư viện tiêu chuẩn để xử lý dữ liệu dạng bảng trong Python và đã được sử dụng từ năm 2008
    • Gần đây chuyển sang dùng thư viện polars mới hơn, và LLMs thường nhầm các hàm của polars thành hàm của pandas, nên phải kiểm tra lại tài liệu
    • Lý do không dùng coding agent là vì "gây xao nhãng", và đây là quan điểm dễ đồng cảm với những người vốn không thích tự động hoàn thành
    • Các LLM "thuần" có thể tạo ra lỗi mã trong tác vụ lập trình, nhưng cấu hình agent LLM còn bao gồm cả mã để cấu trúc hóa tương tác với LLM
    • Nếu LLM tạo ra lỗi hàm thì chương trình sẽ không biên dịch được, agent sẽ phát hiện điều đó và để LLM sửa đi sửa lại
  • Dùng vibe coding khi dựng mô phỏng UI hoặc website

    • Dù không có kinh nghiệm frontend, việc tạo một bản demo chạy thật đã hoàn thiện 80% để cho người khác xem vẫn có giá trị
    • Chưa sẵn sàng cho sản phẩm thực tế, nhưng hữu ích để làm bản mô phỏng phục vụ thảo luận nội bộ
  • Đã thử nhiều cách khác nhau để có kết quả tốt nhất từ LLMs

    • Việc nghĩ ra các kịch bản để "lừa" LLMs là kém hiệu quả, và hiệu quả có thể thay đổi rất nhiều tùy phiên bản mô hình
  • Thận trọng hơn với đầu ra của LLM khi gặp các câu hỏi lập trình phức tạp về những thư viện ít phổ biến hơn

    • Trong vài tháng gần đây, dùng giao diện ChatGPT để giải quyết các câu hỏi lập trình về những thư viện mới là khá hiệu quả
    • Việc nâng cấp mã sang một thư viện JavaScript mới đã được thực hiện thành công
  • Dùng cách dán trực tiếp tài liệu của thư viện mới hoặc toàn bộ codebase vào mô hình ngữ cảnh dài

    • Cách này hiệu quả với các thư viện dưới 50.000 token, còn Gemini 2.5 Pro xử lý tốt cả vài trăm nghìn token
  • Thích việc tác giả đưa cả nhật ký trò chuyện vào

    • Nhiều người không thể chia sẻ vì có thể làm lộ thông tin, nhưng khi khẳng định hiệu quả của LLM thì việc có bằng chứng kèm theo là quan trọng
  • Không dùng ChatGPT.com hay giao diện người dùng phổ thông

    • Thay vào đó dùng UI backend của từng dịch vụ LLM để có kết quả tốt hơn
    • OpenAI có xu hướng giới hạn mô hình trong giao diện ChatGPT
  • Các giao diện LLM hiện đại không cho đặt system prompt một cách tường minh sẽ dùng system prompt riêng của chúng

    • ChatGPT có system prompt, còn Claude thì không
    • Với các mô hình mới, tính hữu ích của system prompt đang giảm dần
  • Việc đặt các ràng buộc cụ thể cho văn bản sinh ra hiệu quả hơn khi làm trong system prompt thay vì user prompt

    • LLMs hiểu được khái niệm 30 từ, nhưng không phải lúc nào cũng làm tốt các tác vụ kiểu này
  • Dùng UI backend của từng dịch vụ LLM

    • Tò mò không biết họ có dùng wrapper tùy chỉnh để giao tiếp với API hay dùng các client đã phổ biến sẵn
  • Phản hồi JSON không phải lúc nào cũng hoạt động đúng như mong đợi

    • Để trả về JSON nhất quán, cần định nghĩa JSON schema để luôn trả về cùng một cấu trúc
  • Dùng LLM để học cái mới hoặc viết các script ngắn

    • Kỹ thuật đưa văn bản của một bài blog vào LLM rồi yêu cầu nó đóng vai một người bình luận Hacker News đầy mỉa mai và viết ra năm bình luận là điều khá thú vị