| Фича | Codex | OpenCode |
|---|---|---|
| 🌳 Worktree менеджмент | ✅ есть | ✅ есть (⚙️ enable workspaces) |
| 🪟🐧 Поддержка Windows/Linux | ❌ нет (и вряд ли скоро будет) | ✅ есть |
| 🔎 Отображение изменений в коде | ✅ есть (git-based) | ✅ есть (session-based) |
| 🧰 Встроенный git client | ✅ есть | ❌ нет |
| ⌨️ Терминал | ✅ есть | ✅ есть |
| 💬 Точечные комментарии по коду | ✅ есть | ✅ есть |
| 🔗 Sharing сессий по ссылке | ❌ нет | ✅ есть |
| 🎙️ Встроенный Dictation | ✅ есть | ❌ нет |
Если вы заглянете в твиттер/linkedin, то увидете кучу рассказов про agents swarm и вот это все.
К сожалению, практика показывает, что пока что большая часть таких рассказов – попытка хайпануть, а успешных внедрений в процессы компаний нет.
Сегодня я расскажу, что реально работает и стоит инвестиций времени, а что – шум и оверинжиниринг.
Спойлер: название доклада – кликбейт, на самом деле в 90% случаев они не нужны
Это уникальная возможность заглянуть в срез современного русскоязычного среднего и высшего среднего класса (upper-middle class), преимущественно занятого в цифровой экономике. Перед нами не просто «дейтинг», а социологический слепок эпохи, отражающий влияние эмиграции, профессиональной деформации (IT и предпринимательство), терапевтической культуры и смены гендерных контрактов.
Ниже – подробный аналитический отчет и социологический разбор аудиторий двух каналов.
Анализ аудитории и паттернов поведения в дейтинг-тредах Кирилла (Kyrillic) и Оли Соколовой (Naiznankuo)
| from typing import Any, Optional | |
| from pydantic import BaseModel, Field, create_model | |
| TYPE_MAPPING: dict[str, type] = { | |
| "string": str, | |
| "integer": int, | |
| "number": float, | |
| "boolean": bool, | |
| "object": dict, |
test
Промпт для Симуляции
Смотри, твоя задача — устроить мне симуляцию конфликтной ситуации. Это нужно для того, чтобы я мог поиграть по ролям в конфликтные ситуации, которые у меня происходили в жизни, и, может быть, почувствовать себя постепенно более комфортно в них. Даже под давлением или во время эмоционального какого-то напряжения.
Поэтому твоя задача — давать мне челленджи во время этой игры, так, чтобы мне было сложно решить проблему, которая у нас возникла. Чтобы мне приходилось применять как можно больше управленческих воздействий и показывать наилучшие навыки коммуникации. То есть ты не должен сразу идти на сотрудничество и мир.
Ты должен отыгрывать реального человека, возможно, в нестабильном эмоциональном состоянии, нервничающегося, который пытается защищаться или нападать, так, чтобы я дальше в жизни мог применять эти навыки, которые получу сейчас в симуляции с тобой. При этом важно не уходить в полный отказ до последнего – у тебя тоже есть свои цели и интересы, и если ты полностью отказываешь
Отлично, вот емкие тезисы и инсайты из встречи, структурированные для специалиста.
Это центральная идея для работы со сложными задачами, снижающая галлюцинации и повышающая контролируемость.
- Этап 1: Планирование (Thinking).
- Инструмент: Модель с большим контекстом и хорошими "рассуждающими" способностями (например, Gemini в Google AI Studio).
- Процесс: В модель загружается максимально полный контекст проекта (с помощью утилит типа Repa Mix или кастомных скриптов, которые собирают нужные файлы в один текстовый блок).
- Задача для LLM: "Не пиши код, а сформулируй план изменений. Укажи, какие файлы нужно затронуть и что в них сделать".
- Результат: Markdown-файл с планом, ключевыми фрагментами кода и, возможно, диаграммами в формате Mermaid. Этот план ревьюится человеком.
| /** | |
| * @OnlyCurrentDoc | |
| * | |
| * Скрипт для интеграции OpenAI GPT в Google Таблицы. | |
| * | |
| * Возможности: | |
| * - Динамическое создание меню на основе конфигураций в листе "Operations". | |
| * - Асинхронная пакетная обработка GPT-запросов для ускорения выполнения. | |
| * - Использование плейсхолдеров {{column_name}} в промпте для подстановки данных из других колонок. | |
| * - Хранение API ключа в свойствах скрипта для безопасности. |
| from streamlit.elements.lib.utils import Key, LabelVisibility | |
| from streamlit.runtime.state.common import WidgetArgs, WidgetCallback, WidgetKwargs | |
| def text_area_auto_height( | |
| label: str, | |
| value: str = "", | |
| height: int | None = None, | |
| max_chars: int | None = None, | |
| key: Key | None = None, |
| import requests | |
| from pathlib import Path | |
| from google.generativeai.types import File | |
| from google.ai.generativelanguage_v1beta.types import File as ProtoFile | |
| # use url without /v1beta | |
| def upload_file(filepath: str, base_url: str = "https://generativelanguage.googleapis.com") -> File: | |
| upload_url = base_url + "/upload/v1beta/files" |