包含关键字 typecho 的文章

image-20260127163313212

今天刷 Twitter 的时候,发现时间线被一个叫 ClawdBot 的东西刷屏了。

点进去一看,是个开源的 AI 助手框架。能干的事情挺多:通过 Telegram/WhatsApp 远程控制电脑、自动处理邮件、定时跑任务、甚至能帮你和 4S 店砍价(有个老外说靠它省了 4200 美元,虽然我觉得有点玄学)。

手上正好有台吃灰的 VPS ,干嘛不试试?

结果这一试,踩了一晚上的坑。官方文档写得比较散,很多细节要自己摸索。顺手把过程记下来,给想折腾的朋友省点时间。

image-20260127155609156


ClawdBot 是什么

简单说,ClawdBot 是一个本地运行的 AI 助手网关

它的核心是一个 Gateway 进程,负责:

  • 连接各种聊天平台( Telegram 、WhatsApp 、Discord 、iMessage 等)
  • 调用 AI 模型( Claude 、GPT 、本地模型都行)
  • 执行系统命令、读写文件、控制浏览器
  • 管理定时任务和自动化流程

你可以把它理解成一个7x24 小时在线的 AI 员工。它有记忆(知道你之前聊过什么),有手脚(能操作你的电脑),还会主动干活(定时任务、邮件监控)。

根据 Mashable 的报道,这东西火到 Mac mini 都卖断货了——很多人专门买一台小主机放家里,就为了跑这个。

不过我觉得没必要这么激进。一台便宜的云服务器就够了,一个月几十块钱,玩坏了也不心疼。


它能干什么

搭完之后我自己用了一下,体验确实不错:

  • 随时随地发消息:手机上给 Bot 发消息,秒回。出门在外也能远程操作服务器
  • 查服务器状态:让它跑个 htop 或者看 Docker 容器,截图发过来
  • 定时任务:每天早上 7 点发一份服务器健康报告
  • 写代码调试:把报错信息发给它,它能直接帮你改文件

网上还有人玩得更花:

邮件自动化:每 15 分钟检查一次收件箱,垃圾邮件自动归档,重要邮件立刻推送摘要到手机,还能用你的口吻起草回复。

笔记整理:连接 Obsidian ,自动更新每日笔记,从会议记录里提取待办事项,生成每周回顾。

睡觉时写代码:睡前把一个 Bug 丢给它,它会持续调试、提交、测试,早上起来 PR 就准备好了。

智能家居控制:有人在沙发上看电视,用手机让它帮忙调灯光、查天气、设闹钟。

当然,这些高级玩法需要配置额外的 Skills 和集成。本文先讲基础安装,能聊天、能执行命令就算成功。

image-20260127155715044

image-20260127155723447

image-20260127155745564


准备工作

你需要:

项目 说明
一台服务器 云服务器(我用的 Ubuntu 24.04 )、Mac mini 、旧电脑、树莓派都行,最好是国外的,不然网络环境都有的折腾了!
Telegram 账号 用来创建 Bot
Claude/GPT API 官方的或者中转站都行,后面会细说

关于设备选择

云服务器(推荐新手)

优点:便宜(最低几十块/月)、玩坏了不心疼、7x24 在线
缺点:需要一点 Linux 基础

Mac mini

优点:性能好、功耗低、能跑 macOS 专属功能( iMessage 等)
缺点:贵( 4000+ 起步)、权限太高有安全风险

我的建议

新手先用 VPS 试水。等熟悉了再考虑要不要买专门的设备。如果真要用 Mac mini ,别用日常工作的那台——万一配置出问题,或者 Key 泄露了,后果可能很严重。


安装方式

ClawdBot 支持多种安装方式,我按推荐程度排序:

方式一:一键安装脚本(推荐)

官方提供的快速安装命令,会自动处理依赖和权限问题:

# Linux / macOS
curl -fsSL https://get.clawd.bot | bash

# 安装完成后运行引导向导
clawdbot onboard --install-daemon

这个脚本会自动检测系统、安装 Node.js 22+、处理 npm 权限、全局安装 clawdbot 。

方式二:手动 npm 安装

如果你已经有 Node.js 22+:

npm install -g clawdbot@latest


详细安装步骤

下面用手动方式演示。虽然一键脚本更方便,但手动装能让你更清楚每一步在干嘛,出问题也好排查。

第一步:安装 Node.js 22+

ClawdBot 要求 Node.js 22 以上。Ubuntu 自带的版本太老,得手动装。

# 添加 NodeSource 仓库
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -

# 安装
apt-get install -y nodejs

# 验证
node -v
# 输出 v22.x.x 就对了

image-20260127160000295

踩坑 1:别直接 apt install nodejs,那样装的是老版本(通常 v12 或 v18 ),后面会报各种兼容性错误。

第二步:安装 ClawdBot

npm install -g clawdbot@latest

装完验证:

clawdbot --version

image-20260127160041920

踩坑 2:如果报 EACCES 权限错误,说明 npm 全局目录权限有问题。解决方法:

mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

第三步:创建 Telegram Bot

打开 Telegram ,搜索 @BotFather,发送 /newbot。这里好像必须新建!

按提示设置:

  1. 给 Bot 起个名字(显示名称)
  2. 设置用户名(必须以 bot 结尾,比如 my_clawd_bot

最后会给你一串 Token:

1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ1234567890

存好这个 Token,后面要用。

image-20260127160128795

第四步:准备 API

这一步最容易踩坑。

用官方 API

  1. console.anthropic.com 注册
  2. 创建 API Key (以 sk-ant- 开头)
  3. 充值一点余额

用中转站 API

如果用中转站,注意三点:

  • 必须支持 OpenAI 兼容格式
  • 必须支持 工具调用( function calling )
  • 确认 没有分组限制

踩坑 3:这里我是直接用的 CLI Proxy API 这个开源项目中转的 API,选的 gemini-3-flash 模型,感觉非常舒畅!

第五步:写配置文件

创建配置目录:

mkdir -p ~/.clawdbot
nano ~/.clawdbot/clawdbot.json

根据你的 API 类型选配置模板:

模板 A:Anthropic 官方 API

{
  "gateway": {
    "mode": "local",
    "bind": "loopback",
    "port": 18789
  },
  "env": {
    "ANTHROPIC_API_KEY": "sk-ant-你的密钥"
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "anthropic/claude-sonnet-4-5-20261022"
      }
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "你的 Bot Token",
      "dmPolicy": "pairing"
    }
  }
}

模板 B:OpenAI 兼容的中转站

{
  "gateway": {
    "mode": "local",
    "bind": "loopback",
    "port": 18789
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "gemini/gemini-3-flash"
      },
	  "elevatedDefault": "full" ,
      "workspace": "/wangwang",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "gemini": {
        "baseUrl": "https://你的中转站 API/v1",
        "apiKey": "test",
        "api": "openai-completions",
        "models": [
          {
            "id": "gemini-3-flash",
            "name": "gemini-3-flash"
          }
        ]
      }
    }
  },
  "channels": {
    "telegram": {
      "botToken": "你的 TG Token"
    }
  },
  "plugins": {
    "entries": {
      "telegram": {
        "enabled": true
      }
    }
  }
}


踩坑 4api 字段必须填 openai-completions。我一开始填的 openai-chat,死活启动不了。

踩坑 5models 数组不能省,不然报错说缺少必填项。注意 agents 中也有配置模型名,别忘了改!

第六步:启动测试

clawdbot gateway --verbose

看到这两行就成功了:

[gateway] listening on ws://127.0.0.1:18789
[telegram] [default] starting provider (@你的 Bot 名字)

image-20260127160536261

第七步:配对

第一次给 Bot 发消息,它会回复配对码:

Pairing code: X9MKTQ2P
Your Telegram user id: 123456789

在服务器上执行:

clawdbot pairing approve telegram X9MKTQ2P

配对完成后,只有你的账号能和 Bot 对话,别人发消息它不会理。

记下你的 Telegram User ID,后面设置权限白名单要用。

后续有啥需求就直接 tg 对话,让 AI 自行配置就行了!比如我让它帮我集成了 exa 的搜索功能!

image-20260127160903264


设置开机自启

nohup 跑的话,SSH 一断就挂了。上 systemd:

cat > /etc/systemd/system/clawdbot.service << 'EOF'
[Unit]
Description=ClawdBot Gateway
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/clawdbot gateway --verbose
Restart=always
RestartSec=5
Environment=HOME=/root

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable clawdbot
systemctl start clawdbot

这样就完事了。开机自动启动,挂了 5 秒后自动重启。


日常维护

几个常用命令:

# 看运行状态
systemctl status clawdbot

# 看实时日志
journalctl -u clawdbot -f

# 重启
systemctl restart clawdbot

# 健康检查
clawdbot doctor

# 全面状态
clawdbot status --all


进阶:命令白名单

如果想让某些命令自动执行,不用每次批准:

# 允许 docker 命令
clawdbot approvals allowlist add --agent "*" "docker *"

# 允许 systemctl
clawdbot approvals allowlist add --agent "*" "systemctl *"

# 允许 /usr/bin 下的程序
clawdbot approvals allowlist add --agent "*" "/usr/bin/*"

# 查看当前白名单
clawdbot approvals allowlist list


进阶:定时任务

ClawdBot 内置 Cron 功能。比如每天早上 7 点发送服务器状态:

clawdbot cron add --schedule "0 7 * * *" \
  --timezone "Asia/Shanghai" \
  --message "检查服务器状态,给我发个简报" \
  --deliver telegram \
  --to "你的 TG 用户 ID"

或者写进配置文件:

{
  "cron": {
    "jobs": [
      {
        "id": "daily-report",
        "schedule": {
          "cron": "0 7 * * *",
          "timezone": "Asia/Shanghai"
        },
        "sessionTarget": "isolated",
        "payload": {
          "agentTurn": {
            "message": "检查服务器状态,生成简报"
          }
        },
        "deliver": {
          "channel": "telegram",
          "to": "你的 TG 用户 ID"
        }
      }
    ]
  }
}


常见问题

clawdbot: command not found

npm PATH 问题。确认全局目录在 PATH 里:

npm config get prefix
echo 'export PATH=$(npm config get prefix)/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

端口被占用

默认端口 18789 冲突了:

lsof -i :18789  # 看谁在用

clawdbot gateway --port 18790 --verbose  # 换个端口

Bot 收到消息但不回复

按顺序检查:

  1. Gateway 在不在跑:clawdbot status
  2. 配对了没:clawdbot pairing list telegram
  3. API 还有没有额度
  4. 看日志:journalctl -u clawdbot -f

all models failed

API 配置问题:

  1. Key 对不对
  2. baseUrl 格式对不对(结尾有没有 /v1
  3. model id 写对没
  4. 跑一下 clawdbot doctor

工具调用失败

你的 API 不支持 function calling 。这种情况 Bot 能聊天,但执行命令用不了。换一个支持工具调用的 API 。


完整配置示例

一个功能完整的配置,开箱即用:

{
  "gateway": {
    "mode": "local",
    "bind": "loopback",
    "port": 18789
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "openai-compat/claude-sonnet-4-5-20261022",
        "fallback": ["openai-compat/claude-haiku-3-5-20241022"]
      },
      "elevatedDefault": "full",
      "thinking": "medium"
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "openai-compat": {
        "baseUrl": "https://你的 API 地址/v1",
        "apiKey": "你的密钥",
        "api": "openai-completions",
        "models": [
          {
            "id": "claude-sonnet-4-5-20261022",
            "name": "Claude Sonnet 4.5"
          },
          {
            "id": "claude-haiku-3-5-20241022",
            "name": "Claude Haiku 3.5"
          }
        ]
      }
    }
  },
  "tools": {
    "exec": {
      "backgroundMs": 10000,
      "timeoutSec": 1800,
      "cleanupMs": 1800000,
      "notifyOnExit": true
    },
    "elevated": {
      "enabled": true,
      "allowFrom": {
        "telegram": ["你的 TG 用户 ID"]
      }
    },
    "allow": ["exec", "process", "read", "write", "edit", "web_search", "web_fetch", "cron"]
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "你的 Bot Token",
      "dmPolicy": "pairing",
      "allowFrom": ["你的 TG 用户 ID"],
      "groupPolicy": "disabled"
    }
  },
  "cron": {
    "jobs": []
  }
}

配置亮点

  • fallback:主模型挂了自动切备用
  • thinking: medium:启用中等深度思考
  • groupPolicy: disabled:只响应私聊,不进群
  • 双重白名单:elevated 和 channels 都设了 allowFrom


总结

整个过程折腾了大半天,大部分时间花在排查配置格式上。

几个关键点:

  1. Node.js 版本:必须 22 以上
  2. API 要通用:别用有分组限制的 Key
  3. 配置格式严格api 字段、models 数组这些容易出错
  4. 用 systemd 管理:别用 nohup
  5. 安全第一:白名单必须设,日志定期看

搭完之后确实方便。出门在外随时能跟服务器交互,定时任务也不用自己写脚本了。

但说实话,这东西更适合有一定技术基础的人。如果只是想聊天,直接用 Claude 官网就够了。折腾 ClawdBot ,图的是「可控」和「自动化」。

antigravity 的 gemini 模型,不管是 pro 还是 flash 。简直就离谱了。

calude code 也太好用了,几秒钟就能准确定位答案。gemini 一开始还行现在越来越拉胯,calude 额度现在一限制就是几天,太离谱了。

  • 无限循环
  • 海量 token 生成。也不知道在干嘛。

吐槽完毕,请问大佬们 calude code 如何购买最划算,是订阅 cursor 么,还是如何使用 calude code 性价比最好呢

家里的母缅因发情了,就打算借一只公猫来配种,于是找到了这只可爱又霸气的银虎斑缅因。虽然最后没配上,但这只猫真的很乖,于是拍了几张照片留作纪念。

银虎斑缅因猫喝水]
银虎斑缅因猫在洗衣机旁
银虎斑缅因猫趴在地上
银虎斑缅因猫站在电脑桌上
银虎斑缅因猫站在玻璃前半明半暗

现在,已经被他的主人接回家割蛋了。

既然没有缘分,我们家的母猫也要准备割掉了。下面这张是我们家其中一只母猫发情的样子。

棕虎斑缅因猫发情

为什么同样是按钮,有的看起来高档大气,有的却显得廉价劣质?

秘诀就在于层次感

就像 3D 电影比 2D 电影更有沉浸感一样,有深度的界面比扁平的界面更能抓住用户的注意力。

扁平的化界面就像一张平铺的纸,而有层次的界面就像立体的雕塑,自然显得更高级。

核心秘诀

苹果的产品为什么看起来那么高级?

其实原理很简单——就像化妆一样,层次感来自多重叠加

回忆一下女朋友化妆的步骤:

  1. 第一层:浅色打底(提亮)
  2. 第二层:深色阴影(立体感)

界面设计也是同理:

  • 第一层阴影:让元素“浮起来”
  • 第二层阴影:让元素“站得住”

就这么简单!但效果却能让你惊叹。

现在让我们看些实际的例子。

应用场景

1. 鼠标悬停

CSS 代码很简单:

.card {
  background: var(--shade);
  border-radius: 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), /* top glow */ 0 4px 6px rgba(0, 0, 0, 0.12); /* bottom drop */
}

鼠标悬停时:

