refactor: simplify response language retry logic in iop-rule-loader
This commit is contained in:
parent
fa3eb5f939
commit
25b171c295
1 changed files with 1 additions and 26 deletions
|
|
@ -43,7 +43,6 @@ const responseLanguageUserPrefix = `[IOP 응답 언어: 이번 요청에서 사
|
|||
|
||||
const responseLanguageUserSuffix = `[응답 전 확인: 자연어 설명이 한국어인지 확인하고, 한국어가 아니면 한국어로 다시 작성한다.]`;
|
||||
|
||||
const responseLanguageRetryPrefix = "[IOP language retry]";
|
||||
const nonKoreanCJKPattern = /[\u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff]/;
|
||||
|
||||
const commonRequiredSessionRules: RuleSpec[] = [
|
||||
|
|
@ -304,8 +303,6 @@ function injectResponseLanguagePolicy(payload: ProviderPayload): ProviderPayload
|
|||
export default function iopRuleLoader(pi: ExtensionAPI) {
|
||||
let projectRoot = "";
|
||||
let loadedRules: LoadedRule[] = [];
|
||||
let lastUserPrompt = "";
|
||||
let languageRetryUsed = false;
|
||||
|
||||
pi.on("session_start", async (_event, ctx) => {
|
||||
projectRoot = findProjectRoot(ctx.cwd);
|
||||
|
|
@ -318,11 +315,6 @@ export default function iopRuleLoader(pi: ExtensionAPI) {
|
|||
});
|
||||
|
||||
pi.on("before_agent_start", async (event, ctx) => {
|
||||
lastUserPrompt = event.prompt;
|
||||
if (!lastUserPrompt.startsWith(responseLanguageRetryPrefix)) {
|
||||
languageRetryUsed = false;
|
||||
}
|
||||
|
||||
const root = projectRoot || findProjectRoot(ctx.cwd);
|
||||
const rules = loadEntryRules(root);
|
||||
|
||||
|
|
@ -355,27 +347,10 @@ ${buildRulesPrompt(projectRoot, loadedRules)}`,
|
|||
return;
|
||||
}
|
||||
|
||||
if (!languageRetryUsed && lastUserPrompt && !lastUserPrompt.startsWith(responseLanguageRetryPrefix)) {
|
||||
languageRetryUsed = true;
|
||||
pi.sendUserMessage(
|
||||
`${responseLanguageRetryPrefix}
|
||||
직전 답변은 프로젝트 응답 언어 정책과 맞지 않았다.
|
||||
아래 사용자 요청에 다시 답하되, 최종 답변의 자연어 문장은 한국어로만 작성한다.
|
||||
코드, 명령어, 파일 경로, 식별자는 원문을 유지한다.
|
||||
|
||||
${lastUserPrompt}`,
|
||||
{ deliverAs: "followUp" },
|
||||
);
|
||||
|
||||
return {
|
||||
message: replaceMessageText(message, "응답 언어 정책에 맞게 다시 작성하겠습니다."),
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
message: replaceMessageText(
|
||||
message,
|
||||
"응답 언어 정책에 맞지 않는 출력이 다시 감지되었습니다. 이 요청은 한국어 응답 안정성이 더 높은 모델로 전환해 다시 실행해야 합니다.",
|
||||
"응답 언어 정책에 맞지 않는 출력이 감지되어 답변을 차단했습니다. 같은 요청을 새로 실행하거나 한국어 응답 안정성이 더 높은 모델로 전환해 다시 실행해야 합니다.",
|
||||
),
|
||||
};
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue