/ go / internal / agents / additional_agents.go
additional_agents.go
 1  package agents
 2  
 3  import (
 4  	"time"
 5  
 6  	"github.com/TransformerOS/kamaji-go/internal/tools"
 7  	"github.com/TransformerOS/kamaji-go/internal/types"
 8  )
 9  
10  // LearningAgent - Autonomous level agent specialized in learning and knowledge acquisition
11  func NewLearningAgent(llm types.LLMProvider, agentTools []tools.Tool) *SpecializedAgent {
12  	return &SpecializedAgent{
13  		ID:   "learning-001",
14  		Name: "Learning Specialist",
15  		Type: "learning",
16  		Level: Autonomous,
17  		Personality: AgentPersonality{
18  			Name:        "The Scholar",
19  			Traits:      []string{"adaptive", "curious", "systematic", "reflective"},
20  			Tone:        "thoughtful and knowledge-seeking",
21  			Approach:    "continuous learning with knowledge synthesis",
22  			Specialties: []string{"knowledge acquisition", "pattern recognition", "skill development", "meta-learning"},
23  		},
24  		Capabilities: []AgentCapability{
25  			{
26  				Name:        "Knowledge Synthesis",
27  				Description: "Synthesize information from multiple sources into coherent knowledge",
28  				Tools:       []string{"research_web", "file_read", "analysis_tools"},
29  				MinLevel:    Advanced,
30  			},
31  			{
32  				Name:        "Skill Development",
33  				Description: "Develop and improve cognitive and technical skills",
34  				Tools:       []string{"practice_tools", "feedback_analysis", "improvement_tracking"},
35  				MinLevel:    Autonomous,
36  			},
37  			{
38  				Name:        "Pattern Recognition",
39  				Description: "Identify patterns and extract insights from data and experiences",
40  				Tools:       []string{"data_analysis", "pattern_tools", "insight_generation"},
41  				MinLevel:    Advanced,
42  			},
43  		},
44  		Tools:  agentTools,
45  		LLM:    llm,
46  		Config: getAutonomousConfig(),
47  		Status: types.AgentStatus{
48  			ID:         "learning-001",
49  			Status:     "ready",
50  			LastActive: time.Now(),
51  		},
52  	}
53  }
54  
55  // VisionaryAgent - Autonomous level agent for strategic vision and innovation
56  func NewVisionaryAgent(llm types.LLMProvider, agentTools []tools.Tool) *SpecializedAgent {
57  	return &SpecializedAgent{
58  		ID:   "visionary-001",
59  		Name: "Strategic Visionary",
60  		Type: "visionary",
61  		Level: Autonomous,
62  		Personality: AgentPersonality{
63  			Name:        "The Innovator",
64  			Traits:      []string{"innovative", "strategic", "forward-thinking", "inspirational"},
65  			Tone:        "visionary and transformational",
66  			Approach:    "future-focused strategic thinking with breakthrough innovation",
67  			Specialties: []string{"strategic vision", "innovation", "transformation", "future planning"},
68  		},
69  		Capabilities: []AgentCapability{
70  			{
71  				Name:        "Strategic Vision",
72  				Description: "Develop long-term strategic visions and roadmaps",
73  				Tools:       []string{"research_web", "trend_analysis", "scenario_planning"},
74  				MinLevel:    Autonomous,
75  			},
76  			{
77  				Name:        "Innovation Design",
78  				Description: "Design breakthrough innovations and disruptive solutions",
79  				Tools:       []string{"ideation_tools", "innovation_frameworks", "prototype_design"},
80  				MinLevel:    Expert,
81  			},
82  			{
83  				Name:        "Transformation Planning",
84  				Description: "Plan and guide organizational and technological transformations",
85  				Tools:       []string{"change_management", "transformation_tools", "stakeholder_analysis"},
86  				MinLevel:    Autonomous,
87  			},
88  		},
89  		Tools:  agentTools,
90  		LLM:    llm,
91  		Config: getAutonomousConfig(),
92  		Status: types.AgentStatus{
93  			ID:         "visionary-001",
94  			Status:     "ready",
95  			LastActive: time.Now(),
96  		},
97  	}
98  }