Skip to content

zero-one-group/sakti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sakti - A Go Toolkit for Autonomous Agents

Go Version License: MIT Build Status

Empower your Go applications with autonomous intelligence


🎯 Vision

Sakti is a comprehensive Go toolkit designed to democratize the development of autonomous agents. Moving beyond simple AI integrations, Sakti provides the foundational building blocks for creating intelligent systems that can think, plan, remember, and act independently.

Whether you're building a single intelligent agent or orchestrating complex multi-agent systems, Sakti offers the performance, flexibility, and modularity needed for production-ready autonomous applications.

πŸš€ Why Autonomous Agents?

The future of AI isn't just about generating text or answering questionsβ€”it's about creating systems that can:

  • 🧠 Reason and Plan: Break down complex problems into actionable steps
  • πŸ’Ύ Remember and Learn: Maintain context and improve over time
  • πŸ› οΈ Use Tools: Interact with APIs, databases, and external systems
  • 🀝 Collaborate: Work together in teams to solve complex challenges
  • 🎯 Act Autonomously: Execute tasks with minimal human intervention

✨ Core Features

πŸ”„ Multi-Provider AI Integration

  • Unified interface for OpenAI, Anthropic, Grok (xAI), and more
  • Seamless provider switching without code changes
  • Built-in retry logic and error handling

🌊 Real-time Streaming

  • Native Go channel-based streaming
  • Low-latency response processing
  • Concurrent stream handling

🎯 Structured Intelligence

  • JSON schema-based object generation
  • Type-safe structured outputs
  • Validation and parsing utilities

πŸ”§ Tool Orchestration

  • Function calling and tool integration
  • Custom tool development framework
  • Async tool execution

🧠 Agent Foundation (Coming Soon)

  • Planning and reasoning capabilities
  • Memory systems and knowledge management
  • Multi-agent coordination

⚑ High Performance

  • Microsecond-level agent instantiation
  • Minimal memory footprint
  • Optimized for concurrent workloads

πŸ—οΈ Agent Capability Levels

Sakti supports building autonomous agents across five levels of sophistication:

Level Capability Description Status
Level 1 Basic Agents Tools + Instructions βœ… Available
Level 2 Knowledge Agents + Knowledge Base + Storage 🚧 Q3 2025
Level 3 Reasoning Agents + Memory + Reasoning 🚧 Q3 2025
Level 4 Agent Teams + Collaboration + Coordination 🚧 Q4 2025
Level 5 Agent Workflows + State Management + Determinism 🚧 Q4 2025

πŸš€ Quick Start

Installation

go get github.com/zero-one-group/sakti

Basic Agent

package main

import (
    "context"
    "fmt"
    "log"
    
    "github.com/zero-one-group/sakti"
)

func main() {
    // Create an intelligent agent
    agent := sakti.NewWithOpenAI(os.Getenv("OPENAI_API_KEY"), nil)
    
    // Give it a task
    response, err := agent.GenerateText("gpt-4", 
        "Analyze the latest trends in autonomous AI systems")
    if err != nil {
        log.Fatal(err)
    }
    
    fmt.Println("Agent Analysis:", response)
}

Streaming Agent

// Real-time thinking
stream, err := agent.StreamText("gpt-4", 
    "Plan a strategy for implementing autonomous customer support")

for thought := range stream {
    fmt.Print(thought) // Watch the agent think in real-time
}

Tool-Enabled Agent

// Agent with capabilities
tools := []sakti.Tool{
    sakti.CreateTool("web_search", "Search the internet", searchSchema),
    sakti.CreateTool("send_email", "Send emails", emailSchema),
    sakti.CreateTool("analyze_data", "Analyze datasets", dataSchema),
}

response, err := agent.ToolCall("gpt-4", 
    "Research autonomous agents and email me a summary", tools)

// Agent can now search, analyze, and communicate

Structured Intelligence

// Agent that returns structured data
type AnalysisResult struct {
    Summary     string   `json:"summary"`
    KeyFindings []string `json:"key_findings"`
    Confidence  float64  `json:"confidence"`
    NextActions []string `json:"next_actions"`
}

result, err := agent.GenerateObject("gpt-4", 
    "Analyze market trends for autonomous AI", AnalysisResult{})

🀝 Contributing

We're building the future of autonomous agents together! Check out our Contributing Guide to get started.

Ways to Contribute:

  • πŸ› Report bugs and issues
  • πŸ’‘ Suggest new features and capabilities
  • πŸ”§ Submit pull requests
  • πŸ“š Improve documentation
  • 🎯 Create example applications
  • πŸ§ͺ Write tests and benchmarks

πŸ“š Learning Resources

🌟 Join the Community

  • πŸ’¬ Discord Community - Join the conversation
  • 🐦 Twitter - Latest updates and announcements
  • πŸ“§ Newsletter - Monthly insights and updates
  • πŸ“ Blog - Deep dives and tutorials

πŸ“„ License

Licensed under the MIT License. See LICENSE for details.


Built with ❀️ for the autonomous future

Get Started β€’ Documentation β€’ Examples β€’ Community

About

A Go Toolkit for Autonomous Agents

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages