ling-baseling-base

ADK 开发套件

依赖注入式 Agent 模块组装

在线 Playground

在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。

ADK (Agent Development Kit)

agentkit/adk 提供依赖注入式 Agent 组装,类似 Spring 的模块系统,用于 goagent 编程 Agent 场景。

核心类型

type Module interface {
    Name() string
    Configure(ctx context.Context, kit *AgentDevelopmentKit) error
}

type AgentDevelopmentKit struct { ... }

func New(modules ...Module) *AgentDevelopmentKit
func (k *AgentDevelopmentKit) BuildAgent() (goagent.Agent, error)

内置模块

模块职责
ModelModuleadk/modules注入 LLM(relaymodel)
ToolModuleadk/modules注册 UTCP 工具目录
SubAgentModuleadk/modules子 Agent 目录
import (
    "github.com/LingByte/ling-base/agentkit/adk"
    "github.com/LingByte/ling-base/agentkit/adk/modules"
)

kit := adk.New(
    modules.NewModelModule(modelConfig),
    modules.NewToolModule(toolRegistry),
    modules.NewSubAgentModule(subAgentDir),
)

agent, err := kit.BuildAgent()

Workflow

adk/workflow 提供工作流图原语(NodeEdgeRoute),adk/workflowagent 将其包装为 Agent。

import "github.com/LingByte/ling-base/agentkit/adk/workflow"

wf := workflow.New()
wf.AddNode("plan", planNode)
wf.AddNode("execute", executeNode)
wf.AddEdge("plan", "execute")

与 llmagent 选型

adk + goagentllmagent + runner
风格DI 模块、UTCP选项函数、标准 Agent
场景编程 Agent 产品通用对话 Agent

详见 Go Agent

On this page