慣性聚合 高效追蹤和閱讀你感興趣的部落格、新聞、科技資訊
閱讀原文 在慣性聚合中打開

推薦訂閱源

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
博客园 - 叶小钗
MyScale Blog
MyScale Blog
V
Visual Studio Blog
月光博客
月光博客
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
I
InfoQ
有赞技术团队
有赞技术团队
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
FinePrint — 一個使用Gemma 4解讀掠奪性合約的人工智能隨身律師
Dhruv Jani · 2026-05-25 · via DEV Community

這是一份提交給Gemma 4挑戰的內容:用Gemma 4

## 我們所建構的

上一個派任季節,一個朋友拿著一份工作聘書來找我。他非常興奮——第一份真正的聘書。我看了條款3。它說如果他未滿3年就辭職,他就欠公司200,000盧比。他完全不知道有這條款。他差點就簽了。他將會被鎖定3年,沒有辦法脫身。他是一名開發者。那是他整個早期職業生涯。

他不是唯一的人。每年,成千上萬的學生簽署僱傭合約、實習協議和租賃契約,卻不瞭解他們在同意什麼。這些條款是故意寫得複雜的。罰則隱藏在條款4、條款7、條款11中。而且大多數人——尤其是剛畢業的學生——沒有律師可以求助。

這就是為什麼我們建立了FinePrint。

FinePrint 是一款開源的人工智能合約保護工具,由 Gemma 4 驅動。上傳照片、PDF,或貼上任何合約文本。FinePrint 會閱讀它,找出每個陷阱,並告訴你什麼是危險的,什麼需要談判,以及什麼永遠不要簽署.

你會得到:

  • 🔴 風險分數 (0–100) — 合約的主觀危險等級
  • 🟡合適度分數 — 契約與您個人目標的符合程度
  • ⚖️ 最終裁決 — 接受 / 討價 / 拒絕,並附帶直接的理由
  • 紅旗項目的簡潔英文解釋
  • 對每個危險條款的更安全建議修改
  • 針對每個條款的實際談判技巧
  • 即將發送的個人化談判郵件
  • 可分享的報告連結 + 可下載的 PDF 檔案
  • 合約比較 — 上傳 v1 和 v2,看看變更了什麼

這不是一份文件閱讀器。這是一套合約保護引擎。閱讀文件能告訴你文件說了什麼。FinePrint 能告訴你對你的特定情況意味著什麼,公司試圖從你那裡取得什麼,以及確切該如何回應。

The FinePrint homepage — upload a contract or try a built-in example

## 示範

🔗 直播:https://tarkashlabs-fineprint.vercel.app

想親自試試嗎?前往直播應用程式,並在「嘗試範例」下點擊「學校債券」。填寫您的需求,然後點擊「分析」。

這是一份FinePrint對一份真實的掠奪性實習合約的回傳結果:
🔴 風險分數: 98 / 100 — 危險
🔴 兼容性: 20 / 100 — 低匹配

❌ 判決: 拒絕

「此合約違反所有使用者要求 — 未付薪崗位、
個人專案之IP所有權、₹1,00,00,000保證金罰款、
強制加班,以及18個月的非競爭協議。」

The FinePrint homepage — upload a contract or try a built-in example

Every red flag comes with a plain English explanation, negotiation tip, and a safer clause rewrite with space for asking a follow-up question

Gemma 4 Dense 31B drafts a personalized negotiation email — ready to send to HR

FinePrint還有一個比較模式 — 上傳原始合約及修改後的合約,Gemma 4 就會告訴你哪些地方改進了,哪些地方仍有危險,以及哪些是新的內容.

FinePrint Compare Mode — upload two versions of a contract and see exactly what changed, what was resolved, and what red flags remain

FinePrint Compare Mode — Expanded clause comparison analysis

## 程式碼

🐙 GitHub: https://github.com/Tarkash-Labs/FinePrint

Frontend:  React + Vite + Tailwind CSS
Backend:   Python + FastAPI + async SSE streaming  
AI:        Gemma 4 via Google AI Studio
Deploy:    Vercel + Render

進入全螢幕模式 離開全螢幕模式

後端是 ~650 行的异步 Python。結果會隨著 Gemma 4 處理它們逐句流動——紅旗會實時出現,而不是在長時間等待後才出現。所有報告狀態都保存在使用 gzip 壓縮的无状态可共享 URL 中——沒有數據庫,沒有伺服器端存儲.
這是 FinePrint 有效運作的核心——發送合約 AND 用户的個人目標到 Gemma 4 的提示:

