reymer.ai
Новости
/
Данные
/
Инструменты
/
Знания
reymer.ai

Медиапортал об автономном бизнесе, AI-трансформации и автономизации.

hello@reymer.ai

Новости

  • Все новости
  • AI-дайджесты

Инструменты

  • Каталог
  • Коллекции
  • Сравнения
  • Промпты
  • Поиск для агентов

Данные

  • AI-рынки
  • Value Chain
  • Цены API
  • Калькулятор
  • AI Intelligence: инсайдеры и фонды

Знания

  • Вся база знаний
  • Карта профессий и AI
  • AI-агенты для бизнеса
  • AI для профессий
  • Gartner MQ анализы
  • Оценка автономизации
  • Глоссарий
  • Кейсы внедрения ИИ
  • FAQ

Справочники

  • Автономный бизнес
  • Claude Code Tips
  • Вайб-кодинг
  • MCP Protocol
  • AI-кодинг агенты
  • Agent Frameworks
  • Deep Thinking Prompts
  • Гид по AI-агентам
  • OpenClaw vs NanoClaw
  • Конституция Claude

Курсы

  • Все курсы
  • Основы AI
  • Промпт-инжиниринг
  • Claude 101
  • Claude Code
  • Claude Agent Skills
  • Perplexity Pro 101
  • OpenClaw 101
  • NanoClaw 101
  • PicoClaw 101

© 2026 reymer.ai · СТАТУС СИСТЕМЫ: РАБОТАЕТ

О проектеПолитика конфиденциальности
NanoClaw 101: Безопасный AI-агент за 500 строк

Что такое NanoClaw

  • Что такое NanoClaw8 мин
  • OpenClaw vs NanoClaw10 мин
  • Модель безопасности NanoClaw10 мин

Возможности

  • Ключевые фичи8 мин
  • Agent Swarms: команды AI-агентов10 мин

Установка и запуск

  • Подготовка к установке7 мин
  • Установка NanoClaw8 мин
  • Подключение к WhatsApp10 мин

Практические кейсы

  • Создание первого агента10 мин
  • Создание Agent Swarm12 мин
  • Реальные примеры8 мин

Продвинутые темы

  • Anthropic Agents SDK под капотом12 мин
  • Экосистема и что дальше7 мин
Урок 12 из 13•12 мин

Anthropic Agents SDK под капотом

Цели урока

После прохождения этого урока вы сможете:

  • 1Понять, как NanoClaw использует Anthropic Agents SDK
  • 2Изучить механизм определения инструментов (tool definitions)
  • 3Разобраться в потоковой передаче сообщений (streaming)
  • 4Научиться расширять NanoClaw собственными инструментами

Anthropic Agents SDK — основа NanoClaw

NanoClaw построен на Anthropic Agents SDK — официальном фреймворке для создания AI-агентов на базе Claude. SDK берёт на себя всю сложность взаимодействия с API: управление разговором, tool use, streaming, обработку ошибок. NanoClaw добавляет к этому контейнерную изоляцию и WhatsApp-интерфейс.

Архитектура NanoClaw (500 строк)

Вся кодовая база NanoClaw состоит из нескольких логических блоков. Рассмотрим, как ~500 строк TypeScript организованы:

БлокСтрок (примерно)Назначение
Agent Runtime~120Запуск агента в контейнере, управление жизненным циклом
Tool Definitions~100Определения инструментов (file, web, system)
WhatsApp Bridge~80Приём и отправка сообщений WhatsApp
Container Manager~80Создание/уничтожение контейнеров (Docker/Apple)
Swarm Orchestrator~70Координация агентов в swarm
Config & Types~50Типы TypeScript и загрузка конфигурации

Как определяются инструменты

Anthropic Agents SDK использует typed tool definitions — типизированные определения инструментов, которые Claude может вызывать. NanoClaw определяет каждый инструмент с именем, описанием и JSON Schema параметров.

typescript
import { Tool } from '@anthropic-ai/agents';

const listFilesTool: Tool = {
  name: 'list_files',
  description: 'Показать список файлов в указанной директории',
  input_schema: {
    type: 'object',
    properties: {
      path: {
        type: 'string',
        description: 'Путь к директории (внутри контейнера)'
      },
      recursive: {
        type: 'boolean',
        description: 'Рекурсивный обход поддиректорий',
        default: false
      }
    },
    required: ['path']
  },
  async execute({ path, recursive }) {
    // Выполняется ВНУТРИ контейнера
    const files = await listDirectory(path, recursive);
    return JSON.stringify(files);
  }
};

Streaming: потоковая передача ответов

NanoClaw использует streaming API для отправки ответов по мере их генерации. Это критически важно для WhatsApp: пользователь видит, что агент «печатает», а не ждёт полного ответа.

typescript
import { Agent } from '@anthropic-ai/agents';

const agent = new Agent({
  model: 'claude-sonnet-4-5-20250514',
  tools: [listFilesTool, readFileTool, writeFileTool],
  system: config.system_prompt
});

// Потоковая обработка ответа
for await (const chunk of agent.stream(userMessage)) {
  if (chunk.type === 'text') {
    await whatsapp.sendTyping(chatId);
    buffer += chunk.content;
  }
  if (chunk.type === 'tool_use') {
    const result = await executeTool(chunk.tool, chunk.input);
    agent.submitToolResult(chunk.id, result);
  }
}

Добавление собственных инструментов

Благодаря простоте кодовой базы, добавить новый инструмент в NanoClaw — тривиальная задача. Нужно определить Tool-объект и добавить его в массив инструментов агента.

typescript
// Пример: добавление инструмента "калькулятор"
const calculatorTool: Tool = {
  name: 'calculator',
  description: 'Вычислить математическое выражение',
  input_schema: {
    type: 'object',
    properties: {
      expression: {
        type: 'string',
        description: 'Математическое выражение (например: 2 + 2 * 3)'
      }
    },
    required: ['expression']
  },
  async execute({ expression }) {
    // Безопасное вычисление (без eval!)
    const result = safeEvaluate(expression);
    return String(result);
  }
};

При создании собственных инструментов никогда не используйте eval() или Function() для выполнения пользовательского ввода. Это создаёт уязвимость для code injection. Используйте безопасные парсеры и валидаторы.

Весь код NanoClaw — 500 строк. Вы можете прочитать его целиком за 8 минут, понять каждую строку и модифицировать с полной уверенностью в последствиях. Это принципиальное отличие от фреймворков с десятками тысяч строк.

Вопросы для размышления

  • •Какие собственные инструменты вы бы добавили в NanoClaw?
  • •Почему важно, чтобы инструменты выполнялись внутри контейнера, а не на хост-системе?
  • •Как streaming улучшает пользовательский опыт в WhatsApp?
Реальные примерыЭкосистема и что дальше

Источник: Qwibit. © 2026 Reymer AI