Multi-Platform Communication Aggregation

Lucas Carlson· emerging

问题

用户通过多个平台(电子邮件、Slack、iMessage等)进行沟通,需要查找可能存在于任意平台中的信息。手动逐个搜索这些平台既耗时又容易出错。负责“查找X关于Y的发言内容”任务的Agent必须知晓该检查哪个平台——或者对所有平台进行检索。

方案

打造一个统一搜索界面,可并行查询所有通信平台,并将结果聚合为单一、格式一致的输出。

graph TD
    A["用户查询:查找有关项目截止日期的消息"] --> B[聚合Agent]
    B --> C[iMessage 搜索]
    B --> D[Slack 搜索]
    B --> E[邮件搜索]
    B --> F[其他平台...]
    C --> G[结果收集器]
    D --> G
    E --> G
    F --> G
    G --> H[统一结果表格]

核心组件:

  1. 平台适配器(Platform Adapters):每个平台都配有CLI/API包装器,具备统一调用接口
  2. 并行调度器(Parallel Dispatcher):可并发启动搜索任务(采用子Agent模式或后台作业方式)
  3. 结果标准化器(Result Normalizer):将各平台的专属格式转换为统一schema
  4. 聚合器(Aggregator):对结果进行合并、去重和排序
# 示例:统一搜索功能实现
search_all() {
    query="$1"

    # 启动并行搜索任务
    messages search "$query" > /tmp/messages.json &
    slack-messages search "$query" > /tmp/slack.json &
    fastmail.sh search "$query" > /tmp/fastmail.json &
    gmail.sh search "$query" > /tmp/gmail.json &

    wait  # 等待所有任务完成

    # 聚合并标准化结果
    aggregate_results /tmp/*.json
}

如何使用

适用场景:

  • 用户询问“某人在哪里提到过X”
  • 用户需要查找某段对话,但记不清具体平台
  • 跨平台审计或合规性检索
  • 构建统一收件箱或通信中心功能

实施步骤:

  1. 为每个平台创建CLI包装器,确保输出格式一致(JSON格式)
  2. 定义通用Schema:{platform, sender, timestamp, content, url}
  3. 构建并行调度机制(可通过bash后台任务、子Agent或异步实现)
  4. 实现结果排序功能(按时效性、相关性或平台优先级排序)
  5. 以带平台标识徽章的统一表格形式展示结果

技能定义示例:

权衡

优点:

  • 单次查询即可检索所有平台——无需切换上下文
  • 并行执行最大限度降低延迟(总耗时≈最慢平台的耗时)
  • 统一格式便于对比和筛选
  • 可扩展性:无需修改接口即可新增平台
  • 减少“那条信息在哪个平台上?”的查找阻力

缺点:

  • 需要为每个平台维护适配器
  • 可能同时受到多平台的速率限制
  • 跨平台结果的排序具有主观性(Slack消息是否比电子邮件更相关?)
  • 隐私/安全风险:跨平台聚合数据会增加暴露面
  • 部分平台的搜索API性能不佳(结果质量参差不齐)

参考文献

关键词

涵盖三项大语言模型应用相关技术:面向并行执行的子代理生成模式、用于结果聚合的LLM Map-Reduce模式,以及Claude Code的/search-all技能实现。

直译
  • 面向并行执行的子代理生成模式
  • 用于结果聚合的大语言模型(LLM)Map-Reduce模式
  • Claude Code的/search-all技能实现

来源摘要

正在获取来源并生成中文摘要…

来源: https://github.com/anthropics/claude-code

← 返回社区