DataGOL Agent Harness Skill 技能

DataGOL Agent Harness — Python LLM Agent 生产级开发框架

技能简介

DataGOL Agent Harness 是由 DataGOL 团队开源的 Python 开发框架,专门为构建生产级 LLM Agent 设计。它不是又一个玩具级的演示框架,而是一套完整的拿来就能用的工程化工具包:包含实时流式输出、类型安全的工具注册、MCP 协议桥接、多 Agent 编排、4 层记忆系统、沙箱代码执行和 LangSmith 可观测性支持。该项目采用 MIT 许可证,专注于为企业级 AI 应用提供稳定可靠的基础设施,已在多个生产环境中落地验证。

核心能力

  1. Provider-Agnostic(模型无关):原生支持 Anthropic(Claude 3.5/3.7/Sonnet/Opus)和 OpenAI(GPT-4o/GPT-5),切换模型无需改动业务代码。
  2. 实时流式输出(Streaming-First)run_stream 接口直接对接 WebSocket 和 SSE 前端,实现打字机式用户体验。
  3. 类型安全的工具注册:通过函数签名和类型提示自动推断 JSON Schema,无需手写 Schema 定义。
  4. Lazy-Loaded Skills(惰性加载技能包):通过 YAML Frontmatter 的 SKILL.md 按需加载专业指令集,Agent 只在需要时才读取对应技能文件。
  5. MCP 协议原生桥接:3 行代码连接任何 MCP 服务器(stdio 子进程或远程 SSE),无缝接入 Claude Code 生态。
  6. 企业级沙箱隔离:支持 Process、Docker 和 macOS Seatbelt 隔离策略,安全执行不受信任的代码。
  7. 多 Agent 编排:内置 Agent 类支持子 Agent 委托,构建复杂工作流。
  8. 完整可观测性:生命周期钩子、中间件变换管道、零开销 LangSmith 追踪和基准评估套件。
  9. 内置工具集datagol_agent_harness.builtin 提供文件系统操作、Bash 命令、Web 抓取和记忆工具,即装即用。
  10. 会话持久化:支持 Agent 对话历史持久化,便于恢复长对话上下文。

安装配置

方式一:PyPI 直接安装(推荐)

pip install datagol-agent-harness
pip install "datagol-agent-harness[langsmith]"
pip install "datagol-agent-harness[openai]"
pip install "datagol-agent-harness[all]"

方式二:本地开发模式(可编辑安装)

git clone https://github.com/datagol/agent-harness.git
cd agent-harness
pip install -e ".[all]"

环境变量配置

ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...

使用步骤

第一步:创建 Agent 实例

import asyncio
from datagol_agent_harness import Agent, AgentConfig

agent = Agent(
    config=AgentConfig(
        model="claude-sonnet-4-6",
        provider="anthropic",
        system_prompt="你是一个专业的研究助手。",
        max_tokens=8192,
        max_iterations=50,
        temperature=0.0,
    )
)

第二步:注册自定义工具

from datagol_agent_harness import PermissionLevel

@agent.tools.register(permission=PermissionLevel.ALLOW)
def add(a: int, b: int) -> int:
    return a + b

@agent.tools.register(permission=PermissionLevel.ASK)
async def read_file(path: str) -> str:
    with open(path) as f:
        return f.read()

第三步:运行对话

async def chat(agent):
    while True:
        text = input("你: ").strip()
        if text in ("", "quit"):
            break
        print("Agent:", await agent.run(text))

asyncio.run(chat(agent))

第四步:使用内置工具集

from datagol_agent_harness.builtin import register_all_tools
register_all_tools(agent.tools)

第五步:连接 MCP 服务器

from datagol_agent_harness.mcp import MCPBridge
mcp_bridge = MCPBridge("python -m my_mcp_server")
agent = Agent(config=..., mcp=mcp_bridge)

适用场景

  1. 企业 AI 应用开发:需要稳定、可观测、支持多模型的 Production Agent 系统。
  2. 多 Agent 协作系统:主 Agent 委托子 Agent 分别处理研究、写作、代码审查等专业化任务。
  3. 流式对话应用:需要实时流式输出的 Web/SaaS 产品(在线客服、写作助手、代码生成器)。
  4. 沙箱代码执行环境:AI 应用需要安全执行用户提交的代码(如在线编程练习、AI 代码评测平台)。
  5. Claude Code 生态扩展:在 Claude Code 中集成私有工具和数据源,构建个性化 AI 编程助手。
  6. AI Agent 评测与监控:结合 LangSmith 追踪和内置评估套件,对 Agent 质量进行持续监控和回归测试。

适用人群

  • AI 应用开发者:需要快速构建生产级 Agent 系统的工程师。
  • 平台工程师:负责 AI 基础设施和 Agent 平台建设的团队。
  • AI 研究者:需要可控实验环境来测试新 Agent 架构的学术研究人员。
  • Claude Code 重度用户:希望扩展 Claude Code 能力、接入私有工具的开发者。

工作原理

DataGOL Agent Harness 的核心是一个基于推理循环的 Agent 引擎:Agent.run() 方法驱动 LLM 执行推理 → 工具调用 → 结果返回 → 再次推理的循环,直到模型主动输出 end_turn 标记或达到 max_iterations 上限。工具注册系统通过解析 Python 函数的签名和类型提示自动生成 JSON Schema,LLM 根据 Schema 决定调用哪个工具及传递什么参数。MCP 桥接器将外部 MCP 服务器作为工具集接入,统一由 Agent 的工具注册表管理。流式输出通过 run_stream 方法实现,基于模型的 token 生成实时推送,无需等待完整响应。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论