Loại bỏ spam luôn làưu tiên hàng đầuđối với chúng tôi tại DEV (và hệ sinh thái Forem rộng lớn hơn).
Nếu bạn đã đồng hành cùng chúng tôi một thời gian, bạn hẳn còn nhớ đây từng là một vấn đề nghiêm trọng trong quá khứ.
Mặc dù không nền tảng nào có thể tuyên bố không có spam 100%, nhưng tình hình hiện nay đã được cải thiện đáng kể.

Mục tiêu chính của chúng tôi với những cập nhật gần đây rất đơn giản:loại bỏ nội dung chất lượng cực kỳ thấp khỏi nền tảng trước khi một người kiểm duyệt phải xử lý nó.

Tình trạng kiệt sức của người kiểm duyệt là có thật.
Bằng cách tự động hóa việc loại bỏ những nội dung rác “hiển nhiên”, chúng tôi cho phép các kiểm duyệt viên tập trung vào các tương tác cộng đồng tinh tế hơn thay vì xóa hàng trăm bài đăng lừa đảo tiền điện tử.

Cách tiếp cận Kết hợp:
Thuật toán + AI

Chúng tôi không chỉ dựa vào một công cụ duy nhất.
Chúng tôi sử dụng kết hợp giữa phát hiện thuật toán ở đầu nguồn và “gọi” Gemini để phân tích độc lập.

  1. Hành động Thuật toán Đầu nguồn:Nếu chúng tôi phát hiện một xu hướng rõ ràng—ví dụ:
    một loạt bài đăng lớn liên kết đến một trang web spam cụ thể—chúng tôi sẽ hành động ở đầu nguồn.
    Chúng tôi muốn xử lý những việc này một cách hiệu quả mà không cần phải truy vấn LLM cho từng trường hợp đơn lẻ.
  2. Phân tích Gemini:Đối với các bài đăng cá nhân cần sự đánh giá, chúng tôi gửi một lời nhắc tùy chỉnh đến Gemini 3.
    Chúng tôi cố gắng thiên về “không có dương tính giả”, nhưng khi AI phát hiện các chỉ số rõ ràng về spam hoặc nội dung độc hại, nó sẽ áp dụng một nhãn kích hoạt các quy trình làm việc tự động.

Bên trong:
Dịch vụContentModerationLabeler

Để bạn hiểu rõ hơn về cách thức hoạt động kỹ thuật của hệ thống này, hãy xem dịch vụContentModerationLabelercủa chúng tôi.
Lớp Ruby này chịu trách nhiệm xây dựng ngữ cảnh và yêu cầu Gemini phân loại bài đăng.

Chúng tôi liên tục tinh chỉnh các lời nhắc tùy chỉnh này theo thời gian để đảm bảo độ chính xác.
Đây là cách chúng tôi xác định tiêu chí đánh giá trong lời nhắc.
Chúng tôi nói rõ cho Gemini biết chính xác những gì chúng tôi đang tìm kiếm, phân biệt giữa “An toàn”, “Chất lượng” và “Spam”:

defbuild_prompt# ...
(Context setup)<<~PROMPTAnalyze the following article and assign it a content moderation label based on quality, relevance, and community standards.
# ...
**Assessment Criteria:*
* 1.
**Safety First**:
Is the content harmful, exploitative, or inciting violence/hostility?
2.
**Content Quality**:
Is the content well-written, informative, and valuable?
3.
**Community Relevance**:
Does the content align with the community's purpose and interests?
4.
**Authenticity**:
Does the content appear to be written by a real person with genuine insights? 5. **Spam Indicators**: Are there signs of promotional content, low-effort posts, or automated generation? 6. **Community Building**: Does the content foster discussion and community engagement? # ...PROMPTend
Enter fullscreen modeExit fullscreen mode

Ngữ cảnh là Vua

Một chìa khóa thành công của chúng tôi là không chỉ gửi cho Gemini văn bản của bài viết.
Chúng tôi còn xây dựngNgữ cảnh Người dùng.

