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:
@@ -101,6 +101,23 @@ export function isClaudeOpus47Model(model: string): boolean {
|
||||
return modelName.includes("claude-opus-4-7");
|
||||
}
|
||||
|
||||
/**
|
||||
* Kimi K2.x model detection (K2.5 / K2.6 family).
|
||||
*
|
||||
* Matches model IDs containing any of:
|
||||
* - "kimi" (provider/family signal — kimi-k2.6, moonshotai/Kimi-K2.6, etc.)
|
||||
* - "k2p5" / "k2-p5" / "k2.p5"
|
||||
* - "k2p6" / "k2-p6" / "k2.p6"
|
||||
*
|
||||
* Match is case-insensitive on the model name (last path segment).
|
||||
*/
|
||||
export function isKimiK2Model(model: string): boolean {
|
||||
const modelName = extractModelName(model).toLowerCase();
|
||||
if (modelName.includes("kimi")) return true;
|
||||
if (/k2[-.]?p[56]/.test(modelName)) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
const GEMINI_PROVIDERS = ["google/", "google-vertex/"];
|
||||
|
||||
export function isMiniMaxModel(model: string): boolean {
|
||||
|
||||
Reference in New Issue
Block a user