From 25b171c2956912ebff23f204d49d30d38050845f Mon Sep 17 00:00:00 2001 From: toki Date: Sat, 4 Jul 2026 10:49:54 +0900 Subject: [PATCH] refactor: simplify response language retry logic in iop-rule-loader --- .pi/iop-rule-loader.ts | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/.pi/iop-rule-loader.ts b/.pi/iop-rule-loader.ts index 6f31cab..363f39a 100644 --- a/.pi/iop-rule-loader.ts +++ b/.pi/iop-rule-loader.ts @@ -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, - "응답 언어 정책에 맞지 않는 출력이 다시 감지되었습니다. 이 요청은 한국어 응답 안정성이 더 높은 모델로 전환해 다시 실행해야 합니다.", + "응답 언어 정책에 맞지 않는 출력이 감지되어 답변을 차단했습니다. 같은 요청을 새로 실행하거나 한국어 응답 안정성이 더 높은 모델로 전환해 다시 실행해야 합니다.", ), }; });