游乐游手机版
首页/AI热点日报/热点详情

开源模型实现OpenAI o1思维链成功案例

类型:热点整理2026-05-30
北京时间 9 月 13 日午夜,OpenAI 发布了推理性能强大的 o1 系列模型。消息一出,各路研究者就立刻开始琢磨它卓越性能背后的技术,并试图复现。OpenAI 自然也想了些办法来防止技术被窥探——有多名用户声称,诱导 o1 模型公开其思维过程后,收到了 OpenAI 的封号威胁。 不过,这才三

北京时间 9 月 13 日午夜,OpenAI 发布了推理性能强大的 o1 系列模型。消息一出,各路研究者就立刻开始琢磨它卓越性能背后的技术,并试图复现。OpenAI 自然也想了些办法来防止技术被窥探——有多名用户声称,诱导 o1 模型公开其思维过程后,收到了 OpenAI 的封号威胁。

OpenAI o1式思维链,开源模型也可以有,成功案例来了

不过,这才三四天工夫,就已经有研究者宣布成功复现了与 o1 性能相当的推理技术,而且还不止一个。

Llamaberry:教会 AI 像聪明人一样思考

Llamaberry 的提出者是 Martin Bowling,他此前还做过 RAGMiner.dev 和 Replit 等项目。其中前者能帮用户把网站轻松转换成 Markdown、XML 或 JSON 等格式,便于 RAG 和 LLM 应用;后者则是一个用 AI 把想法变成代码的工具。

Llamaberry 的核心思路是用思维链(CoT)来实现推理,连名字都借用了代表 o1 模型的“Strawberry”(草莓)。

Bowling 在博客里打了个比方:思维链推理就像是给 AI 一个笔记本,让它展示自己的思考过程,而不只是丢出一个答案。它带着我们一步步回顾它的思路,直到得出最终结论。Llamaberry 要教会 AI 的就是这种像人类专家攻克难题一样的透彻思考方式。

具体来说,Llamaberry 是一个基于 Groq 上运行的 Llama 3.1 70B 模型,实现的多轮思维链推理系统。

多轮推理是关键

多轮推理,简单说就是让模型在给出答案前多“想”几步,而不是一步到位。这就像看一位大厨从备菜到摆盘,一步步完成一道精致菜肴,而不是直接微波加热预制菜。

举个例子:第一轮,AI 先尝试解决当前问题;第二轮,AI 回顾第一次的回答,尽力改进或优化思路;第三轮,再进行一轮反思和改进。最后,把这些思考综合到一起,得出一个连贯且合理的答案。整个过程就像看着一枚莓果逐渐成熟——前一轮的输出会成为后一轮的输入,让 AI 在每个阶段都能不断完善自己的思维。

如何实现

我们来拆解一下 Llamaberry 的具体实现。

1. 设置舞台

首先,给 AI 助手设定一些基本规则。这段代码相当于给 AI 大厨一份菜谱,告诉它要逐步拆解思考过程,解释每一步,并用 Markdown 格式展示出来。

initial_system_prompt = """You are an AI assistant capable of detailed, step-by-step thinking. When presented with a question or problem, break down your thought process into clear, logical steps. For each step, explain your reasoning. Conclude with a final answer. Use the following markdown structure:

## Reasoning
1. [First step]
 **Explanation:** [Detailed explanation of this step]
2. [Second step]
 **Explanation:** [Detailed explanation of this step]
...

## Answer
[Final answer]

Be comprehensive and show your reasoning clearly."""

2. 思考过程

在每一轮推理中,让 AI 对问题进行思考。第一轮结束后,还要让它重新审视自己刚刚的想法——就像问朋友:“嘿,还记得你刚才说的吗?我们再想想有没有更好的方案。”

async def generate_turn(query: str, previous_turns: list = None) -> str:
    is_first_turn = previous_turns is None or len(previous_turns) == 0
    if is_first_turn:
        messages = [{
            "role": "system",
            "content": initial_system_prompt
        }, {
            "role": "user",
            "content": query
        }]
    else:
        previous_content = "\n\n".join(previous_turns)
        messages = [{
            "role": "system",
            "content": followup_system_prompt
        }, {
            "role":
            "user",
            "content":
            f"Original Query: {query}\n\nPrevious Turns:\n{previous_content}\n\nProvide the next turn of reasoning."
        }]

    return await call_llm(messages)

这个函数是多轮推理的核心,它判断当前是第一轮还是后续轮,并据此构建提示词。对于后续轮,它会将之前所有的推理轮次包含在上下文中,让 AI 能基于之前的思考继续构建。

3. 综合结果

经过三轮思考之后,再让 AI 检视所有思考过程,得出一个合理的最终答案。这就好比让多位专家讨论问题,然后编写一份最终报告。