.card:hover {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 10px 20px rgba(0, 0, 0, 0.16);
  transform: translateY(-2px);
}

使用效果如下:

<!-- 这是一张图片,ocr 内容为:BEFORE FLAT SIMPLE BORDERED BUTTONS WITH NO DEPTH OR HIERARCHY. PRIMARY SECONDARY AFTERDEPTH SAME ACTIONS,BUT WITH SOFT GLOW,SHADOW AND GRADIENT. SECONDARY PRIMARY -->

这种轻微的悬停提升效果能让用户界面感觉响应迅速且高端,而无需使用动画库。

激活标签

当前激活的标签页看起来应该比其他标签页位置更高。

代码如下:

.tab.active {
  background: var(--shade);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 3px 6px rgba(0, 0, 0, 0.12);
}

使用效果如下:

<!-- 这是一张图片,ocr 内容为:BEFORE:FLAT TABS NO DEPTH, SINGLE BACKGROUND, BORDERS EVERYWHERE.WORKS, BUT FEELS LIKE A WIREFRAME. ACTIVITY BILLING OVERVIEW AFTER:DEPTH&LAYERS SAME LAYOUT, BETTER HIERARCHY:LAYERED SHADES, TOP GLOW, SOFT DROP SHADOW. OVERVIEW BILLING ACTIVITY -->

结论

我以前认为,优秀的 UI 需要复杂的渐变、自定义图标或大规模的重新设计。

事实证明,优秀设计很大程度上来自于细微的、有意设计的深度细节。

颜色图层 + 柔和阴影 = 廉价 UI → 高级 UI

现在就去试试吧!花 1 分钟,你就能让界面看起来贵 10 倍。

我是冴羽,10 年笔耕不辍,专注前端领域,更新了 10+ 系列、300+ 篇原创技术文章,翻译过 Svelte、Solid.js、TypeScript 文档,著有小册《Next.js 开发指南》、《Svelte 开发指南》、《Astro 实战指南》。

欢迎围观我的“网页版朋友圈”,关注我的公众号:冴羽(或搜索 yayujs),每天分享前端知识、AI 干货。

本文以真实场景切入,给出跨部门协作项目的目标对齐一页纸、交付物级RACI责任矩阵、里程碑写法与30分钟周会节奏,以及升级路径与决策日志模板;并示例如何用ONES把文档、任务、缺陷与决策关联沉淀,减少反复确认,稳步推进到可验收交付,团队可直接复用。

跨部门协作项目最折磨人的,往往不是忙,而是忙得没方向。每个人都在做事,却没人能拍板;进度表天天更新,现实却卡在依赖、冲突与反复确认里。我做项目十年,踩过坑也带团队走出来。后来我发现,跨部门推进不靠强势,而靠一套让人更安心的机制:目标对齐让大家站在同一张地图上,RACI把责任写清,里程碑节奏让协作持续发生。

本文会回答的以下6个问题:

  • 跨部门协作项目推进不动,最先该修哪里?
  • “目标对齐”怎么写才不变成口号而是可验收标准?
  • RACI 责任矩阵怎么落到“交付物”,避免“大家都能拍板=没人拍板”?
  • 里程碑怎么写才是“关键节点”而不是任务清单?
  • 周会怎么开才不内耗,还能逼近决策?
  • 信息如何沉淀:文档、任务、决策怎么放在同一个地方,不靠“翻聊天记录”?

把跨部门协作项目从“吵”拉回“可推进”

1)目标对齐:把“想做什么”翻译成“要解决什么问题”

我见过很多跨部门协作项目,一开始大家说得都很美:“我们要尽快上线”“这次要做成标杆”。两周后就开始分裂:业务催交付,研发守质量,运营要完整,合规要稳妥——每个人都合理,但项目却越来越像在拔河。

1. 目标别写成方案:先对齐“问题”与“成功标准”

一个最常见的坑:把目标写成“上线XX系统”。更可推进的写法应该是:“解决YY问题,并用ZZ标准证明我们解决了。”

你可以借鉴 OKR 的表达方式:目标 + 2~3条可验证结果,用结果对齐,而不是用活动对齐。跨部门争论不是坏事,坏的是争论没有共同裁判标准。目标对齐的本质,就是把“裁判标准”写出来。

2. “目标对齐一页纸”:让共识可以被反复回到

我常用一页纸对齐(建议控制在一页,方便传播与复盘):

  • 业务问题一句话:我们到底在解决什么痛点?
  • 成功标准(2~3条):怎么判断做成了?(可验收)
  • 范围边界:这次不做什么?
  • 关键约束:时间/预算/合规/资源假设
  • 必须拍板的决策点(3~5个):例如范围冻结口径、上线开关、风险接受边界

常见误区(建议写出来):

  • 只写“愿景”,不写“验收口径” → 后面一定会吵
  • 没写“不做什么” → 范围膨胀不可避免
  • 决策点没列出 → 临近节点必然“临时抓人”

一个很实用的小建议:

如果你们团队已经在用 ONES 这类研发协作平台,我通常会把“目标对齐一页纸”放在 ONES Wiki 做成固定模板页,并把相关项目/需求/任务链接在同一页里,减少“文档在A处、任务在B处”的割裂。ONES Wiki 本身支持文档关联项目任务、也支持在文档里嵌入工作项列表,特别适合做“对齐页”这种长期要回看的内容。

2)RACI:把“谁来做/谁拍板/问谁/告知谁”写清楚

跨部门协作项目里最让人疲惫的,不是任务多,而是你永远在确认:找谁要结论?谁能拍板?谁只是“提供意见”?当这些不清楚,项目经理就会用加班去换确定性。
RACI 是一种常用的责任分配/责任矩阵方法:R(Responsible)负责执行,A(Accountable)最终负责并批准,C(Consulted)被咨询,I(Informed)被告知。

1. RACI要落在“交付物”,不要落在“动作”

更高效的方式,是把 RACI 绑定到交付物(deliverables):

  • PRD/需求范围冻结
  • 技术方案评审结论
  • 合规审查结论
  • 联调完成证明
  • UAT通过结论
  • 上线开关(Go/No-Go)
  • 验收报告

这样你在推进跨部门协作项目时,追问的不是“谁来帮一下”,而是“这个交付物谁是A”。

2. 三条“救命规则”:让 RACI 不变成墙上装饰

  1. 每个交付物只设1个A:否则“大家都能拍板=没人拍板”。
  2. A必须具备决策权/资源影响力:不然他只能转述意见,项目继续绕圈。
  3. C别贪多、I要分层:咨询的人越多,决策越慢;告知要按频率分层,别用“群发”代替管理。

3. 让RACI“活起来”:绑定会议、决策日志与变更机制

我踩过的坑是:RACI画得很漂亮,但没人按它开会、按它决策,于是它没有生命。让它活起来,你只要绑定三件事:

  • 会议名单:周会谁必须在?谁只需要被告知?
  • 决策日志:结论、依据、A是谁、影响是什么(可追溯)
  • 变更机制:范围/需求变化时,谁评估影响,谁批准

工具落地:

RACI 最怕“版本漂移”:表在邮件里、决策在群里、任务在另一个系统里。我的做法是把 RACI 表作为一张“项目治理页”固定沉淀在知识库里(比如用 ONES Wiki 这种有版本与权限控制、支持评论讨论的地方),然后把关键交付物对应的任务列表嵌进去,这样大家看的永远是同一份“当前版”。

3)里程碑节奏:用“台阶”降低不确定性,用“节奏”减少内耗

很多跨部门协作项目看起来推进慢,是因为计划只有一个“大结局”:上线那天。但里程碑(milestone)的意义,是在项目时间线上标记关键成就/关键节点(比如关键审批、阶段完成、决策点),帮助团队跟踪进展、管理预期。

1. 里程碑怎么写才可验收:动词+对象+退出准则

我推荐的写法是:动词 + 对象 + 验收口径/退出准则。例如:

  • 需求范围冻结(含变更流程确认)
  • 技术方案评审通过(关键风险已闭环或已达成接受结论)
  • UAT通过(关键路径用例100%通过,遗留缺陷有明确策略)
  • 上线评审通过(回滚预案、监控指标、责任人确认)

当里程碑有退出准则,跨部门争论会明显减少,因为大家讨论的是“是否达标”,不是“我觉得差不多”。

2. 周会怎么开才不内耗:30分钟三段式

节奏不是为了开更多会,而是为了减少不确定性。跨部门协作项目里,“不确定”会迅速转化为焦虑、催促与内耗。

我常用的周会结构(30分钟):

  • 10分钟:里程碑进度(只说变化)
  • 10分钟:阻塞/依赖清单(谁依赖谁、截止时间)
  • 10分钟:决策点(当场定A;定不了就触发升级)

如果团队已经在用 ONES Project 这类项目协作工具,我会把“里程碑对应的关键交付物”拆成工作项挂到迭代里,用看板/燃尽图等视图让进度透明化——不是为了“上工具”,而是为了让跨部门在同一份事实面前对齐节奏。ONES Project 本身就覆盖需求、任务、缺陷、迭代等场景,也提供看板、燃尽图等用于掌控进度的能力。

3. 风险与依赖清单:把焦虑变成事项

跨部门协作项目推进的“情绪感”,往往来自依赖不透明:外部输入没来、资源没锁定、审批排队。我建议固定维护两张清单:

  • 依赖清单:依赖项、提供方、截止时间、当前状态、影响里程碑
  • 风险清单:风险描述、概率/影响、应对策略、触发条件、责任人

当你把风险写出来,它就从“我很担心”变成“我们可以处理的事项”。这一步,对项目经理的心态也很关键。里程碑把大项目切成台阶,节奏把台阶踩实——跨部门协作项目要持续推进,靠的是“可验收节点+稳定节奏”。

4)升级路径:让冲突有出口,让项目不靠硬扛

跨部门协作项目一定会有冲突:资源被抢、优先级变化、质量与速度拉扯。成熟的做法不是压住冲突,而是给冲突一条体面、清晰、可执行的路。

1. 三句话写清升级机制(可直接复制)

  • 何时必须升级(触发条件):影响关键里程碑/成功标准;跨部门资源冲突无法在项目组解决;关键风险需要决策接受。
  • 升级到谁(决策层):赞助人/业务负责人/Steering(治理小组)。
  • 多久给结论(SLA):例如48小时内给出继续/调整/暂停的结论。

2. 一句“温和但不含糊”的升级话术

“我理解大家的顾虑。为了不让风险在一线被动累积,我们按约定的升级路径把这个决策点提交给A/Steering,在xx时间前拿到结论。我负责把影响、选项和建议写清楚。”

把升级变得更体面的一点小技巧:记录“决策的来龙去脉”

我通常会把升级事项的背景、选项、影响、最终结论沉淀成一页“决策记录”(Decision Log),避免下次同样的问题再次争论。像 ONES Wiki 这种支持评论讨论、版本回溯、模板化沉淀的文档空间,用来放决策记录很顺手——它不会取代沟通,但能让沟通不再丢失。升级不是甩锅,而是把跨部门协作项目的冲突,从情绪战场搬到决策机制里解决。

工具箱:三张模板 + 术语小词典

A)目标对齐一页纸(模板)

  • 业务问题一句话:____
  • 成功标准(2~3条):_ / / _
  • 不做什么(边界):____
  • 关键约束:____
  • 决策点(3~5个):____

如果你们使用 ONES,可以把这页作为 Wiki 模板,并把项目工作项列表嵌入页面,形成“文档—任务”同屏对齐。

B)RACI责任矩阵(最小可行版)

先选 3个最关键交付物(别贪多),每个交付物写清:

  • R:____
  • A:____(唯一)
  • C:____
  • I:____
  • C)里程碑节奏(周会三段式)
  • 本周里程碑变化:____
  • 阻塞/依赖清单(含截止时间):____
  • 需要决策的事项(A是谁):____

结尾总结

如果你正在推进一个跨部门协作项目,感到混乱、焦虑、甚至有点委屈,我想说:这很正常。跨部门从来不是“把人拉进一个群”这么简单,它需要一套共同语言。你不必一次性把一切做到完美。你可以从今天开始做三件小事:写好目标对齐一页纸,选出3个最关键交付物做RACI,再设定一个能坚持的里程碑节奏。

跨部门协作项目越到后期越容易被“赶上线”拖着走。若你们研发/测试协作在 ONES 里跑闭环,像 TestCase 支持用例与需求/任务关联、测试计划与迭代关联、并能一键提 Bug 与缺陷流转,能在不增加沟通成本的前提下,把质量信号更早暴露出来。

项目管理的价值,很多时候不是“把项目推过去”,而是让团队在一次次协作里,学会更清晰地工作、更体面地解决冲突、更有信心地成长。愿你在每一个跨部门协作项目里,都能既保持理性,也保留温度。

本文以真实场景切入,给出跨部门协作项目的目标对齐一页纸、交付物级RACI责任矩阵、里程碑写法与30分钟周会节奏,以及升级路径与决策日志模板;并示例如何用ONES把文档、任务、缺陷与决策关联沉淀,减少反复确认,稳步推进到可验收交付,团队可直接复用。

跨部门协作项目最折磨人的,往往不是忙,而是忙得没方向。每个人都在做事,却没人能拍板;进度表天天更新,现实却卡在依赖、冲突与反复确认里。我做项目十年,踩过坑也带团队走出来。后来我发现,跨部门推进不靠强势,而靠一套让人更安心的机制:目标对齐让大家站在同一张地图上,RACI把责任写清,里程碑节奏让协作持续发生。

本文会回答的以下6个问题:

  • 跨部门协作项目推进不动,最先该修哪里?
  • “目标对齐”怎么写才不变成口号而是可验收标准?
  • RACI 责任矩阵怎么落到“交付物”,避免“大家都能拍板=没人拍板”?
  • 里程碑怎么写才是“关键节点”而不是任务清单?
  • 周会怎么开才不内耗,还能逼近决策?
  • 信息如何沉淀:文档、任务、决策怎么放在同一个地方,不靠“翻聊天记录”?

把跨部门协作项目从“吵”拉回“可推进”

1)目标对齐:把“想做什么”翻译成“要解决什么问题”

我见过很多跨部门协作项目,一开始大家说得都很美:“我们要尽快上线”“这次要做成标杆”。两周后就开始分裂:业务催交付,研发守质量,运营要完整,合规要稳妥——每个人都合理,但项目却越来越像在拔河。

1. 目标别写成方案:先对齐“问题”与“成功标准”

一个最常见的坑:把目标写成“上线XX系统”。更可推进的写法应该是:“解决YY问题,并用ZZ标准证明我们解决了。”

你可以借鉴 OKR 的表达方式:目标 + 2~3条可验证结果,用结果对齐,而不是用活动对齐。跨部门争论不是坏事,坏的是争论没有共同裁判标准。目标对齐的本质,就是把“裁判标准”写出来。

2. “目标对齐一页纸”:让共识可以被反复回到

我常用一页纸对齐(建议控制在一页,方便传播与复盘):

  • 业务问题一句话:我们到底在解决什么痛点?
  • 成功标准(2~3条):怎么判断做成了?(可验收)
  • 范围边界:这次不做什么?
  • 关键约束:时间/预算/合规/资源假设
  • 必须拍板的决策点(3~5个):例如范围冻结口径、上线开关、风险接受边界

