AX Agent의 Cowork·Code 강제 로직을 claude-code 기준으로 추가 완화
Cowork·Code 프롬프트의 text-only 완료 조건을 완화하고, 실제 산출물 생성이나 코드 수정이 필요한 경우에만 도구 재강제를 걸도록 AgentLoopService를 조정했다. Code 검증 게이트는 diff 또는 최근 build/test 근거가 있으면 중복 재검증을 덜 하도록 줄였고, docs 정책은 creation tool 우선 + document_plan 선택형으로 정리했으며 folder_map 노출 우선순위를 한 단계 낮췄다. README.md와 docs/DEVELOPMENT.md에 2026-04-10 09:02 (KST) 기준 변경 이력을 반영했다. 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
@@ -55,9 +55,9 @@ public partial class AgentLoopService
|
||||
var hasDiffEvidence = HasDiffEvidenceAfterLastModification(messages);
|
||||
var hasRecentBuildOrTestEvidence = HasBuildOrTestEvidenceAfterLastModification(messages);
|
||||
var hasSuccessfulBuildAndTestEvidence = HasSuccessfulBuildAndTestAfterLastModification(messages);
|
||||
var hasLightweightCompletionEvidence = hasCodeVerificationEvidence
|
||||
|| hasDiffEvidence
|
||||
|| hasRecentBuildOrTestEvidence;
|
||||
var hasLightweightCompletionEvidence = requireHighImpactCodeVerification
|
||||
? hasCodeVerificationEvidence
|
||||
: hasDiffEvidence || hasRecentBuildOrTestEvidence || hasCodeVerificationEvidence;
|
||||
if (executionPolicy.CodeVerificationGateMaxRetries > 0
|
||||
&& !(requireHighImpactCodeVerification ? hasCodeVerificationEvidence : hasLightweightCompletionEvidence)
|
||||
&& runState.CodeVerificationGateRetry < executionPolicy.CodeVerificationGateMaxRetries)
|
||||
@@ -132,7 +132,7 @@ public partial class AgentLoopService
|
||||
if (executionPolicy.CodeDiffGateMaxRetries <= 0 || runState.CodeDiffGateRetry >= executionPolicy.CodeDiffGateMaxRetries)
|
||||
return false;
|
||||
|
||||
if (HasDiffEvidenceAfterLastModification(messages))
|
||||
if (HasDiffEvidenceAfterLastModification(messages) || HasBuildOrTestEvidenceAfterLastModification(messages))
|
||||
return false;
|
||||
|
||||
runState.CodeDiffGateRetry++;
|
||||
@@ -160,6 +160,9 @@ public partial class AgentLoopService
|
||||
if (executionPolicy.RecentExecutionGateMaxRetries <= 0 || runState.RecentExecutionGateRetry >= executionPolicy.RecentExecutionGateMaxRetries)
|
||||
return false;
|
||||
|
||||
if (HasDiffEvidenceAfterLastModification(messages))
|
||||
return false;
|
||||
|
||||
if (!HasAnyBuildOrTestEvidence(messages))
|
||||
return false;
|
||||
|
||||
@@ -191,6 +194,9 @@ public partial class AgentLoopService
|
||||
if (executionPolicy.ExecutionSuccessGateMaxRetries <= 0 || runState.ExecutionSuccessGateRetry >= executionPolicy.ExecutionSuccessGateMaxRetries)
|
||||
return false;
|
||||
|
||||
if (HasDiffEvidenceAfterLastModification(messages))
|
||||
return false;
|
||||
|
||||
if (!HasAnyBuildOrTestAttempt(messages))
|
||||
return false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user