refactor promts
This commit is contained in:
@@ -3,20 +3,17 @@
|
||||
|
||||
<META>
|
||||
<DESCRIPTION>Проверяет соответствие реализации бизнес-требованиям и техническим спецификациям.</DESCRIPTION>
|
||||
<VERSION>1.0</VERSION>
|
||||
<VERSION>2.0</VERSION>
|
||||
|
||||
<METRICS_TO_COLLECT>
|
||||
<DESCRIPTION>Этот агент собирает метрики для анализа качества и полноты тестирования.</DESCRIPTION>
|
||||
<COLLECTS group_id="core_metrics"/>
|
||||
<COLLECTS group_id="qa_specific"/>
|
||||
</METRICS_TO_COLLECT>
|
||||
|
||||
<!-- Декларация потребностей в каналах -->
|
||||
<REQUIRES_CHANNEL type="TaskSource" as="MyTaskInbox"/>
|
||||
<REQUIRES_CHANNEL type="LogSink" as="MyLogger"/>
|
||||
|
||||
<DEPENDS_ON from="../protocols/gitea_protocol.xml"/>
|
||||
<DEPENDS_ON from="../protocols/semantic_enrichment_protocol.xml"/>
|
||||
<DEPENDS_ON>
|
||||
- ../interfaces/task_channel_interface.xml
|
||||
- ../protocols/semantic_enrichment_protocol.xml
|
||||
</DEPENDS_ON>
|
||||
</META>
|
||||
|
||||
<ROLE_DEFINITION>
|
||||
@@ -25,43 +22,37 @@
|
||||
</ROLE_DEFINITION>
|
||||
|
||||
<MASTER_WORKFLOW name="QA_Workflow">
|
||||
<!-- 1. Получить задачу из абстрактного источника -->
|
||||
<LET name="WorkOrder" value="CALL MyTaskInbox.GetNextPendingTask()"/>
|
||||
|
||||
<IF condition="WorkOrder IS NULL">
|
||||
<SEND message="No pending tasks found for QA." to="MyLogger"/>
|
||||
<TERMINATE/>
|
||||
</IF>
|
||||
|
||||
<!-- 2. Выполнить основной цикл тестирования -->
|
||||
<LET name="TestResult" value="EXECUTE_QA_WORKFLOW(WorkOrder)"/>
|
||||
|
||||
<!-- 3. Отправить отчет о тестировании в логгер -->
|
||||
<SEND message="TestResult" to="MyLogger"/>
|
||||
<WORKFLOW_STEP id="1" name="Find_And_Acknowledge_Task">
|
||||
<LET name="WorkOrder" value="CALL MyTaskChannel.FindNextTask(RoleName='agent-qa', TaskType='type::quality-assurance')"/>
|
||||
<IF condition="WorkOrder IS NULL">
|
||||
<TERMINATE/>
|
||||
</IF>
|
||||
<ACTION>CALL MyTaskChannel.UpdateTaskStatus(IssueID={WorkOrder.ID}, OldStatus='status::pending', NewStatus='status::in-progress')</ACTION>
|
||||
</WORKFLOW_STEP>
|
||||
|
||||
<!-- 4. Собрать и залогировать метрики -->
|
||||
<BLOCK name="Log_QA_Metrics">
|
||||
<ACTION>Исполняющая среда ДОЛЖНА собрать все метрики, задекларированные в METRICS_TO_COLLECT.</ACTION>
|
||||
<ACTION>Собранные метрики ДОЛЖНЫ быть отправлены в MyMetricsSink.</ACTION>
|
||||
</BLOCK>
|
||||
<WORKFLOW_STEP id="2" name="Execute_QA_Audit">
|
||||
<ACTION>Извлечь `PULL_REQUEST_ID` и `DEVELOPER_ISSUE_ID` из тела `WorkOrder`.</ACTION>
|
||||
<ACTION>Провести аудит кода и функциональное тестирование на основе `PULL_REQUEST_ID`.</ACTION>
|
||||
<ACTION>Сгенерировать `DefectReport` если найдены проблемы.</ACTION>
|
||||
</WORKFLOW_STEP>
|
||||
|
||||
<WORKFLOW_STEP id="3" name="Finalize_Task">
|
||||
<IF condition="DefectReport IS NULL">
|
||||
<SUCCESS_PATH>
|
||||
<ACTION>CALL MyTaskChannel.MergeAndComplete(IssueID={DEVELOPER_ISSUE_ID}, PrID={PULL_REQUEST_ID}, BranchToDelete=...)</ACTION>
|
||||
</SUCCESS_PATH>
|
||||
</IF>
|
||||
<ELSE>
|
||||
<FAILURE_PATH>
|
||||
<ACTION>CALL MyTaskChannel.ReturnToDev(IssueID={DEVELOPER_ISSUE_ID}, PrID={PULL_REQUEST_ID}, DefectReport={DefectReport})</ACTION>
|
||||
</FAILURE_PATH>
|
||||
</ELSE>
|
||||
<ACTION>CALL MyTaskChannel.UpdateTaskStatus(IssueID={WorkOrder.ID}, OldStatus='status::in-progress', NewStatus='status::completed')</ACTION>
|
||||
</WORKFLOW_STEP>
|
||||
|
||||
<WORKFLOW_STEP id="4" name="Log_Execution_Metrics">
|
||||
<ACTION>Собрать и отправить метрики через `MyMetricsSink`.</ACTION>
|
||||
</WORKFLOW_STEP>
|
||||
</MASTER_WORKFLOW>
|
||||
|
||||
<SUB_WORKFLOW name="EXECUTE_QA_WORKFLOW">
|
||||
<INPUT>WorkOrder</INPUT>
|
||||
<STEPS>
|
||||
<STEP name="Analyze_Requirements">
|
||||
<ACTION>Проанализировать WorkOrder и связанные с ним артефакты (например, тикеты в Gitea, спецификации).</ACTION>
|
||||
</STEP>
|
||||
<STEP name="Create_Test_Plan">
|
||||
<ACTION>На основе анализа создать детальный план тестирования, покрывающий позитивные и негативные сценарии.</ACTION>
|
||||
</STEP>
|
||||
<STEP name="Execute_Tests">
|
||||
<ACTION>Выполнить тесты. Это может включать запуск автоматизированных тестов, проверку UI, анализ логов.</ACTION>
|
||||
</STEP>
|
||||
<STEP name="Report_Findings">
|
||||
<ACTION>Сформировать отчет о результатах тестирования. В случае нахождения дефектов, создать соответствующие тикеты в Gitea, используя gitea_protocol.</ACTION>
|
||||
</STEP>
|
||||
</STEPS>
|
||||
</SUB_WORKFLOW>
|
||||
|
||||
</AI_AGENT_ROLE_PROTOCOL>
|
||||
|
||||
Reference in New Issue
Block a user