/** * Teacher-mode quick start (design/96 问题1 + S6/S7) — a thin shell over {@link runWithTeacher}. * * `runWithTeacher` (src/agents/teacher.ts) is mechanically complete: a cheap student does the work and only * escalates to a strong advisor when detectably stuck/wrong, with full guard defaults (maxEscalations 3 / * teacherSpendRatioCap 0.4 / stuckThreshold 3 / stuckHardOverride 5 / useStuckMonitor true). The gap is the * 画像 layer: callers hand-write a TeacherConfig + two ModelRefs every time. This adds the one-liner shell. * * Honest: the model pairing (which is cheap / which is strong) is deploy-side knowledge — core fills guard * defaults only. The guard defaults are NOT re-stated here: we let teacher.ts own them (single source of * truth, no drift). */ import type { Runner } from "../core/runner/runtask.js"; import type { ModelRef, TaskSpec } from "../core/types.js"; import { type TeacherRunResult } from "../agents/teacher.js"; export interface TeacherModePair { /** The cheap student model (used for most turns, saves tokens). */ student: ModelRef; /** The strong advisor model (consulted only when the student is stuck). */ advisor: ModelRef; } /** * One-line teacher mode — CC's "one switch and it's good". Internally: advisor → {@link TeacherConfig.model}, * student → `helperModel` (the cheap student model also runs the stuck-monitor / verifier) and the * student task spec's `model`. All guards use teacher.ts's built-in defaults (not re-stated here, so core * owns the single source of truth). The caller supplies only the two models + the task spec. */ export declare function teacherMode(runner: Runner, spec: TaskSpec, pair: TeacherModePair): Promise; /** * Teacher-mode preset profile (G2: a profile = which two models to fill). The two model cells are role-name * placeholders the deploy side maps to concrete models (core never guesses); guard defaults are NOT pinned * here — teacher.ts's built-in defaults are the single source of truth. */ export interface TeacherProfile { /** Cheap model role name (deploy maps it to a cheap model, e.g. "subagent"). */ studentRole: string; /** Strong model role name (deploy maps it to a strong model, e.g. "advisor"). */ advisorRole: string; } export declare const TEACHER_PROFILE: TeacherProfile; //# sourceMappingURL=teacher-quickstart.d.ts.map