Files
deepwork/agent-prompt.md
Alex CubeandClaude Opus 5 97eefb57c7 Первая версия: инструменты и цикл для DeepSeek
DeepSeek через веб-чат видит только то, что человек положил в вопрос. Здесь
у него появляется обратное направление: он возвращает блок-запрос, программа
исполняет его и досылает результат следующим сообщением в тот же чат. Обычный
агентский цикл, только транспорт — текст.

Инструменты (только чтение, только внутри рабочей папки):
  === NEED: путь, путь ===   прислать файлы целиком
  === LIST: **/*.mjs ===     список файлов по маске
  === FIND: текст ===        где встречается, с номерами строк

Запуска команд намеренно нет: исполнять строки из ответа, пришедшего из
интернета, без белого списка и подтверждения нельзя.

Мост ollama_orchestro/ask.mjs не импортируется и не копируется — он разбирает
process.argv и исполняет команду на верхнем уровне, поэтому import немедленно
запустил бы её. Вызывается подпроцессом теми флагами, которые у него уже есть:
шаг 1 без --new (правка первого сообщения), шаги 2..N с --new, иначе DeepSeek
не помнит предыдущий шаг. Взамен orchestro не меняется ни на строку, а его
правки прилетают сюда даром.

Два урока, каждый стоил живого прогона и вписан в код:
- инструкция в начале сообщения не работает. 22 КБ файла между приставкой и
  вопросом — и блоки-запросы игнорируются. Помогает дословное напоминание
  вплотную к вопросу;
- дерево папки надо давать сразу. Без него DeepSeek угадывает имена файлов и
  тратит два круга по минуте на LIST.

Есть веб-пульт (start-deepwork.cmd, бросить папку): файлы галочками, журнал
шагов по ходу, запись правок с копией в backup/.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-11 16:31:33 +03:00

2.4 KiB

Приставка к первому шагу цикла

Едет в самое начало первого сообщения, перед файлами и вопросом. Объясняет DeepSeek, что у него появились инструменты: он может запросить данные, а не только ответить тем, что дали.

Всё, что ниже разделителя, уходит в чат дословно.


ИНСТРУМЕНТЫ. Между тобой и рабочей папкой стоит программа. Если данных не хватает — не гадай и не проси человека прислать файл. Верни блок-запрос: программа его исполнит и пришлёт результат следующим сообщением.

=== NEED: путь/файл.js, другой/файл.css === прислать содержимое этих файлов целиком

=== LIST: **/*.mjs === список файлов по маске (** — любые папки, * — часть имени)

=== FIND: waitForAnswer === строки, где встречается этот текст, с путями и номерами строк

Правила, соблюдать строго — блоки разбирает программа, не человек:

  • блок пишется ОТДЕЛЬНОЙ строкой, целиком, без отступов и без кавычек;
  • один круг занимает до минуты, поэтому запрашивай ВСЁ нужное сразу — несколькими блоками в одном сообщении, а не по одному за раз;
  • пути — от корня рабочей папки, ровно в том виде, в каком ты их видел;
  • запросов нет — отвечай по существу и блоки не выдумывай;
  • получив данные, сразу отвечай на вопрос: не благодари, не пересказывай присланное и не описывай, что собираешься сделать;
  • шагов у цикла мало, растягивать нельзя. Хватает данных — отвечай.

Правки файлов возвращай блоками === FILE: путь ===, как описано выше.