!封面

2026 年 3 月,深潮 TechFlow 写 OpenClaw 淘金热时提到一件事:倒卖 Token API 的中转站,有人单月盈利上百万。

这个数字不一定代表行业平均水平。但它解释了一个现象:为什么最近到处都是「低价 Claude」「满血模型」「国内直连」。

我花了几天把市面上常见的中转站摸了一遍,先说结论:AI 中转站赚钱,靠的不是模型能力。

它赚的是三笔钱:访问门槛的钱、额度管理的钱、以及信息不透明的钱。

这篇文章不写「怎么搭站」。那东西一写就容易变成灰色教程,没意思。

我更关心另一个问题:我在客户端里输入一句提示词,最后到底是不是去了 Anthropic 的 Claude 真实服务器?中间经过了几层?返回时又经过了谁的手?

这条路径说不清,低价就没有意义。

01 中转站卖的不是模型,是入口

官方 API 对国内很多用户有四个门槛:网络、支付、账号、协议。

中转站把这四个问题包起来,给一个 base_url 和一个 sk-xxx,用户在 Cursor、Claude Code、Chatbox 或自己的脚本里一填,就能跑。

说白了就是把麻烦藏起来。

这里面第一笔钱来自支付和站内汇率。用户用人民币充值,后台用虚拟美元计价,甚至出现「1 元人民币 = 1 美刀额度」——也就是说,所谓「刀」往往不是银行汇率意义上的美元,而是站内额度单位。汇率差本身就是利润。

第二笔钱来自额度池。轻度用户充了 100 元,只用了 10 元就停了;重度用户把 Claude Code 接到项目里跑一晚上,站长再靠限速、排队、换上游去扛。这个池子本质上是赌用户用不完——赌赢了就是纯利。

第三笔钱来自模型和渠道的不透明。用户买的是「我能用上 Claude」这个结果,但很少能验证背后到底是哪条通道。

中转站利润不是来自模型本身,而是来自入口、额度和不透明路由。

02 一次请求,先过的是中转站自己的账本

先把一条正常请求拆开。

我在客户端输入:

{
  "model": "claude-sonnet-4-5",
  "messages": [
    { "role": "user", "content": "帮我分析这段代码的问题" }
  ],
  "stream": true
}

客户端不会直接去 Anthropic。它会把请求发到中转站提供的地址,比如 https://api.example-relay.com/v1/chat/completions

