首页 > 教程攻略 > ai资讯 >Mixture-of-Agents系统,竟然如此简单!

Mixture-of-Agents系统,竟然如此简单!

来源:互联网 时间:2026-08-17 13:39:48

如今的AI领域,大语言模型(LLM)无疑是绝对的主角。它们通过在浩如烟海的文本数据上进行预训练,已经能够出色地理解和生成自然语言。然而,一个现实的瓶颈也随之而来:顶尖模型的参数量动辄千亿甚至万亿,其高昂的训练成本和部署难度,让大部分企业和开发者望而却步。

Mixture-of-Agents系统,竟然如此简单!

有没有一种方法,既能接近顶级模型的性能,又能让成本变得相对可控呢?“智能体混合”(Mixture-of-Agents, MoA)系统,正是针对这一挑战提出的一个极具创新性的解决方案。

MoA:从“单打独斗”到“团队协作”

传统的LLM使用模式,更像是依赖一个超级专家。而MoA的思路则是组建一个专家团队。它的核心思想在于,通过利用多个、可能规模各异的LLM进行协同工作,发挥集体智慧,从而产生比单一模型更强大、更可靠的输出。

我们可以这样理解MoA的架构:它就像一个分层的决策系统。在第一层,多个LLM作为“初级分析师”,各自针对用户的问题独立生成初步回答。这些答案随后被汇总,作为参考信息传递给下一层的LLM“高级顾问”。这位“顾问”会综合参考所有初级答案,进行批判性思考和整合,最终生成一个更精细、质量更高的响应。

有趣的是,这种协作模式的核心优势,并非完全依赖辅助模型的超高精度。研究发现,即使参考的模型输出本身质量不高,甚至存在偏差,只要最终负责聚合的模型有能力进行鉴别和综合,整个系统的最终输出质量依然能得到显著提升。这揭示了LLM之间一种有趣的“协同效应”——看到他人的思路,哪怕不完美,也能激发或校准自身产生更优的答案。

实践验证:Together MoA的出色表现

理论需要实践检验。AI公司Together.ai开发的Together MoA系统,为这一方法提供了有力证明。在权威的AlpacaEval 2.0基准测试中,Together MoA取得了65.1%的胜率,一举超越了此前领先的GPT-4o(57.5%的胜率)。这个数字背后,远不止是排名的变化,它清晰地展示了MoA方法在实际应用中,确实能够将一系列开源模型组织起来,达到甚至超越顶尖闭源模型的性能水平。

更重要的是,MoA带来了成本与灵活性的双重优势。由于它集成的多是开源模型,开发者可以根据任务需求和预算,灵活选择模型的组合、调整层数以及智能体的数量。这意味着,用户不再需要为一个“庞然大物”支付高昂费用,而是可以通过优化协作架构,在性能与成本之间找到一个理想平衡点。

动手尝试:开源的Together MoA框架

为了让更多开发者能够体验和实践MoA,Together已经将其实验性的MoA框架进行了开源。下面是一个简化的代码示例,展示了如何利用其API快速搭建一个两层结构的MoA系统:

import os
from together import Together
os.environ["TOGETHER_API_KEY"] = "your_api_key_here"

client = Together(api_key=os.environ.get("TOGETHER_API_KEY"))
import asyncio
from together import AsyncTogether

async_client = AsyncTogether(api_key=os.environ.get("TOGETHER_API_KEY"))

user_prompt = "What is Karma Yoga as per Bhaga vad Gita, Vyadha Gita, Yoga Vasistham and Tripura Rahasya?"
reference_models = [
    "Qwen/Qwen2-72B-Instruct",
    "Qwen/Qwen1.5-72B-Chat",
    "mistralai/Mixtral-8x22B-Instruct-v0.1",
    "databricks/dbrx-instruct",
]
aggregator_model = "mistralai/Mixtral-8x22B-Instruct-v0.1"
aggregator_system_prompt = """You ha ve been provided with a set of responses from various open-source models to the latest user query. Your task is to synthesize these responses into a single, high-quality response. It is crucial to critically evaluate the information provided in these responses, recognizing that some of it may be biased or incorrect. Your response should not simply replicate the given answers but should offer a refined, accurate, and comprehensive reply to the instruction. Ensure your response is well-structured, coherent, and adheres to the highest standards of accuracy and reliability.

Responses from models:"""


async def run_llm(model):
    """Run a single LLM call with a reference model."""
    response = await async_client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": user_prompt}],
        temperature=0.7,
        max_tokens=512,
    )
    print(f"Response from {model}: {response.choices[0].message.content}n")
    return response.choices[0].message.content


async def main():
    results = await asyncio.gather(*[run_llm(model) for model in reference_models])

    finalStream = client.chat.completions.create(
        model=aggregator_model,
        messages=[
            {"role": "system", "content": aggregator_system_prompt},
            {"role": "user", "content": ",".join(str(element) for element in results)},
        ],
        stream=True,
    )

    for chunk in finalStream:
        print(chunk.choices[0].delta.content or "", end="", flush=True)


# asyncio.run(main())
await main()

从这段代码可以清晰地看到MoA的工作流程:首先异步调用多个参考模型并行生成答案,然后将所有答案汇总,连同一条要求“批判性综合”的系统提示,一起发送给指定的聚合模型,由其产出最终结果。

总而言之,MoA代表了一种高效利用现有AI资源的新范式。它不再盲目追求单一的“更大更强”的模型,而是转向“更优协作”的系统设计。对于希望以合理成本获取高性能AI能力的企业和开发者来说,这无疑是一个值得密切关注和深入探索的方向。