AX Agent 실행 선택 분기를 엔진으로 이관
Some checks failed
Release Gate / gate (push) Has been cancelled

- AxAgentExecutionEngine에 ExecutePreparedAsync를 추가해 AgentLoop와 일반 LLM 호출 선택을 엔진이 담당하도록 정리함

- SendMessageAsync와 SendRegenerateAsync가 공통 실행 진입점을 사용하도록 바꿔 창 코드의 중복 분기를 줄임

- 검증: 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:
2026-04-05 12:29:13 +09:00
parent 660f4e5a32
commit 31a8b979c7
4 changed files with 29 additions and 17 deletions

View File

@@ -74,6 +74,17 @@ public sealed class AxAgentExecutionEngine
return new PreparedExecution(mode, promptStack, preparedTurn.Messages);
}
public Task<string> ExecutePreparedAsync(
PreparedExecution prepared,
Func<IReadOnlyList<ChatMessage>, CancellationToken, Task<string>> agentLoopRunner,
Func<IReadOnlyList<ChatMessage>, CancellationToken, Task<string>> llmRunner,
CancellationToken cancellationToken)
{
return prepared.Mode.UseAgentLoop
? agentLoopRunner(prepared.Messages, cancellationToken)
: llmRunner(prepared.Messages, cancellationToken);
}
public PreparedTurn PrepareTurn(
ChatConversation conversation,
IEnumerable<string?> systemPrompts,