Комментарии 6
О, вы отказались от YAML: вижу, что формат развивается в правильном направлении! :-)
Я бы ещё предложил убрать include_leading_blank_lines, include_trailing_blank_lines и уникальные коды, которыми помечены управляющие строки. Это можно сделать, помечая все строки, содержащие код, каким-нибудь символом (например, >):
# Summary: Refactor the calculator module to enhance the `add` function
# and remove deprecated code.
#
# Plan:
# 1. Import the `List` type for type hinting.
# 2. Update the `add` function to also handle summing a list of numbers.
# 3. Remove the unused `get_pi` function.
AP 3.0
FILE
src/calculator.py
INSERT_AFTER
snippet
>import math
content
>from typing import List
REPLACE
anchor
>def add(a, b):
snippet
>return a + b
content
># New implementation supports summing a list
>if isinstance(a, List):
> return sum(a)
>return a + b
DELETE
snippet
>
>def get_pi():
> return 3.14Сначала так и хотел сделать. Ломается, если сам код будет содержать в начале строки этот же символ. Мысленный эксперимент: попробуйте применить ap-патч к ap-патчу.
Ещё сделаю отдельный пост про версию 3.0, и почему были выбраны именно такие решения, а не какие-нибудь другие.
Не знаю насчёт IDE, но консольные агенты вообще не так работают. Они именно что копят весь диалог, помнят свои правки, если они приняты пользоватклем, помнят неудачи, команды выполненные и их вывод, например, тесты, логи или скриншоты.
В общем, автору нужно попробовать несколько и если уж не один не подойдёт, то свой написать агент 😁. Поддержку формата в него встроить, ну либо взять aider, Gemini cli или ещё какой опенсорсный агент и добавить в него поддержку своего формата.
не могу говорить за все IDE но в ZED например ии в ide работает как агент, у него есть ручки которые он может дёргать например изменить файл и он передаёт как он хочет его изменить переписать целиком или изменить кусок (потом другая маленькая модель выполняет его инструкцию). Отмотать историю назад тоже можно до произвольного сообщения. ТК это агент он бес проблемм сам ищит нужный файл читает readme и тд. Запарился и перехватил конфиг в котором общение с llm файл большой так что тут. поставил задачу изменить строку в большом файле, весь диалог автоматический я написал только первое сообщение.

ИИ в IDE против декларативных патчей ap: почему плагины не всегда могут то, что нам нужно