然后经过三层,请求才真正离开中转站。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 320">
  <rect width="600" height="320" fill="#fff" rx="6"/>
  <text x="300" y="30" text-anchor="middle" font-size="16" font-weight="700" fill="#333">一次提示词请求的完整路径</text>

  <!-- 客户端 -->
  <rect x="30" y="55" width="90" height="36" rx="4" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
  <text x="75" y="77" text-anchor="middle" font-size="12" fill="#333">你的客户端</text>

  <line x1="120" y1="73" x2="155" y2="73" stroke="#999" stroke-width="1" marker-end="url(#arrow)"/>

  <!-- 接入层 -->
  <rect x="160" y="50" width="100" height="46" rx="4" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
  <text x="210" y="68" text-anchor="middle" font-size="11" fill="#555">接入层</text>
  <text x="210" y="83" text-anchor="middle" font-size="9" fill="#999">CF/Nginx/网关</text>

  <line x1="260" y1="73" x2="295" y2="73" stroke="#999" stroke-width="1" marker-end="url(#arrow)"/>

  <!-- 鉴权层 -->
  <rect x="300" y="50" width="100" height="46" rx="4" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
  <text x="350" y="68" text-anchor="middle" font-size="11" fill="#555">鉴权层</text>
  <text x="350" y="83" text-anchor="middle" font-size="9" fill="#999">Key/余额/分组</text>

  <line x1="400" y1="73" x2="435" y2="73" stroke="#999" stroke-width="1" marker-end="url(#arrow)"/>

  <!-- 计费 -->
  <rect x="440" y="50" width="100" height="46" rx="4" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
  <text x="490" y="68" text-anchor="middle" font-size="11" fill="#555">计费预估</text>
  <text x="490" y="83" text-anchor="middle" font-size="9" fill="#999">估算+冻结</text>

  <!-- 分隔线 -->
  <line x1="30" y1="115" x2="570" y2="115" stroke="#ccc" stroke-width="1" stroke-dasharray="4,4"/>
  <text x="300" y="135" text-anchor="middle" font-size="11" fill="#999">—— 到此为止,请求还没碰到 Claude ——</text>

  <!-- 路由层 -->
  <rect x="160" y="155" width="100" height="46" rx="4" fill="#e8e8e8" stroke="#333" stroke-width="1.5"/>
  <text x="210" y="173" text-anchor="middle" font-size="11" font-weight="700" fill="#333">路由层</text>
  <text x="210" y="188" text-anchor="middle" font-size="9" fill="#666">决定钱从哪来</text>

  <line x1="260" y1="178" x2="295" y2="178" stroke="#333" stroke-width="1.5" marker-end="url(#arrow)"/>

  <!-- 真实API -->
  <rect x="300" y="155" width="130" height="46" rx="4" fill="#d4d4d4" stroke="#333" stroke-width="1.5"/>
  <text x="365" y="173" text-anchor="middle" font-size="11" font-weight="700" fill="#333">Anthropic / OpenAI</text>
  <text x="365" y="188" text-anchor="middle" font-size="9" fill="#666">真实模型服务器</text>

  <!-- 返回路径 -->
  <line x1="430" y1="195" x2="430" y2="225" stroke="#999" stroke-width="1"/>
  <line x1="430" y1="225" x2="75" y2="225" stroke="#999" stroke-width="1"/>
  <line x1="75" y1="225" x2="75" y2="250" stroke="#999" stroke-width="1" marker-end="url(#arrow)"/>

  <text x="300" y="218" text-anchor="middle" font-size="9" fill="#999">返回:格式转换 → 日志记录 → 计费结算</text>

  <!-- 返回客户端 -->
  <rect x="30" y="272" width="90" height="36" rx="4" fill="#f0f0f0" stroke="#999" stroke-width="1"/>
  <text x="75" y="294" text-anchor="middle" font-size="12" fill="#333">你的客户端</text>

  <!-- 箭头定义 -->
  <defs>
    <marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto">
      <path d="M0,0 L10,5 L0,10 Z" fill="#999"/>
    </marker>
  </defs>
</svg>

很多人以为中转站就是一个反向代理:进来、转发、回来。

实际不是。

一个能赚钱的中转站,前半段最重要的是账本、分组和限流。因为用户不会平均地用模型——有人一天问两句,有人把 AI 编程工具接到真实项目里连续跑。站长赚不赚钱,先看能不能识别这种用量差异。

03 真正分叉在路由层

请求通过账本之后,进入路由层。这一步决定了钱从哪里来,也决定了风险从哪里来。

