别争了,OpenClaw 和国产龙虾我全都要:一个 AI Agent 混合部署实战
这个话题下已经有太多"谁更强"的横评了。今天我想聊点不一样的:如果 OpenClaw 和国产 Agent 根本不是竞争对手,而是可以组队打怪的队友呢?
一、先交代背景:我为什么要做这个实验
最近掘金上"国产龙虾谁能打过 OpenClaw"这个话题特别火。每次刷到相关文章,评论区基本都在吵架:
- "OpenClaw 开源生态无敌,国产的根本没法比。"
- "国产 Agent 接地气,中文场景理解更好,还能接企业微信、飞书。"
- "实测下来都差不多,最后还是看 prompt 写得好不好。"
我作为一个后端开发,平时工作里既要用 Agent 写脚本、查文档,也要让它帮我生成一些定时任务的代码。说实话,单独用哪一个都有点别扭。
OpenClaw 很强,长上下文、工具调用、代码能力都在线,但有时候让它访问国内的一些 API 或者接飞书,总觉得磕磕绊绊。国产那几个------字节扣子、阿里通义、智谱清言、腾讯元宝------在接入国内生态上确实方便,但复杂任务的连续推理和多步骤规划,有时候会让人抓狂。
于是我干脆做了一个实验:能不能让 OpenClaw 和国产 Agent 各干自己最擅长的事,组成一个"混合 Agent 小队"?
目标很明确:做一个每天自动抓取掘金热榜,生成一篇简短的晨报,并推送到飞书群的机器人。
这个需求不大,但刚好能测出几个东西:
- 对复杂任务的理解和拆解能力;
- 代码生成的可运行性;
- 与国内服务(飞书 webhook、掘金 API)的对接能力;
- 出错后的自我修复能力。
二、任务拆解:谁该干什么
在让 Agent 开工之前,我先人工把整个任务拆成了三块:
| 模块 | 职责 | 适合的 Agent |
|---|---|---|
| 数据抓取 | 调用掘金 API,获取热榜文章标题、链接、热度 | 国产 Agent(对国内 API 和反爬更熟悉) |
| 内容生成 | 把热榜数据总结成一段有重点的晨报 | OpenClaw(长上下文、文本组织能力更强) |
| 推送执行 | 调用飞书 webhook 发送消息 | 国产 Agent(飞书生态对接更直接) |
| 调度框架 | 定时触发、异常重试、日志记录 | Python + APScheduler |
你可能会问,干嘛不直接让一个 Agent 全包了?
我试过了。让 OpenClaw 独自做全流程,它会给你一个结构完整但执行起来各种报错的方案;让国产 Agent 独自做,它在内容总结上经常漏重点,而且一旦遇到稍微复杂一点的错误链,就容易"摆烂"。
所以核心思路是:把任务按能力边界拆开,让每个 Agent 只负责自己最强的部分。
三、第一块:国产 Agent 负责数据抓取
我先让字节扣子(Coze)帮我写了一段抓取掘金热榜的代码。
需求描述大概是这样:
调用掘金热榜 API,获取前 10 篇文章的标题、链接、作者、热度,保存为 JSON。
扣子给的代码框架还算靠谱,它知道掘金热榜大概的接口地址,也自动加了 User-Agent 和 Referer。但实际跑起来报了 403。
它给出的第一轮代码长这样:
python
import requests
url = "https://api.juejin.cn/recommend_api/v1/article/recommend_all_feed"
payload = {
"client_type": 2608,
"cursor": "0",
"limit": 10,
"sort_type": 200
}
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Referer": "https://juejin.cn/",
"Content-Type": "application/json"
}
resp = requests.post(url, json=payload, headers=headers)
print(resp.status_code)
print(resp.json())
跑不通。403。
我把报错丢回去,扣子补了一个 X-Agent 相关的处理,但还是不行。后来我换了一个思路:不直接调推荐接口,而是去抓掘金公开的热榜页面 HTML,再用 BeautifulSoup 解析标题和链接。
这次国产 Agent 表现不错。智谱清言给出的解析代码基本能跑:
python
import requests
from bs4 import BeautifulSoup
import json
url = "https://juejin.cn/hot/articles/1"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")
items = []
for entry in soup.select(".article-item")[:10]:
title_tag = entry.select_one(".title")
if not title_tag:
continue
items.append({
"title": title_tag.get_text(strip=True),
"link": "https://juejin.cn" + title_tag.get("href", ""),
"hot": entry.select_one(".hot-degree").get_text(strip=True) if entry.select_one(".hot-degree") else ""
})
with open("/tmp/juejin_hot.json", "w", encoding="utf-8") as f:
json.dump(items, f, ensure_ascii=False, indent=2)
print(f"抓取了 {len(items)} 条热榜数据")
当然,实际掘金热榜的 HTML 类名会变化,这段代码需要根据页面结构调整。但国产 Agent 在"如何绕过简单反爬"这件事上,确实比 OpenClaw 更懂国内网站的套路。
结论:数据抓取模块,国产 Agent 胜出。
四、第二块:OpenClaw 负责内容生成
抓取完数据后,下一步是把 10 条热榜标题总结成一段晨报。
我把 JSON 数据丢给 OpenClaw,prompt 是这样的:
你是一名技术编辑。根据下面的掘金热榜数据,生成一段 200 字左右的晨报,要求:
- 指出今天最值得关注的 3 个方向;
- 每个方向用一句话概括;
- 语气轻松,适合发在飞书群里;
- 不要简单罗列标题。
OpenClaw 的输出明显比国产 Agent 更有"编辑感"。它不是机械地拼接标题,而是会把相似主题聚类,比如:
今天热榜上有好几篇都在聊 AI Agent 的横向对比,看来大家对这个话题是真的上头。另外,绩效季和职场复盘的文章也不少,应该是到年底了。技术方面,值得关注的还有几个新开源项目的深度解析。
国产 Agent 也能做,但经常会漏掉"聚类"这个步骤,最后变成:
今天热榜第一是谁谁谁,第二是谁谁谁,第三是谁谁谁......
对于飞书晨报来说,后者太长了,没人愿意看。
结论:内容生成模块,OpenClaw 胜出。
五、第三块:飞书推送,国产 Agent 又赢了
飞书 webhook 的接入其实不难,但细节多。国产 Agent 因为接飞书文档、飞书群这些场景比较多,给出的代码通常更稳。
这是阿里通义灵码帮我写的推送函数:
python
import requests
import json
def send_feishu(text: str, webhook_url: str):
payload = {
"msg_type": "text",
"content": {"text": text}
}
resp = requests.post(
webhook_url,
json=payload,
headers={"Content-Type": "application/json"},
timeout=10
)
resp.raise_for_status()
result = resp.json()
if result.get("code") != 0:
raise RuntimeError(f"飞书推送失败: {result}")
return result
if __name__ == "__main__":
webhook = "https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx"
send_feishu("早安,今日掘金热榜晨报已生成~", webhook)
OpenClaw 也能写,但它有时候会给我推送到 Lark 国际版的 webhook 格式,或者把签名验证逻辑搞复杂。国产 Agent 在这一块更"接地气"。
结论:国内生态对接,国产 Agent 胜出。
六、把它们串起来:我的混合 Agent 框架
三个模块都跑通之后,我用 Python 写了一个简单的调度器,把 OpenClaw 和国产 Agent 的能力串起来。
整体架构如下:
scss
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 定时任务 │────▶│ 数据抓取 │────▶│ 内容生成 │
│ (APScheduler)│ │ (国产 Agent) │ │ (OpenClaw) │
└─────────────┘ └─────────────┘ └──────┬──────┘
│
┌─────────────┐◀─────────┘
│ 飞书推送 │
│ (国产 Agent) │
└─────────────┘
核心调度代码:
python
import json
import os
from apscheduler.schedulers.blocking import BlockingScheduler
from fetcher import fetch_hot_articles # 国产 Agent 协助编写
from summarizer import summarize # OpenClaw 协助编写
from notifier import send_feishu # 国产 Agent 协助编写
JUEJIN_HOT_JSON = "/tmp/juejin_hot.json"
FEISHU_WEBHOOK = os.getenv("FEISHU_WEBHOOK_URL")
def daily_report():
try:
# 1. 抓取热榜
fetch_hot_articles(JUEJIN_HOT_JSON)
with open(JUEJIN_HOT_JSON, "r", encoding="utf-8") as f:
articles = json.load(f)
# 2. 生成晨报
report = summarize(articles)
# 3. 推送飞书
send_feishu(report, FEISHU_WEBHOOK)
print("晨报发送成功")
except Exception as e:
print(f"任务失败: {e}")
# 简单的重试或告警可以在这里加
raise
if __name__ == "__main__":
scheduler = BlockingScheduler()
scheduler.add_job(daily_report, "cron", hour=9, minute=0)
print("混合 Agent 调度器已启动,每天 9:00 发送晨报")
scheduler.start()
这个框架的关键不是代码多复杂,而是每个模块都用了最合适的工具。
七、跑了一周之后,我的一些真实感受
1. OpenClaw 不是万能的,但长任务确实更稳
如果你让 OpenClaw 一次性写 300 行代码,它通常能给你一个结构清晰、注释完整的版本。但如果让它接飞书 webhook,它可能会把简单的事情搞复杂。
2. 国产 Agent 不是"不行",而是"场景对"才强
数据抓取、国内 API 对接、飞书/钉钉/企业微信这些,国产 Agent 明显更顺手。它们的训练数据里这类场景更多。
3. 真正提高效率的,不是选哪个 Agent,而是会不会拆任务
这次实验让我意识到,AI Agent 之间的竞争,最后可能变成"编排能力"的竞争。谁能把多个 Agent、多个工具、多个数据源高效地串起来,谁才是真正的高效率。
4. 成本也是个因素
OpenClaw 如果本地跑,对机器要求不低;国产 Agent 很多有免费额度,适合小团队或者个人开发者先跑起来。
八、所以,国产龙虾到底能不能打过 OpenClaw?
我的答案是:单打独斗,目前还差一口气;但如果是群殴,国产龙虾未必会输。
OpenClaw 像一个能力全面但有点"洋脾气"的全栈工程师,国产 Agent 像几个各有所长的本地专家。你要做一个纯技术研究、写长文、做复杂推理,OpenClaw 更靠谱;但你要做一个能跑在中国的业务系统里、能接飞书钉钉、能处理国内网站的机器人,国产 Agent 的经验更丰富。
最实用的方案,可能不是"二选一",而是让 OpenClaw 当大脑,国产 Agent 当手脚。
九、写在最后
这个话题能在掘金火起来,本质上是因为大家都在焦虑:
- 我该押注哪个 Agent?
- 会不会今天学的工具,明天就被淘汰了?
- AI 发展这么快,我跟不跟得上?
我的建议是:别只盯着谁更强,多想想怎么把它们组合起来解决你的实际问题。
工具永远是工具,能帮你下班的,才是好工具。
如果你也做过类似的混合 Agent 实验,欢迎在评论区聊聊你的踩坑经历。
本文讨论的 Agent 均为个人真实使用体验,观点仅代表个人。