fix(debate): topic_slug 및 title 길이 제한, 사회자 프롬프트에서 상대 전문 중계 제거
This commit is contained in:
@@ -77,8 +77,10 @@ class DebateHandler:
|
|||||||
try:
|
try:
|
||||||
from tools.wiki_client import WikiClient
|
from tools.wiki_client import WikiClient
|
||||||
slug = WikiClient.slugify(topic)
|
slug = WikiClient.slugify(topic)
|
||||||
|
if len(slug) > 80:
|
||||||
|
slug = slug[:80].rstrip("-")
|
||||||
except Exception:
|
except Exception:
|
||||||
slug = topic[:15].replace(" ", "-").lower()
|
slug = topic[:20].replace(" ", "-").lower()
|
||||||
|
|
||||||
self.session = DebateSession(
|
self.session = DebateSession(
|
||||||
topic=topic, topic_slug=slug,
|
topic=topic, topic_slug=slug,
|
||||||
@@ -347,13 +349,12 @@ class DebateHandler:
|
|||||||
## 지시
|
## 지시
|
||||||
발언자({speaker})에게 보낼 메시지를 작성하세요.
|
발언자({speaker})에게 보낼 메시지를 작성하세요.
|
||||||
|
|
||||||
1. 상대 발언이 있으면 **전문 포함** (요약 금지)
|
1. 사용자의 판단이 있으면 맥락 설명
|
||||||
2. 사용자의 판단이 있으면 맥락 설명
|
2. 상대방의 최근 발언을 바탕으로 오류/허점 확인 + 개선 방향 지시
|
||||||
3. 오류/허점 확인 + 개선 방향 지시
|
3. 핵심 쟁점 방향 제시
|
||||||
4. 핵심 쟁점 방향 제시
|
4. 첫 발언이면 주제 설명 + 자유 의견 안내
|
||||||
5. 첫 발언이면 주제 설명 + 자유 의견 안내
|
5. **답변은 전문으로 response.md에 작성하라고 안내**
|
||||||
6. **답변은 response.md에 작성하라고 안내**
|
6. **진행 상황과 상대측 의견 내용은 wiki/working_document.md를 참고하라고 안내 (상대방 전문 중계 금지)**
|
||||||
7. **참고할 합의 사항은 wiki/working_document.md에 있다고 안내**
|
|
||||||
|
|
||||||
(사회자 메시지만 출력)
|
(사회자 메시지만 출력)
|
||||||
"""
|
"""
|
||||||
@@ -537,6 +538,8 @@ class DebateHandler:
|
|||||||
|
|
||||||
async def _wiki_upsert(self, path: str, title: str, content: str):
|
async def _wiki_upsert(self, path: str, title: str, content: str):
|
||||||
"""Wiki.js에 페이지 upsert."""
|
"""Wiki.js에 페이지 upsert."""
|
||||||
|
if len(title) > 200:
|
||||||
|
title = title[:197] + "..."
|
||||||
try:
|
try:
|
||||||
from tools.wiki_client import WikiClient
|
from tools.wiki_client import WikiClient
|
||||||
client = WikiClient()
|
client = WikiClient()
|
||||||
@@ -571,12 +574,10 @@ class DebateHandler:
|
|||||||
|
|
||||||
prev = [h for h in self.session.history if h["speaker"] != "user"]
|
prev = [h for h in self.session.history if h["speaker"] != "user"]
|
||||||
if prev:
|
if prev:
|
||||||
last = prev[-1]
|
parts.append("\n---\n상대방의 의견에 대한 오류를 확인하고 개선점을 지적하세요.")
|
||||||
parts.append(f"### 상대방({last['speaker']})의 발언:\n{last['content']}")
|
|
||||||
parts.append("\n---\n오류를 확인하고 개선점을 지적하세요.")
|
|
||||||
else:
|
else:
|
||||||
parts.append("첫 번째 발언자입니다. 주제에 대해 의견을 제시하세요.")
|
parts.append("첫 번째 발언자입니다. 주제에 대해 의견을 제시하세요.")
|
||||||
|
|
||||||
parts.append("\n\n**답변은 response.md에 작성하세요.**")
|
parts.append("\n\n**답변은 response.md에 전문으로 작성하세요.**")
|
||||||
parts.append("**합의 사항은 wiki/working_document.md를 참고하세요.**")
|
parts.append("**상대방의 의견 내용과 합의 사항은 wiki/working_document.md를 참고하세요.**")
|
||||||
return "\n".join(parts)
|
return "\n".join(parts)
|
||||||
|
|||||||
Reference in New Issue
Block a user