Skip to content

Instantly share code, notes, and snippets.

View toolittlecakes's full-sized avatar

Nikolay Sheyko toolittlecakes

  • CodeSignal
  • Yerevan, Armenia
View GitHub Profile

Промпт для Симуляции

Смотри, твоя задача — устроить мне симуляцию конфликтной ситуации. Это нужно для того, чтобы я мог поиграть по ролям в конфликтные ситуации, которые у меня происходили в жизни, и, может быть, почувствовать себя постепенно более комфортно в них. Даже под давлением или во время эмоционального какого-то напряжения.

Поэтому твоя задача — давать мне челленджи во время этой игры, так, чтобы мне было сложно решить проблему, которая у нас возникла. Чтобы мне приходилось применять как можно больше управленческих воздействий и показывать наилучшие навыки коммуникации. То есть ты не должен сразу идти на сотрудничество и мир.

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

Отлично, вот емкие тезисы и инсайты из встречи, структурированные для специалиста.

1. Двухэтапный воркфлоу: "Планирование и Исполнение" (Plan & Act)

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

  • Этап 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,
@toolittlecakes
toolittlecakes / upload_file.py
Created December 15, 2024 07:13
google.generativeai file upload
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"
@toolittlecakes
toolittlecakes / st_local_storage.py
Created August 18, 2024 12:57
st_local_storage
# `pip install streamlit_js`
# See "https://discuss.streamlit.io/t/saving-data-in-local-storage-via-streamlit/28785/20"
import json
import uuid
from typing import Any
import streamlit as st
from streamlit_js import st_js, st_js_blocking
@toolittlecakes
toolittlecakes / st_invisible_container.py
Created August 18, 2024 12:34
st_invisible_container
from typing import Literal
import streamlit as st
from streamlit.components.v1 import html
INVISIBLE_CONTAINER_CSS = """
div[data-testid="stVerticalBlockBorderWrapper"]:has(div.invisible-marker-container):not(:has(div.not-invisible-marker-container)) {
display: none;
}
div[data-testid="stVerticalBlockBorderWrapper"]:not(:has(div.invisible-marker-container)):has(div.not-invisible-marker-container) {

Манипуляции

Конфликт может включать в себя манипулирование Защищающимся. (Агрессор манипулирует)

Манипуляция - это скрытое воздействие на эмоции с целью получения рациональной выгоды или повышения своего авторитета.

В каких конфликтах бывают манипуляции:

  • В рациональных конфликтах манипуляции могут использоваться, как инструмент достижения цели.
  • В эмоциональных конфликтах манипуляции могут быть следствием необработанных эмоций
  • В манипулятивных конфликтах манипуляции используются для изменения социальной роли, а не для достижения рациональной цели
@toolittlecakes
toolittlecakes / hidden_data.py
Last active December 7, 2024 17:16
Tiny utils module that allow you to store **any** json-able data into aiogram message and read it back (from `message.html_text`)
import json
import re
from ast import literal_eval
from urllib import parse
# Functions for read and write url params
def url_loads(url_params: str) -> dict:
parsed = parse.parse_qs(url_params)
# parse_qs returns a dict of lists,
@toolittlecakes
toolittlecakes / dummy_async.py
Created April 21, 2024 09:22
Simple implementation showing the idea of async code. Doesn't use async/await keywords or real event_loop for the sake of simplicity and clarity
import time
from collections import deque
from pprint import pprint
START_TIME = time.time()
def run(func):
gen = func()
while True: