antoinezambelli/forge

A Python framework for self-hosted LLM tool-calling and multi-step agentic workflows

解决的问题

Forge 是一个为提升工具调用(函数调用)可靠性而设计的可靠性层,特别针对自托管的本地 LLM。它能防止模型输出格式错误的 JSON、调用不存在的工具,或未能遵循特定步骤顺序等常见失败,这些错误通常会导致代理工作流崩溃或陷入无限循环。

工作原理

Forge 作为一个可三种方式集成的防护系统:

  1. 代理服务器:一个即插即用的边车(sidecar),位于现有客户端(如 Aider 或 Claude Code)与模型服务器之间。它透明地拦截请求,并应用防护规则,无需修改客户端代码。
  2. WorkflowRunner:一个高层级框架,用于定义工具和结构化代理循环,管理从系统提示到上下文压缩的完整生命周期。
  3. Guardrails 中间件:一组可组合的工具,可插入自定义编排循环中,用于验证响应并修复格式错误的调用。

关键可靠性机制包括 救援解析(从 XML 或代码块等非标准格式中提取工具调用)、响应验证(检查工具名称和结构)以及 带纠正提示的自动重试循环

适用人群

依赖本地 LLM 构建 AI 代理或使用现有编码助手的开发者,希望在不切换到更大、更昂贵的前沿模型的前提下,提升工具调用的成功率。

主要亮点

  • 显著提升可靠性:在评估套件中,将本地 8B 模型的成功率从个位数提升至 84%。
  • 广泛后端支持:兼容 llama-server、Ollama、vLLM、Llamafile 和 Anthropic。
  • 零重写集成:代理模式允许现有 OpenAI 兼容工具透明地受益于防护机制。
  • 上下文管理:包含分层压缩等策略,高效管理令牌预算。
  • 优先访问SlotWorker 允许多个专业工作流通过优先级队列共享单个 GPU 通道。

相关

  • Dispatch
  • 项目
  • 项目
  • Dispatch
  • 项目