🤖 AI Agents

Create intelligent agents with built-in LLM support

Note:

In HudHudScript v0.4+, the action keyword is preferred over task. Both are supported for backward compatibility.

Agent Architecture

Agent Definition
Provider, Model, Tasks
LLM Provider
OpenAI, Anthropic, Ollama
Response
Structured Output

Basic Agent

Create an AI agent in just a few lines:

agent Assistant {
    provider: "openai"
    model: "gpt-4"
    
    task ask(question) {
        return this.call(question)
    }
}

// Usage
let answer = Assistant.ask("What is HudHudScript?")
print(answer)

✨ That's it!

No complex configuration, no boilerplate code. Just define and use.

Agent Properties

Property Type Description
provider String LLM provider name (openai, anthropic, ollama)
model String Model name (gpt-4, claude-3, llama2)
temperature Number Creativity level (0.0-1.0)
max_tokens Number Maximum response length
system_prompt String System instructions for the agent

Advanced Agent

agent DataAnalyst {
    provider: "openai"
    model: "gpt-4"
    temperature: 0.3
    max_tokens: 2000
    
    system_prompt: "You are a data analyst expert."
    
    // Multiple tasks
    task analyze(data) {
        let prompt = `Analyze this data: ${data}`
        return this.call({
            prompt: prompt,
            temperature: 0.5
        })
    }
    
    task summarize(text) {
        return this.call(`Summarize: ${text}`)
    }
    
    task visualize(data) {
        return this.call({
            prompt: `Create visualization for: ${data}`,
            format: "json"
        })
    }
}

// Usage
let analysis = DataAnalyst.analyze([100, 150, 200])
let summary = DataAnalyst.summarize(analysis)
print(summary)

Agent State

Agents can maintain state across calls:

agent ChatBot {
    provider: "openai"
    model: "gpt-4"
    
    // State variables
    state {
        conversation_history: []
        user_name: null
        context: {}
    }
    
    task chat(message) {
        // Add to history
        this.state.conversation_history.push(message)
        
        // Call LLM with context
        let response = this.call({
            prompt: message,
            context: this.state.conversation_history
        })
        
        // Save response
        this.state.conversation_history.push(response)
        
        return response
    }
    
    task reset() {
        this.state.conversation_history = []
    }
}

// Multi-turn conversation
ChatBot.chat("Hello!")
ChatBot.chat("What's the weather?")
ChatBot.chat("Thanks!")

💡 State Management

State persists across task calls, enabling context-aware conversations.

HudHudScript vs Traditional

❌ Traditional (Python)

# 50+ lines of code
from langchain import OpenAI
from langchain.chains import LLMChain

llm = OpenAI(
    model_name="gpt-4",
    temperature=0.7,
    max_tokens=1000,
    # ... many parameters
)

# Manual state management
conversation = []

def chat(message):
    conversation.append(message)
    response = llm(message)
    conversation.append(response)
    return response

# Manual error handling
# Manual token tracking
# No governance

✅ HudHudScript

// 15 lines of code
agent ChatBot {
    provider: "openai"
    model: "gpt-4"
    temperature: 0.7
    max_tokens: 1000
    
    state {
        conversation: []
    }
    
    task chat(msg) {
        this.state.conversation.push(msg)
        return this.call(msg)
    }
}

// Automatic error handling
// Automatic token tracking
// Built-in governance

🚀 70% Less Code

HudHudScript handles complexity automatically, letting you focus on logic.