Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AssignmentStrategy ¶
type AssignmentStrategy interface {
// 选择工作者
SelectWorker(ctx context.Context, task *Task, workers []agent.Agent, status map[string]*WorkerStatus) (agent.Agent, error)
}
AssignmentStrategy 任务分配策略
type HierarchicalAgent ¶
HierarchicalAgent 层次化 Agent 实现 Supervisor-Worker 模式
func NewHierarchicalAgent ¶
func NewHierarchicalAgent( base *agent.BaseAgent, supervisor agent.Agent, workers []agent.Agent, config HierarchicalConfig, logger *zap.Logger, ) *HierarchicalAgent
NewHierarchicalAgent 创建层次化 Agent
type HierarchicalConfig ¶
type HierarchicalConfig struct {
MaxWorkers int `json:"max_workers"` // 最大工作者数量
TaskTimeout time.Duration `json:"task_timeout"` // 任务超时
EnableRetry bool `json:"enable_retry"` // 启用重试
MaxRetries int `json:"max_retries"` // 最大重试次数
WorkerSelection string `json:"worker_selection"` // 工作者选择策略
EnableLoadBalance bool `json:"enable_load_balance"` // 启用负载均衡
}
HierarchicalConfig 层次化配置
func DefaultHierarchicalConfig ¶
func DefaultHierarchicalConfig() HierarchicalConfig
DefaultHierarchicalConfig 默认配置
type LeastLoadedStrategy ¶
type LeastLoadedStrategy struct{}
LeastLoadedStrategy 最少负载策略
func (*LeastLoadedStrategy) SelectWorker ¶
type RandomStrategy ¶
type RandomStrategy struct{}
RandomStrategy 随机策略
func (*RandomStrategy) SelectWorker ¶
type RoundRobinStrategy ¶
type RoundRobinStrategy struct {
// contains filtered or unexported fields
}
RoundRobinStrategy 轮询策略
func (*RoundRobinStrategy) SelectWorker ¶
type Task ¶
type Task struct {
ID string
Type string
Input *agent.Input
Priority int
Deadline time.Time
Dependencies []string
Metadata map[string]any
// 执行状态
Status TaskStatus
AssignedTo string
StartedAt time.Time
CompletedAt time.Time
Result *agent.Output
Error error
RetryCount int
}
Task 任务
type TaskCoordinator ¶
type TaskCoordinator struct {
// contains filtered or unexported fields
}
TaskCoordinator 任务协调器
func NewTaskCoordinator ¶
func NewTaskCoordinator(workers []agent.Agent, config HierarchicalConfig, logger *zap.Logger) *TaskCoordinator
NewTaskCoordinator 创建任务协调器
func (*TaskCoordinator) ExecuteTask ¶
ExecuteTask 执行任务
func (*TaskCoordinator) GetWorkerStatus ¶
func (c *TaskCoordinator) GetWorkerStatus() map[string]*WorkerStatus
GetWorkerStatus 获取工作者状态
type TaskStatus ¶
type TaskStatus string
TaskStatus 任务状态
const ( TaskStatusPending TaskStatus = "pending" TaskStatusAssigned TaskStatus = "assigned" TaskStatusRunning TaskStatus = "running" TaskStatusCompleted TaskStatus = "completed" TaskStatusFailed TaskStatus = "failed" TaskStatusCancelled TaskStatus = "cancelled" )
Click to show internal directories.
Click to hide internal directories.