常见误区(建议写出来):

  • 只写“愿景”,不写“验收口径” → 后面一定会吵
  • 没写“不做什么” → 范围膨胀不可避免
  • 决策点没列出 → 临近节点必然“临时抓人”

一个很实用的小建议:

如果你们团队已经在用 ONES 这类研发协作平台,我通常会把“目标对齐一页纸”放在 ONES Wiki 做成固定模板页,并把相关项目/需求/任务链接在同一页里,减少“文档在A处、任务在B处”的割裂。ONES Wiki 本身支持文档关联项目任务、也支持在文档里嵌入工作项列表,特别适合做“对齐页”这种长期要回看的内容。

2)RACI:把“谁来做/谁拍板/问谁/告知谁”写清楚

跨部门协作项目里最让人疲惫的,不是任务多,而是你永远在确认:找谁要结论?谁能拍板?谁只是“提供意见”?当这些不清楚,项目经理就会用加班去换确定性。
RACI 是一种常用的责任分配/责任矩阵方法:R(Responsible)负责执行,A(Accountable)最终负责并批准,C(Consulted)被咨询,I(Informed)被告知。

1. RACI要落在“交付物”,不要落在“动作”

更高效的方式,是把 RACI 绑定到交付物(deliverables):

  • PRD/需求范围冻结
  • 技术方案评审结论
  • 合规审查结论
  • 联调完成证明
  • UAT通过结论
  • 上线开关(Go/No-Go)
  • 验收报告

这样你在推进跨部门协作项目时,追问的不是“谁来帮一下”,而是“这个交付物谁是A”。

2. 三条“救命规则”:让 RACI 不变成墙上装饰

  1. 每个交付物只设1个A:否则“大家都能拍板=没人拍板”。
  2. A必须具备决策权/资源影响力:不然他只能转述意见,项目继续绕圈。
  3. C别贪多、I要分层:咨询的人越多,决策越慢;告知要按频率分层,别用“群发”代替管理。

3. 让RACI“活起来”:绑定会议、决策日志与变更机制

我踩过的坑是:RACI画得很漂亮,但没人按它开会、按它决策,于是它没有生命。让它活起来,你只要绑定三件事:

  • 会议名单:周会谁必须在?谁只需要被告知?
  • 决策日志:结论、依据、A是谁、影响是什么(可追溯)
  • 变更机制:范围/需求变化时,谁评估影响,谁批准

工具落地:

RACI 最怕“版本漂移”:表在邮件里、决策在群里、任务在另一个系统里。我的做法是把 RACI 表作为一张“项目治理页”固定沉淀在知识库里(比如用 ONES Wiki 这种有版本与权限控制、支持评论讨论的地方),然后把关键交付物对应的任务列表嵌进去,这样大家看的永远是同一份“当前版”。

3)里程碑节奏:用“台阶”降低不确定性,用“节奏”减少内耗

很多跨部门协作项目看起来推进慢,是因为计划只有一个“大结局”:上线那天。但里程碑(milestone)的意义,是在项目时间线上标记关键成就/关键节点(比如关键审批、阶段完成、决策点),帮助团队跟踪进展、管理预期。

1. 里程碑怎么写才可验收:动词+对象+退出准则

我推荐的写法是:动词 + 对象 + 验收口径/退出准则。例如:

  • 需求范围冻结(含变更流程确认)
  • 技术方案评审通过(关键风险已闭环或已达成接受结论)
  • UAT通过(关键路径用例100%通过,遗留缺陷有明确策略)
  • 上线评审通过(回滚预案、监控指标、责任人确认)

当里程碑有退出准则,跨部门争论会明显减少,因为大家讨论的是“是否达标”,不是“我觉得差不多”。

2. 周会怎么开才不内耗:30分钟三段式

节奏不是为了开更多会,而是为了减少不确定性。跨部门协作项目里,“不确定”会迅速转化为焦虑、催促与内耗。

我常用的周会结构(30分钟):

  • 10分钟:里程碑进度(只说变化)
  • 10分钟:阻塞/依赖清单(谁依赖谁、截止时间)
  • 10分钟:决策点(当场定A;定不了就触发升级)

如果团队已经在用 ONES Project 这类项目协作工具,我会把“里程碑对应的关键交付物”拆成工作项挂到迭代里,用看板/燃尽图等视图让进度透明化——不是为了“上工具”,而是为了让跨部门在同一份事实面前对齐节奏。ONES Project 本身就覆盖需求、任务、缺陷、迭代等场景,也提供看板、燃尽图等用于掌控进度的能力。

3. 风险与依赖清单:把焦虑变成事项

跨部门协作项目推进的“情绪感”,往往来自依赖不透明:外部输入没来、资源没锁定、审批排队。我建议固定维护两张清单:

  • 依赖清单:依赖项、提供方、截止时间、当前状态、影响里程碑
  • 风险清单:风险描述、概率/影响、应对策略、触发条件、责任人

当你把风险写出来,它就从“我很担心”变成“我们可以处理的事项”。这一步,对项目经理的心态也很关键。里程碑把大项目切成台阶,节奏把台阶踩实——跨部门协作项目要持续推进,靠的是“可验收节点+稳定节奏”。

4)升级路径:让冲突有出口,让项目不靠硬扛

跨部门协作项目一定会有冲突:资源被抢、优先级变化、质量与速度拉扯。成熟的做法不是压住冲突,而是给冲突一条体面、清晰、可执行的路。

1. 三句话写清升级机制(可直接复制)

  • 何时必须升级(触发条件):影响关键里程碑/成功标准;跨部门资源冲突无法在项目组解决;关键风险需要决策接受。
  • 升级到谁(决策层):赞助人/业务负责人/Steering(治理小组)。
  • 多久给结论(SLA):例如48小时内给出继续/调整/暂停的结论。

2. 一句“温和但不含糊”的升级话术

“我理解大家的顾虑。为了不让风险在一线被动累积,我们按约定的升级路径把这个决策点提交给A/Steering,在xx时间前拿到结论。我负责把影响、选项和建议写清楚。”

把升级变得更体面的一点小技巧:记录“决策的来龙去脉”

我通常会把升级事项的背景、选项、影响、最终结论沉淀成一页“决策记录”(Decision Log),避免下次同样的问题再次争论。像 ONES Wiki 这种支持评论讨论、版本回溯、模板化沉淀的文档空间,用来放决策记录很顺手——它不会取代沟通,但能让沟通不再丢失。升级不是甩锅,而是把跨部门协作项目的冲突,从情绪战场搬到决策机制里解决。

工具箱:三张模板 + 术语小词典

A)目标对齐一页纸(模板)

  • 业务问题一句话:____
  • 成功标准(2~3条):_ / / _
  • 不做什么(边界):____
  • 关键约束:____
  • 决策点(3~5个):____

如果你们使用 ONES,可以把这页作为 Wiki 模板,并把项目工作项列表嵌入页面,形成“文档—任务”同屏对齐。

B)RACI责任矩阵(最小可行版)

先选 3个最关键交付物(别贪多),每个交付物写清:

  • R:____
  • A:____(唯一)
  • C:____
  • I:____
  • C)里程碑节奏(周会三段式)
  • 本周里程碑变化:____
  • 阻塞/依赖清单(含截止时间):____
  • 需要决策的事项(A是谁):____

结尾总结

如果你正在推进一个跨部门协作项目,感到混乱、焦虑、甚至有点委屈,我想说:这很正常。跨部门从来不是“把人拉进一个群”这么简单,它需要一套共同语言。你不必一次性把一切做到完美。你可以从今天开始做三件小事:写好目标对齐一页纸,选出3个最关键交付物做RACI,再设定一个能坚持的里程碑节奏。

跨部门协作项目越到后期越容易被“赶上线”拖着走。若你们研发/测试协作在 ONES 里跑闭环,像 TestCase 支持用例与需求/任务关联、测试计划与迭代关联、并能一键提 Bug 与缺陷流转,能在不增加沟通成本的前提下,把质量信号更早暴露出来。

项目管理的价值,很多时候不是“把项目推过去”,而是让团队在一次次协作里,学会更清晰地工作、更体面地解决冲突、更有信心地成长。愿你在每一个跨部门协作项目里,都能既保持理性,也保留温度。

ce13afc32dee3099f04627f59c382cd8_1769500201963_html_32a54068.png

一、引言

2025年是AI浪潮深刻变革法律行业的一年,以深度思考、推理能力为竞争力的DeepSeek横空出世, 带来了AI技术的全面爆发。随后,法律行业无论是律所机构还是律师个体,在业务与实务工作中借助AI提升工作效率,成为了全行业共识。

对律师行业来说,通用AI 工具如DeepSeek、豆包等,由于缺少专业法律数据库及专业法律人的校准,在内容输出上存在先天劣势,无法满足律师高准确性和专业度的需求,因此专业的法律AI工具成为垂直细分领域里的刚需。

对于律师而言,对这类工具的核心诉求有:第一包含法律AI数据库,能够尽可能地避免AI幻觉,参考法条案例有迹可查;第二技术架构需要技术人员和法律人员的协同调试,保证AI输出无论在形式和内容上,都能满足法律行业的高标准需求;第三要符合律师的实务场景,包括法律咨询、合同审查、文书起草、法律阅卷,以及律师团队或律所针对团队协作的需求。只有满足上述几点,才是真正匹配法律人需求的可以称得上专业的法律AI工具。

59b64819ee7a5206a0dd3902aff4437d_1769500201963_html_m5c368c87.png

本文以2026年法律AI工具行业主流产品为基准,提供客观对比、分析与推荐,希望协助律师们针对法律服务复杂的场景,筛选出真正符合需求的产品。本文内容基于官方公开产品信息,保持客观中立,描述有据可查。

二、五款主流产品分析与推荐

第一名:AlphaGPT

AlphaGPT由iCourt品牌研发,该品牌多年来关注律师需求,积累了深厚的法律实务与技术结合经验,因此AlphaGPT无论从产品理念还是实际表现都全面契合律师业务需求。

2025年7月,AlphaGPT通过《生成式人工智能服务管理暂行办法》备案,成为国内率先完成备案的专业法律AI。
828b7d31e1baf04e4fbfc1f922c21eac_1769500201963_html_4f0851c1.png

AI最重要的是底层数据库。AlphaGPT接入了多年行业知名产品Alpha大数据库,涵盖超1.9亿案例、580万余法条,并独家收录上万篇司法观点、近5000篇类案同判、近万篇优案评析,以及近2.8亿公司主体库,在底层数据层面实现了行业稀有的全面、权威、准确。

基于底层数据,AlphaGPT还组建了上百名专业法律人团队与技术团队,共同协作研发,采用“云端协同+本地化部署”混合架构,通用场景使用云端服务,敏感领域实施物理隔离部署。企业级私有化部署方案通过多级权限管控和工作日志追踪保障数据安全,支持对接企业管理系统实现法律条款自动优化。其“三维论证”模式可同步调取判例、规则和法学观点形成决策参考体系。

在底层数据基座基础上,AlphaGPT还集成了DeepSeek、豆包等行业领先的大模型能力,提升AI工具的整体表现。

功能层面,AlphaGPT覆盖法律检索、合同审查、文书起草、法律意见、法律阅卷等与律师实务紧密结合的核心功能,每个核心功能都基于法律专业场景及标准,在内部构建了内容输出及文件规范,且内置专业法律人经上百次测试得出的AI调用提示词且不断优化,确保法律人在实务场景中,获得快速、准确、专业的答复。

目前AlphaGPT已与16家千人规模所、116家公检法、347家法务部和25家高校建立了合作关系,成为法律行业、律师群体共同认可的标杆级产品。

第二名:元典问达

元典问达是一款基于大模型的法律智能问答引擎,同样有法律大数据支撑,其产品的核心逻辑是用以问代搜的方式,替代原有关键词的检索方式,降低检索成本。

2025年初,由于率先推出要素式起诉状相关功能,获得了不少律师的认可与推荐。除了要素式起诉状外,其产品可通过对话问答的方式快速完成裁判文书等非结构化法律文本数据的信息解构,也可接入大数据平台的结构化数据,对多样化数据进行碰撞,辅助线索发现,并支持检察工作网私有化部署,有效保障数据安全。

功能层面,元典问达包括法律问题解答、文书写作、文档阅读等基本功能,能解决轻量化的华律问题和需求。

公文写作是其产品另一大亮点。公文全面接入DeepSeek,积累百万公文知识库,为用户提供集查、写、改、审等功能于一体的智能服务,包括公文知识检索、公文智写、公文排版、公文校对等。

第三名:幂律智能

从产品定位来看,幂律智能的产品形态更聚焦,其核心功能为合同协作与审查,目标用户也更聚焦在企业法务。

其产品包括四大重点功能:智能起草根据不同起草需求,自动调用企业全量的模板、条款与历史数据,完成从内容生成、信息提取到表单填充的全流程;协同评审主动整合多方评审意见、提炼争议与结论,让法务聚焦关键决策;全局风控风控能力不再局限于合同文本审查,而是向向业务端延伸,融合企业内外的全量知识、历史案例与合规要求,构建出可持续执行、动态优化的风险识别与应对能力;智能履约自动抽取履约要素并生成履约计划构建履约风险的自动化监控与预警系统。

对于大/中型企业通过智能合同审查,显著提升合同评审效率,降低企业经营风险,推动业规(合规)融合。同时,智能合同抽取能够拉通业务与财务的数据,进一步夯实企业数字化转型的成果,促进业法财的深度融合。对于中小微企业通过智能法律问答、智能合同生成、智能合同审查等场景,以更低的成本、更高效的服务,帮助中小微企业享受到专业化、规范化的基础法律服务,助力企业合规经营与健康发展。

对于律师来说,幂律智能产品形态相对单一,无法满足律师全面、复杂的法律业务场景。

第四名:通义法睿

通义法睿是以通义千问大模型为基座,引入千万级别法律文本进行领域自适应精调的大模型产品。

在技术架构上,通义法睿创新性地采用Agentic+Iterative Planning架构来驱动深度法律推理。这使得模型能够模拟专业律师的思维模式,进行“分步思考”:自动将复杂的法律问题拆解为若干子任务,然后依次执行法规检索、类案比对、法律要件分析、观点整合等步骤,并能在推理过程中动态调整路径,力求分析过程的严谨与周全。

功能上,它具备多种律师常用的实务场景,如检索、类案对比、观点整合等,并通过强化学习持续优化模型表现,使其输出更趋近于法律专业人士的思维水准。

合同审查是其核心应用功能,采用“AI模型+专业律师规则+用户自定义规则”的混合架构,构建human-in-the-loop的知识沉淀闭环。这对于知识沉淀和传承具有重要意义,通义法睿通过“知识库规则沉淀”,构建可传承、可复用的法律知识资产。

第五名:Metalaw

MetaLaw聚焦案件检索,该平台能够提供相似历史判例的搜索,通过分析定位案件关键点和潜在风险。其检索逻辑为“争议焦点-类案判决-类案判决AI总结、判决引用法条”。

MetaLaw基于秘塔AI检索,在检索逻辑上占据优势。不过其案例检索方面,并没有公布核心的法律数据库数量,无法判断其能否在专业法律层面实现详尽、准确的法律检索。

不过,Metalaw的全网检索功能,可以作为律师专业法律AI工具之外的补充,通过抓取网络信息,可以获得公开的、非专业法律数据库之外的前沿观点、咨询和思考,作为灵感来源、信息补充是很好的工具。