我把它拆成三种模式。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 360">
  <rect width="600" height="360" fill="#fff" rx="6"/>
  <text x="300" y="28" text-anchor="middle" font-size="16" font-weight="700" fill="#333">三种上游模式对比</text>

  <!-- 表头 -->
  <rect x="15" y="42" width="100" height="28" fill="#333"/>
  <text x="65" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">模式</text>

  <rect x="115" y="42" width="145" height="28" fill="#333"/>
  <text x="187" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">背后是什么</text>

  <rect x="260" y="42" width="145" height="28" fill="#333"/>
  <text x="332" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">为什么便宜</text>

  <rect x="405" y="42" width="180" height="28" fill="#333"/>
  <text x="495" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">主要风险</text>

  <!-- 模式一 -->
  <rect x="15" y="70" width="100" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="65" y="110" text-anchor="middle" font-size="11" font-weight="700" fill="#2a7d2a">官方 Key 转发</text>

  <rect x="115" y="70" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="187" y="95" text-anchor="middle" font-size="10" fill="#555">Anthropic/OpenAI/</text>
  <text x="187" y="112" text-anchor="middle" font-size="10" fill="#555">Azure/AWS Bedrock</text>
  <text x="187" y="129" text-anchor="middle" font-size="10" fill="#555">真实 API Key</text>

  <rect x="260" y="70" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="332" y="95" text-anchor="middle" font-size="10" fill="#555">批量采购</text>
  <text x="332" y="112" text-anchor="middle" font-size="10" fill="#555">汇率套利</text>
  <text x="332" y="129" text-anchor="middle" font-size="10" fill="#555">统一计费</text>

  <rect x="405" y="70" width="180" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="495" y="95" text-anchor="middle" font-size="10" fill="#c41e3a">成本高,价格很难离谱低</text>
  <text x="495" y="120" text-anchor="middle" font-size="10" fill="#c41e3a">利润空间有限</text>

  <!-- 模式二 -->
  <rect x="15" y="160" width="100" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="65" y="200" text-anchor="middle" font-size="11" font-weight="700" fill="#d4a017">订阅账号池</text>
  <text x="65" y="216" text-anchor="middle" font-size="9" fill="#999">逆向</text>

  <rect x="115" y="160" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="187" y="185" text-anchor="middle" font-size="10" fill="#555">Claude Pro/Max 等</text>
  <text x="187" y="202" text-anchor="middle" font-size="10" fill="#555">订阅账号 + 脚本</text>
  <text x="187" y="219" text-anchor="middle" font-size="10" fill="#555">自动化 → 包装成 API</text>

  <rect x="260" y="160" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="332" y="185" text-anchor="middle" font-size="10" fill="#555">订阅额度多人共享</text>
  <text x="332" y="202" text-anchor="middle" font-size="10" fill="#555">边际成本趋近于零</text>

  <rect x="405" y="160" width="180" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="495" y="185" text-anchor="middle" font-size="10" fill="#c41e3a">易封号、限流</text>
  <text x="495" y="202" text-anchor="middle" font-size="10" fill="#c41e3a">协议不稳定</text>
  <text x="495" y="219" text-anchor="middle" font-size="10" fill="#c41e3a">Claude Code 工具调用异常</text>

  <!-- 模式三 -->
  <rect x="15" y="250" width="100" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="65" y="290" text-anchor="middle" font-size="11" font-weight="700" fill="#c41e3a">小中转接</text>
  <text x="65" y="306" text-anchor="middle" font-size="11" font-weight="700" fill="#c41e3a">大中转</text>

  <rect x="115" y="250" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="187" y="275" text-anchor="middle" font-size="10" fill="#555">自己不持稳定上游</text>
  <text x="187" y="292" text-anchor="middle" font-size="10" fill="#555">接别人的接口</text>
  <text x="187" y="309" text-anchor="middle" font-size="10" fill="#555">再包装一层赚差价</text>

  <rect x="260" y="250" width="145" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="332" y="275" text-anchor="middle" font-size="10" fill="#555">利润来自再包装</text>
  <text x="332" y="292" text-anchor="middle" font-size="10" fill="#555">无需投入真实成本</text>

  <rect x="405" y="250" width="180" height="90" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="495" y="275" text-anchor="middle" font-size="10" fill="#c41e3a">故障不可解释</text>
  <text x="495" y="292" text-anchor="middle" font-size="10" fill="#c41e3a">责任边界消失</text>
  <text x="495" y="309" text-anchor="middle" font-size="10" fill="#c41e3a">最不透明</text>
</svg>

第一种是最干净的。 中转站自己持有 Anthropic、OpenAI、Azure、AWS Bedrock 等官方或准官方渠道的 Key。用户请求进来后,中转站把用户 Key 换成自己的官方 Key,再把请求转发到真实 API。

New API 和 LiteLLM 这类开源项目,做的就是这类网关能力:多模型接入、协议转换、路由、计费、失败重试、成本统计。

这个模式不是天然有问题。很多企业内部也会自建 AI Gateway,把 OpenAI、Claude、Gemini 统一到一个入口,方便做权限、成本和审计。

问题在于,企业自用网关的目标是可控,中转站的目标通常是便宜和可售卖。这两个目标会冲突。

第二种是订阅账号池逆向。 站长买很多 Claude Pro、Max 或其他订阅账号,用自动化脚本登录网页或客户端,把用户的提示词塞进去,等网页返回结果,再抓出来包装成 API 响应。

用户以为自己在调 API,其实后面可能是浏览器自动化、客户端逆向、Cookie 池、代理 IP 池。

这里有个根本性的坑:网页和客户端不是为 API 服务设计的。它们有自己的系统提示词、频率限制、风控策略和会话状态。中转站硬把它包装成 API,就会出现奇怪的问题:同样的提示词今天能跑,明天 403;短问题能回答,长上下文突然断掉;Claude Code 的 tool use 表现不稳定。

这不是用户写错了。这是中转站把非 API 通道伪装成了 API。

第三种是小中转接大中转。 我以为自己买的是某个中转站,实际上它后面又接了另一个中转站。它自己没有官方 Key,也没有稳定账号池,只是拿别人的接口再包装一层。

