Обновить
-6

Пользователь

0,2
Рейтинг
1
Подписчики
Отправить сообщение

… через ту же дыру CVE-2023-50224, через которую в эти устройства залезли парни из APT28.

Скорее всего залезли через другую дыру, а сказали что через эту. Обычно зловреды после заражения закрывают уязвимости.

Я бы сказал так.

Сначала начинаем с провайдеры с простой подпиской за 10/20 баксов, с 5-и часовыми лимитами и прочими ограничениями. Оптимизируем свою работу за счет умного оркестратора и нужных настроек. Дорогие модели выполняют более сложную работу, дешевые простую и с учетом особенностей моделей, в доке про ohmyopenagent можно про это почитать. Оптимизируем более сложные моменты, например, добавляем lsp сервера, mcp сервера и прочее, чтобы оркестратор например типы для typescript выводил с помощью lsp или фиксил ошибки, а не слал запросы, или mcp для индексации кодовой базы, чтобы не было кучи вызовов grep и анализа выводов этой команды.

Когда упираемся в лимиты, добавляем еще один/два провайдера с простой подпиской за 10/20 баксов. Оптимизируем роутинг, lsp, mcp.

Если опять упираемся в лимиты, то да уже переходим на оплату за API для каких-то моделей, но опять таки оптимизация тут такая же как и в предыдущих пунктах. Никто например не мешает для планировщика использовать github-copilot/claude-opus-4.6, а для кодинга, openrouter/claude-sonnet-4.6 с оплатой за токены.

С оптимизаций роутинга все просто, или делаем `bunx oh-my-openagent install` отвечаем на вопросы какие провайдеры подключены и получаем готовый конфиг с fallback или читаем доки и правим конфиг. В вот с lsp/mcp надо играться и подбирать под свои задачи и свой стек.

И еще все сильно зависит от стиля разработки, при ручной разработке, написал задачу, посмотрел diff, запустил, скинул ошибку, получил фикс довольно сложно попасть в лимиты, и токены улетают не очень сильно. При полностью автоматической разработке каждый шаг очень сильно зависит от предыдущего. Планировщик должен простой промпт преобразовать в хороший план задавая вопросы и анализируя код. От плана зависит то какие задачу каким сабагентам уйдут в работу. От того как задача поставлена сабагенту и какие lsp/mcp доступны такой и будет результат.

Я бы сказал что пока не пройдешь путь с лимитированными планами, и оптимизациями, идти в платное API смысла нету, токены будут улетать.

И еще, если проект большой, и надо модели с большим контекстом, то тут вариант только API. Если окно забито больше чем на 50% то llm начинает галлюцинировать, а на лимитированном плане копилота например всего 128К для любой модели, а через API можно получить окно 1М для Opus/Sonnet

У Вас же просто ручной роутинг без учета особенностей моделей, и вы по сути залили проблему деньгами. За 50 баксов можно взять Copilot Pro+ (40 баксов) + OpenCode Go(10 баксов) - в таком сетапе моделей будет больше(и полностью бесплатные тоже есть в этих планах) и по лимитам явно не меньше чем в Вашем сетапе. Так же явная проблема с том что качество кода всегда плавает из-за того что разные задачи идут в разные модели, с оркестратором качество +- одинаковое из-за того что этапы и модели стандартизированы.

Переходить на оплату по токенам нужно тогда когда не влазишь в лимиты подписки. И тот же opencode(как и другие оркестратор) никак не управляет подписками, он просто подключает провайдер и дергает внутри агента нужную модель в нужно провайдере.

Объясняю на примере Copilit Pro за 10 баксов доступно 300 запросов в месяц, для Cloude Sonnet 4.6 мультипликатор 1, тоесть в месяц доступно 300 запросов, для Grok Code Fast 1 мультипликатор 0.25 тоесть всего доступно 1200 запросов в месяц.
Причем один запрос максимально 128К входящих токенов, тоесть в идеальной ситуации мы можем послать 128К * 300 токенов = 37.5M токенов. Да это все в 5 часовых лимитах и прочие ограничения.

А если те же 37.5М токенов заслать через api для того же Cloude Sonnet 4.6 это 3$ за миллион токенов это уже 112.5$.

Но вот для Grok Code Fast 1 ситуация другая, можно послать 128К * 1200 токенов = 150M токенов. Через api 150M токенов для Grok Code Fast 1 обойдутся 30 баксов, по 0.2$ за миллион. Думаю что это из-за того что Microsoft вложился в Anthropic и получает ресурсы по скидки, и заинтересован в раскрутке их моделей.

У opencode go в доке написано

Бесплатные модели включают Big Pickle плюс промо-модели, доступные на данный момент, с квотой 200 запросов/день. Go включает GLM-5.1, GLM-5, Kimi K2.5, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.5 Plus, Qwen3.6 Plus, MiniMax M2.5, MiniMax M2.7, DeepSeek V4 Pro и DeepSeek V4 Flash с более высокими квотами запросов, применяемыми в скользящих окнах (5 часов, неделя и месяц), что примерно эквивалентно $12 за 5 часов, $30 в неделю и $60 в месяц (фактическое количество запросов зависит от модели и использования).