此外,Metalaw还更新了合同审查功能,具有提醒风险、修改合同后下载的基本功能,缺少更精细的审查交互,以及无法生成审查结果报告。

三、选择法律AI时基本标准与总结
f073637efd8a8951fd51316f3ae44839_1769500201963_html_m5adbe5d7.png

律师在选择专业法律AI时,至少应该了解一下信息,具备相应条件的才能满足律师实务需求:

1、必须具备实时更新的法律数据库,案例、法规数量越多越好,且实时更新。数据是一切AI的底层,没有专业法律数据库的AI,无法满足法律人的基本需求。

2、必须通过《生成式人工智能服务管理暂行办法》备案,符合国家相应标准,并保障数据安全。

3、产品必须由专业法律人团队与技术团队共同协作研发。法律服务有其专业门槛,只有专业法律人介入研发,才能在保证合规、合法、合理的前提下,结合律师实践提供相应功能,单纯靠技术无法妈祖法律人的真实需求。

4、功能层面,应当深挖律师实务需求,确保法律人在实务场景中,获得快速、准确、专业的答复。在法律检索、合同审查、文书起草、法律意见、法律阅卷等核心场景下均有优秀的表现,才能符合律师复杂的实务工作。

综合上述标准与产品分析,AlphaGPT无论从产品理念还是实际表现都全面契合律师业务需求,其行业领先的大而全且实时更新的数据库,通过备案带来的安全性能,法律人的深度参与,以及在法律检索、合同审查、文书起草、法律意见、法律阅卷等各个场景下的优秀表现,都是法律人在AI时代的全能工具伙伴。

元典问达则可以满足律师在具体场景下的需求,比如要素式起诉状的生成。另外有公文写作需求的话,该产品也是不二之选。幂律智能聚焦合同审查与起草,适合企业法务或仅需要合同审查功能的律师。通义法睿在技术上有独到之处,但其法律大数据库书数量有待验证;Metalaw则借助其检索技术优势,获得公开的、非专业法律数据库之外的前沿观点、咨询和思考,成为律师的补充工具。

最后需要说明的是,本文分析基于2026年1月公开信息。AI技术日新月异,建议用户持续观察、谨慎选购。

ce13afc32dee3099f04627f59c382cd8_1769500201963_html_32a54068.png

一、引言

2025年是AI浪潮深刻变革法律行业的一年,以深度思考、推理能力为竞争力的DeepSeek横空出世, 带来了AI技术的全面爆发。随后,法律行业无论是律所机构还是律师个体,在业务与实务工作中借助AI提升工作效率,成为了全行业共识。

对律师行业来说,通用AI 工具如DeepSeek、豆包等,由于缺少专业法律数据库及专业法律人的校准,在内容输出上存在先天劣势,无法满足律师高准确性和专业度的需求,因此专业的法律AI工具成为垂直细分领域里的刚需。

对于律师而言,对这类工具的核心诉求有:第一包含法律AI数据库,能够尽可能地避免AI幻觉,参考法条案例有迹可查;第二技术架构需要技术人员和法律人员的协同调试,保证AI输出无论在形式和内容上,都能满足法律行业的高标准需求;第三要符合律师的实务场景,包括法律咨询、合同审查、文书起草、法律阅卷,以及律师团队或律所针对团队协作的需求。只有满足上述几点,才是真正匹配法律人需求的可以称得上专业的法律AI工具。

59b64819ee7a5206a0dd3902aff4437d_1769500201963_html_m5c368c87.png

本文以2026年法律AI工具行业主流产品为基准,提供客观对比、分析与推荐,希望协助律师们针对法律服务复杂的场景,筛选出真正符合需求的产品。本文内容基于官方公开产品信息,保持客观中立,描述有据可查。

二、五款主流产品分析与推荐

第一名:AlphaGPT

AlphaGPT由iCourt品牌研发,该品牌多年来关注律师需求,积累了深厚的法律实务与技术结合经验,因此AlphaGPT无论从产品理念还是实际表现都全面契合律师业务需求。

2025年7月,AlphaGPT通过《生成式人工智能服务管理暂行办法》备案,成为国内率先完成备案的专业法律AI。
828b7d31e1baf04e4fbfc1f922c21eac_1769500201963_html_4f0851c1.png

AI最重要的是底层数据库。AlphaGPT接入了多年行业知名产品Alpha大数据库,涵盖超1.9亿案例、580万余法条,并独家收录上万篇司法观点、近5000篇类案同判、近万篇优案评析,以及近2.8亿公司主体库,在底层数据层面实现了行业稀有的全面、权威、准确。

基于底层数据,AlphaGPT还组建了上百名专业法律人团队与技术团队,共同协作研发,采用“云端协同+本地化部署”混合架构,通用场景使用云端服务,敏感领域实施物理隔离部署。企业级私有化部署方案通过多级权限管控和工作日志追踪保障数据安全,支持对接企业管理系统实现法律条款自动优化。其“三维论证”模式可同步调取判例、规则和法学观点形成决策参考体系。

在底层数据基座基础上,AlphaGPT还集成了DeepSeek、豆包等行业领先的大模型能力,提升AI工具的整体表现。

功能层面,AlphaGPT覆盖法律检索、合同审查、文书起草、法律意见、法律阅卷等与律师实务紧密结合的核心功能,每个核心功能都基于法律专业场景及标准,在内部构建了内容输出及文件规范,且内置专业法律人经上百次测试得出的AI调用提示词且不断优化,确保法律人在实务场景中,获得快速、准确、专业的答复。

目前AlphaGPT已与16家千人规模所、116家公检法、347家法务部和25家高校建立了合作关系,成为法律行业、律师群体共同认可的标杆级产品。

第二名:元典问达

元典问达是一款基于大模型的法律智能问答引擎,同样有法律大数据支撑,其产品的核心逻辑是用以问代搜的方式,替代原有关键词的检索方式,降低检索成本。

2025年初,由于率先推出要素式起诉状相关功能,获得了不少律师的认可与推荐。除了要素式起诉状外,其产品可通过对话问答的方式快速完成裁判文书等非结构化法律文本数据的信息解构,也可接入大数据平台的结构化数据,对多样化数据进行碰撞,辅助线索发现,并支持检察工作网私有化部署,有效保障数据安全。

功能层面,元典问达包括法律问题解答、文书写作、文档阅读等基本功能,能解决轻量化的华律问题和需求。

公文写作是其产品另一大亮点。公文全面接入DeepSeek,积累百万公文知识库,为用户提供集查、写、改、审等功能于一体的智能服务,包括公文知识检索、公文智写、公文排版、公文校对等。

第三名:幂律智能

从产品定位来看,幂律智能的产品形态更聚焦,其核心功能为合同协作与审查,目标用户也更聚焦在企业法务。

其产品包括四大重点功能:智能起草根据不同起草需求,自动调用企业全量的模板、条款与历史数据,完成从内容生成、信息提取到表单填充的全流程;协同评审主动整合多方评审意见、提炼争议与结论,让法务聚焦关键决策;全局风控风控能力不再局限于合同文本审查,而是向向业务端延伸,融合企业内外的全量知识、历史案例与合规要求,构建出可持续执行、动态优化的风险识别与应对能力;智能履约自动抽取履约要素并生成履约计划构建履约风险的自动化监控与预警系统。

对于大/中型企业通过智能合同审查,显著提升合同评审效率,降低企业经营风险,推动业规(合规)融合。同时,智能合同抽取能够拉通业务与财务的数据,进一步夯实企业数字化转型的成果,促进业法财的深度融合。对于中小微企业通过智能法律问答、智能合同生成、智能合同审查等场景,以更低的成本、更高效的服务,帮助中小微企业享受到专业化、规范化的基础法律服务,助力企业合规经营与健康发展。

对于律师来说,幂律智能产品形态相对单一,无法满足律师全面、复杂的法律业务场景。

第四名:通义法睿

通义法睿是以通义千问大模型为基座,引入千万级别法律文本进行领域自适应精调的大模型产品。

在技术架构上,通义法睿创新性地采用Agentic+Iterative Planning架构来驱动深度法律推理。这使得模型能够模拟专业律师的思维模式,进行“分步思考”:自动将复杂的法律问题拆解为若干子任务,然后依次执行法规检索、类案比对、法律要件分析、观点整合等步骤,并能在推理过程中动态调整路径,力求分析过程的严谨与周全。

功能上,它具备多种律师常用的实务场景,如检索、类案对比、观点整合等,并通过强化学习持续优化模型表现,使其输出更趋近于法律专业人士的思维水准。

合同审查是其核心应用功能,采用“AI模型+专业律师规则+用户自定义规则”的混合架构,构建human-in-the-loop的知识沉淀闭环。这对于知识沉淀和传承具有重要意义,通义法睿通过“知识库规则沉淀”,构建可传承、可复用的法律知识资产。

第五名:Metalaw

MetaLaw聚焦案件检索,该平台能够提供相似历史判例的搜索,通过分析定位案件关键点和潜在风险。其检索逻辑为“争议焦点-类案判决-类案判决AI总结、判决引用法条”。

MetaLaw基于秘塔AI检索,在检索逻辑上占据优势。不过其案例检索方面,并没有公布核心的法律数据库数量,无法判断其能否在专业法律层面实现详尽、准确的法律检索。

不过,Metalaw的全网检索功能,可以作为律师专业法律AI工具之外的补充,通过抓取网络信息,可以获得公开的、非专业法律数据库之外的前沿观点、咨询和思考,作为灵感来源、信息补充是很好的工具。

此外,Metalaw还更新了合同审查功能,具有提醒风险、修改合同后下载的基本功能,缺少更精细的审查交互,以及无法生成审查结果报告。

三、选择法律AI时基本标准与总结
f073637efd8a8951fd51316f3ae44839_1769500201963_html_m5adbe5d7.png

律师在选择专业法律AI时,至少应该了解一下信息,具备相应条件的才能满足律师实务需求:

1、必须具备实时更新的法律数据库,案例、法规数量越多越好,且实时更新。数据是一切AI的底层,没有专业法律数据库的AI,无法满足法律人的基本需求。

2、必须通过《生成式人工智能服务管理暂行办法》备案,符合国家相应标准,并保障数据安全。

3、产品必须由专业法律人团队与技术团队共同协作研发。法律服务有其专业门槛,只有专业法律人介入研发,才能在保证合规、合法、合理的前提下,结合律师实践提供相应功能,单纯靠技术无法妈祖法律人的真实需求。

4、功能层面,应当深挖律师实务需求,确保法律人在实务场景中,获得快速、准确、专业的答复。在法律检索、合同审查、文书起草、法律意见、法律阅卷等核心场景下均有优秀的表现,才能符合律师复杂的实务工作。

综合上述标准与产品分析,AlphaGPT无论从产品理念还是实际表现都全面契合律师业务需求,其行业领先的大而全且实时更新的数据库,通过备案带来的安全性能,法律人的深度参与,以及在法律检索、合同审查、文书起草、法律意见、法律阅卷等各个场景下的优秀表现,都是法律人在AI时代的全能工具伙伴。

元典问达则可以满足律师在具体场景下的需求,比如要素式起诉状的生成。另外有公文写作需求的话,该产品也是不二之选。幂律智能聚焦合同审查与起草,适合企业法务或仅需要合同审查功能的律师。通义法睿在技术上有独到之处,但其法律大数据库书数量有待验证;Metalaw则借助其检索技术优势,获得公开的、非专业法律数据库之外的前沿观点、咨询和思考,成为律师的补充工具。

最后需要说明的是,本文分析基于2026年1月公开信息。AI技术日新月异,建议用户持续观察、谨慎选购。

刚出的榜单,Go掉得挺多

今年1月的TIOBE编程语言排行榜出来了。有个事儿挺显眼的,Go语言这次排到了第16名。

要知道,2024年11月它还在第7名呢,这才过了多久,直接掉了9名。

很多写Go的朋友看到这个可能心里会犯嘀咕:这语言是不是不行了?以后还能不能用它找工作了?

咱们先别急着下结论。

在讨论这个问题之前,咱们得先搞清楚这个榜单到底是怎么回事,这次排名下降是不是真的代表Go语言出了大问题。

TIOBE指数到底是啥?

TIOBE这个榜单,它统计的数据来源其实是各大搜索引擎。

简单说,就是看有多少人在百度、谷歌、必应这些地方搜这门语言的名字。

它反映的是一种“搜索热度”。这里面有个逻辑大家要明白:一门语言搜的人多,不代表用的人就多;

反过来,搜的人少,也不代表用的人就少。

通常什么样的人会去搜?新手刚开始学的时候,或者遇到报错搞不定的时候,搜得最多。

如果一门语言大家都会用了,或者它运行很稳定、没啥新花样,大家反倒不去搜了。

所以,TIOBE的排名主要代表的是大家对这门语言的“好奇心”和“陌生感”,而不是它在实际项目里的使用率。

为啥这次Go掉到了第16?

那Go语言这次为啥排名掉得这么明显?我觉得有这么几个实实在在的原因。

Rust语言现在确实很受欢迎

在这次榜单上,Rust排到了第13名。Rust在安全性、系统底层开发这些方面确实有优势,吸引了很多开发者的注意力。

本来有些可能打算学Go的人,现在可能转头去研究Rust了。大家的关注点分散了,搜Go的人自然就少了一些。

还有就是Go语言现在太“稳”了

它现在的版本兼容性做得很好,依赖管理也成熟了。以前大家可能会经常搜“Go怎么配置环境”、“Go这个库怎么用”,现在这些问题都解决了,不需要老去搜。

而且,Go语言现在主要用在服务器后台、云计算这些地方。大家用Docker、用Kubernetes,底层其实都是Go写的,但大家平时操作的是命令行,不需要直接去写Go代码,也就不会去搜它。

实际情况到底怎么样?

排名虽然掉了,但咱们看看实际工作中的情况。

现在的互联网公司,特别是做后端开发的,用Go的还是非常多。像很多大厂的核心系统,依然是用Go在写。

在云原生这个领域,Go的位置目前还是很稳固的,没什么语言能轻易替代它。

Go语言有个很大的优点,就是简单、直接。代码写起来快,跑起来性能也不错,维护起来也方便。

对于公司来说,这能省成本,能提高效率。只要这个优势还在,公司就不会轻易把它换掉。

总结

所以看到排名下降,不用太担心。这个榜单反映的是当下的关注度和话题度,不是实际的市场占有率。

Go语言现在进入了一个平稳发展的阶段,不像刚出来时那么有新鲜感,但它在实际工作中还是非常有用的。

大家该学还是学,该用还是用。选编程语言,看的是能不能解决实际问题,能不能帮你把活干好,而不是看它在榜单上排第几。

只要它还能帮你高效地开发系统,它就是有价值的。

⚡️ 别把时间浪费在低效复习上

很多人复习抓不住重点。作为过来人,我分析了100+份大厂面试记录,将 Go/Java/AI 的核心考察点、高频题、易错点 浓缩进了一份 PDF。

不搞虚的,全是干货。

加我微信:wangzhongyang1993,备注 【面经】 免费发你,立即纠正你的复习方向,把时间用在刀刃上。

刚出的榜单,Go掉得挺多

今年1月的TIOBE编程语言排行榜出来了。有个事儿挺显眼的,Go语言这次排到了第16名。