这类站最大的特点是解释不了故障。用户问为什么 429,它说上游限流;问为什么模型不对,它说上游兜底;问为什么扣费异常,它说上游计费延迟。听起来都合理,但没有任何可验证信息。

这就是我最不喜欢的一类。因为它不只是便宜不便宜的问题,而是责任边界消失了

04 返回路径更敏感

请求到了真实模型服务器,Claude 或 OpenAI 开始生成内容。如果是流式输出,官方会通过 SSE(Server-Sent Events)返回一段一段事件——这解释了为什么客户端里会一个字一个字出来。

但中转站在中间。返回也不是「官方直接回到用户」。

真实路径大概是:模型服务器 → 中转站上游连接 → 中转站格式转换和日志 → 中转站计费结算 → 用户客户端。

这里最敏感的是日志

中转站理论上可以看到用户发出的 prompt,也可以看到模型返回的 response。它可以选择只记录用量、状态码、耗时、Token 数,也可以把完整对话存下来。

我以前觉得「我又不写什么机密,怕什么」。后来我想了一下,如果我把整个项目目录交给 AI 编程工具,中转站拿到的就不是一句聊天,而是一部分工作现场。这件事性质就变了。

用户在 Claude Code 里跑项目时,提示词里可能包含 .env、客户数据、源码、数据库结构、内部文档。哪怕我自己做了 .gitignore,也不代表 AI 工具不会在上下文里带出敏感片段。

中转站不是单纯网络代理。它是能读到内容的中间人。

所以这里就有最离谱的赚钱方式:把信息卖给厂商。有些「大量免费使用 xx 模型」的中转站,可能就是了。

05 故障信号诊断:看报错暴露了哪一层

中转站日常出问题,不要只看报错文本。要看它暴露了哪一层。

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 310">
  <rect width="600" height="310" fill="#fff" rx="6"/>
  <text x="300" y="28" text-anchor="middle" font-size="16" font-weight="700" fill="#333">故障信号 → 暴露的上游结构</text>

  <!-- 表头 -->
  <rect x="15" y="42" width="180" height="26" fill="#333"/>
  <text x="105" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">故障现象</text>

  <rect x="195" y="42" width="130" height="26" fill="#333"/>
  <text x="260" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">可能位置</text>

  <rect x="325" y="42" width="260" height="26" fill="#333"/>
  <text x="455" y="60" text-anchor="middle" font-size="11" font-weight="700" fill="#fff">暴露的问题</text>

  <!-- 行1 -->
  <rect x="15" y="68" width="180" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="87" text-anchor="middle" font-size="10" fill="#333">经常 401 / Key invalid</text>

  <rect x="195" y="68" width="130" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="87" text-anchor="middle" font-size="10" fill="#555">鉴权层 / 上游 Key</text>

  <rect x="325" y="68" width="260" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="87" text-anchor="middle" font-size="10" fill="#555">Key 管理混乱或真实 Key 被封</text>

  <!-- 行2 -->
  <rect x="15" y="98" width="180" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="117" text-anchor="middle" font-size="10" fill="#333">经常 429 / 速率限制</text>

  <rect x="195" y="98" width="130" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="117" text-anchor="middle" font-size="10" fill="#555">上游额度池</text>

  <rect x="325" y="98" width="260" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="117" text-anchor="middle" font-size="10" fill="#555">官方 Key 额度不足或订阅池被打满</text>

  <!-- 行3 -->
  <rect x="15" y="128" width="180" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="147" text-anchor="middle" font-size="10" fill="#333">高峰期排队很久</text>

  <rect x="195" y="128" width="130" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="147" text-anchor="middle" font-size="10" fill="#555">路由层 / 账号池</text>

  <rect x="325" y="128" width="260" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="147" text-anchor="middle" font-size="10" fill="#555">用低成本池子对赌轻度用户</text>

  <!-- 行4 -->
  <rect x="15" y="158" width="180" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="177" text-anchor="middle" font-size="10" fill="#333">Claude Code 工具调用异常</text>

  <rect x="195" y="158" width="130" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="177" text-anchor="middle" font-size="10" fill="#555">协议转换层</text>

  <rect x="325" y="158" width="260" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="177" text-anchor="middle" font-size="10" fill="#555">OpenAI 格式硬转 Claude,细节未适配</text>

  <!-- 行5 -->
  <rect x="15" y="188" width="180" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="207" text-anchor="middle" font-size="10" fill="#333">模型自称和面板不一致</text>

  <rect x="195" y="188" width="130" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="207" text-anchor="middle" font-size="10" fill="#555">路由层 / 提示词层</text>

  <rect x="325" y="188" width="260" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="207" text-anchor="middle" font-size="10" fill="#555">可能被降级,或被系统提示词伪装</text>

  <!-- 行6 -->
  <rect x="15" y="218" width="180" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="237" text-anchor="middle" font-size="10" fill="#333">输出风格突然变化</text>

  <rect x="195" y="218" width="130" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="237" text-anchor="middle" font-size="10" fill="#555">上游切换</text>

  <rect x="325" y="218" width="260" height="30" fill="#fff" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="237" text-anchor="middle" font-size="10" fill="#555">真实模型可能换了,或被注入系统提示词</text>

  <!-- 行7 -->
  <rect x="15" y="248" width="180" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="105" y="267" text-anchor="middle" font-size="10" fill="#333">扣费和用量对不上</text>

  <rect x="195" y="248" width="130" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="260" y="267" text-anchor="middle" font-size="10" fill="#555">计费层</text>

  <rect x="325" y="248" width="260" height="30" fill="#fafafa" stroke="#e0e0e0" stroke-width="0.5"/>
  <text x="455" y="267" text-anchor="middle" font-size="10" fill="#555">Token 估算、缓存计费或倍率配置有问题</text>

  <!-- 底部提示 -->
  <text x="300" y="300" text-anchor="middle" font-size="11" fill="#c41e3a">用故障信号反推问题发生在哪一层</text>
