PenguinHarness — автоматический конструктор самообучающихся агентов
📂 Исходный код на GitHubAutomated Agent Builder: use DeepSeek or GPT to create self-evolving agents in one click.
PenguinHarness — автоматический конструктор самообучающихся агентов
PenguinHarness — open-source инструмент (лицензия Apache-2.0) от команды Prism Shadow под руководством Yaowei Zheng (автора LlamaFactory), который позиционирует себя как «автоматический конструктор агентов». Вместо того чтобы вручную собирать агента на фреймворке, вы пишете одну фразу — а агент строит для вас полноценное агентное приложение: каркас, код и инструкции по запуску, от начала и до конца. Затем этот же агент может оценивать и оптимизировать сам себя, выпуская новые версии собственных навыков.
Ключевая идея сформулирована в README репозитория как противопоставление LangChain:
С LangChain вы собираете агентов вручную — со скоростью 1×. С PenguinHarness агенты собирают агентов — со скоростью 100×.
Инструмент распространяется как десктопное приложение (macOS, Windows, Linux) и как CLI с npm-пакетом, при этом оба варианта используют одну и ту же директорию данных ~/.penguin/data.
Три причины, выделенные авторами
Разработчики намеренно расставляют причины в определённом порядке — от качества выполнения задач к способу сборки агентов и их саморазвитию.
1. Высокие результаты при значительно меньших затратах
PenguinHarness использует намеренно минимальный набор инструментов поверх чистых низкоуровневых интерфейсов: меньше вызовов инструментов, меньше токенов. Стек глубоко оптимизирован под открытые модели, в первую очередь DeepSeek. В сравнительных тестах проект показывает лучшую точность на задачах анализа данных — при цене примерно в 1/70 от стоимости Claude Code на тех же задачах, а на кодинге идёт вровень с OpenAI Codex.
2. Одна фраза — и агент собирает агентное приложение
Из README — пример задания, который агент выполняет целиком:
Collect the docs from https://github.com/ericbuess/claude-code-docs and build a RAG app that answers Claude Code questions as a configuration expert, citing its sources.
Результат — полноценный эксперт по документации с retrieval, цитируемыми источниками, ссылающимися на исходные файлы, и встроенными примерами вопросов. По заявлению авторов, на генерацию всего RAG-приложения ушло около $0.02 токенов на DeepSeek V4 Pro.
3. Самоэволюция: агент становится сильнее в процессе использования
Через механизм PenguinHarness Skills агент оценивает и оптимизирует себя: запускает бенчмарк, находит потерянные баллы, выпускает версию N+1. Перед каждым циклом делается снапшот состояния, а каждый запрос можно наблюдать в Trace-представлении.
Встроенные навыки
В комплекте идёт четыре группы навыков (полная документация — на сайте проекта). Агенты также могут писать и оптимизировать собственные навыки.
| Группа | Навыки |
|---|---|
| Office Productivity | data-analysis, firecrawl |
| Software Development | web-design, software-engineering |
| AI App Development | penguin-sdk, penguin-cli, agenthub-models, vllm, ollama, llamafactory |
| Agent Tuning | agent-creation, benchmark-design, agent-evaluation, agent-optimization |
Поддерживаемые модели
Для каждой модели представлены несколько провайдеров; в приложении страница Models содержит все встроенные пресеты, а любой OpenAI-совместимый endpoint подходит — можно выбрать пресет или указать кастомный endpoint для 1000+ онлайн- и локальных моделей.
| Модель | Провайдеры |
|---|---|
| DeepSeek V4 | DeepSeek, OpenRouter, Fireworks AI, SiliconFlow, Qwen Token Plan, Qwen Pay-As-You-Go |
| Kimi K3 | Moonshot AI, OpenRouter, Qwen Pay-As-You-Go |
| GLM 5.2 | Z.AI, OpenRouter, Fireworks AI, SiliconFlow, Qwen Token Plan, Qwen Pay-As-You-Go |
| Hunyuan 3 | OpenRouter |
| Qwen 3.8 Max | Qwen Token Plan, Qwen Pay-As-You-Go, OpenRouter |
| GPT 5.6 | OpenRouter |
| Gemini 3.6 Flash | Google Gemini, OpenRouter |
| Claude 5 | Anthropic, OpenRouter |
Используются только последние поколения каждой модели.
Требования
| Требование | Поддержка |
|---|---|
| ОС | Linux, macOS, Windows 10+ |
| Архитектура | x64, arm64 |
| Runtime | поставляется однострочным установщиком (при установке через npm нужен Node >= 24) |
| Модель | API-ключ хотя бы одной модели |
Установка
Есть два способа, оба работают с одним корнем данных ~/.penguin/data, поэтому десктопную и CLI-установку можно свободно смешивать.
Десктопное приложение — установка в два клика: приложение встраивает сервер и открывается уже авторизованным, без терминала и пароля. CLI — однострочный установщик (или npm / офлайн-пакет) ставит команду penguin, а penguin web открывает полный веб-интерфейс в браузере на http://127.0.0.1:7364: мультисессионный чат, управление агентами/навыками/моделями, статистика использования, Trace-наблюдаемость и центр оценки.
На CLI-установке первый вход — admin, с начальным паролем, выводимым при первом запуске сервера (вида penguin-1234); его нужно сменить сразу после входа. Модели настраиваются на странице Models в приложении.
Быстрая установка и запуск:
curl -fsSL https://penguin.ooo/install.sh | sh
penguin web # start the service and open http://127.0.0.1:7364
Установка через npm (Node >= 24):
npm install -g @prismshadow/penguin-cli
penguin web
Для Windows есть PowerShell-установщик (irm https://penguin.ooo/install.ps1 | iex), для изолированных сетей — офлайн-установка из архива с GitHub Releases, где каждый пакет включает payload программы, SHA256-контрольную сумму и установщик платформы в одном файле.
Текущие сборки не подписаны, поэтому первая установка может потребовать разового снятия блокировки: sudo xattr -rd com.apple.quarantine /Applications/PenguinHarness.app на macOS, «Run anyway» в SmartScreen на Windows и chmod +x для AppImage на Linux.
CLI и SDK — для агентов
Тот же движок доступен скриптово, и он задуман как раз для того, чтобы им управляли агенты (в том числе агенты, которые собирают других агентов):
penguin config model add --provider deepseek --model-id deepseek-v4-flash --api-key sk-... --set-default
penguin run -m "Create hello.txt containing Hello, Penguin" # one-shot task
penguin chat # interactive REPL (/compact, /exit, Ctrl-C to interrupt)
penguin server # headless service (same API the Web App uses)
SDK на TypeScript (@prismshadow/penguin-core) позволяет встраивать агента в свои приложения с поканальным подтверждением вызовов инструментов:
import { createAgent, isCompleteModelMessage, userText } from "@prismshadow/penguin-core";
const agent = await createAgent({ agentId: "default_agent" });
const session = await agent.createSession({ workspaceDir: process.cwd() });
for await (const output of session.run([userText("Create hello.txt containing hi")], {
approve: async () => "allow", // per-tool-call approval
})) {
if (isCompleteModelMessage(output) && output.payload.type === "text") {
console.log(output.payload.text);
}
}
Roadmap
Публичная версия бенчмарк-набора, агентные компании и шаблоны, самоэволюция на уровне компаний, интеграция OpenShell (shell с управлением правами). Десктопное приложение и поддержка Windows уже реализованы.
Разработка проекта
pnpm install && pnpm build # build first: core's exports point at dist/
pnpm dev # backend + web app together (prefixed logs, deps built once)
Выводы
PenguinHarness — интересный пример практической реализации идеи «агенты строят агентов» с уклоном в экономичность: вместо пышного фреймворка — минимальный набор инструментов, заточенный под конкретные модели. Для тех, кто хочет быстро получить рабочего агента из одной формулировки задачи, не собирая пайплайны вручную, это готовая альтернатива и десктопному, и CLI-подходу одновременно.