Тоесть если посылать максимально большие запросы как в примере выше то максимум можно утилизировать на 60$, если сравнивать с ценой за токены.

Похоже что для провайдеров выгодно продавать такие планы, потому что клиенты не утилизируют все запросы по максимуму, плюс многие пользователи берут минималку чтобы просто попробовать, и в реальности не тратят даже 10$ если смотреть по цене api.

У копилота плюс что у него доступны модели Anthropic и OpenAI одновременно, и для оркестраторов это круто, потому что там где сильны модели Anthropic слабы модели от OpenAI и наоборот. Но c 1-го июня майки меняют тарификацию и вроде как мультипликаторы и надо будет смотреть выгодно будет их дальше использовать или нет.

А тут и писать особо нечего, ставим opencode в виде cli или плагина для ide. Все делаете по инструкции. Если надо чтобы это все было заряжено, ставите ohmyopenagent или расширяете плагинами. Так же читаете доку на ohmyopenagent, там есть рекомендованный сетап на 30 баксов, есть описание всех моделей, и почему и для чего они были выбраны и для каких задач лучше. Что подключать зависит уже от вас, можете подключить любой провайдер, тот же openrouter или copilot c кучей моделей (если ставите ohmyopenagent то он спросит что за провайдеры нужны и сгенерирует нужную конфигурацию)

Можно использовать Claude code + proxy, через прокси подменить модели на нужные, и потом уже переключаться вручную между ними.

Я бы использовал так, Claude code + proxy если именно надо все фишки Claude code, скилы, хуки, и прочие возможности. Вот статья на эту тему https://habr.com/ru/companies/yadro/articles/1029288/

Чистый opencode, если охота иметь больше контроля, и меньше тратить токенов. Всегда можно навернуть плагинов, чтобы получить например Ralph режим (это что-то типа while true; делай задачу пока все тесты не будут зелеными)

И opencode + ohmyopenagent, куча интергированных плагинов, разные агенты, автоматические режимы работы. Больше потребляет токенов.

Есть и другие агенты(оркестраторы агентов) - roo, kilo, cline, но их я не пробовал.

С opencode бывают проблемы, за ним надо следить, бывает игнорирует промпт, надо повторять, бывает в авторежиме (ohmyopenagent) как будто зацикливаться на этапе планирования и его выполняет по кругу не переходя к кодингу, бывает сабтаска подвисает. В этом плане Claude code получше будет.

Есть еще get-shit-done, это полностью разработка автоматическая разработка, тоже есть возможность настраивать модели для разных задач (под капотом там pi agent). Но мне не сильно зашло, сильно много вопросов задает, результат очень зависит от того что ты отвечаешь. Создавал один и тот же проект с нуля, чуть по разному отвечал, план создания и развития проекта получался очень разный. В существующий проект интегрировалось сложно, генерит кучу документов которые забивают контекстное окно. Вообщем вещь хорошая, но не для моих задач.

Конкретно сейчас мой сетап такой opencode + ohmyopenagent и copilot за 10 баксов, поменяется тарификация или лимиты у copilot перейду что-то другое.

Какой-то древний подход. Сейчас используют сабагентов и умный роутинг. Главный агент (например Claude oppus) разбивает задачу на подзадачи для других агентов, доку пишет например gemini, код пишет например sonnet, мр ревьюит например deepseek, анализирует код например chatgp и так далее. Для каждой задачи/шага выбирают своего оптимального агента. И это все работает в связке, chatgp проанализировал код и отдал главному, главный прям в плане вписал какие именно файлы надо менять, чтобы кодописатель не лез в кодовую базу и ничего не анализиовал сам. Причем если например закончились токены для кодописателя sonnet, через конфигурацию идем и меняет на что-то другое.
Такой подход позволяет более равномерно утилизировать токены на всех агентах и использовать бесплатных/дешевых агентов для вспомогательных вещей, типа поиск по кодовой базе.

Схема бекапа не полная, еще надо бекапить как минимум на одной планете и одном спутнике

На самом деле можно выбрать и другой агент. Помимо Claude Code, я пробовал RooCode, OpenCode, KiloCode. Разница между ними не очень велика, но мне проще всего оказалось работать с Claude, пока я не сделал своего агента.

Почему выбор пал именно на Claude Code и CCR? Если разница не очень велика то не лучше ли выбрать более подходящий инструмент? OpenCode закрывает вопросы с подключением разных моделей от разных провайдеров, роутингом, персональными настройками для каждого проекта. И если этого всего не хватает, то с помощью oh-my-openagent можно очень сильно прокачать OpenCode.

За всю свою практику первый раз вижу идею обновлять что-то внутри json.

