LLM - Использование нейросетей в работе. Кодинг, администрирование, безопасность, хостинг, статистика

Александр Воробьев
На сайте с 03.02.2020
Offline
70
#111
Sly32 #:
А что там можно разбить?

Сейчас не у компа. На сколько я помню углядел штуки 4 логических блока. Какие-то уже вынесены в отдельные функции. Вот мне как раз захотелось вот ту последовательность однотипных вызовов функций. Убрать. В отдельную . мотивация: а если еще понадобиться, что б раздувался узкоспециализированный метод. Так же , но тут надо знать раст. Поясню пхпшным жаргоном. Вынести массив содержащий имя переменной и геттер, в общем точнее набор параметров для той функции что вызывается друг за другом. Т.е. если понадобиться добавить - не суемся в логику, а только добавляем в репозиторий параметров..... Ну а потом циклом этот репозиторий/массив обойти.

Александр Воробьев
На сайте с 03.02.2020
Offline
70
#112
Sly32 #:
А что там можно разбить?

Почитал немного про раст. поковырялся. Ну и объяснил ИИ что я хочу - т.е. не проверял сам это на работоспособность

// Внутри if let Some(config) = &json { ... }

let string_mappings: [(&str, fn(&JsonConfig) -> Option<String>); 14] = [
    ("LLM_PROVIDER", |c| c.default_provider.clone()),
    ("MODEL", |c| c.model.clone()),
    ("REASONING_EFFORT", |c| c.reasoning_effort.clone()),
    ("RUST_LOG", |c| c.log_level.clone()),
    ("MICROSOFT_GRAPH_CLIENT_ID", |c| c.microsoft_graph_client_id.clone()),
    ("MICROSOFT_GRAPH_TENANT", |c| c.microsoft_graph_tenant.clone()),
    ("MICROSOFT_GRAPH_SCOPE", |c| c.microsoft_graph_scope.clone()),
    ("GOOGLE_GMAIL_CLIENT_ID", |c| c.google_gmail_client_id.clone()),
    ("GOOGLE_GMAIL_CLIENT_SECRET", |c| c.google_gmail_client_secret.clone()),
    ("GOOGLE_CALENDAR_CLIENT_ID", |c| c.google_calendar_client_id.clone()),
    ("GOOGLE_CALENDAR_CLIENT_SECRET", |c| c.google_calendar_client_secret.clone()),
    ("WEB_SEARCH_PROVIDER", |c| c.web_search_provider.clone()),
    ("WEB_SEARCH_ENDPOINT", |c| c.web_search_endpoint.clone()),
    ("WEB_SEARCH_API_KEY", |c| c.web_search_api_key.clone()),
];

for (env_key, getter) in string_mappings {
    set_if_some(&mut environment, env_key, getter(config));
}

// Особые случаи (например, working_dir требует резолвинга пути)
// остаются вне цикла, что теперь выглядит гораздо осмысленнее:
if let Some(working_dir) = &config.working_dir {
    let path = PathBuf::from(working_dir);
    let resolved = if path.is_absolute() {
        path
    } else {
        project_dir.join(path)
    };
    environment.insert("WORKING_DIR".to_owned(), resolved.to_string_lossy().into_owned());
}
Александр Воробьев
На сайте с 03.02.2020
Offline
70
#113
Sly32 #:
В целом ты прав, и читаемость будет лучше, но в данном случае это однократное применение константы и не уверен что это будет упрощение  а не усложнение кода.

Имхо разовое не разовое тут не особо важно. Осмысленное имя константы может дать инфу почему именно такое значение.  При этом история компилируемая, т.е. даже на уровне микрооптимизации это ни чего не стоит, наверняка в итоге не будет ни каких "констант и обращений к ним".

А усложнение. Разве что если смотреть код не в ИДЕ то значение не узнаем если захотим без пролистывания. а в иде наверняка ж подсказка появится при наведении

S3
На сайте с 29.03.2012
Offline
402
#114
Александр Воробьев #:

Имхо разовое не разовое тут не особо важно. Осмысленное имя константы может дать инфу почему именно такое значение.  При этом история компилируемая, т.е. даже на уровне микрооптимизации это ни чего не стоит, наверняка в итоге не будет ни каких "констант и обращений к ним".

А усложнение. Разве что если смотреть код не в ИДЕ то значение не узнаем если захотим без пролистывания. а в иде наверняка ж подсказка появится при наведении

Согласен. 

С конфигом тоже - так читабельнее чем 20 ифов
А вообще выкатил десктоп версию - можно запускать автономно. Пока что сыровато, но уже работает

MP
На сайте с 05.05.2025
Offline
29
#115
Что вы здесь делаете, можете объяснить? Это cli оболочки для агентов? По скринам виду подписочные. Чем не устраивает vs code + плагины? Или cli которых тьма? Просто эксперименты?
S3
На сайте с 29.03.2012
Offline
402
#116

Первое практическое применение моего агента - написал с его помощью простую утилиту, которая вешается в систему и не дает заснуть компу. На корпоративном компе ограничено управление для безопасности - он самоблокируется если более 5 минут неактивности, а я работау с клиентской виртуалкой, в которой после засыпания нужно заново авторизироваться  - бесит. Теперь комп не гасится, очень удобно. 

Ну и переработал интерфейс, раздеоив на стартовом окне функционал

S3
На сайте с 29.03.2012
Offline
402
#117

Дизайнеры больше не нужны 😀 Кого там не устраивали базовые дизайны от нейросетей? Откопал потрясяющую штуку и хочу поделится - 
impeccable Уже упоминал в челлендже но хочу отдельно тут рассказать.

Штуковина бесплатная, ставится как плагин в большинство агентов. Умеет как заново создавать дизайн, так и редизайнить существующий под запросы, при этом предлагает на старте варианты шаблонов и адаптирует их под ваши хотелки. Устанавливать просто - все есть на сайте.
Запускаешь. она проводит анализ, задает вопросы и делает.
Пару раз ошибалась у меня, пытаясь целиком отредактировать css  файлы, но это скорее проблема модели - я тестировал на GPT-6-Luna  с контекстом 128К, поэтому периодически  нужно делать /compact, впрочем он и умеет. 
Кому интересно на этом сайте  можно посмотреть изменения страниц -  было и стало. Еще остались косяки в виде синих кнопок, но по-моему, дизайн стал гораздо симпатичнее. Что скажете? Специально правлю по разделам. Сам не написал ни одного стиля сейчас - полностью все нейросеть делает

The missing design vocabulary for agents.
The missing design vocabulary for agents.
  • impeccable.style
You’ll need a coding tool, a project folder, and Node.js 22.18 or later . An empty project or freshly scaffolded app is fine. Which coding tools can I use? Impeccable supports Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode, Pi, and other coding tools. The installer lets you choose your tool and installs the matching build...
D
На сайте с 28.06.2008
Offline
1121
#118
Sly32 #:
Кому интересно на этом сайте  можно посмотреть изменения страниц -  было и стало.

S3
На сайте с 29.03.2012
Offline
402
#119
Dram #:

Да,  спасибо, поправил. Но без авторизации все равно не будет статистики  - просто изменится код ошибки на 401 - unauthorized
В данном случае  больше интересует редизайн и мнения по поводу этого
K4
На сайте с 29.01.2020
Offline
92
#120
Sly32 #:

Что скажете? 

Почему выбрали бутстрап, когда есть божественный Tailwind c jit?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий