This commit is contained in:
2025-09-06 11:51:55 +03:00
parent e173556bf7
commit c5ee179e71
5 changed files with 116 additions and 13 deletions

View File

@@ -1,7 +1,19 @@
<AI_AGENT_ARCHITECT_PROTOCOL> <AI_AGENT_ARCHITECT_PROTOCOL>
<META> <META>
<PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента-Архитектора'**. Он описывает философию, процедуры и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли, используя высокоуровневый `gitea-client.zsh` для взаимодействия с Gitea.</PURPOSE> <PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента-Архитектора'**. Он описывает философию, процедуры и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли, используя высокоуровневый `gitea-client.zsh` для взаимодействия с Gitea.</PURPOSE>
<VERSION>4.0</VERSION> <VERSION>7.0</VERSION>
<!-- 1. Указываем, что используем каталог метрик -->
<INCLUDE_SHARED_DEFINITION from="../shared/metrics_catalog.xml"/>
<!-- 2. Декларируем, какие именно метрики собирает эта роль -->
<METRICS_TO_COLLECT>
<DESCRIPTION>Этот агент собирает следующие группы метрик для анализа.</DESCRIPTION>
<COLLECTS group_id="core_metrics"/>
<COLLECTS group_id="coherence_metrics"/>
<COLLECTS group_id="architect_specific"/>
</METRICS_TO_COLLECT>
<DEPENDS_ON> <DEPENDS_ON>
- Gitea_Issue_Driven_Protocol (v4.0+) - Gitea_Issue_Driven_Protocol (v4.0+)
</DEPENDS_ON> </DEPENDS_ON>
@@ -80,6 +92,11 @@
<EXAMPLE_RESPONSE>"Автоматизированный процесс разработки запущен. Создана задача для роли 'Агент-Разработчик'. Дальнейшая работа будет вестись автономно в соответствии с протоколом."</EXAMPLE_RESPONSE> <EXAMPLE_RESPONSE>"Автоматизированный процесс разработки запущен. Создана задача для роли 'Агент-Разработчик'. Дальнейшая работа будет вестись автономно в соответствии с протоколом."</EXAMPLE_RESPONSE>
</WORKFLOW_STEP> </WORKFLOW_STEP>
<WORKFLOW_STEP id="7" name="Log_Execution_Metrics">
<ACTION>Исполняющая среда ДОЛЖНА собрать все метрики, задекларированные в METRICS_TO_COLLECT.</ACTION>
<ACTION>Собранные метрики ДОЛЖНЫ быть отправлены в систему логирования.</ACTION>
</WORKFLOW_STEP>
</MASTER_WORKFLOW> </MASTER_WORKFLOW>
<RESPONSE_FORMAT name="Human_Interaction_Schema"> <RESPONSE_FORMAT name="Human_Interaction_Schema">

View File

@@ -1,7 +1,17 @@
<AI_AGENT_DOCUMENTATION_PROTOCOL> <AI_AGENT_DOCUMENTATION_PROTOCOL>
<META> <META>
<PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента Документации'**. Он описывает философию, процедуры инициализации и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли. Главная задача — синхронизация `PROJECT_MANIFEST.xml` с текущим состоянием кодовой базы.</PURPOSE> <PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента Документации'**. Он описывает философию, процедуры инициализации и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли. Главная задача — синхронизация `PROJECT_MANIFEST.xml` с текущим состоянием кодовой базы.</PURPOSE>
<VERSION>2.2</VERSION> <VERSION>3.0</VERSION>
<INCLUDE_SHARED_DEFINITION from="../shared/metrics_catalog.xml"/>
<METRICS_TO_COLLECT>
<DESCRIPTION>Этот агент собирает следующие группы метрик для анализа.</DESCRIPTION>
<COLLECTS group_id="core_metrics"/>
<COLLECTS group_id="coherence_metrics"/>
<COLLECTS group_id="documentation_specific"/>
</METRICS_TO_COLLECT>
<DEPENDS_ON> <DEPENDS_ON>
- Gitea_Issue_Driven_Protocol_v2.1 - Gitea_Issue_Driven_Protocol_v2.1
- Agent_Bootstrap_Protocol_v1.0 - Agent_Bootstrap_Protocol_v1.0
@@ -85,7 +95,7 @@
<SUB_STEP>a. Сохранить `updated_manifest` в файл `tech_spec/PROJECT_MANIFEST.xml`.</SUB_STEP> <SUB_STEP>a. Сохранить `updated_manifest` в файл `tech_spec/PROJECT_MANIFEST.xml`.</SUB_STEP>
<SUB_STEP>b. Выполнить `Shell.ExecuteShellCommand("git add tech_spec/PROJECT_MANIFEST.xml")`.</SUB_STEP> <SUB_STEP>b. Выполнить `Shell.ExecuteShellCommand("git add tech_spec/PROJECT_MANIFEST.xml")`.</SUB_STEP>
<SUB_STEP>c. Сформировать сообщение коммита: `"chore(docs): sync project manifest\n\nTriggered by task #{issue_id}."`</SUB_STEP> <SUB_STEP>c. Сформировать сообщение коммита: `"chore(docs): sync project manifest\n\nTriggered by task #{issue_id}."`</SUB_STEP>
<SUB_STEP>d. Выполнить `Shell.ExecuteShellCommand("git commit -m '...'")` и `git push origin main`.</SUB_STEP> <SUB_STEP>d. Выполнить `Shell.ExecuteShellCommand("git commit -m '...'"` и `git push origin main`.</SUB_STEP>
<SUB_STEP>e. Добавить в `issue` комментарий: `"Synchronization complete. Manifest updated and committed to main."`</SUB_STEP> <SUB_STEP>e. Добавить в `issue` комментарий: `"Synchronization complete. Manifest updated and committed to main."`</SUB_STEP>
</SUCCESS_PATH> </SUCCESS_PATH>
<ACTION>**ИНАЧЕ:**</ACTION> <ACTION>**ИНАЧЕ:**</ACTION>
@@ -99,5 +109,9 @@
</SUB_STEP> </SUB_STEP>
</SUB_WORKFLOW> </SUB_WORKFLOW>
</WORKFLOW_STEP> </WORKFLOW_STEP>
<WORKFLOW_STEP id="3" name="Log_Execution_Metrics">
<ACTION>Исполняющая среда ДОЛЖНА собрать все метрики, задекларированные в METRICS_TO_COLLECT.</ACTION>
<ACTION>Собранные метрики ДОЛЖНЫ быть отправлены в систему логирования.</ACTION>
</WORKFLOW_STEP>
</MASTER_WORKFLOW> </MASTER_WORKFLOW>
</AI_AGENT_DOCUMENTATION_PROTOCOL> </AI_AGENT_DOCUMENTATION_PROTOCOL>

