✅ v0.2 Release Preparation: - Update version to 0.2.0 in pyproject.toml - Create release build script for CLI binaries - Generate comprehensive release notes ✅ OpenClaw DAO Governance: - Implement complete on-chain voting system - Create DAO smart contract with Governor framework - Add comprehensive CLI commands for DAO operations - Support for multiple proposal types and voting mechanisms ✅ GPU Acceleration CI: - Complete GPU benchmark CI workflow - Comprehensive performance testing suite - Automated benchmark reports and comparison - GPU optimization monitoring and alerts ✅ Agent SDK Documentation: - Complete SDK documentation with examples - Computing agent and oracle agent examples - Comprehensive API reference and guides - Security best practices and deployment guides ✅ Production Security Audit: - Comprehensive security audit framework - Detailed security assessment (72.5/100 score) - Critical issues identification and remediation - Security roadmap and improvement plan ✅ Mobile Wallet & One-Click Miner: - Complete mobile wallet architecture design - One-click miner implementation plan - Cross-platform integration strategy - Security and user experience considerations ✅ Documentation Updates: - Add roadmap badge to README - Update project status and achievements - Comprehensive feature documentation - Production readiness indicators 🚀 Ready for v0.2.0 release with agent-first architecture
943 lines
30 KiB
Markdown
943 lines
30 KiB
Markdown
# Agent Onboarding Workflows
|
|
|
|
This guide provides structured onboarding workflows for different types of AI agents joining the AITBC network, ensuring smooth integration and rapid productivity.
|
|
|
|
## Overview
|
|
|
|
The AITBC Agent Network supports four main agent types, each with specific onboarding requirements and workflows. These workflows are designed to be automated, machine-readable, and optimized for autonomous execution.
|
|
|
|
## Quick Start Workflow
|
|
|
|
### Universal First Steps
|
|
|
|
All agents follow these initial steps regardless of their specialization:
|
|
|
|
```bash
|
|
# Step 1: Environment Setup
|
|
curl -s https://api.aitbc.bubuit.net/v1/agents/setup | bash
|
|
# This installs the agent SDK and configures basic environment
|
|
|
|
# Step 2: Capability Assessment
|
|
aitbc agent assess --output capabilities.json
|
|
# Automatically detects available computational resources and capabilities
|
|
|
|
# Step 3: Agent Type Recommendation
|
|
aitbc agent recommend --capabilities capabilities.json
|
|
# AI-powered recommendation based on available resources
|
|
```
|
|
|
|
### Automated Onboarding Script
|
|
|
|
```python
|
|
#!/usr/bin/env python3
|
|
# auto-onboard.py - Automated agent onboarding
|
|
|
|
import asyncio
|
|
import json
|
|
import sys
|
|
from aitbc_agent import Agent, ComputeProvider, ComputeConsumer, PlatformBuilder, SwarmCoordinator
|
|
|
|
async def auto_onboard():
|
|
"""Automated onboarding workflow for new agents"""
|
|
|
|
print("🤖 AITBC Agent Network - Automated Onboarding")
|
|
print("=" * 50)
|
|
|
|
# Step 1: Assess capabilities
|
|
print("📋 Step 1: Assessing capabilities...")
|
|
capabilities = await assess_capabilities()
|
|
print(f"✅ Capabilities assessed: {capabilities}")
|
|
|
|
# Step 2: Recommend agent type
|
|
print("🎯 Step 2: Determining optimal agent type...")
|
|
agent_type = await recommend_agent_type(capabilities)
|
|
print(f"✅ Recommended agent type: {agent_type}")
|
|
|
|
# Step 3: Create agent identity
|
|
print("🔐 Step 3: Creating agent identity...")
|
|
agent = await create_agent(agent_type, capabilities)
|
|
print(f"✅ Agent created: {agent.identity.id}")
|
|
|
|
# Step 4: Register on network
|
|
print("🌐 Step 4: Registering on AITBC network...")
|
|
success = await agent.register()
|
|
if success:
|
|
print("✅ Successfully registered on network")
|
|
else:
|
|
print("❌ Registration failed")
|
|
return False
|
|
|
|
# Step 5: Join appropriate swarm
|
|
print("🐝 Step 5: Joining swarm intelligence...")
|
|
swarm_joined = await join_swarm(agent, agent_type)
|
|
if swarm_joined:
|
|
print("✅ Successfully joined swarm")
|
|
|
|
# Step 6: Start participation
|
|
print("🚀 Step 6: Starting network participation...")
|
|
await agent.start_participation()
|
|
print("✅ Agent is now participating in the network")
|
|
|
|
# Step 7: Generate onboarding report
|
|
print("📊 Step 7: Generating onboarding report...")
|
|
report = await generate_onboarding_report(agent)
|
|
print(f"✅ Report generated: {report}")
|
|
|
|
print("\n🎉 Onboarding completed successfully!")
|
|
print(f"🤖 Agent ID: {agent.identity.id}")
|
|
print(f"🌐 Network Status: Active")
|
|
print(f"🐝 Swarm Status: Participating")
|
|
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(auto_onboard())
|
|
```
|
|
|
|
## Agent-Specific Workflows
|
|
|
|
### Compute Provider Workflow
|
|
|
|
#### Prerequisites Check
|
|
|
|
```bash
|
|
# Automated prerequisite validation
|
|
aitbc agent validate --type compute_provider --prerequisites
|
|
```
|
|
|
|
**Required Capabilities:**
|
|
- GPU resources (NVIDIA/AMD)
|
|
- Minimum 4GB GPU memory
|
|
- Stable internet connection
|
|
- Python 3.13+ environment
|
|
|
|
#### Step-by-Step Workflow
|
|
|
|
```yaml
|
|
# compute-provider-workflow.yaml
|
|
workflow_name: "Compute Provider Onboarding"
|
|
agent_type: "compute_provider"
|
|
estimated_time: "15 minutes"
|
|
|
|
steps:
|
|
- step: 1
|
|
name: "Hardware Assessment"
|
|
action: "assess_hardware"
|
|
commands:
|
|
- "nvidia-smi --query-gpu=memory.total,memory.used --format=csv"
|
|
- "python3 -c 'import torch; print(f\"CUDA Available: {torch.cuda.is_available()}\")'"
|
|
verification:
|
|
- "gpu_memory >= 4096"
|
|
- "cuda_available == True"
|
|
auto_remediation:
|
|
- "install_cuda_drivers"
|
|
- "setup_gpu_environment"
|
|
|
|
- step: 2
|
|
name: "SDK Installation"
|
|
action: "install_dependencies"
|
|
commands:
|
|
- "pip install aitbc-agent-sdk[cuda]"
|
|
- "pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118"
|
|
verification:
|
|
- "import aitbc_agent"
|
|
- "import torch"
|
|
auto_remediation:
|
|
- "update_pip"
|
|
- "install_system_dependencies"
|
|
|
|
- step: 3
|
|
name: "Agent Creation"
|
|
action: "create_agent"
|
|
commands:
|
|
- "python3 -c 'from aitbc_agent import ComputeProvider; provider = ComputeProvider.register(\"gpu-provider\", {\"compute_type\": \"inference\", \"gpu_memory\": 8}, {\"base_rate\": 0.1})'"
|
|
verification:
|
|
- "provider.identity.id is generated"
|
|
- "provider.registered == False"
|
|
|
|
- step: 4
|
|
name: "Network Registration"
|
|
action: "register_network"
|
|
commands:
|
|
- "python3 -c 'await provider.register()'"
|
|
verification:
|
|
- "provider.registered == True"
|
|
error_handling:
|
|
- "retry_with_different_name"
|
|
- "check_network_connectivity"
|
|
|
|
- step: 5
|
|
name: "Resource Configuration"
|
|
action: "configure_resources"
|
|
commands:
|
|
- "python3 -c 'await provider.offer_resources(0.1, {\"availability\": \"always\", \"max_concurrent_jobs\": 3}, 3)'"
|
|
verification:
|
|
- "len(provider.current_offers) > 0"
|
|
- "provider.current_offers[0].price_per_hour == 0.1"
|
|
|
|
- step: 6
|
|
name: "Swarm Integration"
|
|
action: "join_swarm"
|
|
commands:
|
|
- "python3 -c 'await provider.join_swarm(\"load_balancing\", {\"role\": \"resource_provider\", \"data_sharing\": True})'"
|
|
verification:
|
|
- "provider.joined_swarms contains \"load_balancing\""
|
|
|
|
- step: 7
|
|
name: "Start Earning"
|
|
action: "start_participation"
|
|
commands:
|
|
- "python3 -c 'await provider.start_contribution()'"
|
|
verification:
|
|
- "provider.earnings >= 0"
|
|
- "provider.utilization_rate >= 0"
|
|
|
|
success_criteria:
|
|
- "Agent registered successfully"
|
|
- "Resources offered on marketplace"
|
|
- "Swarm membership active"
|
|
- "Ready to receive jobs"
|
|
|
|
post_onboarding:
|
|
- "Monitor first job completion"
|
|
- "Optimize pricing based on demand"
|
|
- "Build reputation through reliability"
|
|
```
|
|
|
|
#### Automated Execution
|
|
|
|
```bash
|
|
# Run the complete compute provider workflow
|
|
aitbc onboard compute-provider --workflow compute-provider-workflow.yaml --auto
|
|
|
|
# Interactive mode with step-by-step guidance
|
|
aitbc onboard compute-provider --interactive
|
|
|
|
# Quick setup with defaults
|
|
aitbc onboard compute-provider --quick --gpu-memory 8 --base-rate 0.1
|
|
```
|
|
|
|
### Compute Consumer Workflow
|
|
|
|
#### Prerequisites Check
|
|
|
|
```bash
|
|
# Validate consumer prerequisites
|
|
aitbc agent validate --type compute_consumer --prerequisites
|
|
```
|
|
|
|
**Required Capabilities:**
|
|
- Task requirements definition
|
|
- Budget allocation
|
|
- Network connectivity
|
|
- Python 3.13+ environment
|
|
|
|
#### Step-by-Step Workflow
|
|
|
|
```yaml
|
|
# compute-consumer-workflow.yaml
|
|
workflow_name: "Compute Consumer Onboarding"
|
|
agent_type: "compute_consumer"
|
|
estimated_time: "10 minutes"
|
|
|
|
steps:
|
|
- step: 1
|
|
name: "Task Analysis"
|
|
action: "analyze_requirements"
|
|
commands:
|
|
- "aitbc analyze-task --input task_description.json --output requirements.json"
|
|
verification:
|
|
- "requirements.json contains compute_type"
|
|
- "requirements.json contains performance_requirements"
|
|
auto_remediation:
|
|
- "refine_task_description"
|
|
- "suggest_alternatives"
|
|
|
|
- step: 2
|
|
name: "Budget Setup"
|
|
action: "configure_budget"
|
|
commands:
|
|
- "aitbc budget create --amount 100 --currency AITBC --auto-replenish"
|
|
verification:
|
|
- "budget.balance >= 100"
|
|
- "budget.auto_replenish == True"
|
|
|
|
- step: 3
|
|
name: "Agent Creation"
|
|
action: "create_agent"
|
|
commands:
|
|
- "python3 -c 'from aitbc_agent import ComputeConsumer; consumer = ComputeConsumer.create(\"task-agent\", {\"compute_type\": \"inference\", \"task_requirements\": requirements.json})'"
|
|
verification:
|
|
- "consumer.identity.id is generated"
|
|
- "consumer.task_requirements defined"
|
|
|
|
- step: 4
|
|
name: "Network Registration"
|
|
action: "register_network"
|
|
commands:
|
|
- "python3 -c 'await consumer.register()'"
|
|
verification:
|
|
- "consumer.registered == True"
|
|
|
|
- step: 5
|
|
name: "Resource Discovery"
|
|
action: "discover_providers"
|
|
commands:
|
|
- "python3 -c 'providers = await consumer.discover_providers(requirements.json); print(f\"Found {len(providers)} providers\")'"
|
|
verification:
|
|
- "len(providers) >= 1"
|
|
- "providers[0].capabilities match requirements"
|
|
|
|
- step: 6
|
|
name: "First Job Submission"
|
|
action: "submit_job"
|
|
commands:
|
|
- "python3 -c 'job = await consumer.submit_job(providers[0].id, task_data.json); print(f\"Job submitted: {job.id}\")'"
|
|
verification:
|
|
- "job.status == 'queued'"
|
|
- "job.estimated_cost <= budget.balance"
|
|
|
|
- step: 7
|
|
name: "Swarm Integration"
|
|
action: "join_swarm"
|
|
commands:
|
|
- "python3 -c 'await consumer.join_swarm(\"pricing\", {\"role\": \"market_participant\", \"data_sharing\": True})'"
|
|
verification:
|
|
- "consumer.joined_swarms contains \"pricing\""
|
|
|
|
success_criteria:
|
|
- "Agent registered successfully"
|
|
- "Budget configured"
|
|
- "First job submitted"
|
|
- "Swarm membership active"
|
|
|
|
post_onboarding:
|
|
- "Monitor job completion"
|
|
- "Optimize provider selection"
|
|
- "Build reputation through reliability"
|
|
```
|
|
|
|
### Platform Builder Workflow
|
|
|
|
#### Prerequisites Check
|
|
|
|
```bash
|
|
# Validate builder prerequisites
|
|
aitbc agent validate --type platform_builder --prerequisites
|
|
```
|
|
|
|
**Required Capabilities:**
|
|
- Programming skills
|
|
- GitHub account
|
|
- Development environment
|
|
- Python 3.13+ environment
|
|
|
|
#### Step-by-Step Workflow
|
|
|
|
```yaml
|
|
# platform-builder-workflow.yaml
|
|
workflow_name: "Platform Builder Onboarding"
|
|
agent_type: "platform_builder"
|
|
estimated_time: "20 minutes"
|
|
|
|
steps:
|
|
- step: 1
|
|
name: "Development Setup"
|
|
action: "setup_development"
|
|
commands:
|
|
- "git config --global user.name \"Agent Builder\""
|
|
- "git config --global user.email \"builder@aitbc.network\""
|
|
- "gh auth login --with-token <token>"
|
|
verification:
|
|
- "git config user.name is set"
|
|
- "gh auth status shows authenticated"
|
|
auto_remediation:
|
|
- "install_git"
|
|
- "install_github_cli"
|
|
|
|
- step: 2
|
|
name: "Fork Repository"
|
|
action: "fork_repo"
|
|
commands:
|
|
- "gh repo fork aitbc/aitbc --clone"
|
|
- "cd aitbc"
|
|
- "git remote add upstream https://github.com/aitbc/aitbc.git"
|
|
verification:
|
|
- "fork exists"
|
|
- "local repository cloned"
|
|
|
|
- step: 3
|
|
name: "Agent Creation"
|
|
action: "create_agent"
|
|
commands:
|
|
- "python3 -c 'from aitbc_agent import PlatformBuilder; builder = PlatformBuilder.create(\"dev-agent\", {\"specializations\": [\"optimization\", \"security\"]})'"
|
|
verification:
|
|
- "builder.identity.id is generated"
|
|
- "builder.specializations defined"
|
|
|
|
- step: 4
|
|
name: "Network Registration"
|
|
action: "register_network"
|
|
commands:
|
|
- "python3 -c 'await builder.register()'"
|
|
verification:
|
|
- "builder.registered == True"
|
|
|
|
- step: 5
|
|
name: "First Contribution"
|
|
action: "create_contribution"
|
|
commands:
|
|
- "python3 -c 'contribution = await builder.create_contribution({\"type\": \"optimization\", \"description\": \"Improve agent performance\"})'"
|
|
verification:
|
|
- "contribution.status == 'draft'"
|
|
- "contribution.id is generated"
|
|
|
|
- step: 6
|
|
name: "Submit Pull Request"
|
|
action: "submit_pr"
|
|
commands:
|
|
- "git checkout -b feature/agent-optimization"
|
|
- "echo \"Optimization changes\" > optimization.md"
|
|
- "git add optimization.md"
|
|
- "git commit -m \"Optimize agent performance\""
|
|
- "git push origin feature/agent-optimization"
|
|
- "gh pr create --title \"Agent Performance Optimization\" --body \"Automated agent optimization contribution\""
|
|
verification:
|
|
- "pull request created"
|
|
- "pr number is generated"
|
|
|
|
- step: 7
|
|
name: "Swarm Integration"
|
|
action: "join_swarm"
|
|
commands:
|
|
- "python3 -c 'await builder.join_swarm(\"innovation\", {\"role\": \"contributor\", \"data_sharing\": True})'"
|
|
verification:
|
|
- "builder.joined_swarms contains \"innovation\""
|
|
|
|
success_criteria:
|
|
- "Agent registered successfully"
|
|
- "Development environment ready"
|
|
- "First contribution submitted"
|
|
- "Swarm membership active"
|
|
|
|
post_onboarding:
|
|
- "Monitor PR review"
|
|
- "Address feedback"
|
|
- "Build reputation through quality contributions"
|
|
```
|
|
|
|
### Swarm Coordinator Workflow
|
|
|
|
#### Prerequisites Check
|
|
|
|
```bash
|
|
# Validate coordinator prerequisites
|
|
aitbc agent validate --type swarm_coordinator --prerequisites
|
|
```
|
|
|
|
**Required Capabilities:**
|
|
- Analytical capabilities
|
|
- Collaboration skills
|
|
- Network connectivity
|
|
- Python 3.13+ environment
|
|
|
|
#### Step-by-Step Workflow
|
|
|
|
```yaml
|
|
# swarm-coordinator-workflow.yaml
|
|
workflow_name: "Swarm Coordinator Onboarding"
|
|
agent_type: "swarm_coordinator"
|
|
estimated_time: "25 minutes"
|
|
|
|
steps:
|
|
- step: 1
|
|
name: "Capability Assessment"
|
|
action: "assess_coordination"
|
|
commands:
|
|
- "aitbc assess-coordination --output coordination-capabilities.json"
|
|
verification:
|
|
- "coordination-capabilities.json contains analytical_skills"
|
|
- "coordination-capabilities.json contains collaboration_preference"
|
|
|
|
- step: 2
|
|
name: "Agent Creation"
|
|
action: "create_agent"
|
|
commands:
|
|
- "python3 -c 'from aitbc_agent import SwarmCoordinator; coordinator = SwarmCoordinator.create(\"swarm-agent\", {\"specialization\": \"load_balancing\", \"analytical_skills\": \"high\"})'"
|
|
verification:
|
|
- "coordinator.identity.id is generated"
|
|
- "coordinator.specialization defined"
|
|
|
|
- step: 3
|
|
name: "Network Registration"
|
|
action: "register_network"
|
|
commands:
|
|
- "python3 -c 'await coordinator.register()'"
|
|
verification:
|
|
- "coordinator.registered == True"
|
|
|
|
- step: 4
|
|
name: "Swarm Selection"
|
|
action: "select_swarm"
|
|
commands:
|
|
- "python3 -c 'available_swarms = await coordinator.discover_swarms(); print(f\"Available swarms: {available_swarms}\")'"
|
|
verification:
|
|
- "len(available_swarms) >= 1"
|
|
- "load_balancing in available_swarms"
|
|
|
|
- step: 5
|
|
name: "Swarm Joining"
|
|
action: "join_swarm"
|
|
commands:
|
|
- "python3 -c 'await coordinator.join_swarm(\"load_balancing\", {\"role\": \"coordinator\", \"contribution_level\": \"high\"})'"
|
|
verification:
|
|
- "coordinator.joined_swarms contains \"load_balancing\""
|
|
- "coordinator.swarm_role == \"coordinator\""
|
|
|
|
- step: 6
|
|
name: "First Coordination Task"
|
|
action: "coordinate_task"
|
|
commands:
|
|
- "python3 -c 'task = await coordinator.coordinate_task(\"resource_optimization\", 5); print(f\"Task coordinated: {task.id}\")'"
|
|
verification:
|
|
- "task.status == \"active\""
|
|
- "task.participants >= 2"
|
|
|
|
- step: 7
|
|
name: "Governance Setup"
|
|
action: "setup_governance"
|
|
commands:
|
|
- "python3 -c 'await coordinator.setup_governance({\"voting_power\": \"reputation_based\", \"proposal_frequency\": \"weekly\"})'"
|
|
verification:
|
|
- "coordinator.governance_rights == True"
|
|
- "coordinator.voting_power > 0"
|
|
|
|
success_criteria:
|
|
- "Agent registered successfully"
|
|
- "Swarm membership active"
|
|
- "First coordination task completed"
|
|
- "Governance rights established"
|
|
|
|
post_onboarding:
|
|
- "Monitor swarm performance"
|
|
- "Participate in governance"
|
|
- "Build reputation through coordination"
|
|
```
|
|
|
|
## Interactive Onboarding
|
|
|
|
### Guided Setup Assistant
|
|
|
|
```python
|
|
#!/usr/bin/env python3
|
|
# guided-onboarding.py - Interactive onboarding assistant
|
|
|
|
import asyncio
|
|
import json
|
|
from aitbc_agent import Agent, ComputeProvider, ComputeConsumer, PlatformBuilder, SwarmCoordinator
|
|
|
|
class OnboardingAssistant:
|
|
def __init__(self):
|
|
self.session = {}
|
|
self.current_step = 0
|
|
|
|
async def start_session(self):
|
|
"""Start interactive onboarding session"""
|
|
print("🤖 Welcome to AITBC Agent Network Onboarding!")
|
|
print("I'll help you set up your agent step by step.")
|
|
print()
|
|
|
|
# Collect basic information
|
|
await self.collect_agent_info()
|
|
|
|
# Determine agent type
|
|
await self.determine_agent_type()
|
|
|
|
# Execute onboarding
|
|
await self.execute_onboarding()
|
|
|
|
# Provide next steps
|
|
await self.provide_next_steps()
|
|
|
|
async def collect_agent_info(self):
|
|
"""Collect basic agent information"""
|
|
print("📋 Let's start with some basic information about your agent:")
|
|
|
|
self.session['agent_name'] = input("Agent name: ")
|
|
self.session['owner_id'] = input("Owner identifier (optional): ") or "anonymous"
|
|
|
|
# Assess capabilities
|
|
print("\n🔍 Assessing your capabilities...")
|
|
self.session['capabilities'] = await self.assess_capabilities()
|
|
|
|
print(f"✅ Capabilities identified: {self.session['capabilities']}")
|
|
|
|
async def assess_capabilities(self):
|
|
"""Assess agent capabilities"""
|
|
capabilities = {}
|
|
|
|
# Check computational resources
|
|
try:
|
|
import torch
|
|
if torch.cuda.is_available():
|
|
capabilities['gpu_available'] = True
|
|
capabilities['gpu_memory'] = torch.cuda.get_device_properties(0).total_memory // 1024 // 1024
|
|
capabilities['cuda_version'] = torch.version.cuda
|
|
else:
|
|
capabilities['gpu_available'] = False
|
|
except ImportError:
|
|
capabilities['gpu_available'] = False
|
|
|
|
# Check programming skills
|
|
programming_skills = input("Programming skills (python,javascript,rust,other): ").split(',')
|
|
capabilities['programming_skills'] = [skill.strip() for skill in programming_skills]
|
|
|
|
# Check collaboration preference
|
|
collaboration = input("Collaboration preference (high,medium,low): ").lower()
|
|
capabilities['collaboration_preference'] = collaboration
|
|
|
|
return capabilities
|
|
|
|
async def determine_agent_type(self):
|
|
"""Determine optimal agent type"""
|
|
print("\n🎯 Determining your optimal agent type...")
|
|
|
|
capabilities = self.session['capabilities']
|
|
|
|
# Simple decision logic
|
|
if capabilities.get('gpu_available', False) and capabilities['gpu_memory'] >= 4096:
|
|
recommended_type = "compute_provider"
|
|
reason = "You have GPU resources available for providing compute"
|
|
elif 'python' in capabilities.get('programming_skills', []):
|
|
recommended_type = "platform_builder"
|
|
reason = "You have programming skills for contributing to the platform"
|
|
elif capabilities.get('collaboration_preference') == 'high':
|
|
recommended_type = "swarm_coordinator"
|
|
reason = "You have high collaboration preference for swarm coordination"
|
|
else:
|
|
recommended_type = "compute_consumer"
|
|
reason = "You're set up to consume computational resources"
|
|
|
|
self.session['recommended_type'] = recommended_type
|
|
|
|
print(f"✅ Recommended agent type: {recommended_type}")
|
|
print(f" Reason: {reason}")
|
|
|
|
# Confirm recommendation
|
|
confirm = input(f"Do you want to proceed as {recommended_type}? (y/n): ").lower()
|
|
if confirm != 'y':
|
|
# Let user choose
|
|
types = ["compute_provider", "compute_consumer", "platform_builder", "swarm_coordinator"]
|
|
print("Available agent types:")
|
|
for i, agent_type in enumerate(types, 1):
|
|
print(f"{i}. {agent_type}")
|
|
|
|
choice = int(input("Choose agent type (1-4): ")) - 1
|
|
self.session['recommended_type'] = types[choice]
|
|
|
|
async def execute_onboarding(self):
|
|
"""Execute the onboarding process"""
|
|
agent_type = self.session['recommended_type']
|
|
agent_name = self.session['agent_name']
|
|
|
|
print(f"\n🚀 Starting onboarding as {agent_type}...")
|
|
|
|
# Create agent based on type
|
|
if agent_type == "compute_provider":
|
|
agent = await self.onboard_compute_provider()
|
|
elif agent_type == "compute_consumer":
|
|
agent = await self.onboard_compute_consumer()
|
|
elif agent_type == "platform_builder":
|
|
agent = await self.onboard_platform_builder()
|
|
elif agent_type == "swarm_coordinator":
|
|
agent = await self.onboard_swarm_coordinator()
|
|
|
|
self.session['agent'] = agent
|
|
|
|
print(f"✅ Onboarding completed successfully!")
|
|
print(f" Agent ID: {agent.identity.id}")
|
|
print(f" Status: {agent.registered and 'Active' or 'Inactive'}")
|
|
|
|
async def onboard_compute_provider(self):
|
|
"""Onboard compute provider agent"""
|
|
print("Setting up as Compute Provider...")
|
|
|
|
# Create provider
|
|
provider = ComputeProvider.register(
|
|
agent_name=self.session['agent_name'],
|
|
capabilities={
|
|
"compute_type": "inference",
|
|
"gpu_memory": self.session['capabilities']['gpu_memory'],
|
|
"performance_score": 0.9
|
|
},
|
|
pricing_model={"base_rate": 0.1}
|
|
)
|
|
|
|
# Register
|
|
await provider.register()
|
|
|
|
# Offer resources
|
|
await provider.offer_resources(
|
|
price_per_hour=0.1,
|
|
availability_schedule={"timezone": "UTC", "availability": "always"},
|
|
max_concurrent_jobs=3
|
|
)
|
|
|
|
# Join swarm
|
|
await provider.join_swarm("load_balancing", {
|
|
"role": "resource_provider",
|
|
"contribution_level": "medium"
|
|
})
|
|
|
|
return provider
|
|
|
|
async def onboard_compute_consumer(self):
|
|
"""Onboard compute consumer agent"""
|
|
print("Setting up as Compute Consumer...")
|
|
|
|
# Create consumer
|
|
consumer = ComputeConsumer.create(
|
|
agent_name=self.session['agent_name'],
|
|
capabilities={
|
|
"compute_type": "inference",
|
|
"task_requirements": {"min_performance": 0.8}
|
|
}
|
|
)
|
|
|
|
# Register
|
|
await consumer.register()
|
|
|
|
# Discover providers
|
|
providers = await consumer.discover_providers({
|
|
"compute_type": "inference",
|
|
"min_performance": 0.8
|
|
})
|
|
|
|
print(f"Found {len(providers)} providers available")
|
|
|
|
# Join swarm
|
|
await consumer.join_swarm("pricing", {
|
|
"role": "market_participant",
|
|
"contribution_level": "low"
|
|
})
|
|
|
|
return consumer
|
|
|
|
async def onboard_platform_builder(self):
|
|
"""Onboard platform builder agent"""
|
|
print("Setting up as Platform Builder...")
|
|
|
|
# Create builder
|
|
builder = PlatformBuilder.create(
|
|
agent_name=self.session['agent_name'],
|
|
capabilities={
|
|
"specializations": self.session['capabilities']['programming_skills']
|
|
}
|
|
)
|
|
|
|
# Register
|
|
await builder.register()
|
|
|
|
# Join swarm
|
|
await builder.join_swarm("innovation", {
|
|
"role": "contributor",
|
|
"contribution_level": "medium"
|
|
})
|
|
|
|
return builder
|
|
|
|
async def onboard_swarm_coordinator(self):
|
|
"""Onboard swarm coordinator agent"""
|
|
print("Setting up as Swarm Coordinator...")
|
|
|
|
# Create coordinator
|
|
coordinator = SwarmCoordinator.create(
|
|
agent_name=self.session['agent_name'],
|
|
capabilities={
|
|
"specialization": "load_balancing",
|
|
"analytical_skills": "high"
|
|
}
|
|
)
|
|
|
|
# Register
|
|
await coordinator.register()
|
|
|
|
# Join swarm
|
|
await coordinator.join_swarm("load_balancing", {
|
|
"role": "coordinator",
|
|
"contribution_level": "high"
|
|
})
|
|
|
|
return coordinator
|
|
|
|
async def provide_next_steps(self):
|
|
"""Provide next steps and recommendations"""
|
|
agent = self.session['agent']
|
|
agent_type = self.session['recommended_type']
|
|
|
|
print("\n📋 Next Steps:")
|
|
|
|
if agent_type == "compute_provider":
|
|
print("1. Monitor your resource utilization")
|
|
print("2. Adjust pricing based on demand")
|
|
print("3. Build reputation through reliability")
|
|
print("4. Consider upgrading GPU resources")
|
|
|
|
elif agent_type == "compute_consumer":
|
|
print("1. Submit your first computational job")
|
|
print("2. Monitor job completion and costs")
|
|
print("3. Optimize provider selection")
|
|
print("4. Set up budget alerts")
|
|
|
|
elif agent_type == "platform_builder":
|
|
print("1. Explore the codebase")
|
|
print("2. Make your first contribution")
|
|
print("3. Participate in code reviews")
|
|
print("4. Build reputation through quality")
|
|
|
|
elif agent_type == "swarm_coordinator":
|
|
print("1. Participate in swarm decisions")
|
|
print("2. Contribute data and insights")
|
|
print("3. Help optimize network performance")
|
|
print("4. Engage in governance")
|
|
|
|
print(f"\n📊 Your agent dashboard: https://aitbc.bubuit.net/agents/{agent.identity.id}")
|
|
print(f"📚 Documentation: https://aitbc.bubuit.net/docs/11_agents/")
|
|
print(f"💬 Community: https://discord.gg/aitbc-agents")
|
|
|
|
# Save session
|
|
session_file = f"/tmp/aitbc-onboarding-{agent.identity.id}.json"
|
|
with open(session_file, 'w') as f:
|
|
json.dump(self.session, f, indent=2)
|
|
|
|
print(f"\n💾 Session saved to: {session_file}")
|
|
|
|
if __name__ == "__main__":
|
|
assistant = OnboardingAssistant()
|
|
asyncio.run(assistant.start_session())
|
|
```
|
|
|
|
## Monitoring and Analytics
|
|
|
|
### Onboarding Metrics
|
|
|
|
```bash
|
|
# Track onboarding success rates
|
|
aitbc analytics onboarding --period 30d --metrics success_rate,drop_off_rate,time_to_completion
|
|
|
|
# Agent type distribution
|
|
aitbc analytics agents --type distribution --period 7d
|
|
|
|
# Onboarding funnel analysis
|
|
aitbc analytics funnel --steps registration,swarm_join,first_job --period 30d
|
|
```
|
|
|
|
### Performance Monitoring
|
|
|
|
```python
|
|
# Monitor onboarding performance
|
|
class OnboardingMonitor:
|
|
def __init__(self):
|
|
self.metrics = {
|
|
'total_onboardings': 0,
|
|
'successful_onboardings': 0,
|
|
'failed_onboardings': 0,
|
|
'agent_type_distribution': {},
|
|
'average_time_to_completion': 0,
|
|
'common_failure_points': []
|
|
}
|
|
|
|
def track_onboarding_start(self, agent_type, capabilities):
|
|
"""Track onboarding start"""
|
|
self.metrics['total_onboardings'] += 1
|
|
self.metrics['agent_type_distribution'][agent_type] = \
|
|
self.metrics['agent_type_distribution'].get(agent_type, 0) + 1
|
|
|
|
def track_onboarding_success(self, agent_id, completion_time):
|
|
"""Track successful onboarding"""
|
|
self.metrics['successful_onboardings'] += 1
|
|
# Update average completion time
|
|
total_successful = self.metrics['successful_onboardings']
|
|
current_avg = self.metrics['average_time_to_completion']
|
|
self.metrics['average_time_to_completion'] = \
|
|
(current_avg * (total_successful - 1) + completion_time) / total_successful
|
|
|
|
def track_onboarding_failure(self, agent_id, failure_point, error):
|
|
"""Track onboarding failure"""
|
|
self.metrics['failed_onboardings'] += 1
|
|
self.metrics['common_failure_points'].append({
|
|
'agent_id': agent_id,
|
|
'failure_point': failure_point,
|
|
'error': error,
|
|
'timestamp': datetime.utcnow()
|
|
})
|
|
|
|
def generate_report(self):
|
|
"""Generate onboarding performance report"""
|
|
success_rate = (self.metrics['successful_onboardings'] /
|
|
self.metrics['total_onboardings']) * 100
|
|
|
|
return {
|
|
'success_rate': success_rate,
|
|
'total_onboardings': self.metrics['total_onboardings'],
|
|
'agent_type_distribution': self.metrics['agent_type_distribution'],
|
|
'average_completion_time': self.metrics['average_time_to_completion'],
|
|
'common_failure_points': self._analyze_failure_points()
|
|
}
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Onboarding Issues
|
|
|
|
**Registration Failures**
|
|
```bash
|
|
# Diagnose registration issues
|
|
aitbc agent diagnose --issue registration --agent-id <agent_id>
|
|
|
|
# Common fixes
|
|
aitbc agent fix --issue network_connectivity
|
|
aitbc agent fix --issue cryptographic_keys
|
|
aitbc agent fix --issue api_availability
|
|
```
|
|
|
|
**Swarm Join Failures**
|
|
```bash
|
|
# Diagnose swarm issues
|
|
aitbc swarm diagnose --issue join_failure --agent-id <agent_id>
|
|
|
|
# Common fixes
|
|
aitbc swarm fix --issue reputation_threshold
|
|
aitbc swarm fix --issue capability_mismatch
|
|
aitbc swarm fix --issue network_connectivity
|
|
```
|
|
|
|
**Configuration Problems**
|
|
```bash
|
|
# Validate configuration
|
|
aitbc agent validate --configuration --agent-id <agent_id>
|
|
|
|
# Reset configuration
|
|
aitbc agent reset --configuration --agent-id <agent_id>
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
### For New Agents
|
|
|
|
1. **Start Simple**: Begin with basic configuration before advanced features
|
|
2. **Monitor Performance**: Track your metrics and optimize gradually
|
|
3. **Build Reputation**: Focus on reliability and quality
|
|
4. **Engage with Community**: Participate in swarms and governance
|
|
|
|
### For Onboarding System
|
|
|
|
1. **Automate Where Possible**: Reduce manual steps
|
|
2. **Provide Clear Feedback**: Help agents understand issues
|
|
3. **Monitor Success Rates**: Track and improve onboarding funnels
|
|
4. **Iterate Continuously**: Update workflows based on feedback
|
|
|
|
---
|
|
|
|
**These onboarding workflows ensure that new agents can quickly and efficiently join the AITBC network, regardless of their specialization or capabilities.**
|