async def synthesize_turns(query: str, turns: list) -> str:
    turns_text = "\n\n".join(
        [f"Turn {i+1}:\n{turn}" for i, turn in enumerate(turns)])
    messages = [{
        "role": "system",
        "content": synthesis_prompt
    }, {
        "role":
        "user",
        "content":
        f"Original Query: {query}\n\nTurns of Reasoning:\n{turns_text}"
    }]
    return await call_llm(messages)

这个综合步骤至关重要,是 AI 把所有思考内容凝练成最终答案的关键一环。

单轮推理 vs 多轮推理

Martin Bowling 在博客中用一个简单例子做了对比:问 AI “人工智能对就业市场有什么潜在影响?”

单轮推理的答案相对简单直接,点出了自动化、新岗位、行业替代、技能需求等要点。而使用 Llamaberry 的多轮推理,效果则大不相同。

第一轮,AI 先识别当前 AI 能力,分析易受影响行业,考虑新机会和经济影响;第二轮,它重新评估时间线,思考劳动力适应性和社会变化;第三轮,进一步探讨人机协作、伦理问题、新经济模型和历史借鉴。最后综合答案时,它给出了包含岗位转型、新机遇、经济影响、教育适应、伦理考量、全球差异和历史背景等七个维度的全面分析。

对比下来,多轮方法确实能实现更精细、更全面的分析,从多个角度考虑问题、优化思考,最后得到一个深思熟虑的详细答案。Bowling 表示,这种多轮推理在思考深度、自我提升、透明度和灵活性方面优势突出,加上 Markdown 格式让结果更易阅读和用于后续流程。

这使得 Llamaberry 可以进入医疗诊断、法律分析、科学研究、商业策略、教育等更多实际应用场景。当然,使用多轮推理系统时,也需要注意偏见、计算成本、过度依赖和隐私等潜在问题。

如何使用 Llamaberry?

Llamaberry 的使用也很简单,几步就能拥有自己的多轮推理系统:

  1. 前往 Replit,点击 Llamaberry 模板链接(https://replit.com/@MartinBowling/Llamaberry-Powered-By-Groq?v=1)获取模板。
  2. 点击 Fork 按钮创建你自己的项目副本。
  3. 注册 Groq 账户,获取 API Key。
  4. 在项目中找到“Secrets”选项卡,添加 GROQ_API_KEY 密钥。
  5. 点击 Run 运行项目,启动 Llamaberry 应用。
  6. 应用启动后,你会看到一个 Gradio 界面,可以直接输入问题,查看 Llamaberry 多轮推理的实际效果。输出是简洁漂亮的 Markdown 格式。

了解了 Llamaberry,我们来看看另一个号称实现了类 o1 推理链的项目:g1。

g1:实现类似 o1 的推理链

g1 这个项目来自 Benjamin Klieger,他是 Groq 的研究者,所以 g1 同样基于 Groq 和 Llama 3.1 70b 模型。不过,与 Llamaberry 的多轮思维链不同,g1 的策略是角色扮演、思维链提示、格式化搭配一些其他提示技巧。而且,g1 已经开源了。

项目地址:https://github.com/bklieger-groq/g1

开发者宣称,g1 有 70% 的时间能成功数出 Strawberry 中有多少个 R,而且不需要任何微调或少样本技术。Klieger 表示,g1 和 o1 一样,能让 LLM 拥有“思考”能力,解决之前领先模型难以应对的逻辑问题。不同之处在于,g1 会大方展示所有推理 token。他也强调,o1 使用大规模强化学习来执行思维链推理,而 g1 是通过发掘提示词工程的潜力,让现有开源模型也能受益于动态推理链和优化般的探索界面。

g1 的工作方式

由 Llama 3.1 70b 支持的 g1 会创建一种动态的思维链。在每个步骤中,LLM 可以选择继续推理还是提供最终答案。每个步骤都有标题,并且对用户可见。

系统提示词中包含了给 LLM 的提示策略:

You are an expert AI assistant that explains your reasoning step by step. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to give the final answer. Respond in JSON format with 'title', 'content', and 'next_action' (either 'continue' or 'final_answer') keys. USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. IN YOUR REASONING, INCLUDE EXPLORATION OF ALTERNATIVE ANSWERS. CONSIDER YOU MAY BE WRONG, AND IF YOU ARE WRONG IN YOUR REASONING, WHERE IT WOULD BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES.

这些提示词的设计很有意思,比如要求“探索其他答案”、“使用至少三种方法来得出答案”。通过组合思维链、尝试多种方法、质疑前期解答、考虑 LLM 局限性等策略,g1 显著提升了模型的推理能力。

在数 Strawberry 中有多少个 R 这个经典问题上,无需任何训练,g1 就能帮 Llama 3.1 70b 达到约 70% 的准确度。而如果不使用这些提示技巧,Llama 3.1 70b 的准确率为 0%,ChatGPT-4o 也只有 30%。

来源:https://www.53ai.com/news/OpenSourceLLM/2024091878159.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。