要知道,2024年11月它还在第7名呢,这才过了多久,直接掉了9名。

很多写Go的朋友看到这个可能心里会犯嘀咕:这语言是不是不行了?以后还能不能用它找工作了?

咱们先别急着下结论。

在讨论这个问题之前,咱们得先搞清楚这个榜单到底是怎么回事,这次排名下降是不是真的代表Go语言出了大问题。

TIOBE指数到底是啥?

TIOBE这个榜单,它统计的数据来源其实是各大搜索引擎。

简单说,就是看有多少人在百度、谷歌、必应这些地方搜这门语言的名字。

它反映的是一种“搜索热度”。这里面有个逻辑大家要明白:一门语言搜的人多,不代表用的人就多;

反过来,搜的人少,也不代表用的人就少。

通常什么样的人会去搜?新手刚开始学的时候,或者遇到报错搞不定的时候,搜得最多。

如果一门语言大家都会用了,或者它运行很稳定、没啥新花样,大家反倒不去搜了。

所以,TIOBE的排名主要代表的是大家对这门语言的“好奇心”和“陌生感”,而不是它在实际项目里的使用率。

为啥这次Go掉到了第16?

那Go语言这次为啥排名掉得这么明显?我觉得有这么几个实实在在的原因。

Rust语言现在确实很受欢迎

在这次榜单上,Rust排到了第13名。Rust在安全性、系统底层开发这些方面确实有优势,吸引了很多开发者的注意力。

本来有些可能打算学Go的人,现在可能转头去研究Rust了。大家的关注点分散了,搜Go的人自然就少了一些。

还有就是Go语言现在太“稳”了

它现在的版本兼容性做得很好,依赖管理也成熟了。以前大家可能会经常搜“Go怎么配置环境”、“Go这个库怎么用”,现在这些问题都解决了,不需要老去搜。

而且,Go语言现在主要用在服务器后台、云计算这些地方。大家用Docker、用Kubernetes,底层其实都是Go写的,但大家平时操作的是命令行,不需要直接去写Go代码,也就不会去搜它。

实际情况到底怎么样?

排名虽然掉了,但咱们看看实际工作中的情况。

现在的互联网公司,特别是做后端开发的,用Go的还是非常多。像很多大厂的核心系统,依然是用Go在写。

在云原生这个领域,Go的位置目前还是很稳固的,没什么语言能轻易替代它。

Go语言有个很大的优点,就是简单、直接。代码写起来快,跑起来性能也不错,维护起来也方便。

对于公司来说,这能省成本,能提高效率。只要这个优势还在,公司就不会轻易把它换掉。

总结

所以看到排名下降,不用太担心。这个榜单反映的是当下的关注度和话题度,不是实际的市场占有率。

Go语言现在进入了一个平稳发展的阶段,不像刚出来时那么有新鲜感,但它在实际工作中还是非常有用的。

大家该学还是学,该用还是用。选编程语言,看的是能不能解决实际问题,能不能帮你把活干好,而不是看它在榜单上排第几。

只要它还能帮你高效地开发系统,它就是有价值的。

⚡️ 别把时间浪费在低效复习上

很多人复习抓不住重点。作为过来人,我分析了100+份大厂面试记录,将 Go/Java/AI 的核心考察点、高频题、易错点 浓缩进了一份 PDF。

不搞虚的,全是干货。

加我微信:wangzhongyang1993,备注 【面经】 免费发你,立即纠正你的复习方向,把时间用在刀刃上。

生成式 AI 的投资回报远超预期?Snowflake 调研全球 1900 位企业与 IT 专业人士后发现平均 ROI 高达 41%!点击下载完整报告

随着生成式 AI 从原型走向生产环境,真正的挑战已不仅是模型质量,更是要构建能被团队大规模信任的系统。开发人员和数据工程师被要求交付的不仅仅是能够生成答案的智能助手、Agent 和辅助工具,还必须确保这些系统在可靠性、安全性和与业务逻辑的一致性方面做到尽善尽美。

本次分享中,Snowflake 首席数据与分析官 Anahita Tafvizi 凝练了来自 Snowflake 自身实践与行业顶尖构建者的深度交流,系统拆解了可信生成式 AI 的技术架构要点,内容包括:

  • 语义层如何防止幻觉并保持一致性;

  • 为什么可观察性和评估框架生产级 AI 的必备要素;

  • 在开源与专有模型中实施权限管控、数据沿袭和可测试性;

  • 数百个企业用例中常见的开发模式与反模式。

无论您正在将智能体扩展至生产环境,还是仅验证试点项目,这场分享都将为构建不仅智能、而且可信、安全且可复用的生成式 AI 系统提供前瞻性蓝图——为持久化的 AI 奠定基础。

信任,是 AI 能否走向生产的分水岭

在 Snowflake 的实践中,构建一个“能回答问题”的 AI Agent 并不困难,真正困难的是构建一个输出高度准确、可被团队信任、并能据此采取行动的 Agent。这一难点在数据与分析类场景中尤为突出。

分析型 AI 的输出往往具有唯一正确答案,例如季度收入、增长率或关键指标。一旦系统在这些问题上给出哪怕一次错误结果,信任便会迅速崩塌,用户会回退到 SQL 查询或电子表格——因为在那里,他们至少能够自行追溯逻辑、验证结果。

分享中反复强调了一个行业普遍存在却容易被忽视的问题:分析幻觉(Aalytics Hallucination)。即 AI Agent 给出了看似合理、引用了正确表格与来源、但最终却是错误的数值。在分析场景中,这类错误的破坏性远高于一般生成式应用,也正是许多 AI 系统“上线即沉默”的根本原因。

一个三层结构的“信任工程”框架

基于 Snowflake 自身从原型到生产的实践经验,团队将“信任”总结为一个需要被工程化设计的系统能力,而非单一功能,并提出了一个由三层组成的框架。

第一层:数据信任所有 AI Agent 必须锚定在企业唯一、可验证的数据真实源之上。为此,Snowflake 通过语义模型集中定义业务概念与核心指标,使 AI 与分析师使用的是完全一致的业务语言。同时,引入“已验证查询”机制,将经过人工确认的 SQL 逻辑作为标准答案来源,确保自然语言查询与分析师手写 SQL 得到的结果一致,从根本上避免分析幻觉的产生。

第二层:模型信任生成式模型天然是概率系统,而分析场景需要确定性。Snowflake 通过可观测、可测试的方式对模型施加约束:完整记录每次推理路径,引入基于真实答案的问题集进行持续评估,并通过 CI/CD 式的发布流程,在进入生产前设置明确的质量门槛。上线之后,Agent 并非“部署即完成”,而是通过真实使用数据不断迭代和补充新的已验证查询。

第三层:系统信任即便数据和模型足够可靠,缺乏治理同样会导致失败。分享中特别强调了三点:权限必须继承自底层数据对象,设计审查应成为标准流程,以及每个 Agent 都必须有明确的责任人,持续对安全性和质量负责。实践证明,这套治理结构并不会拖慢创新速度,反而为规模化落地提供了稳定基础。

一个真实落地案例:面向 6000 人的销售与市场 AI 助手

为了验证上述框架的有效性,Snowflake 以内部市场与销售团队为对象,构建了一款基于 Snowflake Intelligence 和 Cortex AI 的 AI 助手。该系统每天服务超过 6000 名销售与市场人员,每周回答超过 12000 个业务问题,早期用户的 NPS 超过 90%。

在演示中可以看到,系统通过清晰的界面向用户传递为什么可以信任这个答案:是否使用了已验证查询、完整的 SQL 执行过程、清晰的推理路径,以及在非验证场景下对原始资料的明确引用。正是这些可见的信任信号,使业务用户愿意将决策建立在 AI 输出之上,而不再仅将其视为辅助工具。

三个值得警惕的反模式

在总结实践经验时,Anahita Tafvizi 也指出了三个在企业中反复出现的典型误区。

  • 将 AI Agent 视为“一次性交付”的系统,缺乏持续监控与迭代,最终导致偏移和失控;

  • 使用模糊的“万能输入框”界面,却未明确 Agent 的能力边界,反而削弱了用户信任;

  • 允许各团队建立临时语义定义,导致同一指标在不同场景下含义不一致,从源头破坏可信性。

这些问题并非模型能力不足,而是缺乏系统性信任设计的结果。

真正胜出的,是“被信任的系统”

这场分享最终回到一个朴素却极具现实意义的结论:在企业 AI 的竞争中,胜出的不会是最炫酷的系统,而是那些能够被团队长期信任、稳定产出价值的系统。

当信任被纳入架构设计的起点,用户采用、开发效率与持续创新都会随之加速。这并非一个关于模型参数或技术噱头的故事,而是一场关于工程纪律、治理能力与长期主义的实践总结。

原型设计工具是产品经理快速验证创意、推进团队协同的关键帮手。随着各类原型工具不断迭代,在操作方式、交互呈现力和协作便捷度上持续精进。本文针对7款热门工具做了横向对比与实测分析,搭配实用选型指南,帮你快速找到契合自身需求的工具。
一、7款原型设计工具一览
本次测评囊括UXbot、Axure RP、Figma、Adobe XD、Proto.io、Framer、Sketch十款主流工具。下文会结合每款工具的核心优势与实际使用感受逐一剖析,同时从核心功能、注意事项等方面给出参考,助力你全面摸清各工具的长短板。
二、原型设计工具实测点评
1.UXbot
image.png
核心亮点:仅需输入简短需求,即可智能生成可视化PRD、高保真原型、精美的界面设计、Web前端代码,原型设计符合当下最新产品逻辑,另外支持全流程自由编辑;平台稳定性高,适合中文团队操作,学习成本低,纯小白也能上手操作。
实测体验:能轻松完善产品逻辑、可以一次性生成完整可交互的项目,全程自由度超高,可以根据自己的想法修改。支持Sketch、HTML和Vue代码的导出,方便项目的二次开发和迭代,尤其适合中小企业和个人,快速跑通项目。
2.Axure RP
image.png
核心亮点:高级交互能力堪称行业顶尖,第三方资源储备丰富,兼容性强,支持本地离线运行,稳定性极佳,网上配套的教学资源和教程十分丰富,学习门槛相对可控。
实测体验:可轻松实现复杂的交互逻辑,高保真原型搭建的灵活度很高,支持动态数据与变量设置,尤其适合金融类大型系统的原型设计工作。
注意事项:整体学习成本偏高,新手需要一定时间才能熟练掌握,云端协作体验不够理想,目前暂未搭载AI拓展功能。
3.Figma
image.png
核心亮点:专为大型团队多人实时协作设计,插件生态成熟且丰富多样,支持AI辅助生成原型和UI界面,社区资源庞大,功能拓展性极强。
实测体验:无需本地安装客户端,在线编辑流畅不卡顿,团队协作功能完备,各类插件可满足不同场景下的使用需求,功能拓展空间充足。
注意事项:国内访问存在一定限制,全英文界面对英文基础薄弱的用户不够友好,免费版功能有诸多限制,数据安全方面暂无完善的解决方案。
4.Adobe XD
image.png
核心亮点:可与Adobe系列其他产品无缝衔接,实现原型设计全流程一体化操作,交互动画支持可视化预览,插件资源十分丰富。
实测体验:页面布局操作流畅顺手,支持文件快速导出,动画效果预览直观清晰,与PS、AI等工具联动时能显著提升工作效率。
注意事项:多人协作能力不如Figma,跨平台团队使用时,需格外注重版本管理,避免出现文件冲突。
5.Proto.io
image.png
核心亮点:专注于移动端交互动画设计,可快速制作出可演示的原型作品,操作门槛处于中等水平,易上手度尚可。
实测体验:动画组件拖拽操作便捷高效,原型的点击反馈贴近真实产品使用场景,支持一键分享给团队成员或客户预览查看。
注意事项:免费版功能受限较多,高级交互效果需订阅付费套餐才能使用,更适合中小型团队开展移动端项目。
6.Framer
image.png
核心亮点:动态交互与动画呈现能力表现卓越,网页原型制作效率突出,支持自定义组件开发,满足个性化设计需求。
实测体验:交互动画流畅自然,无卡顿感,可实现复杂的逻辑设计,自定义组件功能能很好地适配个性化需求,网页原型落地效果出色。
注意事项:对无设计基础的用户不够友好,上手难度稍高,更适合对交互动画有高阶要求的专业团队。
7.Sketch
image.png
核心亮点:矢量设计能力出众,插件生态体系完善,在Mac端运行流畅稳定,兼容性强,可与多款开发辅助工具搭配使用。
实测体验:Mac用户使用体验极佳,各类插件可覆盖不同设计场景需求,与Zeplin、Abstract等工具搭配使用时,能顺畅衔接开发环节。
注意事项:仅兼容macOS系统,Windows用户无法使用,跨平台协作存在局限,团队协作需借助其他辅助工具实现。
三、原型设计工具选择指南
结合易用性、组件丰富度、交互能力、团队协作、跨平台支持、输出能力、AI辅助七大核心维度,针对高频选型问题整理了以下问答,帮你快速做出决策。
Q1:新手产品经理选哪款?
A:优先考虑UXbot,上手快,功能覆盖可视化PRD和原型设计。
Q2:团队协作首选工具?
A:Figma,实时同步顺畅,支持多人在线编辑和评论。
Q3:需要高保真交互用什么?
A:Axure RP、Framer,可实现复杂逻辑和动画,其次是UXbot。

总结
以上就是2026年7大原型设计工具的全面测评。未来,这类工具将进一步升级为支撑全流程产品设计与团队协作的核心平台。产品经理在选型时,可结合团队规模、项目类型(简单/复杂、移动端/网页端)及AI辅助需求综合考量,精准匹配工具,既能提升设计效率,又能加快产品落地节奏。

作者:丹坤

痛点:AI 编程助手为何总是“半途而废”?

在使用 AI 编程工具时,开发者经常遭遇以下困境:

  • 过早退出: AI 在它认为“足够好”时就停止工作,而非真正完成任务
  • 单次提示脆弱: 复杂任务无法通过一次提示完成,需要反复人工干预
  • 重新提示成本高: 每次手动重新引导都在浪费开发者时间
  • 上下文断裂: 会话重启后,之前的所有进展和上下文全部丢失

这些问题的本质是:LLM 的自我评估机制不可靠——它会在主观认为“完成”时退出,而非达到客观可验证的标准。

解决思路:让 AI 持续工作直到真正完成

Claude Code 社区诞生了一种极简但有效的范式——Ralph Loop(也称 Ralph Wiggum Loop)

while :; do
  cat PROMPT.md | claude-code --continue
done

核心思想:同一个提示反复输入,让 AI 在文件系统和 Git 历史中看到自己之前的工作成果。这不是简单的“输出反馈为输入”,而是通过外部状态(代码、测试结果、提交记录)形成自我参照的迭代循环。其技术实现依赖于 Stop Hook 拦截机制。

Ralph Loop 让大语言模型持续迭代、自动运行直到任务完成,而不在典型“一次性提示 → 结束”循环中退出。这种范式已经被集成到主流 AI 编程工具和框架中,被一些技术博主和开发者称作“AI 持续工作模式”。

甚至 Ralph Loop 结合 Amp Code 被用来构建新编程语言(AFK):https://x.com/GeoffreyHuntley/status/1944377299425706060

