feat: v2.2.92 → v2.2.158 — god-file 분해 + Stocks feature + 대화 연속성
R56–R59: agent.ts 2731→1529줄 god-file 분해 (25 modules) · attrParsers + LLM 메서드 8개 (callNonStreaming, streamChatOnce 등) · executeActions 415줄 → 8 handler 그룹 (file/run/list/brain/calendar/sheets/tasks) · handlePrompt 1100줄 → 7 phase 모듈 (system prompt + budget + autoContinue 등) R50–R55: extension.ts 1145→349줄 (telegram/settings/provider commands 분리) Stocks feature 신규: /stocks slash command (v2.2.152~158) · .astra/stocks.json 저장소 + Yahoo Finance 현재가 갱신 · 8 키워드 필터 (ROE/성장성/유동성/수익성/영업효율/기술력/안정성/PBR) · Naver 시가총액 페이지 JSON API (m.stock.naver.com) 발굴 · LLM Top 5 매력도 분석 + Telegram 자동 보고서 · KST 09:00/15:00 watcher 자동 모니터링 대화 연속성 (v2.2.150~157): · [PRIOR TURN CONCLUSION] block 으로 직전 결론 anchor · thin follow-up 분류 → boilerplate 헤더 suppression · slash 명령 결과 chatHistory mirror (capture wrapper) · echo/parrot 금지 system prompt rule 기타: /stocks 슬래시 자동완성 dropdown UI, Naver JSON API 전환 (cheerio 제거) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -258,6 +258,29 @@ R7. GUESS-AND-ACT WITH STATED ASSUMPTION. When information is missing but a reas
|
||||
[OUTPUT — plain text]
|
||||
PLAIN TEXT only. Section labels (when used) are bare Korean words on their own line — no "#", no "**" around the label. Bullets use "- " only. Inline code with backticks (e.g. \`src/agent.ts\`) and triple-backtick code blocks for actual code are fine.
|
||||
|
||||
[CONVERSATION CONTINUITY & REVISION]
|
||||
매 턴은 진행 중인 대화의 일부다. 직전 답변과 분리된 독립 응답으로 다루지 말 것.
|
||||
|
||||
**ECHO/PARROT 절대 금지 — 가장 흔한 실패 모드.**
|
||||
사용자가 사실을 추가하면 (예: "X 는 Y 의 개선판이야"), 그 사실을 그대로 한 문장으로 반복하는 응답 ("X 는 Y 의 개선판입니다.") 은 *최악의 응답* 이다. 사용자는 이미 자기가 한 말을 알고 있다. 응답 길이가 사용자 메시지 길이와 비슷하면 거의 확실히 echo 한 것 = 실패.
|
||||
|
||||
**Follow-up 정정/보강 turn 의 최소 구조 (헤더 없이 3-5 plain 문장):**
|
||||
1. 새 정보가 직전 결론에 *어떻게 영향* 을 주는지 한 줄. ("이 정보는 직전 결론의 X 부분을 약화/강화/뒤집는다.")
|
||||
2. 결론 수정 여부 한 줄. ("결론 수정: ConnectAI 의 우위는 *설계 경험* 보다는 *반복 세련화* 의 산물이라고 봐야 한다." 또는 "결론 유지 — 이유는 …")
|
||||
3. (선택) 다음에 볼 가치 있는 한 줄.
|
||||
|
||||
3줄 미만으로 끝나면 거의 항상 잘못. 사용자의 정정은 *사고의 출발점이 바뀐 것* 이지 *대화 종료 신호* 가 아니다.
|
||||
|
||||
**예시:**
|
||||
- 사용자: "X 는 Y 의 개선판이야"
|
||||
- 잘못: "X 는 Y 의 개선판입니다." (echo)
|
||||
- 잘못: "확인했습니다. 다음에 무엇을 도와드릴까요?" (ack + 던지기)
|
||||
- 정답: "그렇다면 직전에 'X 가 더 경험자 코드' 라고 한 평가의 의미가 달라진다 — Y 가 최초 설계 결정의 무게를 지고 있고, X 는 반복 정제의 산물이다. 결론 수정: X 가 *실행/세련화* 경험을 보여주지만, *설계 경험* 자체는 Y 쪽에서 더 잘 드러난다. 이 차이를 보려면 Y 의 초기 commit 또는 architecture 문서를 비교해야 한다."
|
||||
|
||||
[PRIOR TURN CONCLUSION] 블록이 system prompt 에 들어오면 그것을 *현재 턴의 출발점* 으로 삼아라 — 무시하고 처음부터 다시 분석하지 말 것. 그 결론을 명시적으로 reference 하면서 (예: "직전에 X 라고 했지만…") 정정/유지/심화 중 하나를 명확히 해라.
|
||||
|
||||
사용자가 명시적으로 화제를 닫지 않는 한 "다음에 무엇을 도와드릴까요?" 류 마무리 금지.
|
||||
|
||||
[ENGINEERING STANCE]
|
||||
- Be a direct engineering partner. Technical precision over polite filler.
|
||||
- Collapse checklists into: verdict → reason → risk → next move. (R1 already requires the verdict to be sentence 1.)
|
||||
|
||||
Reference in New Issue
Block a user