feat(skill): add ralph-loop-execution — agent inner loop with verifier oracle
Verifier field (exit-code oracle) + Attempts tracking + re-queue on fail. Design: OpeItcLoc03/workshop/.brainstorm/ralph-loop-inner-execution.md
This commit is contained in:
64
skills/ralph-loop-execution/SKILL.md
Normal file
64
skills/ralph-loop-execution/SKILL.md
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# ralph-loop-execution
|
||||||
|
|
||||||
|
## When to Use
|
||||||
|
|
||||||
|
Когда задача содержит поле `**Verifier:** <command>` — это ralph-loop задача. Активируй этот скил в начале работы.
|
||||||
|
|
||||||
|
## Algorithm
|
||||||
|
|
||||||
|
1. Прочитай задачу. Извлеки:
|
||||||
|
- `**Verifier:** <cmd>` — oracle-команда
|
||||||
|
- `**Attempts:** N` — текущий счётчик (0 если отсутствует)
|
||||||
|
- `**Max-Attempts:** M` — потолок (если отсутствует, дефолт 5)
|
||||||
|
|
||||||
|
2. Выполни работу (code, tests, edits — всё что требует задача).
|
||||||
|
|
||||||
|
3. Запусти verifier:
|
||||||
|
```
|
||||||
|
<Verifier command>
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **Если exit 0** → задача выполнена. Закрой задачу штатно (`**Status:** done`). Готово.
|
||||||
|
|
||||||
|
5. **Если exit ≠ 0**:
|
||||||
|
|
||||||
|
a. Вычисли новый номер попытки: `N_new = N + 1`
|
||||||
|
|
||||||
|
b. Если `N_new >= M` (бюджет исчерпан):
|
||||||
|
```
|
||||||
|
**Attempts:** <N_new>
|
||||||
|
**Status:** failed
|
||||||
|
```
|
||||||
|
Добавь в конец description:
|
||||||
|
```markdown
|
||||||
|
## Attempt <N_new> (final) — budget exhausted
|
||||||
|
<stdout+stderr verifier>
|
||||||
|
```
|
||||||
|
Завершай сессию.
|
||||||
|
|
||||||
|
c. Иначе (попытки ещё есть):
|
||||||
|
```
|
||||||
|
**Attempts:** <N_new>
|
||||||
|
**Status:** ready
|
||||||
|
```
|
||||||
|
Добавь в конец description:
|
||||||
|
```markdown
|
||||||
|
## Attempt <N_new> failure
|
||||||
|
<stdout+stderr verifier>
|
||||||
|
|
||||||
|
### Что попробовал:
|
||||||
|
<краткое резюме что делал в этой итерации>
|
||||||
|
```
|
||||||
|
Завершай сессию. Поллер подберёт задачу заново.
|
||||||
|
|
||||||
|
## Reading Attempt History
|
||||||
|
|
||||||
|
Когда клеймишь ralph-loop задачу с `**Attempts:** N > 0` — прочитай все секции `## Attempt K failure` в description. Это память о том, что уже не сработало. Не повторяй те же подходы.
|
||||||
|
|
||||||
|
## Interactive Mode (/loop)
|
||||||
|
|
||||||
|
В интерактивном `/loop` контексте: тот же алгоритм, но цикл внутренний (контекстное окно сохраняется). Запускай verifier в конце каждой итерации. `Max-Attempts` работает так же.
|
||||||
|
|
||||||
|
## Key Invariant
|
||||||
|
|
||||||
|
Verifier — единственный критерий готовности. Не закрывай задачу без `exit 0` от verifier, даже если субъективно кажется что всё правильно.
|
||||||
Reference in New Issue
Block a user