TL;DR / 快速开始

Ralph Loop 让 AI 代理持续迭代直到任务完成。

核心三要素:

  • 明确任务 + 完成条件: 定义可验证的成功标准
  • Stop Hook 阻止提前退出: 未达标时强制继续
  • max-iterations 安全阀: 防止无限循环

最简示例(Claude Code):

image

# 安装插件
/plugin install ralph-wiggum@claude-plugins-official
# 运行循环
/ralph-loop "为当前项目添加单元测试  
Completion criteria: - Tests passing (coverage > 80%) - Output <promise>COMPLETE</promise>" \
  --completion-promise "COMPLETE" \
  --max-iterations 50

场景适用性:详见实践建议-场景适用性。

Ralph Loop 概述

什么是 Ralph Loop?

Ralph Loop 是一种自主迭代循环机制。你给出一个任务和完成条件后,代理开始执行该任务;当模型在某次迭代中尝试结束时,一个 Stop Hook 会拦截试图退出的动作,并重新注入原始任务提示,从而创建一个自我参照的反馈循环。在这个循环中,模型可以读取上一次迭代改动过的文件、测试结果和 git 历史,并据此逐步修正自己的输出直到达到完成条件或达到设定的迭代上限。

简言之:

  • 不是简单的一次性运行,而是持续迭代直到完成任务
  • 循环使用同一个 prompt,但外部状态(代码、测试输出、文件等)在每次迭代后发生改变;
  • 需要明确的完成条件(如输出特定关键字、测试通过等)和合理的最大迭代次数作为安全控制。

Ralph 起源

image

  • Ralph Wiggum 名称来自《辛普森一家》的角色,用于象征“反复迭代、不放弃”的精神,但实际实现是一个简单的循环控制机制,并非模型自身拥有特殊认知。
  • 核心机制不是模型自行创造循环,而是 Stop Hook(详见 Stop-hook 拦截机制)在模型尝试退出时拦截,并重新注入 prompt,从而在同一会话中形成“自我参照反馈”。
  • 迭代不是无条件持续,而是依赖于明确可验证的完成信号或最大迭代次数。否则循环可能永不结束。
  • 哲学根源: Ralph 循环可以追溯到软件工程中的“Bash 循环”思维,其核心逻辑是“不断向智能体提供任务,直到任务完成为止”。这种极致的简化体现了将失败视为数据、将持久性置于完美之上的设计哲学。

核心原理

与传统智能体循环的对比

为了深入理解 Ralph Loop 与常规智能体循环的区别,需要首先建立对“智能体”这一概念的通用语义框架。根据当代人工智能实验室的共识,智能体被定义为“在循环中运行工具以实现目标的 LLM 系统”。这种定义强调了三个关键属性:

  1. LLM 编排的推理能力:智能体能够根据观察结果进行推理和决策
  2. 工具集成的迭代能力:智能体可以调用外部工具并基于工具输出调整行为
  3. 最小化人工监督的自主性:智能体能够在有限指导下自主完成任务

在常规的智能体架构中,循环通常发生在单一会话的上下文窗口内,由 LLM 根据当前观察到的结果决定下一步行动。

ReAct(Reason + Act)模式

ReAct 遵循“观察(Observation)→ 推理(Reasoning)→ 行动(Acting)” 的节奏。这种模式的优势在于其动态适应性:当智能体遇到不可预见的工具输出时,它可以在当前的上下文序列中即时修正推理路径。

然而,这种“内部循环”受限于 LLM 的自我评估能力。如果 LLM 在某一步骤产生幻觉,认为任务已经完成并选择退出,系统就会在未达到真实目标的情况下停止运行。

Plan-and-Execute(计划并执行)模式

Plan-and-Execute 将任务分解为静态的子任务序列,由执行器依次完成。虽然这在处理长程任务时比 ReAct 更具结构性,但它对环境变化的适应度较低。如果第三步执行失败,整个计划往往会崩溃,或者需要复杂的重计划机制(Re-planning)。

Ralph 循环的“外部化”范式

Ralph 循环打破了上述依赖 LLM 自我评估的局限性。其实现机制采用停止 钩子(Stop Hook) 技术:当智能体试图退出当前会话(认为任务完成)时,系统会通过特定的退出代码(如退出码 2)截断退出信号。外部控制脚本会扫描输出结果,如果未发现预定义的“完成承诺”(Completion Promise),系统将重新加载原始提示词并开启新一轮迭代。

这种模式在本质上是强制性的,它不依赖智能体的主观判断,而是依赖外部验证。

对比总结

在开发者语境中,"agent loop" 通常指智能体内部的感知—决策—执行—反馈循环(即典型的感知-推理-行动机制)。而 Ralph Loop 更侧重于迭代执行同一任务直至成功,与典型智能体循环在目的和设计上有所不同:

image

比较结果表明:

  • 常规 Agent Loop 通常更通用: 用于决策型 agent,可以根据多种状态和输入动态调整下一步操作。ReAct 模式适合需要动态适应的场景,Plan-and-Execute 模式适合结构化任务分解。
  • Ralph Loop 更像是自动驱动的 refine-until-done 模式: 重点是让模型在固定任务上不断修正输出直到满足完成条件。它通过外部强制控制避免了 LLM 自我评估的局限性。

因此,它与一般意义上 agent 的循环机制并不矛盾,但定位更专注于可验证任务的持续迭代修正,而非全面的 agent lifecycle 管理。

Stop-hook 拦截机制

Ralph 循环的技术优雅之处在于它如何利用现有的开发工具链(如 Bash、Git、Linter、Test Runner)构建一个闭环反馈系统。在常规循环中,工具的输出仅作为下一步推理的参考;而在 Ralph 循环中,工具的输出成为了决定循环是否存续的“客观事实”。

Ralph 循环的工业实现依赖于对终端交互的深度拦截。通过 hooks/stop-hook.sh 脚本,开发者可以捕获智能体的退出意图。如果智能体没有输出用户指定的承诺标识(如 <promise>COMPLETE</promise>),停止钩子会阻止正常会话结束。

这种机制强迫 LLM 面对这样一个事实:只要没有达到客观的成功标准,它就无法“下班”。这种外部施加的压力通过重复输入相同的提示词(Prompt)来实现,智能体在每一轮迭代中都能看到上一轮留下的改动痕迹和 Git 提交记录。

状态持久化与记忆管理

解决上下文腐烂问题

常规智能体的一个核心痛点是“上下文腐烂(Context Rot)” ——随着对话轮次的增加,LLM 对早期指令的注意力和精确度会线性下降。Ralph 循环通过“刷新上下文”解决了这一问题:

  • 每一轮循环可以看作是一个全新的会话,智能体不再从臃肿的历史记录中读取状态
  • 智能体直接通过文件读取工具扫描当前的项目结构和日志文件
  • 这种模式将“状态管理”从 LLM 的内存(Token 序列)转移到了硬盘(文件系统)

由于 Git 历史记录是累积的,智能体可以通过 git log 查看自己之前的尝试路径,从而避免重复同样的错误。这种将环境视为“累积记忆”的做法,是 Ralph 循环能够支持持续数小时甚至数天开发的核心原因。

核心持久化组件

在典型的 Ralph 实现中,智能体会维护以下关键文件:

  1. progress.txt: 一个追加形式的日志文件,记录了每一轮迭代的尝试、遇到的坑以及已经确认的模式。后续迭代的智能体会首先读取该文件以快速同步进度。
  2. prd.json: 结构化的任务清单。智能体每完成一个子项,就会在该 JSON 文件中标记 passes: true。这确保了即使循环中断,新的智能体实例也能明确接下来的优先级。
  3. Git 提交记录: Ralph 循环被要求在每一步成功后进行提交。这不仅提供了版本回滚能力,更重要的是,它为下一轮迭代提供了明确的“变更差分”(Diff),让智能体能够客观地评估现状。
文件结构
scripts/ralph/
├── ralph.sh
├── prompt.md
├── prd.json
└── progress.txt
ralph.sh
#!/bin/bash
set -e
MAX_ITERATIONS=${1:-10}
SCRIPT_DIR="$(cd "$(dirname \
  "${BASH_SOURCE[0]}")" && pwd)"
echo "🚀 Starting Ralph"
for i in $(seq 1 $MAX_ITERATIONS); do
  echo "═══ Iteration $i ═══"
  OUTPUT=$(cat "$SCRIPT_DIR/prompt.md" \
    | amp --dangerously-allow-all 2>&1 \
    | tee /dev/stderr) || true
  if echo "$OUTPUT" | \
    grep -q "<promise>COMPLETE</promise>"
  then
    echo "✅ Done!"
    exit 0
  fi
  sleep 2
done
echo "⚠️ Max iterations reached"
exit 1
prompt.md

每次迭代的说明:

# Ralph Agent Instructions
## Your Task
1. Read `scripts/ralph/prd.json`
2. Read `scripts/ralph/progress.txt`
   (check Codebase Patterns first)
3. Check you're on the correct branch
4. Pick highest priority story 
   where `passes: false`
5. Implement that ONE story
6. Run typecheck and tests
7. Update AGENTS.md files with learnings
8. Commit: `feat: [ID] - [Title]`
9. Update prd.json: `passes: true`
10. Append learnings to progress.txt
## Progress Format
APPEND to progress.txt:
## [Date] - [Story ID]
- What was implemented
- Files changed
- **Learnings:**
  - Patterns discovered
  - Gotchas encountered
---
## Codebase Patterns
Add reusable patterns to the TOP 
of progress.txt:
## Codebase Patterns
- Migrations: Use IF NOT EXISTS
- React: useRef<Timeout | null>(null)
## Stop Condition
If ALL stories pass, reply:
<promise>COMPLETE</promise>
Otherwise end normally.
prd.json(任务状态)

任务清单:

{
  "branchName": "ralph/feature",
  "userStories": [
    {
      "id": "US-001",
      "title": "Add login form",
      "acceptanceCriteria": [
        "Email/password fields",
        "Validates email format",
        "typecheck passes"
      ],
      "priority": 1,
      "passes": false,
      "notes": ""
    }
  ]
}
progress.txt

任务进度日志:

# Ralph Progress Log
Started: 2024-01-15
## Codebase Patterns
- Migrations: IF NOT EXISTS
- Types: Export from actions.ts
## Key Files
- db/schema.ts
- app/auth/actions.ts
---
## 2024-01-15 - US-001
- What was implemented: Added login form with email/password fields
- Files changed: app/auth/login.tsx, app/auth/actions.ts
- **Learnings:**
  - Patterns discovered: Use IF NOT EXISTS for migrations
  - Gotchas encountered: Need to handle email validation on both client and server
---
运行 Ralph
./scripts/ralph/ralph.sh 25

运行最多 25 次迭代。Ralph 将:

  • 创建功能分支
  • 逐个完成任务
  • 每个任务完成后提交
  • 当所有任务通过时停止

上下文工程的对比分析

常规智能体通常采用总结(Summarization)或截断(Truncation)来管理上下文。研究表明,相比于复杂的 LLM 总结,简单的“观察掩码”(Observation Masking,即保留最新的 N 轮对话,其余用占位符代替)在效率和可靠性上往往更胜一筹。然而,即使是最好的掩码策略也无法处理跨越数十轮、数千行代码改动的任务。

Ralph 循环绕过了这一难题,它不试图“总结”过去,而是通过提示词引导智能体进行“自我重新加载”。每一轮迭代的提示词始终包含对核心目标的清晰描述,而具体的执行细节则留给智能体去实时探索环境。这种“即时上下文”加载方式,使得 Ralph 能够处理规模远超其单次窗口容量的工程项目。

框架和工具实现示例

以下是一些主流框架和工具对 Ralph Loop 模式的支持:

LangChain / DeepAgents

https://github.com/langchain-ai/deepagents/tree/master/examples/ralph_mode

image

DeepAgents 提供类似模式支持,需要程序化参数传递:

uv run deepagents --ralph "Build a Python programming course" --ralph-iterations 5

这里 --ralph-iterations 指定最大循环次数(详见实践建议-安全机制和资源控制)。

Kimi-cli

https://moonshotai.github.io/kimi-cli/zh/configuration/config...

loop_control 控制 Agent 执行循环的行为。

image

AI SDK (JavaScript)

https://github.com/vercel-labs/ralph-loop-agent

社区实现的 ralph-loop-agent 允许更精细的开发控制:

