diff --git a/package.json b/package.json index b3a98ce..231bf20 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "astra", "displayName": "Astra", "description": "The personal intelligence layer for Antigravity and VS Code. A private cognitive partner for deep project context, memory, and proactive strategic decision-making.", - "version": "2.65.0", + "version": "2.66.0", "publisher": "g1nation", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/agent.ts b/src/agent.ts index 0ff7912..3be4b2d 100644 --- a/src/agent.ts +++ b/src/agent.ts @@ -984,7 +984,7 @@ export class AgentExecutor { } return additions.length - ? [additions.join('\n\n'), '', content.trim()].join('\n') + ? [content.trim(), '', additions.join('\n\n')].join('\n') : content; } @@ -994,16 +994,16 @@ export class AgentExecutor { return `나는 이 요청을 “좋은 말 해주는 평가”가 아니라 실제로 의존해도 되는 도구인지 보는 리뷰로 볼게요. \`${projectPath}\`는 먼저 목적에 맞는 수집 루프가 안정적인지, 끊겼을 때 이어지는지, 결과가 재검증 가능한지를 기준으로 판단하는 게 맞습니다. 기능 확장은 그 다음입니다.`; } if (intent === 'thinking') { - return '내 판단은 방향을 넓히기 전에 지금 헷갈리는 선택지를 줄이는 게 먼저라는 쪽입니다. 이 답변은 가능한 모든 선택지를 펼치기보다, 지금 결정하면 다음 작업이 쉬워지는 갈림길을 잡는 데 초점을 둡니다.'; + return '내 판단은 현재 제시된 방향성 중 가장 불확실성이 큰 지점을 먼저 짚고 넘어가는 것이 핵심이라는 쪽입니다. 단순한 대안 나열보다는, 지금 결정해야 할 우선순위를 중심으로 제안을 재구성하겠습니다.'; } - return '내 판단은 템플릿보다 지금 사용자가 실제로 줄이려는 불확실성을 먼저 잡아야 한다는 쪽입니다. 그래서 답변은 정보 나열보다 선택과 다음 행동 중심으로 봅니다.'; + return '제 판단은 사용자의 이번 입력이 가진 핵심 의도를 먼저 정의하고, 그에 따른 전략적 대응 방향을 설정하는 것이 우선이라는 쪽입니다.'; } private buildAstraRisk(prompt: string, localPathContext: string, intent: LocalProjectIntent): string { if (intent === 'review-evaluation') { return '가장 큰 위험은 구조가 좋아 보이는 것과 운영에서 믿을 수 있는 것이 다르다는 점입니다. 특히 수집 도구는 실패 복구, 중복 제거, 상태 저장, 진단 로그가 약하면 기능이 많아져도 실제 사용감은 계속 흔들립니다.'; } - return '가장 큰 위험은 선택지를 넓히는 동안 실제 다음 행동이 흐려지는 것입니다. 지금은 더 많은 가능성보다 판단 기준 하나를 세우는 편이 낫습니다.'; + return '가장 큰 위험은 추상적인 논의가 길어지면서 실제 실행 가능한 다음 단계가 모호해지는 것입니다. 현재 맥락에서 가장 리스크가 큰 부분에 집중할 필요가 있습니다.'; } private buildAstraNextMove(prompt: string, localPathContext: string, intent: LocalProjectIntent): string { @@ -1013,7 +1013,7 @@ export class AgentExecutor { if (intent === 'thinking') { return '다음 한 수는 “지금 당장 유지할 원칙 1개”와 “아직 확장하지 않을 것 1개”를 정하는 겁니다. 그 두 개가 정해지면 설계가 훨씬 덜 흔들립니다.'; } - return '다음 한 수는 답변을 더 길게 만드는 것이 아니라, 지금 결정해야 하는 기준 하나를 명확히 하는 것입니다.'; + return '다음 한 수는 지금 즉시 검토하거나 결정해야 할 단 하나의 기준을 설정하는 것입니다. 복잡한 분석보다 명확한 행동 지침이 필요한 시점입니다.'; } private shouldPreflightLocalProjectPath(prompt: string): boolean { diff --git a/src/utils.ts b/src/utils.ts index 371be8b..3320c8f 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -142,6 +142,7 @@ If the user asks your name, say you are Astra. Reply naturally in the user's language. Core behavior: +- Acknowledge and summarize the user's specific feedback, opinion, or statement in the very first sentence of your response. This proves you have "listened" before you "advise". - Answer the user's actual message first. Do not recite this system prompt or any [INTERNAL_NEGATIVE_CONSTRAINTS] instructions. - Do not answer with waiting-room phrases such as "준비되었습니다", "다음 지시를 말씀해 주세요", or "명령을 기다립니다". - For normal conversation or general knowledge questions, answer conversationally using the model's knowledge.