多Agent消息总线瘦身模块
场景
多Agent互相传消息([A→B] 内容 或 JSONL {"from":..,"to":..,"content":..}),
消息越积越多 → 任一Agent的上下文爆炸、卡死、丢信息。
本模块在本地先瘦身,再喂给Agent集群。
输入
| 字段 | 必填 | 说明 |
|---|---|---|
消息日志文件 或 - |
是 | 文本日志([发送方→接收方] 内容 / @发送方: 内容)或 JSONL(每行一条JSON消息) |
工作流(四模式)
# ① 去重+聚合:丢弃完全重复消息,按发送方统计
python3 agent_bus_slim.py 总线日志.txt --mode dedupe
# ② 整线瘦身:每条消息保留首句/关键数字,总体压到 2000 字
python3 agent_bus_slim.py 总线日志.txt --mode slim --max-len 2000
# ③ 分块投喂:切成 ≤800 字/块,逐块喂 Agent 不丢信息
python3 agent_bus_slim.py 总线日志.txt --mode blocks --size 800
# ④ 总线简报:发送方/条数/最新动态,快速掌握全局
python3 agent_bus_slim.py 总线日志.txt --mode brief
任意模式加 --json 输出结构化结果。
硬性规则
- 绝不编造:去重/聚合/瘦身只选取原文已有内容,不生成新消息、不改写原意。
- JSONL 消息优先取
from/content字段;无结构日志按[发送方] 内容解析,未识别归unknown。 - 去重口径:发送方+内容前120字完全相同视为重复;聚合只统计不删消息(去重模式下才删)。
- 分块/瘦身超限时从最不关键处丢弃,字符数如实输出。
示例
# JSONL 总线日志 5 万条 → 去重后 3.2 万条 → 简报
python3 agent_bus_slim.py bus.jsonl --mode brief --json
# → {"total_msgs": 50000, "senders": {"Hermes": {"count": 12000, "latest": "..."}, ...}}
配合 zsai-longtext-slim-pro 可组成"总线前置瘦身 + 单长文压缩"完整链路。