┌──────────────────────────────────────────────────────┐
│                   Ralph Loop (outer)                 │
│  ┌────────────────────────────────────────────────┐  │
│  │  AI SDK Tool Loop (inner)                      │  │
│  │  LLM ↔ tools ↔ LLM ↔ tools ... until done      │  │
│  └────────────────────────────────────────────────┘  │
│                         ↓                            │
│  verifyCompletion: "Is the TASK actually complete?"  │
│                         ↓                            │
│       No? → Inject feedback → Run another iteration  │
│       Yes? → Return final result                     │
└──────────────────────────────────────────────────────┘
import { RalphLoopAgent, iterationCountIs } from 'ralph-loop-agent';
const migrationAgent = new RalphLoopAgent({
  model: 'anthropic/claude-opus-4.5',
  instructions: `You are migrating a codebase from Jest to Vitest.
    Completion criteria:
    - All test files use vitest imports
    - vitest.config.ts exists
    - All tests pass when running 'pnpm test'`,
  tools: { readFile, writeFile, execute },
  stopWhen: iterationCountIs(50),
  verifyCompletion: async () => {
    const checks = await Promise.all([
      fileExists('vitest.config.ts'),
      !await fileExists('jest.config.js'),
      noFilesMatch('**/*.test.ts', /from ['"]@jest/),
      fileContains('package.json', '"vitest"'),
    ]);
    return { 
      complete: checks.every(Boolean),
      reason: checks.every(Boolean) ? 'Migration complete' : 'Structural checks failed'
    };
  },
  onIterationStart: ({ iteration }) => console.log(`Starting iteration ${iteration}`),
  onIterationEnd: ({ iteration, duration }) => console.log(`Iteration ${iteration} completed in ${duration}ms`),
});
const result = await migrationAgent.loop({
  prompt: 'Migrate all Jest tests to Vitest.',
});
console.log(result.text);
console.log(result.iterations);
console.log(result.completionReason);

关键特性:

  1. 提供模型与任务说明(包含明确的完成条件,详见实践建议-明确完成标准)
  2. stopWhen 和 verifyCompletion 定制循环退出逻辑
  3. 事件钩子用于日志和监控

Ralph Loop 最佳实践

如果你正在使用 AI 编程 CLI(如 Claude Code、Copilot CLI、OpenCode、Codex),以下实践指南将帮助你更高效地使用 Ralph Loop。

大多数开发者以交互方式使用这些工具:给出任务、观察工作过程、在偏离轨道时介入。这是“人在回路”(Human-in-the-Loop,HITL)模式。

但 Ralph 提供了一种新方法:让 AI 编程 CLI 在循环中运行,自主处理任务列表。你定义需要做什么,Ralph 负责如何做——并持续工作直到完成。换句话说,它是长时间运行、自主、无人值守的 AFK(Away From Keyboard,离开键盘)编程

提示:本节提供操作层面的具体技巧,原则层面的建议请参考实践建议部分。

技巧 1:理解 Ralph 是一个循环

AI 编程在过去一年左右经历了几个阶段:

Vibe 编程:让 AI 写代码而不真正检查。你“感受”AI,接受它的建议而不仔细审查。速度快,但代码质量差。

规划模式:要求 AI 在编码前先规划。在 Claude Code 中,你可以进入规划模式,让 AI 探索代码库并创建计划。这提高了质量,但仍受限于单个上下文窗口。

多阶段计划:将大型功能分解为多个阶段,每个阶段在单独的上下文窗口中处理。你为每个阶段编写不同的提示:“实现数据库模式”,然后“添加 API 端点”,然后“构建 UI”。这扩展性更好,但需要持续的人工参与来编写每个提示。

Ralph 简化了这一切。不是为每个阶段编写新提示,而是在循环中运行相同的提示:

#!/bin/bash
# ralph.sh
# Usage: ./ralph.sh <iterations>
set -e
if [ -z "$1" ]; then
  echo "Usage: $0 <iterations>"
  exit 1
fi
# 每次迭代:运行 Claude Code,传入相同的提示
for ((i=1; i<=$1; i++)); do
  result=$(docker sandbox run claude -p \
"@some-plan-file.md @progress.txt \
1. 决定接下来要处理的任务。这应该是你认为优先级最高的,\
   不一定是列表中的第一个。\
2. 检查任何反馈循环,如类型检查和测试。\
3. 将你的进度追加到 progress.txt 文件。\
4. 提交该功能的 git commit。\
只处理单个功能。\
如果在实现功能时,你注意到所有工作都已完成,\
输出 <promise>COMPLETE</promise>。\
")
  echo "$result"
  if [[ "$result" == *"<promise>COMPLETE</promise>"* ]]; then
    echo "PRD 完成,退出。"
    exit 0
  fi
done

每次迭代:

  1. 查看计划文件,了解需要做什么
  2. 查看进度文件,了解已完成的工作
  3. 决定下一步做什么
  4. 探索代码库
  5. 实现功能
  6. 运行反馈循环(类型、Linting、测试)
  7. 提交代码

关键改进:代理选择任务,而不是你

使用多阶段计划时,人类在每个阶段开始时编写新提示。使用 Ralph 时,代理从你的 PRD 中选择下一步要做什么。你定义最终状态,Ralph 到达那里。

技巧 2:从 HITL 开始,然后转向 AFK

运行 Ralph 有两种方式:

image

对于 HITL,你观察它做的一切,在需要时介入。

对于 AFK Ralph,始终限制迭代次数。随机系统的无限循环是危险的。关于如何设置迭代次数限制,详见实践建议-安全机制和资源控制。

HITL 类似于结对编程。你和 AI 一起工作,在代码创建时审查。你可以实时引导、贡献和分享项目理解。

这也是学习 Ralph 的最佳方式。你会理解它的工作方式,优化你的提示,并在放手之前建立信心。

一旦你的提示稳定,AFK Ralph 就能发挥真正的杠杆作用。设置它运行,做其他事情,完成后回来。

你可以构建通知机制(如 CLI、邮件或消息推送),在 Ralph 完成时提醒你。这意味着更少的上下文切换,你可以完全投入到另一个任务中。典型的循环通常需要 30-45 分钟,尽管它们可以运行数小时。

进展很简单:

  1. 从 HITL 开始学习和优化
  2. 一旦你信任你的提示,就转向 AFK
  3. 返回时审查提交

技巧3:定义范围

为什么范围很重要

你不需要结构化的 TODO 列表。你可以给 Ralph 一个模糊的任务——“改进这个代码库”——让它跟踪自己的进度。

但任务越模糊,风险越大。Ralph 可能永远循环,找到无尽的改进。或者它可能走捷径,在你认为工作完成之前就宣布胜利。

真实案例:某次运行 Ralph 来提高项目的测试覆盖率。仓库有内部命令——标记为内部但仍面向用户。目标是覆盖所有内容的测试。

经过三次迭代,Ralph 报告:“所有面向用户的命令都完成了。”但它完全跳过了内部命令。它决定它们不是面向用户的,并将它们标记为被覆盖率忽略。

修复方法:明确定义你想要覆盖的内容:

image

如何定义范围

在让 Ralph 运行之前,你需要定义“完成”是什么样子。这是从规划到需求收集的转变:不是指定每个步骤,而是描述期望的最终状态,让代理找出如何到达那里。

核心原则:必须定义明确可机器验证的完成条件。模糊的标准会导致循环无法正确退出或产生无意义输出。

推荐格式:结构化 prd.json

定义 Ralph 范围有多种方法(Markdown 列表、GitHub Issues、Linear 任务),但推荐使用结构化的 prd.json:

{
  "branchName": "ralph/feature",
  "userStories": [
    {
      "id": "US-001",
      "title": "新聊天按钮创建新对话",
      "acceptanceCriteria": [
        "点击'新聊天'按钮",
        "验证创建了新对话",
        "检查聊天区域显示欢迎状态"
      ],
      "priority": 1,
      "passes": false,
      "notes": ""
    }
  ]
}

Ralph 在完成时将 passes 标记为 true。PRD 既是范围定义,也是进度跟踪器——一个活生生的 TODO 列表。

提示:关于如何定义完成条件的更多示例和最佳实践,详见实践建议-明确完成标准。

技巧 4:跟踪 Ralph 的进度

Ralph 在迭代之间使用进度文件来解决上下文腐烂问题。通过维护 progress.txt 和 prd.json(详见状态持久化与记忆管理),Ralph 可以在每次迭代中:

  1. 读取 progress.txt 以了解已完成的工作和学到的代码库模式
  2. 读取 prd.json 以了解待办任务和优先级
  3. 追加本次迭代的进度和学到的模式
  4. 更新 prd.json 中已完成任务的 passes 状态

最佳实践:

  • 在 progress.txt 顶部维护“代码库模式”部分,方便后续迭代快速参考
  • 每次迭代只处理一个任务,完成后立即更新状态
  • 记录遇到的坑和解决方案,避免重复错误

这创建了一个累积的知识库,后续迭代可以快速同步,而不需要阅读整个 Git 历史。

技巧 5:使用反馈循环

反馈循环是 Ralph 的护栏。它们告诉代理它是否在正确的轨道上。没有它们,Ralph 可能会产生看起来正确但实际上有问题的代码。

反馈循环类型

image

在你的 Ralph 提示中,明确要求运行这些反馈循环:

在每次迭代中:
1. 实现功能
2. 运行类型检查:`tsc --noEmit`
3. 运行测试:`npm test`
4. 运行 Linter:`npm run lint`
5. 只有在所有检查通过后才提交

这确保 Ralph 不会提交破坏性代码。

技巧 6:小步迭代

Ralph 在小的、可验证的步骤中工作得最好。每次迭代应该:

  • 完成一个功能
  • 运行反馈循环
  • 提交代码

为什么?因为:

  1. 更容易调试: 如果某次迭代失败,你知道确切的问题所在
  2. 更好的 Git 历史: 每个提交代表一个完整的功能
  3. 更快的反馈: 小步骤意味着更快的迭代周期

避免让 Ralph 一次处理多个功能。这会导致:

  • 混乱的提交
  • 难以追踪进度
  • 更高的失败风险

技巧 7:优先处理高风险任务

不是所有任务都是平等的。有些任务如果失败,会破坏整个项目。其他任务如果失败,只是一个小问题。

Ralph 应该优先处理高风险任务:

  1. 架构决策和核心抽象: 如果这些错了,整个项目都会受到影响
  2. 模块之间的集成点: 这些是失败风险最高的地方
  3. 未知的未知和探索性工作: 需要快速失败
  4. 标准功能和实现: 风险较低,可以稍后处理
  5. 抛光、清理和快速胜利: 最低风险,适合最后处理

将 AFK Ralph 保留到基础稳固时。一旦架构得到验证,高风险集成工作正常,你就可以让 Ralph 在低风险任务上无人值守运行。

尝试一下

在你的 Ralph 提示中添加优先级指导:

选择下一个任务时,按以下顺序优先处理:
1. 架构决策和核心抽象
2. 模块之间的集成点
3. 未知的未知和探索性工作
4. 标准功能和实现
5. 抛光、清理和快速胜利
在高风险工作上快速失败。将简单的胜利留到后面。

技巧 8:明确定义软件质量

并非所有仓库都是相同的。很多代码是原型代码——演示、短期实验、客户提案。不同的仓库有不同的质量标准。

代理不知道它在哪种仓库中。它不知道这是可丢弃的原型还是将维护多年的生产代码。你需要明确告诉它。

要传达的内容

image

将此放在你的 AGENTS.md 文件、你的技能中,或直接放在提示中。

代码库模式比指令更有影响力

Ralph 会同时参考你的指令和现有代码。当两者冲突时,代码库的影响力更大。

具体示例:

// 你的指令:"永远不要使用 any 类型"
// 但现有代码中:
const userData: any = fetchUser();
const config: any = loadConfig();
const response: any = apiCall();
// Ralph 会学习这种模式,继续使用 any

为什么会这样?

  • 指令只有几行文字
  • 代码库有数千行“证据”
  • AI 更倾向于模仿现有模式

解决方案:

  1. 在 Ralph 运行前清理代码库:移除低质量模式
  2. 使用反馈循环强制执行标准:Linting、类型检查、测试
  3. 在 AGENTS.md 中明确质量标准:让期望可见

尝试一下

在你的 AGENTS.md 或 Ralph 提示中明确质量标准:

## 代码质量标准
这是生产代码库。请遵循:
- 使用 TypeScript 严格模式,禁止 any 类型
- 每个函数都需要单元测试
- 遵循现有的文件结构和命名约定
- 提交前必须通过所有 lint 和类型检查
优先级:可维护性 > 性能 > 快速交付

技巧 9:使用 Docker 沙箱

AFK Ralph 需要编辑文件、运行命令和提交代码的权限。什么阻止它运行 rm -rf ~?你不在键盘前,所以无法介入。

Docker 沙箱是最简单的解决方案:

docker sandbox run claude

这会在容器内运行 Claude Code。你的当前目录被挂载,但其他什么都没有。Ralph 可以编辑项目文件和提交——但无法触及你的主目录、SSH 密钥或系统文件。

权衡:你的全局 AGENTS.md 和用户技能不会被加载。对于大多数 Ralph 循环,这没问题。

对于 HITL,沙箱是可选的——你在观察。对于 AFK Ralph,特别是过夜循环,它们是防止失控代理的基本保险。

技巧 10:控制成本

Ralph Loop 可能会运行数小时,成本控制很重要。以下是一些实用的成本管理策略:

成本估算指南

典型成本范围(以 Claude 3.5 Sonnet 为例):

  • 小任务(5-10 迭代):$5-15
  • 中等任务(20-30 迭代):$15-50
  • 大型任务(30-50 迭代):$50-150

影响因素

  • 代码库大小(上下文窗口)
  • 任务复杂度(需要多少迭代)
  • 模型选择(GPT-4 vs Claude vs 本地模型)

成本控制策略

1. 从 HITL 开始

  • 先用人在回路模式学习和优化提示
  • 一旦提示稳定,再转向 AFK 模式
  • HITL 成本更可控,但仍有巨大价值

2. 设置严格限制

# 始终设置最大迭代次数
/ralph-loop "task" --max-iterations 20

3. 选择成本效益最优的任务

  • 机械化重构:高效率,低风险
  • 测试迁移:明确标准,易验证
  • 避免创意性任务:需要人类判断

image

4. 本地模型的现实

目前本地模型(如 Llama 3.1)在复杂代码任务上表现仍有差距。但可以考虑:

  • 用于简单任务的预处理
  • 作为成本敏感项目的备选方案

5. 投资回报视角

如果 Ralph 能在几小时内完成原本需要几天的工作,即使花费 $50-150 也是值得的。关键是选择合适的任务和设置合理的期望。

技巧 11:让它成为你自己的

Ralph 只是一个循环。这种简单性使其无限可配置。以下是一些让它成为你自己的方法:

交换任务源

本文中的示例使用本地 prd.json。但 Ralph 可以从任何地方拉取任务:

image

关键洞察保持不变:代理选择任务,而不是你。你只是改变该列表的位置。

更改输出

不是直接提交到 main,每次 Ralph 迭代可以:

  • 创建分支并打开 PR
  • 向现有 issues 添加评论
  • 更新变更日志或发布说明

当你有一个需要成为 PR 的 issue 积压时,这很有用。Ralph 进行分类、实现并打开 PR。当你准备好时进行审查。

替代循环类型

Ralph 不需要处理功能积压。我一直在试验的一些循环:

测试覆盖率循环:将 Ralph 指向你的覆盖率指标。它找到未覆盖的行,编写测试,并迭代直到覆盖率达到你的目标。例如,可以将项目的测试覆盖率从 16% 提高到 100%。

重复代码循环:将 Ralph 连接到 jscpd 以查找重复代码。Ralph 识别克隆,重构为共享实用程序,并报告更改的内容。

Linting 循环:向 Ralph 提供你的 Linting 错误。它一个一个修复,在迭代之间运行 linter 以验证每个修复。

熵循环:Ralph 扫描代码异味——未使用的导出、死代码、不一致的模式——并清理它们。软件熵的逆转。

任何可以描述为“查看仓库,改进某些东西,报告发现”的任务都适合 Ralph 模式。循环是相同的。只有提示改变。

尝试一下

尝试这些替代循环提示之一:

# 测试覆盖率循环
@coverage-report.txt
查找覆盖率报告中的未覆盖行。
为最关键未覆盖的代码路径编写测试。
再次运行覆盖率并更新 coverage-report.txt。
目标:至少 80% 覆盖率。
# Linting 循环
运行:npm run lint
一次修复一个 Linting 错误。
再次运行 lint 以验证修复。
重复直到没有错误。
# 熵循环
扫描代码异味:未使用的导出、死代码、不一致的模式。
每次迭代修复一个问题。
在 progress.txt 中记录你更改的内容。

实践建议

提示:本节提供原则层面的指导,具体操作技巧请参考 Ralph Loop 最佳实践部分。

明确完成标准

无论是在 Claude Code 还是自己实现的 agent loop 模式中,明确可机器验证的完成条件是 Ralph Loop 成功的关键(详见核心原理中关于完成条件的讨论)。

完成条件示例:

  • 所有测试通过
  • 构建无错误
  • Lint 结果清洁
  • 明确输出标记(如 <promise>COMPLETE</promise>)
  • 测试覆盖率 > 80%
  • 所有类型检查通过

避免模糊标准:例如“让它好看一点”会导致循环无法正确退出或产生无意义输出。

示例:

构建一个 Todo REST API
完成标准:
- CRUD 全部可用
- 输入校验完备
- 测试覆盖率 > 80%
完成后输出:<promise>COMPLETE</promise>

安全机制和资源控制

始终设置 --max-iterations 保护你的钱包

/ralph-loop "Task description" --max-iterations 30 --completion-promise "DONE"

建议的迭代次数:

  • 小任务:5-10 次迭代
  • 中等任务:20-30 次迭代
  • 大型任务:30-50 次迭代

成本控制策略:

  • 结合成本监控和 token 使用限制策略
  • 优先使用 HITL 模式学习和优化提示
  • 仅在提示稳定后使用 AFK 模式

场景适用性

✅ 适合场景:

  • TDD 开发: 写测试 → 跑失败 → 改代码 → 重复直到全绿
  • Greenfield 项目: 定义好需求,过夜执行
  • 有自动验证的任务: 测试、Lint、类型检查能告诉它对不对
  • 代码重构: 机械化重构、大规模测试迁移
  • 测试迁移: 从 Jest 到 Vitest 等框架迁移

❌ 不适合场景:

  • 需要主观判断或人类设计抉择
  • 没有明确成功标准的任务
  • 整体策略规划和长期决策(常规 Agent Loop 更适合)
  • 成本敏感场景:ralph-loop 可能会运行数小时甚至几十个小时

结论

Ralph Loop 是一种以持续迭代修正为中心的 agent 运行范式,通过 Stop Hook 和明确完成条件使代理不再轻易退出。它与一般意义上的 agent loop 并不冲突,而是在特定类型任务(可验证目标条件)下的一种强化迭代模式。适当理解二者的适用边界,能帮助开发者在构建自动化代理流水线时更合理选择架构和控制策略。

参考资料:

我快被这个交通银行太平洋信用卡中心烦死了
每天都打我电话
我可以确定我没欠钱
看着都是交通银行太平洋信用卡中心,但是点进去号码还不是固定的
导致我每次拉黑都是只拉黑了一个号码
小米手机是不是可以通过关键词拉黑的,没找到

每天凌晨三点,你的 OLAP 集群仍在空转。

白天的查询高峰早已过去,但为了应对明天可能到来的流量洪峰,计算节点依然全量在线——只因传统架构无法做到“随用随停”。

这不是个例。行业数据显示,当前主流 OLAP 系统的平均资源利用率不足 35%。换句话说,企业每在计算上投入 3 元,就有 2 元花在了“等待”和“空跑”上。更棘手的是,这种浪费并非源于管理疏忽,而是架构本身决定的:存算一体、静态规划、强耦合设计,让系统只能按“最坏情况”配置资源。

在 AI 与实时决策驱动下,企业对 OLAP 系统的期待已从“能查”跃迁至“快、稳、省、易用”。然而,传统 OLAP 架构深陷四大困局:资源僵化、隔离薄弱、成本失控、运维繁重——其静态、耦合、运维密集的设计,已无法匹配动态业务的真实需求。

破局之道在于重新定义 OLAP 的资源供给方式。而这一方向,早在云原生演进初期就已被预见。

2019年,UC Berkeley 在论文《A Berkeley View on Serverless Computing》中极具前瞻性地预言:Serverless 将成为云时代默认计算范式。

  • 极致弹性:系统能够根据业务负载自动、无缝地进行扩容和缩容,甚至可以在没有负载时缩容至“零”,彻底消除资源规划的难题。
  • 按需付费:用户只为代码实际运行所消耗的资源付费,代码未运行时不产生任何费用,从根本上杜绝了资源闲置浪费。
  • 资源隔离:提供灵活而强大的资源隔离能力,有效解决性能抖动、故障传染等风险,保障多租户环境下的系统稳定性。
  • 免运维:将基础设施的建设、管理和运维等繁琐工作下沉到平台提供者,用户无需再关注硬件维护、软件升级等非业务核心工作,从而聚焦于创造价值。

基于 Serverless 的四大支柱,阿里云 Hologres 进一步提出‘Down to Zero’理念,将抽象原则转化为可落地的 OLAP 新范式。

Down to Zero理念:下一代OLAP的技术基石与实现

阿里云 Hologres 提出 “Down to Zero” 理念,以 Serverless OLAP 架构实现范式级突破:成本趋零浪费、算力趋零等待、体验趋零摩擦、运维趋零负担。这不仅是优化,而是一次范式级重构。

  • 成本趋零浪费:成本趋近于零浪费,只为实际使用的计算力付费,资源闲置趋零,将可变成本降至极致。
  • 算力趋零等待:瞬间获取海量算力应对峰值,算力用于有效分析,业务无需提前数月规划硬件。
  • 体验趋零摩擦:用户“点击即得”的即时洞察分析体验成为常态,同时查询延迟、调度延迟、启动延迟均趋零,实现“零延迟”。
  • 运维趋零负担:基础设施管理复杂性大幅降低,团队聚焦业务价值,无需容量规划、版本升级、故障恢复。

“Down to Zero”如何落地?阿里云Hologres的实践路径

为了实现 Down to Zero 的目标和核心价值,让大数据 OLAP 分析回归“按需而动”的本质,Hologres 推出了名为 Serverless Computing 的云原生解决方案,帮助企业实现计算资源如水电般按需取用,它不仅是企业驱动智能决策的智能引擎的技术架构革新,更是一场算力供给范式的革命性突破。

  • Serverless Computing 资源池:大查询、ETL 自动卸载至共享池,实现负载隔离与冷启动“零延迟”。
  • Adaptive Serverless Computing:AI 自动识别大查询、高负载场景,智能路由至弹性资源,无需人工干预。
  • Serverless 型实例:彻底取消预留计算资源,100% 按需取用,真正实现“零持有成本”。

Serverless型实例:让OLAP分析回归“按需而动”的本质

Serverless 型实例,帮助企业实现计算资源如水电般按需取用,从固定支出转向波动可控的“分析即服务”模式,从“人等资源”到“资源随想随用”,从“资源枷锁”到“业务赋能”,进化到全员数据探索的常态。

Serverless 型实例核心组件包括:

计算层:

  • 接入节点:免费赠送。负责连接实例、估算请求所需的资源量、发送请求到
  • Serverless 资源池等。Serverless Computing 资源池:可用区级别共享的计算资源池,负责执行用户的请求,按请求单独调度资源。

存储层:

  • Hologres 独享存储:基于 Alibaba Pangu 存储服务构建,提供高性能、高可靠、高可用、低成本、弹性的存储空间及强大稳定安全的系统服务。

Hologres Serverless 型实例不再预留任何计算资源,根据业务不断波动的负载需求完全使用远端的 Serverless Computing 资源池,做到真正的“零计算资源”持有成本,100%的即用即取,即用即释放。

Hologres Serverless 型实例以零计算资源持有成本、零闲置成本、无限弹性边界、零运维负担等实现分析算力的弹性爆发,进一步极致的诠释着 Down to Zero 的成本趋零浪费、算力趋零等待、体验趋零摩擦 、运维趋零负担的核心价值,让 OLAP 分析回归“按需而动”的本质,将算力转化为竞争力,把业务价值交还给用户。

上述能力并非孤立存在,而是构建于一套完整的 Serverless OLAP 架构蓝图之上。

一个优秀的 Serverless OLAP 系统 是通过存算分离架构和计算组核心抽象,深度融合了自动弹性、分时弹性、无损弹性伸缩、Query Queue、自动限流、Down to Zero (Serverless Computing、Adaptive Serverless Computing、Serverless 型)等六大核心能力,构建了一个极致弹性、极致隔离、免运维、稳定可靠且高性价比的实时分析平台,将算力转化为竞争力,让OLAP分析回归“按需而动”的本质。

Serverless OLAP 的本质是让算力供给隐形化,将基础设施转化为具备商业意识的数字伙伴。当资源使用变得如呼吸般自然,当每焦耳能耗都转化为洞察价值,“Down to Zero”便被赋予全新内涵,从技术理想升维为商业哲学,最终数据智慧在“Down to Zero”的管道中自由奔涌。

阿里云Hologres团队作为国内Serverless OLAP的先行者,以五年躬身探索为基石,撰写万字实战沉淀,首发《Down to Zero, Serverless OLAP 技术白皮书》。这本聚焦“Down to Zero”理念,直击传统 OLAP 成本高、弹性差、运维重等核心痛点,提出下一代分析引擎新范式——让算力按需爆发,资源归零无负担。

在 AGI(通用人工智能)爆发的今天,AI 应用如雨后春笋般涌现。对于开发者而言,这既是最好的时代,也是最“贵”的时代。

部署 LLM(大语言模型)、Stable Diffusion 等 AI 应用时,我们往往面临一个两难的选择:

  • 要速度(预留模式):为了毫秒级 - 秒级的响应,必须长期通过预留模式持有 GPU 实例,但昂贵的空置成本让人心痛。
  • 要省钱(按量模式):为了节省成本选择按量付费,但 GPU 实例的创建和模型加载带来的漫长“冷启动”延迟,又严重伤害用户体验。

难道性能与成本真的不可兼得?

阿里云函数计算(Function Compute)推出的CPU 和 GPU 实例浅休眠功能,正是为了打破这一僵局而来。它让实例学会了“浅休眠”,在保留热启动能力的同时,极大降低了实例的闲置成本

本文将带你深入技术后台,揭秘GPU实例浅休眠这一功能是如何从 0 到 1 实现的。

什么是 GPU 实例浅休眠?给显卡按下“暂停键”

在开启浅休眠功能后,当没有请求时,GPU 实例并不会被销毁,而是进入一种“休眠”状态。

此时,实例依然存在,但 CPU 和 GPU 的计算资源被挂起,用户只需支付极低的休眠费用(约为活跃实例费用的10%-20%,CPU不计费,具体见计费文档

当请求再次到来时,系统会瞬间“解冻”实例,毫秒-秒级恢复计算能力(视模型大小)。

技术揭秘:如何实现 GPU 的“浅休眠”?

在容器技术中,实现 CPU 的暂停(Pause)相对成熟且容易,但要给正在显存中跑着几个 G 大模型的 GPU 做暂停,技术挑战极大。我们通过三项关键技术,实现了对 GPU 资源的精细化管理。

1. 显存状态的“迁移”

传统释放 GPU 资源的方式意味着销毁实例,下次使用必须经历完整的冷启动(启动容器、加载模型)。为了解决这个问题,我们设计并实现了显存数据的迁移(Migration)机制

  • 休眠阶段:当实例空闲时,系统会将 GPU 显存中的所有数据(包括模型参数、中间状态等)完整迁移至外部存储保存。
  • 唤醒阶段:当新请求到达时,系统会迅速将存储中的数据回迁至 GPU 显存并重建状态,将实例恢复至休眠前的状态。

这一过程避免了重复的模型加载,确保实例始终处于待命状态。

2. 驱动层的透明兼容

为了让用户无需修改代码即可使用该功能,我们选择在底层进行技术突破。

FC GPU 实例做到了对框架无感。这意味着,无论是 PyTorch 还是 TensorFlow,现有的 AI 应用无需任何代码改造,即可直接具备浅休眠能力。

3. 基于请求的自动化调度

有了“浅休眠”能力后,还需要解决“何时休眠、何时唤醒”的调度问题。依托函数计算以请求为中心的架构优势,我们实现了全自动化的资源管控。

平台天然感知每个请求的生命周期:

  • 请求到达:系统自动触发解冻流程,毫秒级唤醒 GPU 执行任务。
  • 请求结束:系统自动触发冻结流程,释放 GPU 算力。

整个过程由平台自动托管,用户无需配置复杂的伸缩策略,即可实现资源的按需分配与极致利用。

浅休眠唤醒性能

性能是用户最关心的指标。我们以 ComfyUI + Flux 的文生图场景为例进行了实测:

GPU 实例从“浅休眠”唤醒的耗时仅约为 500 毫秒 - 2 秒(视模型大小不同而略有差异)。

考虑到整个文生图生成过程通常持续数十秒,这 1-2 秒的延迟对于用户体验的影响极为有限,不足以降低用户感知的流畅性,却能换来显著的成本下降。

真实案例:某 OCR 业务降本 70% 实录

深圳某科技公司主要业务是从专利文本中提取信息,使用 OCR 模型。他们的业务痛点非常典型:

  1. 启动耗时长:容器启动+加载模型+私有数据 OCR识图,全套下来要十几秒
  2. 流量难以预测:请求来去无法预判,“按量模式”的冷启动耗时长无法满足业务延迟需求。如果使用预留实例,大部分时间 GPU 都在空转出现了浪费。

开启 GPU 实例浅休眠后:

  • 启动延迟明显减少,请求到达后能快速响应;
  • 日常使用成本大幅下降;
  • 服务稳定性不受影响,用户体验保持良好。

整体成本节省接近 70%。

如何使用

开启方式非常简单,函数计算产品控制台已默认支持该功能:

  1. 进入函数的【弹性配置】页签。
  2. 设置【弹性实例】的数量。

  1. 系统将自动激活GPU实例的浅休眠功能。

计费逻辑

  • 请求执行时:全额收费。
  • 无请求执行时:自动切换至浅休眠计费(GPU 资源视卡型收取 10%-20% 的费用,CPU 不收费

结语:Serverless AI 的新范式

Serverless 的核心理念是“按需付费”,而 GPU 昂贵的持有成本一直是阻碍 AI 全面 Serverless 化的大山。

函数计算 CPU 和 GPU 实例均全面支持浅休眠能力。无论是高算力的 AI 推理(GPU),还是通用的计算任务(CPU),函数计算全系实例均致力助您在 Serverless 的道路上实现极致的降本增效。

想要降本?现在就是最好的时机。

了解更多

FunctionAI 是阿里云推出的一站式 AI 原生应用开发平台,基于函数计算 FC的 Serverless 架构,深度融合 AI 技术,为企业提供从模型训练、推理到部署的全生命周期支持。

通过 Serverless 架构的弹性特性与智能化资源管理,显著降低 AI 应用的开发复杂度与资源成本,助力企业快速实现 AI 落地。

  1. 开发效率提升:无需关注底层资源,开发者可专注于业务逻辑,模型一键转换为 Serverless API。
  2. 弹性资源调度:按需付费 + N 分之一卡资源分配(如 1/16 卡),GPU 部署成本降低 90% 以上。
  3. 免运维特性:实例闲置时自动缩容至 0,资源利用率优化 60%,实现业务运维转型。

快速体验 FunctionAI:https://cap.console.aliyun.com/explore

❶ 腾讯元宝(2.1 开启,分 10 亿)
每日:登录领保底 + AI 任务抽卡 + 分享好友互得奖励
加码:20/22 点红包雨,冲万元小马卡
技巧:提前预约得 10 次额外抽奖,邀新奖励翻倍

❷ 百度(1.26-3.12,分 5 亿)
每日:20 点文心助手输口令领隐藏红包 + 集奇幻人生卡
加码:2.15-2.17 超级场,最高 8888 元
技巧:连续签到 7 天解锁稀有卡,套马中稀有马得 88 元

❸ 支付宝(1.27 预热,2.3 正式)
每日:集五福(3 次抽卡)+10/15/20 点红包雨 + 余额宝打卡
技巧:连续参与红包雨中奖率 + 20%,现金直接进余额

❹ 抖音(1.26 起预热,2.3 正式)
每日:搜「新春来抓马」集 9 种马 + 2.3 起「跃马攀峰」做任务
加码:除夕 19:30 集卡分 3 亿,最高 2026 元
技巧:组队集卡进度快 30%,首次分享加抽卡次数

❺ 京东 (1.25 起)
京东:搜「每天红包」+ 集全民寻马卡 + 10/14/18/21 点红包雨

❻ 淘宝:搜「马上有好运」+ 淘个好彩头任务,除夕冲 26888 元
技巧:历史搜索一键复领,邀新助力进度 + 50%

❼ 快手(1.27 开启)
每日:5 次集福卡 + 浇发财树 + 12/18/22 点红包雨 + AI 视频领红包
技巧:发财树连浇 3 天额外领现金,视频带「新春」标签奖励高

image