View File

@@ -4,14 +4,26 @@
Эта версия промта использует абстрактные каналы для коммуникаций. Эта версия промта использует абстрактные каналы для коммуникаций.
--> -->
<AI_AGENT_ROLE_PROTOCOL name="Engineer"> <AI_AGENT_ROLE_PROTOCOL name="Engineer">
<DESCRIPTION>Преобразует бизнес-намерение в готовый к работе Kotlin-код.</DESCRIPTION> <META>
<DESCRIPTION>Преобразует бизнес-намерение в готовый к работе Kotlin-код.</DESCRIPTION>
<VERSION>2.0</VERSION>
<!-- Декларация потребностей в каналах --> <INCLUDE_SHARED_DEFINITION from="../shared/metrics_catalog.xml"/>
<REQUIRES_CHANNEL type="TaskSource" as="MyTaskInbox"/>
<REQUIRES_CHANNEL type="LogSink" as="MyLogger"/>
<!-- Подключение базы знаний --> <METRICS_TO_COLLECT>
<KNOWLEDGE_BASE from="../shared/semantic_enrichment_protocol.xml"/> <DESCRIPTION>Этот агент собирает следующие группы метрик для анализа.</DESCRIPTION>
<COLLECTS group_id="core_metrics"/>
<COLLECTS group_id="coherence_metrics"/>
<COLLECTS group_id="engineer_specific"/>
</METRICS_TO_COLLECT>
<!-- Декларация потребностей в каналах -->
<REQUIRES_CHANNEL type="TaskSource" as="MyTaskInbox"/>
<REQUIRES_CHANNEL type="LogSink" as="MyLogger"/>
<!-- Подключение базы знаний -->
<KNOWLEDGE_BASE from="../shared/semantic_enrichment_protocol.xml"/>
</META>
<!-- Основной цикл работы агента --> <!-- Основной цикл работы агента -->
<ACTION> <ACTION>
@@ -29,6 +41,12 @@
<!-- 3. Отправить результат в абстрактный логгер --> <!-- 3. Отправить результат в абстрактный логгер -->
<SEND message="Result" to="MyLogger"/> <SEND message="Result" to="MyLogger"/>
<!-- 4. Собрать и залогировать метрики -->
<BLOCK name="Log_Execution_Metrics">
<ACTION>Исполняющая среда ДОЛЖНА собрать все метрики, задекларированные в METRICS_TO_COLLECT.</ACTION>
<ACTION>Собранные метрики ДОЛЖНЫ быть отправлены в MyLogger.</ACTION>
</BLOCK>
</ACTION> </ACTION>
<!-- Воркфлоу остается здесь, т.к. это основная логика роли --> <!-- Воркфлоу остается здесь, т.к. это основная логика роли -->

View File

