feat(cognition): integrated empathetic acknowledgment and reordered response flow v2.66.0

This commit is contained in:
g1nation
2026-05-05 10:28:45 +09:00
parent 421b2ce36a
commit ccb5ca515e
3 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -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",
+5 -5
View File
@@ -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 {
+1
View File
@@ -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.