</svg>

这里最值得盯的是两个信号。

第一,模型能力突然不稳定。如果同一个模型名,上午能处理复杂代码,晚上连工具调用都乱掉,这不像正常波动,更像路由换了。

第二,站长永远用「上游问题」解释一切。真正直连官方或自持稳定渠道的服务商,至少能告诉我是哪类错误:余额不足、RPM 限流、TPM 限流、模型维护、账号封禁、协议转换失败。只会说「上游炸了」,多半说明它自己也不知道上游是谁。

06 靠谱中转站更像网关,不像倒卖摊位

合规的 AI Gateway 和灰色中转站,表面都给一个 API 地址。

区别在运营目标。

靠谱网关关心的是:权限、成本、可观测、故障切换、日志边界、协议兼容。

灰色中转关心的是:低价、引流、充值、上游套利、尽量别被封。

这两个东西看起来都能用,但不是一个物种。

我的判断很简单:中转站如果能把调用路径讲清楚,把日志边界讲清楚,把故障归因讲清楚,它就有机会变成基础设施;如果它只能把「低价 Claude」四个字写得很大,它大概率只是把别人的不确定性转卖给我。


AI 时代最贵的不是 Token。

是我把工作现场交出去之后,还以为自己只是省了几块钱。


当然,我自己没有做过中转站,说得不对的,还请各位评论区指教。

参考资料

[1] OpenClaw 淘金热,谁在暴富? — TechFlow, 2026-03

[2] AI 中转站黑话大全整理 — V2EX

[3] AI 中转站的底裤,扒给你看 — V2EX

[4] New API — QuantumNous/new-api(GitHub)

[5] LiteLLM — BerriAI/litellm(GitHub)

[6] Anthropic Streaming Messages — docs.anthropic.com

[7] OpenAI Streaming Responses — platform.openai.com


作者简介: 陈石律师,浙江海泰律师事务所副主任、高级合伙人、房地产与建设工程部主任,宁波市律师协会副秘书长、第七届宁波仲裁委员会仲裁员,聚焦建筑房地产、投融资、并购重组及商事争议解决。曾获多家法律媒体与专业机构认可,荣登 LegalOne 2025 中国区建工及房地产实务先锋 45 强、律新社 2025 年度管理合伙人 20 佳(华东),入选《商法》The A-List 法律精英,获评 ALB China 区域市场十五佳长三角地区律师新星,并获律新社 2024 年度并购领域品牌之星。长期为万科、华润置地、信达地产、保利置业、招商蛇口、中海地产等企业提供法律服务,承办"首宗百亿地王""长春第一高楼""台州第一高楼"等代表性项目,累计服务项目投资额超千亿。近年来持续推动 AI 与法律实务融合,强调以结构化方法打通技术逻辑、法律判断与商业场景;著有《赋能法律人:AI 底层思维与应用范式》,并在多地开展相关主题讲座与分享。四明山法师 AI 夜校(legalAGI.cn)发起人。