Comments 14
что я не поняло, так зачем плодить сущности, и делать отдельный ACP и A2G если все равно оно работает через A2A.
Сам все это гоняю, и в отсутствие единого стандарта аля MCP получается какая каша.
Не a2g, а ag2 - это фреймворк для создания агентов. В статье как раз написано, что данный протокол (ACP) регламентирует управление CLI агентами
А есть нормальная обзорная статья по AG2? Может напишете
хорошо, у меня тогда более глубокий вопрос, на который я сам себе ответить не могу, что лучше реализовывать, A2A с подобным протоколом, что удобно, ведь из коробки, или все это через шину, с алгоритмическим управлением event'ов.
Если у пользователя идет общение с родительским агентом, то все event сообщения от вторичного агента становятся контекст-спамом, на который агент для пользователя будет отвлекаться. Если скипать, то где тогда event'ы брать?
Городить шину поверх A2A? или в AG2 есть хорошие решения?
В AG2 есть встроенная поддержка A2A - https://docs.ag2.ai/docs/user-guide/a2a/client/
Ничего не надо самому писать: завернул одного агента в A2A-Server, в другом сделал A2A-Client для работы с этим сервером и воткнул сабагентом - все
Затем, чтобы дешевле стало создавать новых агентов согласно принятым стандартам - и тем способствовать их конкуренции с закрытыми агентами, в первую очередь CC и Codex-ом.
Это нужно MS, которая планирует превратить свои OS и облачную экосистему в агентский харнесс.
Отличная статья, спасибо. Хочу добавить пару мыслей из практики - про то, где ACP-агенты в «авто»-режиме неожиданно больно кусаются.
1. Permission_policy="auto" не равен «безопасно» fs_root не контролирует сетевые вызовы. Агент может сходить в платный API, запушить в GitHub под вашими кредами, дёрнуть npm install из скомпрометированного пакета - и ни одна из этих операций не попадёт под fs_root. Граница, за которой человек обязан остаться в цикле - там, где действие имеет необратимые последствия за пределами файловой системы.
2. Стрим событий - главная фича, её недооценивают Через события можно строить дашборд, где сразу видно: сколько токенов ушло на размышления vs на код, какие файлы трогал, на каком шаге завис. Без стрима вы не отловите режим, когда агент 40 раз подряд читает один файл, потому что «забыл» его содержимое. Для production-эксплуатации события важнее, чем сам факт программного управления.
3. В протоколе не хватает rate limiting / cost control Нет механизма сказать агенту «у тебя осталось 5000 токенов» или «ты уже сделал 20 tool calls». Один неудачный промпт может сжечь квоту. Можно убить процесс на стороне хоста, но было бы удобнее, если бы протокол позволял передавать бюджет агенту.
4. ACP vs MCP - их путают MCP - tools layer (агент → инструменты), ACP - orchestration layer (код → агент), A2A - network layer (агент ↔ агент). Разные уровни абстракции, и хорошо, что стандартизированы независимо.
Спасибо, правда не сталкивался с тем, что люди путают данные протоколы, ибо каждый под разную задачу)
https://habr.com/ru/articles/468491/
Если статья понравилась, Вы же понимаете, какой показатель не слишком высок?)
По поводу безопасности, все знают, что буква S в аббревиатурах ai, acp и a2a обозначает Security.:) Я думаю, самые громкие будущие атаки на доверенную среду будут так или иначе использовать внедренные мультиагентные системы...
Полезная вводная информация про ACP (Agent Client Protocol) - инструмент, который будет управлять CLI, чтобы вам меньше самому переписываться с ии в консоли.
CLI программы умеют достаточно хорошо управлять ИИ агентами. И чтобы внутри вашей программы не изобретать сложной системы управления ии агентами. Программа теперь может не вызывать ИИ напрямую, а вызывать ии агентов через CLI упряжку, которая уже внутри себя управляет ИИ агентами, суб агентами и т. д.
Единственное что надо от вашей программы теперь это уже управление самой этой упряжкой, ответы на запросы от ИИ агентов и т. д.
Сначала мы создали CLI чтобы человеку было удобно управлять ИИ агентами через своеобразную упряжку в виде CLI. Теперь мы хотим управлять этой упряжкой из других программ, в том числе и из других ИИ агентов насколько я понимаю, которые могут быть как в нашей программе, так и в другой CLI программе. Так может получиться достаточно интересная и не очевидная рекурсия CLI упряжек между собой 😂😂😂
Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP