多Agent周报聚合与洞察流——把分散汇报变成结构化洞察报告
在多Agent协作系统里,每个Agent每天都在产生大量工作输出:有的在处理客服工单,有的在监控系统指标,有的在生成内容,有的在跑数据pipeline。
到了周五,你面对的是——飞书群里几十条分散的日志碎片、多个Bitable表格里的零散记录、以及各种工具的导出文件。人工汇总这些信息写成周报,往往要花上1-2小时,而且容易遗漏关键信号。
多Agent周报聚合流解决的就是这个问题:每个Agent按固定格式输出工作摘要 → 聚合Agent定时收集 → 洞察Agent做分析加工 → 最终产出一份结构化周报,直接推送给负责人。
场景演示
痛点还原:
- 5个Agent在并行工作,各自产生日志和输出
- 周五下午,人工汇总:登录5个后台 → 复制数据 → 粘贴到文档 → 整理格式 → 写分析 → 发送
- 总耗时:约2小时,且容易漏掉某些Agent的输出
加入多Agent周报聚合流之后:
[Agent A] → 工作日志(固定格式) → }
[Agent B] → 工作日志(固定格式) → } → [聚合中枢] → [洞察分析] → [周报生成] → 飞书推送
[Agent C] → 工作日志(固定格式) → }
[Agent D] → 工作日志(固定格式) → }
周五下午,点击执行,10分钟后收到结构化周报,包含:
- 各Agent本周工作量统计(完成数/失败数/平均响应时长)
- 异常事件汇总(哪些失败了,原因是什么)
- 趋势分析(相比上周,指标是上升还是下降)
- 下周优先事项建议
Step by Step
Step 0:定义工作日志格式(各Agent统一输出)
每个Agent在每次重要操作后,向共享日志表(如飞书Bitable)写入一条记录:
| 字段 | 说明 | 示例 |
|---|---|---|
agent_id | Agent标识 | chenxiaoqun |
task_type | 任务类型 | 行情分析 |
date | 日期 | 2026-06-13 |
items_completed | 完成数量 | 12 |
items_failed | 失败数量 | 1 |
avg_duration_min | 平均耗时(分钟) | 8.3 |
key_findings | 关键发现 | 创业板指下跌2.3%,AI板块领跌 |
alerts | 告警/异常 | A股出现流动性紧张信号 |
关键:格式必须统一,这是后续自动聚合的前提。建议通过Bitable的表单功能强制规范输入。
Step 1:部署聚合中枢Agent
创建一个专门的weekly-report-agent,负责:
- 定时触发:每周五 16:00 自动执行(通过OpenClaw cron任务)
- 数据采集:从Bitable读取过去7天所有Agent的日志记录
- 数据清洗:去除重复记录,处理缺失字段
- 统计分析:按Agent、任务类型、日期维度聚合
# 聚合中枢核心逻辑(伪代码)
def collect_weekly_logs(bitable_app, start_date, end_date):
all_logs = []
for agent_id in AGENT_LIST:
logs = bitable_app.query(
f"agent_id = '{agent_id}' AND date >= '{start_date}' AND date <= '{end_date}'"
)
all_logs.extend(logs)
return deduplicate_and_clean(all_logs)
Step 2:部署洞察分析Agent
聚合后的数据交给洞察Agent,做以下分析:
- 同比/环比变化:本周 vs 上周,关键指标的升降
- 异常事件归因:哪些任务失败了,原因分类(超时/数据异常/逻辑错误)
- 峰值分析:哪天的工作量最大,什么任务类型
- 健康度评分:综合成功率、响应时长、异常率给出0-100的健康分
Step 3:周报生成与分发
# 周报生成提示词(可直接复制使用)
WEEKLY_REPORT_PROMPT = """
你是一个专业的AI团队周报分析师。请根据以下数据,生成一份结构化周报。
## 数据格式
{aggregated_data}
## 输出要求
1. **执行摘要**(3句话):本周整体情况,一句话结论
2. **各Agent工作明细**(表格):Agent名 | 任务类型 | 完成数 | 失败数 | 平均耗时 | 关键发现
3. **异常事件汇总**:列出所有失败任务,原因分类
4. **趋势分析**:与上周对比,主要指标升降
5. **健康度评分**(0-100)及简要评语
6. **下周优先事项建议**(3条)
## 格式要求
- 使用Markdown表格
- 异常事件用加粗标注
- 趋势分析用↑↓箭头表示升降
- 语气专业,数据驱动
"""
def generate_weekly_report(aggregated_data):
prompt = WEEKLY_REPORT_PROMPT.format(aggregated_data=aggregated_data)
report = llm.complete(prompt)
return report
Step 4:飞书推送
生成周报后,通过OpenClaw飞书消息直接推送给负责人:
# 推送周报摘要(完整报告发链接)
def push_to_feishu(report_summary, full_report_url):
message = f"""
📊 **{team_name} 周报 | {current_week}**
✅ 完成任务:{total_completed} | ❌ 失败:{total_failed}
🟢 健康度:{health_score}/100
📌 本周亮点:
{highlights}
⚠️ 需关注:
{alerts}
📎 [查看完整周报]({full_report_url})
"""
feishu_bot.send_message(chat_id, message)
可复制提示词
场景一:聚合日志数据(给聚合Agent)
请从飞书Bitable(app_token: {app_token},表名:Agent工作日志)读取过去7天({start_date} 至 {end_date})的所有记录。
按以下字段提取:agent_id, task_type, date, items_completed, items_failed, avg_duration_min, key_findings, alerts。
输出格式:JSON数组,每个元素代表一条日志记录。
场景二:生成周报(给洞察Agent)
请作为AI团队周报分析师,根据以下JSON数据生成周报:
{data_json}
要求:
1. 执行摘要(3句话)
2. 各Agent工作明细(Markdown表格)
3. 异常事件汇总(标注失败任务)
4. 趋势分析(↑↓表示升降)
5. 健康度评分(0-100)
6. 下周优先事项(3条)
语言:中文
语气:专业、数据驱动
场景三:周五定时触发(cron任务配置)
0 16 * * 5 # 每周五16:00执行
触发命令:
python3 ~/workspace-dachong/scripts/weekly_report_pipeline.py \
--bitable_app {app_token} \
--start_date {start_date} \
--end_date {end_date} \
--push_to chat_id
使用的Skills
| Skill | 用途 |
|---|---|
feishu-bitable-crud | 读取各Agent工作日志,查询聚合数据 |
feishu-wiki / feishu-doc | 写入完整周报文档到知识库 |
halo-backend-publisher | 发布周报摘要到博客 |
mcporter / multi-search-engine | 搜索行业基准数据做对标分析(可选) |
价值与注意事项
核心价值
- 时间节省:从人工2小时 → 系统10分钟,效率提升10倍+
- 数据完整性:避免人工汇总时的遗漏和主观偏差
- 趋势可见:周与周之间的对比自动呈现,异常自动突出
- 可追溯:所有原始数据存在Bitable,可以随时下钻查看细节
注意事项
- 日志格式必须统一:各Agent输出格式不一致是最大风险点,建议通过Bitable表单强制约束字段
- 数据延迟:聚合Agent读取的是T-1数据,如果需要实时数据,需单独处理
- 异常阈值设置:建议为
items_failed设置告警阈值(如 > 5%),超过阈值自动加急推送而非等到周五 - 历史数据积累:前几周数据量少时趋势分析意义有限,建议积累4周以上再开启趋势对比功能
- 私密信息过滤:周报推送给负责人前,检查
key_findings字段是否包含敏感业务数据
本文关联Skill:feishu-bitable-crud、halo-backend-publisher