"⚪️ CLI: json vs args Пока мы ждем ресетов от Тибо, небольшой технический пост про архитектуру CLI, которая удобна для агентов. MS написала небольшой, но практически полезный пост. Обратил на него внимание благодаря тому, что интуитивно сам так делаю. Кейс простой: если делаешь свое CLI (а я под любой сой облачный сервис стараюсь такой делать), как передать в cli сложные параметры? Есть два способа: 1️⃣ давать аргументами вида : ``` my-cli --some-argument value \ --some-other-argument one-more-value \ ... ``` 2️⃣ а можно передать json структуру : ``` my-cli --json '{ ""some-argument"": ""value"", ""some-other-argument"": ""value"", ... }' ``` Есть разспространенное заблуждение, что JSON лучше и понятнее для агентов. MS протестировала - нет, не лучше. Сложнее, чем линейный список аргументов. Несмотря на то, что линейный список выглядит громоздким - он простой и понятный. А для json модели требуется понять схему, сформирвоать иерархию значений, соблюсти синтаксис json и правильно подать в аргументах. Задач кратно больше. 🔗 Подробнее с тестами тут : https://developer.microsoft.com/blog/dont-rewrite-your-cli-for-agents/ 👉 Вывод немного очевиден. Для сильных моделей разницы нету, но это не значит что на такую задачу не уйдет ресурс внимания, которое лучше потратить на более созидательную часть задачи. В общем, передаем параметры в CLI обычными плоскими аргументами, а `--json` оставляем ДЛЯ ВЫДАЧИ из CLI. Понимать информацию в виде структурированного json модели, мне кажется, будет немного легче чем ""плоским"" дампом. 👉 Обновил кусочек флоу с правилами ""как мы пишем cli"". ▶️ В целом, их блог полистать можно - местами полезно. @deksden_notes"