AI工程SynapseB类

我用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里加配置,不用改任何代码。

可移植的原则

  1. 如果你在构建信息自动化系统,用配置文件替代硬编码的参数。把数据源、过滤规则、输出格式都写成YAML,后续调整不需要改代码。
  2. 如果你在处理多平台内容,优先解决API权限和频率限制,而不是直接写业务逻辑。做一层请求抽象,方便后续切换数据源。
  3. 如果你在用LLM做翻译,在提示词里明确术语处理规则。让模型在首次遇到技术术语时保留英文原文,减少歧义。
  4. 如果你在设计调度系统,从固定间隔开始,不要过度优化。根据实际内容更新频率调整调度策略。

结尾

这套系统的实际效果是:我现在每天花5分钟扫一遍双语报告,就能掌握X和LinkedIn上最重要的AI动态,英文原文随时可查。要开始的话,先从最小的数据源开始——比如只监控3个账号、每两小时抓一次——跑通端到端流程后再扩展。