Обычно колонка с таким типом(json, jsonb) используется для хранения сырых неструктурированных данных. И в таблице обычно есть колонки которые обновляются из этих сырых данных.

А при миграции и добавлении новой колонки происходит что-то типа

alter table add column status table_status_enum;
update table set status=raw->'document'->'status'::table_status_enum

С json/jsonb чуть сложнее работа с constraints, в частности с enum, и нет возможности создать pk.

Дешевка, всего лишь 25 баксов, без годовой подписки и встроенного AI помощника. И в приложении по wifi температуру не посмотреть.

Сервера деградировали, деградировали и не выдеградировали.

Главная задача программиста - борьба со сложностью.

Проблема в том что сложность(сложность разработки + сложность поддержки + сложность доработки) константна, и эта сложность просто перетекает из одного места в другое. От сложности нельзя избавиться и она может только перерасти в технический долг, и как правило по причинам бизнеса, например надо поддерживать старое api из за партнеров или другого важного внешнего сервиса.

И все искусство разработки как раз и сводиться к тому чтобы в каждом конкретном случае выбирать оптимальное решение технической задачи для решения какой-то бизнес задачи.

Наверное от области зависит. Программисты с 20летним стажем не считают ИИ чушью, ибо на кодинг он очень тренирован

Программисты с 20-и летним стажем должны понимать что разработка ПО это всегда компромисс между красивыми/правильными и быстрыми решениями. И то что ИИ анализирует коммиты ничего ему не дает, он просто не понимает почему было такое решение/библиотека выбрано, а не другое, так как нету бизнес контекста на нужный момент времени. В разработке пока никто не научился создавать ТЗ с первого раза без ошибок, и недаром есть всякие POC, MVP - на которых ИИ тоже учиться. Да для типичного решения алгоритмов или создания типичных тестов ИИ хорошо подходит, для остального хорошо создает видимость "профессионала".

Найм в ИТ был нормальным в начале 2000-х. Когда при устройстве на работу, после собеседования тебе давали комп с доступом к проду и давали какие-то "простые" и не очень задания. На должность админа могли попросить например обновить sendmail главного почтового севера, а на должность разработчика поправить какой-то простой баг, сделать пару тройку запросов в базу. И сразу было понятно что знаешь/работал ли с продом и как решаешь задачу, как оцениваешь риски и что будешь делать в случае ошибки. Такой себе livecoding на максималках.

Что раньше, что сейчас инженеры решают задачи исходя из ТЗ. Если вопрос быстродействия не освещен в ТЗ, то критерием выступает субъективное ощущение быстродействия на локальной машине. Да раньше не было фреймворков, но были библиотеки со своей спецификой и особенностями.

Скорее отрицательно взлетел.

"Сенсация, ученые изобрели антигравитацию"

Любые государственные образовательные учреждения в России со временем так или иначе превращаются в казарму.

array - список реплик для чтения, список endpoint-ов для каких-то запросов, список доступных языков, список доступных валют. Обычно приходиться колхозить что-то типа DATABASE_REPLICA_1, DATABASE_REPLICA_2 и тд. и ваш конфиг типа такого

{
  database: {
    replicas: $DATABASE_REPLICA_*
  }
}

что развернеться в
{
  database: {
    replicas: [$DATABASE_REPLICA_1, $DATABASE_REPLICA_2]
  }
}



object - тут чуть сложнее с примерами, они более редкие, это может быть например конфигурация oauth провайдеров, и будет что-то типа OAUTH_GOOGLE_ID, OAAUTH_GOOGLE_SECRET, OAUTH_APPLE_ID, OAUTH_APPLE_SECRET и тд. и ваш конфиг типа такого

{
  oauth: $OAAUTH_$
}

что развернеться в
{
  oauth: {
    google: {
      id: $OAUTH_GOOGLE_ID,
      secret: $OAAUTH_GOOGLE_SECRET
    },
    apple: {
      id: $OAUTH_APPLE_ID,
      secret: $OAUTH_APPLE_SECRET
    }
  }
}


Как только встает вопрос про валидацию сложного конфига, то оказывается что кроме JSON c JSON Schema больше ничего и нету.

Да и у этого решения тоже есть проблема, object или array никак не прокинешь из переменных окружения.

Go отличный язык для своей ниши, но есть нюансы. Если допустить что любой ЯП синтаксис+runtime+toolchain+stdlib имеет константную сложность, то у Go вся сложность перенесена в toolchain, в результате этого получаеться очень простой язык, но очень сложная обвязка вокруг него. Вот как пример https://golangci-lint.run/docs/linters/, 112 литеров это мягко говоря перебор. В Rust например ситуация кардинально противоположная, вся сложность перенесена в компилятор.
И как только дело касается soft real time или hard real time, то Go просто не подходит.

1
23 ...

Информация

В рейтинге
3 074-й
Зарегистрирован
Активность