Forge:让自托管 LLM 的工具调用与多步骤 Agent 工作流真正“可靠”起来
你是否曾被自托管 LLM 在工具调用时输出格式混乱、多步骤 Agent 流程频繁中断、本地模型泛化能力不足所困扰?Forge 的出现,正是为了彻底解决这些问题。它是一个用 Python 编写的可靠性层框架,专注于让本地模型在工具调用与多步骤 Agent 工作流中表现出接近前沿模型的稳定性与准确率。无论你是在构建自己的 Agent,还是想给现有的开源编码工具“武装”上可靠性护栏,Forge 都能以极低成本无缝介入。本文将带你全面了解这个潜力新星。
截至收录:
Forge stars 数:2218
Forge forks 数:173
Forge 项目目录截图

Forge 项目核心亮点
🌟 亮点一:响应验证与救援解析,杜绝“格式灾难”
Forge 会对模型返回的每个工具调用进行严格校验。当模型输出 JSON 代码块、Mistral 的 [TOOL_CALLS] 标记、Qwen 的 <tool_call> XML 等非标准格式时,Forge 会自动提取结构化调用并重新转换为规范格式,就像给模型装上了一个“格式纠错器”。
🎯 亮点二:透明代理模式,零重写即插即用
Forge 提供了内置的 OpenAI 与 Anthropic 兼容代理服务。你只需把 opencode、Continue、aider、Cline 甚至 Claude Code 的 API 地址指向 Forge,就能在不修改任何客户端代码的情况下,让现有工具自动获得响应校验、救援解析和重试机制。从客户端视角看,它就像在与一个“更聪明的模型”对话。
🔒 亮点三:显著提升模型可靠性
Forge 的护栏在 26 个场景的 v0.7.0 评测套件中,将 8B 本地模型从个位数准确率直接拉升至 84%;同一套任务上,Anthropic Sonnet 4.6 的准确率也从 85% 提升到 98%。这意味着,Forge 不仅让本地小模型“超常发挥”,还能让顶级大模型“稳上加稳”。
🧩 亮点四:多后端支持,适配任何基础设施
无论是 OpenAI 兼容接口、Ollama、llama-server(llama.cpp)、Llamafile、vLLM,还是商用 Anthropic API,Forge 都可以作为统一的中介层。你既可以在本地 GPU 上跑量化模型,也可以无缝切换到云端前沿模型,大大降低了 Agent 开发与部署的绑定成本。
🛡️ 亮点五:可组合中间件,保留你的控制权
Forge 的可靠性栈由模块化的中间件构成。你可以在自己的编排循环中调用 Guardrails facade,自由控制流程,同时获得响应验证、步骤强制、错误追踪等能力——不必被框架锁死。
Forge 项目快速开始
只需几步,你就能在本地运行起 Forge:
- 安装(选择一种主要安装方式):
# Python 3.12+ 环境,安装核心库
pip install forge-guardrails
# 如需 Anthropic 后端支持
pip install "forge-guardrails[anthropic]"
- 运行你的第一个 Forge 代理服务(假设你已有 llama-server 运行在 8080 端口):
python -m forge.proxy --backend-url http://localhost:8080 --backend llamaserver --port 8081
随后将你的客户端 API Base URL 指向 http://localhost:8081/v1,即可体验 Forge 的透明护栏。
- 查看帮助和更多用法:
python -m forge.proxy --help
如果你想直接体验 WorkflowRunner 的完整能力,可以运行:
import asyncio
from forge import Workflow, ToolDef, ToolSpec, WorkflowRunner, LlamafileClient, ContextManager, TieredCompact
def get_weather(city: str) -> str:
return f"72°F and sunny in {city}"
workflow = Workflow(
name="weather",
description="Look up weather for a city.",
tools={"get_weather": ToolDef(spec=ToolSpec(name="get_weather", description="Get current weather"), callable=get_weather)},
required_steps=[],
terminal_tool="get_weather",
)
async def main():
client = LlamafileClient(gguf_path="path/to/model.gguf", mode="native")
runner = WorkflowRunner(client=client, context_manager=ContextManager(strategy=TieredCompact(), budget_tokens=8192))
await runner.run(workflow, "What s the weather in Paris?")
asyncio.run(main())
Forge 项目应用场景
场景一:既有 Agent 工具的“可靠性外挂”
开发者可以将 opencode、Continue、aider、Cline、Claude Code 等成熟工具直接指向 Forge 代理。Forge 会在后台执行响应验证、异常格式救援与自动重试,让原本偶尔“抽风”的自托管模型变得稳定可靠,非常适合不想重写客户端或迁移工作流的团队。
场景二:多步骤 Agent 工作流构建
通过 WorkflowRunner,你可以定义工具、必需步骤、前置条件和终止工具。Forge 自动管理系统提示、工具执行、上下文压缩以及护栏策略,适用于需要强流程控制的自动化任务,比如数据批处理、订单查询、多阶段代码分析等。
场景三:多 Agent 共享 GPU 推理资源
SlotWorker 组件提供带优先级的队列和自动抢占机制,允许多个专家 Agent 工作流共享同一个推理槽位。这在多 Agent 架构中尤其有用,可以高效利用稀缺的本地 GPU 资源,避免因争抢推理槽位导致任务阻塞。
用户案例:目前,opencode、Continue、aider、Cline 等开源工具均可无缝接入 Forge 代理;Claude Code 用户也可以通过 Anthropic Messages 兼容端点,将本地模型纳入 Forge 的守护范围。Forge 本身还提供了完整的评测框架与 Hugging Face 数据集,方便研究者复现和对比。
Forge 项目链接
antoinezambelli / forge项目地址:https://github.com/antoinezambelli/forge
本文地址:https://www.tgoos.com/46053
