我用Claude Code把X和LinkedIn的AI资讯自动翻译成中文,打造自己的双语情报台
从手动刷英文信息流效率低下的问题出发,展示如何用Claude Code构建端到端的情报自动化流水线
我是怎么用Claude Code把X和LinkedIn的AI资讯自动翻译成中文的
- Claude Code 可执行脚本,自动抓取 X/LinkedIn 资讯
- 翻译流程配置文件驱动,批量处理无需手动
- Claude API 支持长文本,保留英文原文便于对照
- 定时任务实现每日自动更新情报台
- YAML 配置让数据源和翻译规则可维护
问题背景
过去半年,我每天早上花40分钟刷X和LinkedIn,试图追踪AI领域的最新动态。但英文信息流太庞杂了——X上一小时能产生几百条相关推文,LinkedIn的算法又偏爱本地内容,我的英文资讯密度其实很低。更要命的是,有些关键资讯我看完英文摘要觉得不重要,但一个月后才发现那篇文章改变了整个行业方向。
我算过一笔账:每周5小时在信息流里找内容,实际转化为认知的部分不到15%。这种效率让我开始思考,与其被人肉筛选,不如让机器帮我做第一层过滤。
为什么这件事没那么容易做
我们一开始以为这只是「调用翻译API」的问题。花两天搭好基本流程后,发现真正卡住的是三件事。
第一,X的API权限问题。个人开发者账号能拿到的推文量有限,而且频率限制很严格。直接用API抓容易触发风控,需要做请求间隔控制。
第二,翻译质量参差不齐。大段技术讨论直接扔给翻译工具,出来的结果经常丢失上下文。比如「Context Window」这种术语,翻成「上下文窗口」还是「上下文窗」取决于文章语境。
第三,维护成本会快速膨胀。最开始我只监控5个账号,配置写在脚本里。后来每加一个数据源就要改代码,两周后脚本里全是if-else。
实际上,翻译只是最后一环。如果数据源、过滤规则、输出格式都硬编码在脚本里,每次调整都要改代码——这才是自动化情报台最大的维护瓶颈。
根因:配置驱动的端到端流水线
我把整个系统拆成四个独立模块:数据源配置、过滤规则、翻译任务、输出格式化。所有配置通过YAML文件管理,Claude Code负责执行调度。
首先是数据源配置,用YAML定义要监控的账号和关键词:
# sources.yml
data_sources:
- platform: x
accounts:
- username: anthropicai
- username: opengpai
keywords: ["LLM", "reasoning", "agent", "context window"]
max_results: 20
- platform: linkedin
company_ids:
- "12345678" # 示例ID,非真实
keywords: ["AI model", "foundation model", "artificial intelligence"]
max_results: 10
schedule:
interval_minutes: 120
timezone: Asia/Shanghai
然后用Python脚本驱动Claude Code执行翻译任务。核心思路是把YAML配置作为任务输入,Claude Code自动决定哪些内容需要翻译、怎么保持术语一致性:
# translate_task.py
import yaml
from anthropic import Anthropic
client = Anthropic()
def load_config(path):
with open(path) as f:
return yaml.safe_load(f)
def translate_content(content, context):
"""调用Claude翻译,保留术语一致性"""
response = client.messages.create(
model="claude-sonnet-4-20250514",
max_tokens=4096,
messages=[{
"role": "user",
"content": f"""翻译以下内容为中文,保持技术术语一致性:
上下文:{context}
内容:{content}
要求:
- 保留原文以便对照
- 术语首次出现时加注英文原文
- 保持原文格式和链接"""
}]
)
return response.content[0].text
def process_sources(config):
"""处理所有数据源,生成双语报告"""
results = []
for source in config['data_sources']:
content = fetch_content(source) # 实际从API获取
for item in content:
translated = translate_content(item['text'], item['context'])
results.append({
'source': source['platform'],
'original': item['text'],
'chinese': translated,
'url': item['url']
})
return results
if __name__ == "__main__":
config = load_config('sources.yml')
report = process_sources(config)
save_as_markdown(report) # 输出为可读报告
这套设计的关键是把「做什么」和「怎么做」分离。YAML定义数据源和调度策略,Python脚本负责执行逻辑,Claude负责翻译质量。你要新增一个数据源,只需要往YAML里加配置,不用改任何代码。
可移植的原则
- 如果你在构建信息自动化系统,用配置文件替代硬编码的参数。把数据源、过滤规则、输出格式都写成YAML,后续调整不需要改代码。
- 如果你在处理多平台内容,优先解决API权限和频率限制,而不是直接写业务逻辑。做一层请求抽象,方便后续切换数据源。
- 如果你在用LLM做翻译,在提示词里明确术语处理规则。让模型在首次遇到技术术语时保留英文原文,减少歧义。
- 如果你在设计调度系统,从固定间隔开始,不要过度优化。根据实际内容更新频率调整调度策略。
结尾
这套系统的实际效果是:我现在每天花5分钟扫一遍双语报告,就能掌握X和LinkedIn上最重要的AI动态,英文原文随时可查。要开始的话,先从最小的数据源开始——比如只监控3个账号、每两小时抓一次——跑通端到端流程后再扩展。