# Portability: UNIVERSAL
# Last validated: 2026-05-17
# Next review: 2027-05-17
# 资源：[多 LLM 协议、Bridge、Swarm 系统、Claude 代码文档]

LLM 通信 -- 所有方法概述
================================================

截至：2026-02-17
上下文：LLM 实例（Claude、Gemini、Ollama）如何相互交互
         并与外界沟通？所有已知的目录
         根据不同场景的适用性进行评估的方法。

21 沟通形式
========================

注意：15 种通用方法 (1-15) + 6 种 BACH 特定方法 (16-21)。
通用方法可以转移到任何法学硕士系统。
BACH 特定的使用 BACH 自己的基础设施。

1。留下文件（删除文件）
-----------------------------------
   方法：LLM写入文件，其他LLM稍后读取
   方向：单向（写入器 -> 读取器）
   延迟：高（读者必须主动检查）
   示例：代理写入 result.txt，下一个代理读取它
   优点：最简单的方法，无需基础设施
   缺点：没有通知机制、时间问题
   BACH：许多工作流程中的基本方法

2。 MEMORY.md（共享文件）
----------------------------------------
   方法：所有LLM伙伴读/写相同的MEMORY.md
   方向：双向（均读写）
   延迟：基于会话（更改从下一个会话开始生效）
   示例：克劳德写了《经验教训》，双子座在下一节课中阅读它
   强度：在会话开始时自动注入（克劳德代码）
   弱点：200行限制，无实时性，手动维护
   BACH：目前每个合伙人一个； SQ043计划共享内存DB

3。公共内存（数据库）
---------------------------------------
   方法：每个人都可以写入/读取的中央数据库（bach.db）
   方向：双向、多方
   延迟：立即（对于会话内的数据库访问）
   示例：代理保存事实，其他代理查询事实
   优点：结构化、可搜索、加权、持久
   弱点：需要数据库访问处理程序，不会自动注入
   BACH：bach.db 中的事实、教训、context_triggers（890 多个条目）

4。注射器作为通讯
---------------------------------
   方法：将系统提醒注入到消息流中
   方向：系统->LLM（单向）
   延迟：立即（在下一条消息时）
   示例：Hook 通过 hook_additional_context 注入消息
   变种：
     a) Claude Code喷油器（52种，不可控）
     b) BACH喷油器（5种，LLM可控）
     c) 基于钩子（UserPromptSubmit 读取“收件箱”文件）
   优点：出现在上下文中，无需主动检索
   弱点：CC 注射器无法由用户/LLM 控制
   巴赫：ContextInjector、SessionInjector、PartnerInjector、
               健康注射器、捐赠注射器
   另请参阅：claude-code-injections.txt、injectors.txt

5。斯蒂默吉/马加托地图
--------------------------------------
   方法：特工留下标记文件（信息素）
               其他代理读取标记并调整行为
   方向：间接双向（通过环境）
   延迟：即时（文件系统）
   示例：机器人写入 .visited.log，其他机器人则避开访问过的区域
   标记：.done、.in_progress、.visited.log、.counter、.flag
   优点：无需直接沟通，可扩展性良好
   缺点：不能保证标记会被读取，需要蒸发
   巴赫：data/swarm/map/，maintenance_swarm.py，marauders_map.py
   另请参阅：trampelpfadanalysis.md（第 2 章：群体方法）

6。切换文件（显式切换）
------------------------------------------
   方式：实例间结构化传输文档
   方向：单向（前任->后继）
   延迟：立即（在后继程序开始之前写入文件）
   示例：Marble Run：handoff.md，包含任务、状态、结果、反馈
   优点：完整的上下文迁移、结构化、可理解
   缺点：仅适用于串行链，不适用于并行通信
   BACH：tools/llmauto/state/handoff.md（大理石运行管道）

7。桥接器/连接器（外部通道）
------------------------------------------
方法：BACH 通过外部服务发送/接收消息
   方向：双向（BACH <-> 人类/其他系统）
   延迟：秒（取决于服务）
   示例：用户写入 Telegram 消息，BACH 响应
   渠道：Telegram（测试版）、Discord（测试版）、HomeAssistant（测试版）、
               Signal（计划）、WhatsApp（计划）
   优势：与现实世界的沟通，而不仅仅是法学硕士到法学硕士的交流
   缺点：依赖于外部 API，某些基于抓取
   BACH：连接器/、集线器/connector.py、桥接系统
   另请参阅：bridge.txt、connectors.txt

8。克劳德代码团队模式
---------------------------
   方法：Claude Code CLI 中内置的团队协调
   方向：双向（领导 <-> 队友）
   延迟：立即（会话内的消息队列）
   示例：团队负责人向研究人员发送任务，获取结果
   功能：发送消息、任务列表、任务创建、任务更新、广播
   优点：人类本机、集成良好、并行工作
   弱点：仅在克劳德代码会话中，没有作品/十四行诗混合
   BACH：未直接集成（克劳德代码功能，不是 BACH）

