TECHDEV · Công cụ open-source

factfence

Trợ lý AI giờ viết một cách đầy tự tin về những số liệu thống kê chưa bao giờ đúng: một tỷ lệ phần trăm nghe có vẻ hợp lý, một báo cáo có tên hẳn hoi, một link bị 404 — hoặc tệ hơn, một link tới một trang thật nhưng chưa bao giờ chứa con số đó. Người review lướt qua chúng vì mỗi claim trông như có nguồn. factfence là một CLI nhỏ, không phụ thuộc thư viện, đọc một file markdown hoặc text, tách ra mọi claim định lượng, fetch từng nguồn trích dẫn, và cho biết trang được trích dẫn có thực sự chứa các con số hay không. Chạy mất khoảng mười giây và chỉ cho bạn đúng ba câu đáng nghi nhất.

Python 3.10+ · Không phụ thuộc thư viện nào · MIT

Nó làm được gì

Với một file như thế này (một đoạn văn AI soạn điển hình):

According to the 2026 State of DevTools Survey, 73% of developers say
AI-generated code needs human review before merging
([survey](http://127.0.0.1:18347/source-a.html)).

Some teams claim 99.9% of AI suggestions are production-ready, citing an
internal study (http://127.0.0.1:18347/source-b.html).

It is often repeated that 60% of all code will be AI-written by 2027,
though nobody cites a source.

Đầu vào chép nguyên từ README của factfence ("What it does"). factfence báo cáo (đầu ra thật từ examples/run-demo.sh):

[✓ SUPPORTED]
  According to the 2026 State of DevTools Survey, 73% of developers say AI-
  generated code needs human review before merging
  ([survey](http://127.0.0.1:18347/source-a.html)).
    ↳ http://127.0.0.1:18347/source-a.html
      HTTP 200, matched 73%
    cited page contains 73%

[? UNVERIFIED]
  Some teams claim 99.9% of AI suggestions are production-ready, citing an
  internal study (http://127.0.0.1:18347/source-b.html).
    ↳ http://127.0.0.1:18347/source-b.html
      HTTP 200
    cited page(s) fetched but contain none of the claim's numbers

[! UNCITED]
  It is often repeated that 60% of all code will be AI-written by 2027,
  though nobody cites a source.
    quantitative claim with no citation — verify by hand

6 claim(s) checked: 2 supported, 1 cited, 1 unverified, 1 broken, 1 uncited. 3 need review.

Đầu ra chép nguyên từng ký tự từ README của factfence (đầu ra thật từ examples/run-demo.sh).

Năm phán quyết

Phán quyếtÝ nghĩa
SUPPORTEDTrang được trích dẫn tải được và chứa các con số của claim.
CITEDMột khẳng định không có nguồn ("các nghiên cứu cho thấy…") nhưng có link hoạt động — không có gì định lượng để đối chiếu.
UNVERIFIEDTrang được trích dẫn tải được nhưng không chứa các con số. Hình dạng ảo giác AI kinh điển.
BROKENMọi link được trích dẫn đều lỗi (404, timeout, DNS).
UNCITEDMột claim định lượng hoàn toàn không có trích dẫn.

Bảng phán quyết chép nguyên từ README của factfence ("The five verdicts").

Bắt đầu nhanh

# zero dependencies — Python 3.10+ stdlib only
git clone https://github.com/techdevfun/factfence.git
cd factfence

# 1. point it at any AI-generated text
python3 -m factfence draft.md

# 2. read the verdicts (exit code 1 = something needs review)
# 3. pipe it into CI
python3 -m factfence --json draft.md | python3 -m json.tool

Các lệnh chép nguyên từ README của factfence ("Quick start"). Hoặc cài thành lệnh: pip install ., rồi factfence draft.md.

Nó hoạt động thế nào

  1. Extract — bỏ qua code block, tách văn bản thành câu, và các câu có số mạnh (phần trăm, tiền, số lượng lớn, hệ số, tỷ lệ) trở thành claim statistic; các câu "studies show…" / "according to…" trở thành claim assertion. Trích dẫn được nhận dạng dưới dạng link inline, link tham chiếu, footnote, và URL trần.
  2. Fetch — mỗi URL duy nhất được fetch một lần (timeout 8s, giới hạn 1.5MB, user-agent lịch sự), rút gọn về text thuần, và chuẩn hoá theo đúng cách số của claim được chuẩn hoá.
  3. Verify — một claim được coi là SUPPORTED nếu bất kỳ trang nào fetch được chứa bất kỳ số đặc trưng nào của nó. Phán quyết tốt nhất thắng khi có nhiều URL được trích dẫn.

Mã thoát: 0 sạch · 1 có gì cần review · 2 lỗi sử dụng/IO — nên factfence --json draft.md đưa thẳng vào CI được.

Hành vi lấy từ README của factfence ("How it works"), không phải đoạn chép nguyên.

Đây KHÔNG phải gì — và đối thủ hơn chúng ta ở đâu

Mã nguồn + README trên GitHub → · Báo lỗi → · ask@techdev.fun

Giới hạn

Giới hạn lấy từ chính mục "Honest limitations" của README factfence.

Roadmap — chưa triển khai

Roadmap chép từ README của factfence; cả bốn mục vẫn là checkbox mở ở upstream.

Giấy phép

MIT — xem LICENSE trong repository.

Công cụ liên quan

Các công cụ mã nguồn mở khác của TECHDEV: sessguard, runverdict, gheist-guard, vetgate, context-diet, ci-failure-detective, agent-seatbelt, devsecops-os, env-doctor, skill-audit, logtrim, testguard, breakcheck, keymap, memgraph, ggufit, leaseguard, jsonfold

Đóng góp ý kiến

Bình chọn cho công cụ này, đề xuất tính năng, hoặc thảo luận với các vận hành khác trên bảng cộng đồng.