Tendril: Самодействующий агент, создающий и регистрирующий инструменты на лету

✍️ OpenClawRadar📅 Опубликовано: 27 апреля 2026 г.🔗 Source
Ad

Tendril — это самодостаточная агентная песочница, демонстрирующая шаблон Agent Capability: модель автономно находит, создает и использует инструменты в разных сессиях. Построена на основе AWS Strands Agents SDK и Tauri.

Как это работает

Вы просите Tendril что-то сделать. Она проверяет свой реестр возможностей. Если инструмент существует — использует его. Если нет — пишет, регистрирует и выполняет его — все без запросов. В следующий раз, когда понадобится то же самое, инструмент уже будет готов.

Вы: "покажи топ историй с Hacker News"
Tendril: → searchCapabilities("fetch url hacker news") # ничего не найдено
         → registerCapability(fetch_url, code) # создает инструмент
         → execute("fetch_url", {url: "https://..."}) # запускает по имени
         → "Вот топ историй: ..."

Вы: "теперь покажи Lobsters и сравни" Tendril: → listCapabilities() # найден: fetch_url ✓ → execute("fetch_url", {url: "https://lobste.rs"}) # запускает — без пересборки

Реестр растет с использованием. Каждая новая сессия умнее предыдущей.

Конфигурация агента

Ядро Tendril — это агент Strands всего с тремя базовыми инструментами:

import { Agent } from '@strands-agents/sdk';
import { BedrockModel } from '@strands-agents/sdk/models/bedrock';

const agent = new Agent({ model: new BedrockModel({ modelId: '...', region: '...' }), systemPrompt: TENDRIL_SYSTEM_PROMPT(workspacePath), printer: nullPrinter, tools: [ listCapabilities(registry), registerCapability(registry), executeCode(registry, workspacePath, config), ], });

Ad

Правила системного промпта

Системный промпт обеспечивает автономное поведение:

  • Вызывайте searchCapabilities(query), чтобы проверить, существует ли подходящий инструмент
  • Если найден: вызывайте loadTool(name), затем execute(code, args)
  • Если НЕ найден: вы ОБЯЗАНЫ создать инструмент самостоятельно
  • НИКОГДА не спрашивайте «хотите, я создам инструмент?» — просто создавайте
  • Если инструмент не сработал, читайте ошибку, исправляйте код и повторяйте попытку
  • НИКОГДА не отвечайте из обучающих данных, если с помощью инструмента можно получить актуальную информацию

Архитектура

┌─────────────────────────────────────────┐
│ Tauri Shell (Rust)                      │
│  ACP Host ──stdin/stdout──► Agent      │
│  (acp.rs)          NDJSON    (Node.js SEA)│
│  Events ◄── session/update ──┘          │
│  (events.rs)                            │
│  Tauri Events ──► React Frontend        │
│  (TailwindCSS v4)                       │
└─────────────────────────────────────────┘

Agent internals: Strands SDK ── BedrockModel ── Claude │ 4 bootstrap tools ┌────┴────┐ │ Registry │ ←→ index.json + tools/*.ts └─────────┘ ┌────┴────┐ │ Sandbox │ ←→ Deno subprocess (sandboxed)

Агентский цикл выполняется внутри agent.stream() и связывается с протоколом ACP, отправляя фазы think, act и observe в интерфейс.

Решение проблемы «слишком много инструментов»

Большинство агентных фреймворков выдают модели большой набор инструментов и надеются, что она выберет правильный. Tendril переворачивает подход — модель всегда видит ровно три инструмента. Она ищет в реестре, создает то, что нужно, и реестр со временем растет. Поверхность инструментов не меняется; меняются возможности.

📖 Читать полный исходный код: HN AI Agents

Ad

👀 Смотрите также

Навык Claude Code рефакторит React-компоненты по принципу «Не заставляй меня думать»
Инструменты

Навык Claude Code рефакторит React-компоненты по принципу «Не заставляй меня думать»

Новый навык Claude Code автоматически рефакторит React-компоненты для удобства использования на основе принципов Стива Круга — убирает «пустую болтовню», выделяет основные CTA, исправляет пустые состояния и состояния ошибок, а также уточняет подписи.

OpenClawRadar
MoltNow.app: Деплой OpenClaw в один клик
Инструменты

MoltNow.app: Деплой OpenClaw в один клик

Новый сервис обещает упростить развёртывание OpenClaw до одного клика с кастомным UI и браузерной автоматизацией.

MoltNow.app builder
Открытый MCP-сервер памяти с графом знаний и функциями обучения
Инструменты

Открытый MCP-сервер памяти с графом знаний и функциями обучения

Открытый MCP-сервер, написанный на Rust, предоставляет постоянную память для ИИ-агентов с архитектурой графа знаний, геббовским обучением и гибридным поиском. Его размер составляет 7,6 МБ с задержкой менее миллисекунды, и он работает с любым MCP-совместимым клиентом.

OpenClawRadar
Statespace: Создавайте интерактивные веб-приложения для агентов OpenClaw с помощью Markdown
Инструменты

Statespace: Создавайте интерактивные веб-приложения для агентов OpenClaw с помощью Markdown

Statespace — это бесплатный, открытый фреймворк для создания и обмена веб-приложениями, совместимыми с ИИ, которыми агенты OpenClaw могут управлять и взаимодействовать с ними, используя чистый Markdown. Он позволяет определять инструменты, компоненты и инструкции в Markdown-файлах, к которым агенты получают доступ через HTTP.

OpenClawRadar