@@ -1,7 +1,17 @@
<AI_AGENT_SEMANTIC_LINTER_PROTOCOL> <AI_AGENT_SEMANTIC_LINTER_PROTOCOL>
<META> <META>
<PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента Семантической Разметки'**. Он описывает философию, процедуры инициализации и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли. Главная задача — приведение кодовой базы в полное соответствие с `SEMANTIC_ENRICHMENT_PROTOCOL`.</PURPOSE> <PURPOSE>Этот документ определяет операционный протокол для **исполнения роли 'Агента Семантической Разметки'**. Он описывает философию, процедуры инициализации и пошаговый алгоритм действий, которым я, Gemini, следую при выполнении этой роли. Главная задача — приведение кодовой базы в полное соответствие с `SEMANTIC_ENRICHMENT_PROTOCOL`.</PURPOSE>
<VERSION>2.2</VERSION> <VERSION>3.0</VERSION>
<INCLUDE_SHARED_DEFINITION from="../shared/metrics_catalog.xml"/>
<METRICS_TO_COLLECT>
<DESCRIPTION>Этот агент собирает следующие группы метрик для анализа.</DESCRIPTION>
<COLLECTS group_id="core_metrics"/>
<COLLECTS group_id="coherence_metrics"/>
<COLLECTS group_id="linter_specific"/>
</METRICS_TO_COLLECT>
<DEPENDS_ON> <DEPENDS_ON>
- Gitea_Issue_Driven_Protocol - Gitea_Issue_Driven_Protocol
- Agent_Bootstrap_Protocol - Agent_Bootstrap_Protocol
@@ -132,5 +142,9 @@
</SUB_STEP> </SUB_STEP>
</SUB_WORKFLOW> </SUB_WORKFLOW>
</WORKFLOW_STEP> </WORKFLOW_STEP>
<WORKFLOW_STEP id="3" name="Log_Execution_Metrics">
<ACTION>Исполняющая среда ДОЛЖНА собрать все метрики, задекларированные в METRICS_TO_COLLECT.</ACTION>
<ACTION>Собранные метрики ДОЛЖНЫ быть отправлены в систему логирования.</ACTION>
</WORKFLOW_STEP>
</MASTER_WORKFLOW> </MASTER_WORKFLOW>
</AI_AGENT_SEMANTIC_LINTER_PROTOCOL> </AI_AGENT_SEMANTIC_LINTER_PROTOCOL>

View File

@@ -0,0 +1,40 @@
<!-- File: agent_promts/shared/metrics_catalog.xml -->
<METRICS_CATALOG>
<DESCRIPTION>Централизованный каталог всех LLM-ориентированных метрик для анализа работы агентов.</DESCRIPTION>
<METRIC_GROUP id="core_metrics">
<METRIC id="total_execution_time_ms" type="integer" description="Общее время выполнения задачи от начала до конца."/>
<METRIC id="turn_count" type="integer" description="Количество итераций (сообщений 'вопрос-ответ') для выполнения задачи."/>
<METRIC id="llm_token_usage_per_turn" type="list" description="Статистика по токенам для каждой итерации: {turn, prompt_tokens, completion_tokens}."/>
<METRIC id="tool_calls_log" type="list" description="Полный журнал вызовов инструментов: {turn, tool_name, arguments, result}."/>
<METRIC id="final_outcome" type="string" description="Итоговый результат работы (например, SUCCESS, FAILURE, NO_CHANGES)."/>
</METRIC_GROUP>
<METRIC_GROUP id="coherence_metrics">
<METRIC id="redundant_actions_count" type="integer" description="Счетчик избыточных последовательных действий (например, повторное чтение файла)."/>
<METRIC id="self_correction_count" type="integer" description="Счетчик явных самокоррекций агента (например, 'Я был неправ, попробую другой подход...')."/>
</METRIC_GROUP>
<METRIC_GROUP id="architect_specific">
<METRIC id="plan_revisions_count" type="integer" description="Количество переделок плана после обратной связи от пользователя."/>
<METRIC id="format_adherence_score" type="boolean" description="Соответствие ответа агента требуемому XML-формату."/>
</METRIC_GROUP>
<METRIC_GROUP id="documentation_specific">
<METRIC id="sync_audit_stats" type="object" description="Статистика аудита: {files_scanned, entities_found, relations_found}."/>
<METRIC id="manifest_diff_stats" type="object" description="Изменения в манифесте: {nodes_added, nodes_updated, nodes_removed}."/>
</METRIC_GROUP>
<METRIC_GROUP id="engineer_specific">
<METRIC id="code_generation_stats" type="object" description="Статистика по коду: {files_created, files_modified, lines_of_code_generated}."/>
<METRIC id="semantic_enrichment_stats" type="object" description="Насколько хорошо код был обогащен семантикой: {entities_added, relations_added}."/>
<METRIC id="static_analysis_issues_introduced" type="integer" description="Количество новых проблем, обнаруженных статическим анализатором в сгенерированном коде."/>
<METRIC id="build_breaks_count" type="integer" description="Сколько раз сгенерированный код приводил к ошибке сборки."/>
</METRIC_GROUP>
<METRIC_GROUP id="linter_specific">
<METRIC id="linting_scope" type="object" description="Область проверки: {mode, files_to_process_count}."/>
<METRIC id="linting_results" type="object" description="Результаты работы: {files_modified, violations_fixed}."/>
</METRIC_GROUP>
</METRICS_CATALOG>