大家好,我是何三,独立开发者

53% → 99%。

没看错,不是 53% 到 59%,也不是到 79%,直接翻倍到接近满分。

forge_guardrails

这就是今天要聊的项目——Forge,一个专门给 LLM 工具调用加「保险」的 Python 框架。GitHub 上 905 Star,Hacker News 首页 525 赞,而且它只做了一件事:让 8B 的小模型,打出 GPT-4 级别的 Agent 水平。

简单说就是——给模型装了个「安全气囊」

为什么说 53% 到 99% 很离谱

先说说这个数字怎么来的。

你去调一个 8B 参数的小模型,让它调用工具(比如查天气、发邮件、操作数据库),没有 Guardrails 的情况下,它在多步任务里的平均成功率大概只有 53%。

什么意思?让 AI 帮你订个机票,选好时间填好信息,提交——一半的概率它会把参数搞错,或者中间步骤漏掉,或者直接胡编一个函数名。

说白了,跟让实习生干关键活差不多,你得盯着。

但加了 Forge 的这一层 Guardrails 之后,相同的 8B 模型,同一个任务场景,成功率直接飙到 99%。

等等,你可能会说——用 GPT-4 不就完了吗?

那问题来了:GPT-4 调用一次多少钱?你每个请求都走 API,一个月下来账单能吓死人。而且数据全在别人手里,公司合规这道坎就过不去。

Forge 的思路是:你不用换模型,你给模型加个靠谱的「监工」就行。

它是怎么做到的?

Forge 干的事,说白了就三样:

🛟 救援解析 —— 模型输出的工具调用格式不对?它帮你修。参数写错了类型?它帮你改。这就跟你写代码 IDE 自动纠错一个意思。

🔄 重试引导 —— 模型漏了一步?它不会直接告诉你「你错了」,而是给个温柔的提示:「你好像忘了查一下数据库哦,再试试?」。说白了就是哄着模型把事做完。

⛔ 步骤强制 —— 有些关键步骤不能跳过。比如你让 AI 先验证用户身份再执行操作,它要是跳过了验证,Forge 会直接拦住:「不好意思,这步不能省。」

这三层组合拳打下来,效果就是——模型本身没变聪明,但它的「犯错率」被硬生生压下去了。

话说回来,这让我想到一个有意思的事。之前看到一篇论文讲人类飞行员和自动驾驶系统的关系——最优方案不是完全自动化,也不是完全手动,而是人机协作,系统在关键时刻兜底。Forge 这套 Guardrails 本质上也是同样的思路:不让模型自由发挥,也不完全替它做决定,而是在它快犯错的时候拉一把。

原理大概是这样,细节可能有出入——有懂的大佬欢迎指正。

装上就能用

Forge 的安装非常简单:

pip install forge-guardrails

就这一行。它支持四种后端:

  • Ollama —— 本地部署最简单
  • llama-server —— 性能最好,官方推荐
  • Llamafile —— 一个二进制文件搞定
  • Anthropic —— 云端 API,不需要本地 GPU

你想快速体验的话,装个 Ollama,拉个 8B 模型,几分钟就能跑起来。

下面是个完整的例子,让 AI 帮你查天气:

import asyncio
from pydantic import BaseModel, Field
from forge import (
    Workflow, ToolDef, ToolSpec,
    WorkflowRunner, OllamaClient,
    ContextManager, TieredCompact,
)

def get_weather(city: str) -> str:
    return f"72°F and sunny in {city}"

class GetWeatherParams(BaseModel):
    city: str = Field(description="City name")

workflow = Workflow(
    name="weather",
    description="Look up weather for a city.",
    tools={
        "get_weather": ToolDef(
            spec=ToolSpec(
                name="get_weather",
                description="Get current weather",
                parameters=GetWeatherParams,
            ),
            callable=get_weather,
        ),
    },
    required_steps=[],
    terminal_tool="get_weather",
    system_prompt_template="You are a helpful assistant. Use the available tools to answer the user.",
)

async def main():
    client = OllamaClient(model="ministral-3:8b-instruct-2512-q4_K_M", recommended_sampling=True)
    ctx = ContextManager(strategy=TieredCompact(keep_recent=2), budget_tokens=8192)
    runner = WorkflowRunner(client=client, context_manager=ctx)
    await runner.run(workflow, "What's the weather in Paris?")

asyncio.run(main())

看到没,代码量很少,定义好工具和工作流,剩下的 Guardrails、上下文管理、重试逻辑,Forge 全帮你搞定。

我特别喜欢它的 Proxy Server 模式。你只要跑一行:

python -m forge.proxy --backend-url http://localhost:8080 --port 8081

然后任何 OpenAI 兼容的客户端(比如 OpenCode、Continue、aider)只要把 API 地址改成 http://localhost:8081/v1,就能白嫖 Forge 的所有 Guardrails 功能。客户端完全不知道自己背后是个小模型,还以为在跟 GPT-4 聊天呢。

跟 Forge 类似的,还有 IBM 的 mcp-context-forge(3.7k Star),它是一个 AI 网关,在 MCP 和 A2A 协议之间做编排。IBM 那个更偏企业级,而 Forge 更专注于「小模型救星」这个定位,目标用户是那些想自托管、又不想牺牲 Agent 质量的开发者。

总结

说实话,Forge 打动我的是它的哲学——不是堆算力,不是换大模型,而是用工程手段把现有资源的潜力榨干。

53% 到 99%,这不是魔法,是一层又一层的 Guardrails 硬生生「兜」出来的。

如果你正在搭建自己的 AI Agent,或者被 API 账单搞得头大,又或者数据合规让你睡不着觉——去试试 Forge。它是 MIT 协议,全开源,拿走直接用。

项目地址:https://github.com/antoinezambelli/forge

本文使用 MGO 编辑并发布

关注“何三笔记”,回复“mgo” 免费下载使用