9。 GIT 作为通信
--------------------------
   方法：提交+提交消息作为实例之间的消息
   方向：双向（推/拉）
   延迟：分钟（提交 + 推送 + 拉取）
   示例：工作人员提交更改，审阅者读取 git diff + 消息
   优点：版本化、易于理解、标准工具
   弱点：小消息的开销，需要回购
   BACH：未系统使用，但可能（SQ020 版本）

10。 DB 表作为通道
---------------------------
    方法：代理写入共享数据库表，其他人读取
    方向：双向、多方
    延迟：立即（在数据库访问会话内）
    示例：代理将消息写入消息表，收件人轮询
    优点：结构化、持久性、可搜索、已经存在
    弱点：需要轮询（无推送），需要处理程序
    BACH：bach.db 有基础设施，但没有明确的消息系统

11。 HOOKS（基于事件的注入）
--------------------------------------
    方法：在事件处执行Shell命令，结果注入
    方向：外部 -> LLM（每个钩子调用单向）
    延迟：立即（在每次用户提示或工具调用时）
    示例：UserPromptSubmit 挂钩读取“收件箱”文件并注入内容
    挂钩类型：PreToolUse、PostToolUse、SessionStart、UserPromptSubmit 等。
    优点：无需源补丁即可实现实例间消息传递的最简单方法
    弱点：仅针对事件（非按需），需要钩子配置
    BACH：Claude 代码集成的推荐方法
    另请参阅：claude-code-injections.txt（“消息系统”部分）

12。 MCP 服务器作为中介
-------------------------------
    方法：多个LLM实例使用的共享MCP服务器
    方向：双向（所有实例访问同一服务器）
    延迟：立即（工具调用）
    示例：ellmos-codecommander-mcp 作为所有 Claude 实例的共享服务
    优点：标准化（MCP协议）、基于工具、可扩展
    缺点：服务器必须运行，没有推送机制
    BACH：ellmos-codecommander-mcp（14 个工具）、ellmos-filecommander-mcp（38 个工具）

13。进程链接（.bat 作为信号）
----------------------------------------
    方法：一个进程通过批处理文件启动下一个进程
    方向：单向（前任->后继）
    延迟：立即（进程启动）
    示例：Marble-Run：Opus Worker 退出，.bat 启动 Sonnet Reviewer
    优点：确定性、无基础设施、BS 原生
    缺点：只有串行链，没有反馈通道（需要切换文件）
    BACH：tools/llmauto/ (llmauto-CLI)（弹珠运行系统）

14。共享文件系统（文件观察器）
--------------------------------------
    方法：代理监视共享目录的更改
    方向：双向（均可写/读）
    延迟：秒（观察者轮询间隔）
    示例：Agent写入new_task.json，Watcher检测并响应
    Starke：简单，没有特殊的基础设施
    弱点：基于轮询、可能存在竞争条件、OneDrive 同步问题
    巴赫：从根本上来说是可能的，但没有系统地实施

15。标准输出/标准输入管道
-------------------------
方式：一个过程的输出成为下一过程的输入
    方向：单向（生产者->消费者）
    延迟：即时（管道）
    示例： claude --print "Analyze X" |克劳德--print“价格：$(cat -)”
    优点：Unix 哲学、最小开销、不需要文件系统
    弱点：只有文本，没有结构化上下文，没有持久性
    BACH：未使用（Claude Code 支持 --print 但不支持 stdin 管道）

BACH 特定的通信形式 (16-21)
===============================================

16。多LLM协议V3（存在+锁定）
-------------------------------------------------
    方式：文件系统中存在文件+锁定文件+握手
    方向：双向、多方
    延迟：秒（每30秒心跳一次，超时120秒）
    示例：Claude 通过 .gemini_presence 识别出 Gemini 在线
    功能：存在、锁定、握手、心跳、代理检测
    已知：克劳德、双子座、副驾驶、奥拉马、困惑、米斯特拉尔守望者
    优点：没有中央权威的协调，竞争条件安全
    弱点：基于文件系统（比数据库慢），可能存在过时的情况
    BACH：hub/multi_llm_protocol.py (V3)，CLI：bach llm 存在/检查/锁定

17。 PARTNER-PRESENCE DB（印章卡）
----------------------------------------
    方法：带有clock_in/out/heartbeat的SQLite表partner_presence
    方向：双向（每个人登录/退出）
    延迟：立即（数据库查询）
    示例： bach llm status -> 显示谁在线以及他们在做什么
    功能：clock_in()、clock_out()、heartbeat()、get_online_partners()
    优点：比文件更可靠，状态持久化
    弱点：需要数据库访问，不兼容文件系统
    BACH：hub/multi_llm_protocol.py（PartnerPresenceDB 类）

18。消息系统（收件箱/发件箱）
--------------------------------------
    方法：基于数据库的消息传递，包含发件人、收件人、正文、状态
    方向：双向、定向（接收者确定）
    延迟：立即（查询时）或轮询（监视模式每 10 秒一次）
    示例： bach msg 发送 Gemini “分析此图像”
    功能：发送、读取、观看（轮询）、Ping、读取确认 (--ack)
    状态：未读、已读、已存档
    优点：结构化、持久性、可搜索、已读回执
    弱点：基于拉动（无推送），需要主动轮询
    BACH：hub/messages.py，数据库表：messages

