IBM vLLM 도구 호출 스트리밍과 모델 프로파일 기반 실행 정책 강화
Some checks failed
Release Gate / gate (push) Has been cancelled

- IBM 배포형 도구 호출 바디에 프로파일 기반 tool temperature를 적용하고 tool_call_strict 프로파일에서 더 직접적인 tool-only 지시를 추가함
- IBM 경로가 tool_choice를 거부할 때 tool_choice만 제거한 대체 강제 재시도 경로를 추가함
- OpenAI/vLLM tool-use 응답을 SSE로 수신하고 delta.tool_calls를 부분 조립해 도구 호출을 더 빨리 감지하도록 변경함
- read-only 도구 조기 실행과 결과 재사용 경로를 도입해 Cowork/Code 도구 착수 속도를 개선함
- README와 DEVELOPMENT 문서를 2026-04-08 11:14(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:
2026-04-08 16:48:11 +09:00
parent a2c952879d
commit 90ef3400f6
20 changed files with 1231 additions and 241 deletions

View File

@@ -5575,6 +5575,67 @@
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
<StackPanel Orientation="Horizontal">
<TextBlock Style="{StaticResource RowLabel}" Text="상세 워크플로우 로그"/>
<Border Width="16" Height="16" CornerRadius="8" Background="{DynamicResource ItemHoverBackground}" Margin="6,0,0,0" Cursor="Help" VerticalAlignment="Center">
<TextBlock Text="?" FontSize="10" FontWeight="Bold" Foreground="{DynamicResource AccentColor}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<Border.ToolTip>
<ToolTip Style="{StaticResource HelpTooltipStyle}">
<TextBlock TextWrapping="Wrap" Foreground="White" FontSize="12" LineHeight="18">
LLM 요청/응답, 도구 호출/결과 등 에이전트 실행의 전체 이력을 상세하게 기록합니다.
<LineBreak/>워크플로우 분석기와 함께 사용하면 디버깅에 유용합니다.
<LineBreak/>보관 기간이 지난 로그는 자동으로 삭제됩니다.
</TextBlock>
</ToolTip>
</Border.ToolTip>
</Border>
</StackPanel>
<TextBlock Style="{StaticResource RowHint}" Text="에이전트 워크플로우 상세 이력을 기록합니다. 디버깅 및 도구 미호출 문제 분석에 활용됩니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding EnableDetailedLog, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="80"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" VerticalAlignment="Center">
<TextBlock Style="{StaticResource RowLabel}" Text="상세 로그 보관 기간"/>
<TextBlock Style="{StaticResource RowHint}" Text="이 기간이 지난 상세 로그는 자동으로 삭제됩니다. (1~30일)"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<TextBox Width="45" Height="28" TextAlignment="Center" FontSize="12"
VerticalContentAlignment="Center"
BorderBrush="{DynamicResource BorderColor}"
Foreground="{DynamicResource PrimaryText}"
Background="{DynamicResource ComposerBackground}"
Text="{Binding DetailedLogRetentionDays, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="일" VerticalAlignment="Center" Margin="6,0,0,0"
Foreground="{DynamicResource SecondaryText}" FontSize="12"/>
</StackPanel>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
<TextBlock Style="{StaticResource RowLabel}" Text="상세 로그 보기"/>
<TextBlock Style="{StaticResource RowHint}" Text="워크플로우 상세 로그가 저장된 폴더를 엽니다."/>
</StackPanel>
<Button HorizontalAlignment="Right" VerticalAlignment="Center"
Click="BtnOpenWorkflowLog_Click" Padding="12,6" Cursor="Hand"
Background="Transparent" BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1" Foreground="{DynamicResource PrimaryText}">
<TextBlock Text="폴더 열기" FontSize="12"/>
</Button>
</Grid>
</Border>
<!-- ── 에이전트 고급 ── -->
<TextBlock Style="{StaticResource SectionHeader}" Text="에이전트 고급"/>
<Border Style="{StaticResource SettingsRow}">