- claude-code 선택적 탐색 흐름을 참고해 Cowork/Code 시스템 프롬프트에서 folder_map 상시 선행 지시를 완화하고 glob/grep 기반 좁은 탐색을 우선하도록 조정함 - FolderMapTool 기본 depth를 2로, include_files 기본값을 false로 낮추고 MultiReadTool 최대 파일 수를 8개로 줄여 초기 과탐색 폭을 보수적으로 조정함 - AgentLoopExplorationPolicy partial을 추가해 탐색 범위 분류, broad-scan corrective hint, exploration_breadth 성능 로그를 연결함 - AgentLoopService에 탐색 범위 가이드 주입과 실행 중 탐색 폭 추적을 추가하고, 좁은 질문에서 반복적인 folder_map/대량 multi_read를 교정하도록 정리함 - DocxToHtmlConverter nullable 경고를 수정해 Release 빌드 경고 0 / 오류 0 기준을 다시 충족함 - README와 docs/DEVELOPMENT.md에 2026-04-09 10:36 (KST) 기준 개발 이력을 반영함
This commit is contained in:
@@ -40,16 +40,16 @@ public class SuggestActionsTool : IAgentTool
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!args.TryGetProperty("actions", out var actionsEl) || actionsEl.ValueKind != JsonValueKind.Array)
|
||||
if (!args.SafeTryGetProperty("actions", out var actionsEl) || actionsEl.ValueKind != JsonValueKind.Array)
|
||||
return Task.FromResult(ToolResult.Fail("actions 배열이 필요합니다."));
|
||||
|
||||
var actions = new List<Dictionary<string, string>>();
|
||||
foreach (var item in actionsEl.EnumerateArray())
|
||||
{
|
||||
var label = item.TryGetProperty("label", out var l) ? l.GetString() ?? "" : "";
|
||||
var command = item.TryGetProperty("command", out var c) ? c.GetString() ?? "" : "";
|
||||
var icon = item.TryGetProperty("icon", out var i) ? i.GetString() ?? "" : "";
|
||||
var priority = item.TryGetProperty("priority", out var p) ? p.GetString() ?? "medium" : "medium";
|
||||
var label = item.SafeTryGetProperty("label", out var l) ? l.SafeGetString() ?? "" : "";
|
||||
var command = item.SafeTryGetProperty("command", out var c) ? c.SafeGetString() ?? "" : "";
|
||||
var icon = item.SafeTryGetProperty("icon", out var i) ? i.SafeGetString() ?? "" : "";
|
||||
var priority = item.SafeTryGetProperty("priority", out var p) ? p.SafeGetString() ?? "medium" : "medium";
|
||||
|
||||
if (string.IsNullOrWhiteSpace(label))
|
||||
return Task.FromResult(ToolResult.Fail("각 action에는 label이 필요합니다."));
|
||||
@@ -76,7 +76,7 @@ public class SuggestActionsTool : IAgentTool
|
||||
if (actions.Count < 1 || actions.Count > 5)
|
||||
return Task.FromResult(ToolResult.Fail("actions는 1~5개 사이여야 합니다."));
|
||||
|
||||
var contextSummary = args.TryGetProperty("context", out var ctx) ? ctx.GetString() ?? "" : "";
|
||||
var contextSummary = args.SafeTryGetProperty("context", out var ctx) ? ctx.SafeGetString() ?? "" : "";
|
||||
|
||||
// 구조화된 JSON 응답 생성
|
||||
var result = new Dictionary<string, object>
|
||||
|
||||
Reference in New Issue
Block a user