PageSourceSearch

https://verificate.ai/_next/static/chunks/pages/articles/ai-code-gate-zh-1293a7deaffc20fd.js

js verificate.ai collected 2026-10-05 13:58:32 UTC 11,104 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5435],{2886:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/articles/ai-code-gate-zh",function(){return r(7783)}])},5543:(e,t,r)=>{"use strict";r.d(t,{Cy:()=>f,H2:()=>h,OH:()=>u,P:()=>m,Pq:()=>j,UL:()=>p,m7:()=>g});var i=r(7876),s=r(8230),n=r.n(s),a=r(8419),l=r(6075),c=r(6887),d=r(1298),o=r(8558),x=r(8300);function h(e){let{children:t}=e;return(0,i.jsx)("h2",{className:"mt-12 text-2xl md:text-[28px] font-bold text-white tracking-tight",children:t})}function m(e){let{children:t}=e;return(0,i.jsx)("p",{className:"mt-5 text-[15.5px] text-white/60 leading-relaxed",children:t})}function u(e){let{children:t}=e;return(0,i.jsx)("strong",{className:"text-white font-semibold",children:t})}function p(e){let{items:t}=e;return(0,i.jsx)("ul",{className:"mt-5 space-y-2.5",children:t.map((e,t)=>(0,i.jsxs)("li",{className:"flex gap-3 text-[15.5px] text-white/60 leading-relaxed",children:[(0,i.jsx)("span",{className:"mt-[9px] w-1.5 h-1.5 rounded-full bg-[#8CCB43] shrink-0"}),(0,i.jsx)("span",{children:e})]},t))})}function f(e){let{label:t,code:r}=e;return(0,i.jsxs)("div",{className:"mt-6 rounded-2xl border border-white/[0.08] bg-[#0C0F0A] overflow-hidden",children:[(0,i.jsx)("div",{className:"px-5 py-2.5 border-b border-white/[0.06] font-mono text-xs text-white/45",children:t}),(0,i.jsx)("pre",{className:"px-5 py-4 overflow-x-auto text-[13px] leading-relaxed font-mono text-white/80",children:(0,i.jsx)("code",{children:r})})]})}function j(e){let{children:t}=e;return(0,i.jsx)("div",{className:"mt-6 rounded-2xl border border-[#2C3D1B] bg-[#12190C] px-6 py-5 text-[15px] text-white/70 leading-relaxed",children:t})}function g(e){var t,r,s,h,m;let{meta:u,children:p}=e,f=[{"@context":"https://schema.org","@type":null!=(m=u.type)?m:"TechArticle",headline:u.h1,description:u.description,url:"".concat(x.W6).concat(u.slug),datePublished:u.datePublished,dateModified:u.datePublished,author:u.author?{"@type":"Person",name:u.author.name,...u.author.url?{url:u.author.url}:{},worksFor:{"@type":"Organization",name:"Verificate Pty Ltd",url:x.W6}}:{"@type":"Organization",name:"Verificate Pty Ltd",url:x.W6},publisher:{"@type":"Organization",name:"Verificate Pty Ltd",url:x.W6},mainEntityOfPage:"".concat(x.W6).concat(u.slug),...(null==(s=u.keywords)?void 0:s.length)?{keywords:u.keywords.join(", ")}:{},...(null==(h=u.citation)?void 0:h.length)?{citation:u.citation.map(e=>({"@type":"CreativeWork",name:e.name,url:e.url})),isBasedOn:u.citation.map(e=>e.url)}:{}}];return(null==(t=u.faq)?void 0:t.length)&&f.push((0,x.P$)(u.faq)),(0,i.jsxs)("div",{className:"bg-[#080A08] text-white/85 min-h-screen antialiased",children:[(0,i.jsx)(o.A,{title:u.title,path:u.slug,description:u.description,image:u.image,type:"article",jsonLd:f}),(0,i.jsx)(d.Nv,{}),(0,i.jsxs)("main",{id:"main-content",children:[(0,i.jsx)(d.wn,{className:"pt-28 sm:pt-36 pb-4",children:(0,i.jsxs)("div",{className:"max-w-3xl",children:[(0,i.jsxs)("div",{className:"flex items-center gap-3 text-white/40 font-mono text-xs",children:[(0,i.jsx)(n(),{href:"/articles",className:"text-[#8CCB43] hover:underline",children:"Articles"}),(0,i.jsx)("span",{children:"\xb7"}),(0,i.jsx)(n(),{href:"/news",className:"hover:text-[#8CCB43] hover:underline",children:"News & press"}),(0,i.jsx)("span",{children:"\xb7"}),(0,i.jsx)("span",{children:new Date(u.datePublished).toLocaleDateString("en-AU",{year:"numeric",month:"short",day:"numeric"})}),(0,i.jsx)("span",{children:"\xb7"}),(0,i.jsxs)("span",{children:[u.readMinutes," min read"]})]}),(0,i.jsx)("h1",{className:"mt-5 text-3xl sm:text-4xl md:text-[44px] font-bold tracking-tight text-white leading-tight",children:u.h1})]})}),(0,i.jsx)(d.wn,{className:"pb-10",children:(0,i.jsx)("article",{className:"max-w-3xl",children:p})}),(null==(r=u.faq)?void 0:r.length)?(0,i.jsx)(d.wn,{className:"py-10 border-t border-white/[0.06]",children:(0,i.jsxs)("div",{className:"max-w-3xl",children:[(0,i.jsx)(d.YZ,{children:"FAQ"}),(0,i.jsx)("div",{className:"mt-6 space-y-6",children:u.faq.map(e=>(0,i.jsxs)("div",{children:[(0,i.jsx)("h3",{className:"font-bold text-white",children:e.q}),(0,i.jsx)("p",{className:"mt-2 text-[15px] text-white/55 leading-relaxed",children:e.a})]},e.q))})]})}):null,"cti"===u.cta?(0,i.jsx)(d.wn,{className:"py-16",children:(0,i.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,i.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Bring a question your AI needs to get right."}),(0,i.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Compile-Time Inference prepares your records before questions arrive, so supported answers and decisions can be checked against their evidence. Start with the questions where a wrong answer costs the most."}),(0,i.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,i.jsxs)(n(),{href:"/compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:["See Compile-Time Inference ",(0,i.jsx)(a.A,{className:"w-4 h-4"})]}),(0,i.jsxs)("a",{href:"/Verificate_Compile-Time_Inference_Brochure.pdf",download:"Verificate_Compile-Time_Inference_Brochure.pdf",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:[(0,i.jsx)(l.A,{className:"w-4 h-4"})," Download the brochure (PDF)"]}),(0,i.jsxs)(n(),{href:"/contact?interest=compile-time-inference",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["Talk to us ",(0,i.jsx)(a.A,{className:"w-4 h-4"})]})]})]})}):(0,i.jsx)(d.wn,{className:"py-16",children:(0,i.jsxs)("div",{className:"rounded-3xl border border-[#2C3D1B] bg-gradient-to-b from-[#12190C] to-[#0B0F0A] px-8 md:px-14 py-12 text-center",children:[(0,i.jsx)("h2",{className:"text-2xl md:text-3xl font-bold text-white tracking-tight",children:"Put a real gate on your AI output."}),(0,i.jsx)("p",{className:"mt-4 text-white/60 max-w-2xl mx-auto",children:"Verificate Gate (available via MCP) runs deterministic checks plus an engineering-quality review on every AI output — in Claude Code, Cursor, Windsurf or any MCP client. 30-day free trial, no card required."}),(0,i.jsxs)("div",{className:"mt-8 flex flex-wrap justify-center gap-4",children:[(0,i.jsxs)(n(),{href:"/auth/signup",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg bg-[#8CCB43] hover:bg-[#7cbb37] text-[#0A0D0A] font-semibold transition-colors",children:[(0,i.jsx)(c.A,{className:"w-4 h-4"})," Start 30-day free trial"]}),(0,i.jsxs)(n(),{href:"/gate",className:"inline-flex items-center gap-2 px-5 py-3 rounded-lg border border-white/15 hover:border-[#8CCB43]/50 text-white font-semibold transition-colors",children:["See how the Gate works ",(0,i.jsx)(a.A,{className:"w-4 h-4"})]})]})]})})]})]})}}
1,7783:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>c});var i=r(7876),s=r(8230),n=r.n(s),a=r(5543);let l={slug:"/articles/ai-code-gate-zh",title:"AI 写了代码,谁来检查? — Verificate MCP",h1:"AI 写了代码,谁来检查?",description:"AI 助手写个 mock 就说“完成了”,调用根本不存在的 API,写出在高负载下崩溃的 N+1 循环。Verificate 是一个 MCP 服务器,在这些进入你的代码库之前就把它们拦下。免费试用,无需注册。",datePublished:"2026-08-05",readMinutes:4,image:"https://verificate.ai/og-mcp.png",faq:[{q:"Verificate 是什么?",a:"面向 AI 编写代码的合入门禁——一个 MCP 服务器,先跑 17 道确定性现实闸门,再由前沿模型评审,返回“通过/拒绝”裁决。支持 Claude Code、Cursor、Cline 及任何 MCP 客户端。"},{q:"免费吗?",a:"是——每台机器 100 次验证,无需注册、无需信用卡。之后可开启 30 天试用(无需信用卡),再后为 $30/月。"},{q:"这只是个 linter 吗?",a:"不是。Linter 基于规则。Verificate 的确定性闸门会对 mock/占位符、虚构 API 和虚假的“已完成”声明一票否决,随后由模型评审性能与可靠性——而且无法被经过提示注入的答复“说服”。"}]};function c(){return(0,i.jsxs)(a.m7,{meta:l,children:[(0,i.jsxs)(a.P,{children:["你在“凭感觉编码”(vibe coding)——描述想法,AI 写出代码。很快,也确实能跑——直到三种情况之一进入",(0,i.jsx)(a.OH,{children:"生产环境"}),":一个假的退款逻辑,其实并没有真正转账;一个根本不存在的 SDK 调用;或者一个 通过了所有测试、却在高负载下崩溃的 N+1 循环。"]}),(0,i.jsxs)(a.P,{children:["真正的问题不是写代码——而是",(0,i.jsx)(a.OH,{children:"没检查就合入"}),"。而逐行亲自审查每个 diff,又把凭感觉编码的所有 效率优势还了回去。"]}),(0,i.jsx)(a.H2,{children:"Verificate:一道拥有一票否决权的合入门禁"}),(0,i.jsxs)(a.P,{children:["Verificate 是一个 MCP 服务器。它先对每一处 AI 编写的改动运行 ",(0,i.jsx)(a.OH,{children:"17 道确定性现实闸门"}),"(mock/占位符否决、虚构 API 检测、虚假“已完成”检测)——其中任意一道都可拒绝,且任何模型都无法覆盖; 随后由前沿模型对通过的部分打分。"]}),(0,i.jsx)(a.P,{children:"来自生产网关的一条真实拒绝记录,原文如下:"}),(0,i.jsx)(a.Cy,{label:"validate_ai_output \xb7 REJECTED 30/100",code:"- [code_reality_gate] 检测到 Mock 实现\n- 严重:stripe.Inventory.update 在 Stripe SDK 中并不存在——\n  运行时会立即抛出 AttributeError\n- 高:退款逻辑是 mock 的——没有任何资金发生转移"}),(0,i.jsx)(a.P,{children:"每一条,若不拦截,都是一下午的线上排障——在这里,只是几秒钟和一次重新提示。"}),(0,i.jsx)(a.H2,{children:"30 秒接入——无需注册"}),(0,i.jsx)(a.P,{children:"Claude Code 一行命令:"}),(0,i.jsx)(a.Cy,{label:"Claude Code",code:"claude mcp add --transport http verificate https://mcp.verificate.ai/mcp"}),(0,i.jsxs)(a.P,{children:["Cursor / VS Code / 任意 MCP 客户端一键接入:"," ",(0,i.jsx)(n(),{href:"/gate",className:"text-[#8CCB43] hover:underline",children:"verificate.ai/gate"}),"。每台机器",(0,i.jsx)(a.OH,{children:" 100 次免费验证"}),"——无需账号、无需信用卡、无需令牌。"]}),(0,i.jsx)(a.Pq,{children:"你的代码只被分析,绝不执行,也绝不用于训练模型。让它在第一次检查时就替你抓出一个真实的 bug——然后再做决定。"}),(0,i.jsxs)(a.P,{children:["AI 负责写;门禁负责守住底线;你负责发布。"," ",(0,i.jsx)(n(),{href:"/gate",className:"text-[#8CCB43] hover:underline",children:"添加 Verificate"}),"。"]})]})}}},e=>{e.O(0,[8096,8799,636,8792],()=>e(e.s=2886)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.