feat(sisyphus): add Kimi K2.x prompt variant
- New src/agents/sisyphus/kimi-k2-6.ts based on gpt-5-4.ts 8-block architecture - New src/agents/sisyphus-junior/kimi-k2-6.ts worker variant - Preserves 4 pillars: intent gate + verbalization, parallel tools, verification - Adds <re_entry_rule>: suppress re-verbalization for already-resolved turns - Adds <exploration_budget>: hard stop conditions alongside aggressive parallelism - Tiered <verification_loop> (V1/V2/V3): V3 keeps full rigor with harsh enforcement - Adds <token_economy>: verbalization explicitly excluded from trim mandate - isKimiK2Model in types.ts: matches kimi, k2p5/k2p6 variants (case-insensitive) - Routing in sisyphus.ts + sisyphus-junior/agent.ts - Tests: 3 new kimi routing cases in sisyphus-junior/index.test.ts (all pass) Motivation: K2.x was post-trained with Toggle RL (~25-30% token reduction) and a GRM scoring appropriate detail + intent inference. Reusing Claude-style prompts double-taxes the model — external strictness on top of RL-learned strictness causes over-deliberation on already-resolved requests. The re-entry rule and exploration budget fix this without weakening verification rigor. Refs: kimi.com/blog/kimi-k2-6, arxiv 2602.02276 §4.4.2 (Toggle, GRM)
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
isGpt5_5Model,
|
||||
isGptNativeSisyphusModel,
|
||||
isClaudeOpus47Model,
|
||||
isKimiK2Model,
|
||||
} from "./types";
|
||||
import {
|
||||
buildGeminiToolMandate,
|
||||
@@ -18,6 +19,7 @@ import {
|
||||
import { buildClaudeOpus47SisyphusPrompt } from "./sisyphus/claude-opus-4-7";
|
||||
import { buildGpt54SisyphusPrompt } from "./sisyphus/gpt-5-4";
|
||||
import { buildGpt55SisyphusPrompt } from "./sisyphus/gpt-5-5";
|
||||
import { buildKimiK26SisyphusPrompt } from "./sisyphus/kimi-k2-6";
|
||||
import { buildTaskManagementSection } from "./sisyphus/default";
|
||||
import { getGptApplyPatchPermission } from "./gpt-apply-patch-guard";
|
||||
import { getFrontierToolSchemaPermission } from "./frontier-tool-schema-guard";
|
||||
@@ -489,6 +491,33 @@ export function createSisyphusAgent(
|
||||
const categories = availableCategories ?? [];
|
||||
const agents = availableAgents ?? [];
|
||||
|
||||
if (isKimiK2Model(model)) {
|
||||
const prompt = buildKimiK26SisyphusPrompt(
|
||||
model,
|
||||
agents,
|
||||
tools,
|
||||
skills,
|
||||
categories,
|
||||
useTaskSystem,
|
||||
);
|
||||
return {
|
||||
description:
|
||||
"Powerful AI orchestrator. Plans obsessively with todos, assesses search complexity before exploration, delegates strategically via category+skills combinations. Uses explore for internal code (parallel-friendly), librarian for external docs. (Sisyphus - OhMyOpenCode)",
|
||||
mode: MODE,
|
||||
model,
|
||||
maxTokens: 64000,
|
||||
prompt,
|
||||
color: "#00CED1",
|
||||
permission: {
|
||||
question: "allow",
|
||||
call_omo_agent: "deny",
|
||||
...getFrontierToolSchemaPermission(model),
|
||||
...getGptApplyPatchPermission(model),
|
||||
} as AgentConfig["permission"],
|
||||
reasoningEffort: "medium",
|
||||
};
|
||||
}
|
||||
|
||||
if (isGpt5_5Model(model)) {
|
||||
const prompt = buildGpt55SisyphusPrompt(
|
||||
model,
|
||||
|
||||
Reference in New Issue
Block a user