def _build_analysis_prompt(contract_label: str, focus_areas: str, requirements: str) -> str:
  requirements_text = requirements.strip() or "None provided."
  return f"""
You are a ruthless, detail-oriented legal expert specializing in {contract_label} contracts. Your job is to protect the user.
Analyze this contract and return a JSON with exactly these fields:
{{
  "risk_score": <integer 0-100>,
  "compatibility_score": <integer 0-100>,
  "verdict": "ACCEPT" | "NEGOTIATE" | "REJECT",
  "verdict_reason": "<1-2 sentence explanation referencing requirements and clauses>",
  "requirement_breakdown": [
    {{"requirement": "<specific user requirement>", "met": true/false, "explanation": "<why it was or wasn't met>"}}
  ],
  "red_flags": [
    {{
      "clause_title": "...", 
      "clause_text": "<EXACT text from the contract>", 
      "plain_english_explanation": "<Briefly state the risk>", 
      "negotiation_tip": "<Actionable advice on what the user should ask to change>",
      "suggested_rewrite": "<Provide a safer, alternative 1-2 sentence rewrite for this clause that the user can propose>",
      "severity": "high|medium|low"
    }}
  ],
  "safe_clauses": [{{"clause_title": "...", "plain_english_explanation": "..."}}]
}}

CRITICAL RULES:
1. Return ONLY valid JSON. No preamble. No markdown blocks.
2. DETECT ALL RED FLAGS. Do not summarize them into one. If there are 5 bad clauses, list 5 red flags.
3. You MUST extract the exact original text for "clause_text". 
4. The "risk_score" is objective based on standard legal risks. Focus heavily on: {focus_areas}.
5. The "compatibility_score" MUST directly reflect the User Requirements below. If a requirement is completely violated, score drops.

User Requirements to evaluate against:
{requirements_text}

Verdict guidance:
- ACCEPT when risk <= 30 and compatibility >= 70.
- REJECT when risk >= 61 or compatibility <= 30.
- Otherwise NEGOTIATE.
""".strip()

進入全螢幕模式 離開全螢幕模式

這個獨特的提示是為什麼 FinePrint 的輸出是個性化的而不是通用的。Gemma 4 同時閱讀合約和用戶的人生目標。

## 我們如何使用 Gemma 4

模型路由是一個在真實測試後做出的有意決定——不是預設選擇。

The Architecture

步驟 1 — Gemma 4 MoE → 多模態 OCR
當使用者上傳照片或 PDF 時,MoE 模型會直接讀取文件圖像並提取原始文本。使用者可以用手機拍攝一份實體合約——一份實際印刷的紙張——然後上傳。Gemma 4 的原生多模態視覺功能處理剩下的部分。無需手動複製貼上。無需易損的第三方 OCR 庫.

這個步驟不需要法律推理。它需要快速、準確的圖像讀取。MoE 架構是正確的選擇。

第二步 — Gemma 4密集31B → 所有需要思考的事情
所有法律推理都運行在密集31B上 — 子句分類、風險評分、兼容性分析、簡潔英文解釋、建議修改、談判技巧,以及個人化談判郵件。

我們明確測試了 MoE 用於法律分析。在一份包含 5 項關鍵違規的合約中,它返回了 1 個通用紅旗。而 Dense 31B 則返回了全部 5 項——包括精確的條款文本、嚴重性評級、談判建議和建議的修改方案。

法律推理需要最強大的模型。我們在關鍵之處使用它。

兼容性分數——這是 FinePrint 與其他所有文件 AI 的區別所在

在分析之前,FinePrint會要求用戶的個人需求 — 他們計劃停留多久,是否需要側項目,最低補償,搬遷偏好。這些會與合約文本一起輸入Dense 31B提示中。

此模型同時讀取兩者並判斷是否一致。對於計劃六個月後離開的人和計劃五年職業生涯的人,同樣的IP分配條款評分方式會有很大不同。基於規則的系統無法做到這一點。Gemma 4能做到。

輸出不是「此條款有風險。」而是「此條款對你特別有風險。」

FinePrint實際解決的問題

法律素養的差距是結構性的。有錢的人有律師。其他人簽收他們拿到的任何文件.

Harvey AI 證明了大型語言模型可以轉變法律分析——它們為頂級律師事務所提供服務,估值達到7.15億美元。FinePrint 帶來了同樣的能力,並讓它免費供那些事務所永遠不會服務的人民使用。

印度的校園派職約束每年影響數十萬學生。他們中的大多數以前從未讀過法律文件。許多人簽署了法律上無法違約的約束——而且只在多年後他們嘗試離開一份他們討厭的工作時才發現。

FinePrint是沒有律師能即時連線的人們的第一道防線。它並不能取代法律諮詢——每份分析的最下方都有聲明說明這個原因——但它能讓人們在簽署任何文件前知道該問哪些正確的問題.

接下來是什麼
FinePrint 今天保護學生和初級開發者免受掠奪性合約的傷害。同樣的 Gemma 4 架構可擴展至租賃合約、自由職業者保密協議,以及風險投資者條款表 — 我們已經支援所有七種合約類型。長期目標:一個瀏覽器擴充功能,可在您打開的任何文件上標示紅旗,以及一個其他應用程式可以整合的 API。法律素養差距巨大。我們才剛開始.

由 Tarkash Labs 建立
@dj29 & @yug_vasava