19。通知系统（多渠道推送）
--------------------------------------------------
    方式：通过外部渠道发出通知
    方向：单向（BACH -> 外部）
    延迟：秒
    渠道：Discord (Webhook)、Telegram (Bot API)、Slack (Webhook)、
                电子邮件 (SMTP/SSL)、信号（直接）、通用 Webhook
    示例：bach 通知发送电报“任务完成”
    优点：多通道、可配置
    弱点：只能传出（无法通过通知接收）
    BACH：集线器/notify.py，CLI：巴赫通知设置/发送/测试/列表

20。队列处理器和智能路由器
------------------------------------
    方法：连接器消息的可靠路由
    方向：双向（连接器 <-> BACH 内部）
    延迟：秒（轮询间隔：Telegram 15 秒，Discord 60 秒）
    功能：重试/退避（5 个级别：30s-480s）、断路器（5 个错误）
    智能：从消息中解析命令（“/task add test”）
    优点：可靠、自愈、命令识别
    缺点：复杂，需要运行守护进程
    巴赫：集线器/_services/connector/queue_processor.py，smart_router.py

21。 GEMINI 委托协议
--------------------------------
    方法：任务文件在gemini/inbox/，结果在gemini/outbox/
    方向：双向（克劳德 -> 双子座和背面）
    延迟：几分钟到几小时（手动或通过 Google Drive Sync）
    触发因素：关键词、代币预算、文档长度、显式
    示例：Claude 创建一个研究任务，Gemini 处理它，返回结果
    优势：利用 Gemini 的优势（大文档、图像）
    弱点：需要手动传输（或 Google Drive Sync）
    巴赫：技能/工作流程/gemini-delegation.md

比较矩阵
=================

方法|方向 |延迟 |坚持|缩放 |复杂性
  ------------------|----------|----------|------------|------------|------------
  通用（可转移到任何法学硕士系统）：
  1 份文件 |大学|高|是的 |好 |最小
  2 内存.md |毕|会议|是的 |有限公司|低
  3 共享数据库 |多|立即|是的 |很好|手段
  4 个喷油器 |大学|立即|没有 |有限公司|手段
  5 斯蒂格梅吉 |间接 |立即|是 (TTL) |很好|手段
  6 移交文件 |大学|立即|是的 |连续剧 |低
  7 桥接器/连接器 |毕|秒|是的 |好 |高
  8 团队模式 |毕|立即|会议|平行|手段
  9 吉特 |毕|分钟|是的 |好 |手段
  10 个数据库表 |多|立即|是的 |很好|手段
  11 个挂钩 |大学|活动 |没有 |有限公司|低
  12 台 MCP 服务器 |毕|立即|变量|好 |高
  13 流程链|大学|立即|没有 |连续剧 |低
  14 文件观察器 |毕|秒|是的 |好 |手段
  15 标准输出管道 |大学|立即|没有 |连续剧 |最小

  BACH-SPECIFIC（使用 BACH 基础设施）：
  16 多法学硕士保护。   |多| 30 多岁 |是的 |好 |手段
  17 合作伙伴出席 |多|立即|是的 |好 |手段
  18 消息系统   |毕|立即|是的 |好 |手段
  19 通知（推送）|大学|秒|是的 |多通道  |手段
  20 队列/路由器 |毕|秒|是的 |好 |高
  21 双子座代表团 |毕|分钟|是的 |有限公司|低

按使用情况推荐
==================================

  使用案例|推荐方法
  ----------------------------------|----------------------------------------------------
  Swarm（许多并行代理）| 5 (Stigmergy) + 3 (DB) + 14 (观察者)
  串行管道（Marble Run）| 6（切换）+ 13（流程链）
  团队合作（2-5 名座席） | 8（团队模式）或 10（数据库表）
  长期知识转移| 2 (内存.md) + 3 (DB)
  实时通知 | 4（喷射器）+ 11（挂钩）
  与外界的沟通| 7（桥/连接器）
  异步协作| 1（删除文件）+ 9（git）
  基于工具的集成 | 12（MCP 服务器）

BACH 特定架构
==============================

BACH 的优势是多种方法的组合：
- 通往外界的桥梁 (7)
- DB（3+10）作为中心知识存储
- 用于主动丰富上下文的注入器 (4)
- 用于群体行动的 Stigmergy (5)
- 用于弹珠运行管道的切换 (6) + 流程链接 (13)

相反，Claude Code 仅限于每个场景一种方法：
团队模式 (8) 或注射器 (4)，无法组合。

BACH 可以同时使用所有 15 种方法并动态切换 --
这是以 LLM 为中心的系统的架构优势。

另请参阅
===========
  bridge.txt 桥接器/连接器系统
  Connectors.txt 连接器类型详细信息
  injectors.txt 巴赫喷油器系统
  claude-code-injections.txt Claude 代码注入剖析
  multi-llm.txt 多LLM协议
  schwarm.txt Swarm 操作（如果有）
