LatentMAS
以隐空间协作替代冗长文本链路的多智能体推理实验框架。
这个 Agent 能做什么,适合哪些场景?
LatentMAS 是一个用于复现实验的多智能体推理框架,将代理间协作从 token 空间转入模型隐空间。它通过各代理的 working memory 传递 latent thoughts,而非持续生成长篇文本推理轨迹。项目以 run.py 作为实验入口,包含 models.py、data.py、prompts.py 和 methods/ 下的 baseline.py、text_mas.py、latent_mas.py。它覆盖 GSM8K、AIME24/25、GPQA、ARC-Easy/Challenge、MBPP+、HumanEval+ 和 MedQA 等任务,并提供单模型、文本式多智能体与隐空间多智能体的运行路径。标准执行使用 Hugging Face 后端;可选 vLLM 混合流程将最终文本生成交给 vLLM,并由 Hugging Face 模型执行隐空间 rollout 和 hidden-state alignment。
运行时,run.py 根据 --method 选择 baseline、text_mas 或 latent_mas,根据 --task 加载任务数据,并由 prompts.py 构造提示词。models.py 封装 Hugging Face、vLLM 与 latent realignment 相关流程;latent_mas 路径在多步协作中传递隐空间状态,最后生成文本答案。可通过 --prompt sequential 或 hierarchical 选择协作提示方式,通过 --latent_steps(0–80)调节 latent 步数,并可用 --latent_space_realign 启用 latent→embedding alignment。项目提供两个示例交互日志,分别对应 MBPP+ 的 sequential 运行和 HumanEval+ 的 hierarchical 运行。
- 需要在 GSM8K 上比较单模型、文本协作和隐空间协作推理的研究人员。
- 希望复现 Qwen/Qwen3-4B、Qwen/Qwen3-8B 或 Qwen/Qwen3-14B 上 LatentMAS 实验的机器学习工程师。
- 在 MBPP+ 或 HumanEval+ 上评估多智能体代码生成流程,并希望查看提供的代理交互日志的开发者。
- 需要在 AIME24/25、GPQA、ARC 或 MedQA 等推理任务上试验 sequential 或 hierarchical 协作方式的实验团队。
- 拥有两张 GPU,想采用 vLLM 生成最终文本、同时保留 Hugging Face 隐空间 rollout 的推理用户。
这个 Agent 有哪些优点和局限?
- 将协作信息放入 latent thoughts 和 working memory,而不是仅提供文本式多智能体流程。
- 同一 CLI 可运行 baseline、TextMAS 与 LatentMAS,便于在相同任务和模型参数下对照。
- 明确覆盖 Hugging Face 标准后端,并提供可选的 vLLM 最终文本生成混合路径。
- 项目列出九类数学、科学、常识与代码推理任务,并附带两个完整示例日志。
- 实验概览报告相较 Text-MAS 或 chain-of-thought 基线约减少 50–80% token、约提升 3–7 倍 wall-clock time。
- 标准复现实验依赖 Hugging Face 模型与数据下载,运行前需要配置本地缓存和网络访问。
- vLLM 路径需要修改其部分内部包;项目同时说明 vLLM 不官方支持 KV-cache 修改或通过 latent embeddings 提示。
- vLLM 与标准 Hugging Face 后端可能因解码策略不同出现数值差异,官方结果应使用 Hugging Face 后端复现。
- 隐空间 vLLM 混合配置建议使用两张 GPU,分别供 vLLM 和辅助 Hugging Face 模型使用。
- latent_space_realign 被视为任务和模型相关的超参数,是否启用需要实验验证。
如何安装或部署这个 Agent?
要求 Python 3.10、conda 和 shell 环境。先设置缓存目录:export HF_HOME=/path/to/huggingface;export TRANSFORMERS_CACHE=$HF_HOME;export HF_DATASETS_CACHE=$HF_HOME。然后执行:conda create -n latentmas python=3.10 -y;conda activate latentmas;pip install -r requirements.txt。模型和数据集会下载到 $HF_HOME;若使用 vLLM,再执行 pip install vllm。提供的信息未要求 API 密钥或其他凭据。
如何使用这个 Agent?
在仓库目录中,最小的单模型调用为:python run.py --method baseline --model_name Qwen/Qwen3-14B --task gsm8k --max_samples -1 --max_new_tokens 2048。文本多智能体示例:python run.py --method text_mas --model_name Qwen/Qwen3-14B --task gsm8k --prompt sequential --max_samples -1 --max_new_tokens 2048。隐空间协作示例:python run.py --method latent_mas --model_name Qwen/Qwen3-4B --task gsm8k --prompt sequential --max_samples -1 --max_new_tokens 2048。若启用 vLLM 混合流程,使用 --use_vllm --use_second_HF_model --enable_prefix_caching --device2 cuda:1;该配置建议使用两张 GPU。
这个 Agent 与同类方案有什么区别?
项目内置三条可对照路径:baseline 是单模型基线;TextMAS 通过 token/text 空间进行多智能体协作;LatentMAS 通过隐空间协作。实验概览将 LatentMAS 的 token 与时间结果同标准 Text-MAS 和 chain-of-thought 基线进行比较。