Дійсно, Манус розумний і вони розділили інструмент на 3 шари: Рівень 1: Виклик функцій Це найпростіший шар, який містить лише невелику кількість фіксованих, атомізованих функцій, таких як читання та запис файлів, виконання команд оболонки, пошук файлів тощо. У системному рядку LLM є лише цей шар визначень інструментів, яких відносно небагато, в межах 15, а формати введення та виводу дуже чіткі та нелегко допустити помилки, але в ньому є два спеціальні інструменти, один — Shell, а інший — File. Рівень 2: Утиліти в пісочниці Кожен сеанс Manus проходить у повноцінній пісочниці віртуальної машини. Як згадувалося в оригінальному твіті, віртуальна машина поставляється з попередньо встановленими безліччю інструментів командного рядка, таких як конвертери форматів, інструменти розпізнавання мови і навіть клієнт командного рядка MCP. Потім ці інструменти викликаються через оболонку, визначену на рівні 1, яка є інструментом командного рядка, викликом командного рядка. Але як знають стільки моделей інструментів? Manus повідомляє LLM безпосередньо в системному запиті, що в певній папці є багато встановлених інструментів командного рядка. Що стосується найбільш часто використовуваних інструментів, перерахуйте їх безпосередньо за назвою. Для тих, хто не використовується часто, LLM можуть безпосередньо перелічити всі інструменти командного рядка за допомогою команд, згаданих у початковому push-записі, і використовувати параметр --help, щоб побачити використання будь-якої з них, оскільки всі вони розроблені самі по собі та мають єдиний формат. Рівень 3: Пакети та API Цей шар насправді є LLM, який пише код Python у режимі реального часу, а більш складні функції реалізуються за допомогою коду. Наприклад, якщо користувач хоче запросити дані API, він може безпосередньо написати функцію на Python, щоб отримати дані API та проаналізувати їх у необхідному форматі. Насправді, в Codex використання коду Python як інструменту використовується дуже часто. Оскільки складні операції виконуються за допомогою коду, результати обчислень знань, що повертаються головному агенту, не займають контекст головного агента. Перевага цього тришарового дизайну полягає в тому, що з точки зору моделі, інструменти, які він повинен викликати, закріплені на дюжині або близько того першого шару, і за допомогою командного рядка та коду він може отримати незліченну кількість комбінацій інструментів. Ще один момент – це субагент, про якого я згадував у своєму попередньому твіті, Манус також використовує багато моделей «агент як інструмент». Використовуйте субагента як інструмент, наприклад, субагент, відповідальний за пошук, є субагентом, але цей субагент є інструментом в очах головного агента. У той же час, це також може зіграти хорошу роль у зменшенні контексту.