Một bài đăng trông “ổn” thực ra có thể là spam nếu nó đến từ một tài khoản mới hoàn toàn không có lịch sử.
Ngược lại, một thành viên đáng tin cậy với huy hiệu và nhiều năm lịch sử sẽ được hưởng sự ưu tiên.
Chúng tôi đưa các chỉ số này vào lời nhắc để Gemini có được bức tranh toàn cảnh:

defbuild_user_contextuser=@article.user<<~USER_CONTEXTAuthor:#{user.name}(@#{user.username}) Member since:#{user.created_at.strftime('%B %Y')}Badge achievements:#{user.badge_achievements_count}Articles published:#{user.articles.published.count}Comments made:#{user.comments.count}Profile summary:#{user.profile&.summary||'No summary provided'}USER_CONTEXTend
Enter fullscreen modeExit fullscreen mode

Xem ContentModerationLabeler trên GitHub

Điều trớ trêu về “Đỉnh Spam”

Một quan sát thú vị từ dữ liệu của chúng tôi liên quan đến khối lượng spam.
Trớ trêu thay, tổng lượng spam được gắn nhãn đạt đỉnh ngaytrước khichúng tôi tích hợp đầy đủ các hệ thống mới này.
Đỉnh spam là vào mùa hè năm 2025.

Điều này xảy ra vì sự răn đe có hiệu quả.
Ngay khi các đối tượng xấu nhận ra các tập lệnh tự động của chúng đang đụng phải bức tường và bài đăng của chúng bị xóa ngay lập tức bởi hệ thống tự động của chúng tôi, chúng sẽ ngừng lãng phí tài nguyên trên nền tảng của chúng tôi.
Rào cản gia nhập cao dẫn đến ít nỗ lực hơn theo thời gian.

Hướng tới Tương lai

Hệ thống này sẽ tiếp tục phát triển.
Chúng tôi liên tục điều chỉnh lời nhắc và thuật toán đầu nguồn để thích ứng với các chiến thuật spam mới.

Trong khi có một số dịch vụ xử lý các loại spam khác nhau trên nền tảng, bạn có thể xem mã nguồn đầy đủ cho cách tiếp cận cụ thể này trong kho lưu trữ mã nguồn mở của chúng tôi:

forem/forem

For empowering community 🌱

Forem 🌱

For Empowering Community

Chào mừng bạn đến với kho mã nguồnForem, nền tảng cung cấp sức mạnh cho dev.to.
Chúng tôi vô cùng phấn khích khi có bạn.
Với sự giúp đỡ của bạn, chúng ta có thể xây dựng khả năng sử dụng, khả năng mở rộng và độ ổn định của Forem để phục vụ cộng đồng tốt hơn.

Forem là gì?

Forem là phần mềm mã nguồn mở để xây dựng cộng đồng.
Cộng đồng dành cho đồng nghiệp, khách hàng, nhóm người hâm mộ, gia đình, bạn bè và bất kỳ không gian hay thời điểm nào khác mà mọi người cần tập hợp lại để trở thành một phần của tập thể.
Xem bài thông báo của chúng tôi để có cái nhìn tổng quan về Forem.

dev.to (hay chỉ là DEV) được lưu trữ bởi Forem.
Đây là một cộng đồng các nhà phát triển phần mềm viết bài, tham gia thảo luận và xây dựng hồ sơ chuyên nghiệp của họ.
Chúng tôi coi trọng đối thoại mang tính hỗ trợ và xây dựng trong hành trình theo đuổi mã nguồn tuyệt vời và sự phát triển sự nghiệp cho tất cả thành viên.
Hệ sinh thái trải dài từ nhà phát triển mới bắt đầu đến nâng cao, và tất cả đều được chào đón để tìm thấy vị trí của mình…

Chúc bạn lập trình vui vẻ ❤️

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!