Галоўная / Артыкулы

GPT-5.6 Sol, Grok 4.5 ці Gemini 3.6 Flash: будуем разумны маршрутызатар

GPT-5.6 Sol, Grok 4.5 і Gemini 3.6 Flash: перастаньце пытацца, якая мадэль лепшая, і пабудуйце маршрутызатар, які адпраўляе кожны запыт да прыдатнай мадэлі.

Выдавец: REACTAPP.TOP16 хв чытання3786 слоў

Крыніцы: GPT-5.6 Sol vs Grok 4.5 vs Gemini 3.6 Flash: Build a Smarter Agent Router

Наступныя прытамлівкі паказваюць практычны падход да рэшэння задачы «GPT-5.6 Sol проты Grok 4.5 проты Gemini 3.6 Flash: ствароўчы роутэр для агентаў з вышэйшай эфектывасцю». Акцэнт ставіцца на контракты, перакананняя і месца для коду, які можна легка адключыць, а не на мотывацыйныя аспекты.

Хавайце канчаткова запытвацца, які модэль лепшы. Роутавайце кожную задачу агента на адповіднасць рызыку, кантэксту, інструментам, размеру выходных даных і абсалютным вітратам.

Калі працуеце над этапам зупінкі запытанняў пра лепшы модэль, спачатку запісайце контракт: неабходныя даны, сігнал успеху і тое, што будзе настаць у разе частковай нявыполненасці. Такі спіс контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі. Зберагайце настройкі парадульна ад коду прыемлівача. Файлы сераўнавання, хранілішча секрэтных даных і флагі функцый павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабходнасці чытання всей структуры. Зявляйце логі з ідэнтыфікаторам запытку, ідэнтыфікаторам модэля і часам адліку за кожны вызов. Без такога логу тымчасавыя кантракты падаючых сервероў выглядаюць як багі самога прыемлівача.

User request → One powerful model → Tools → Final answer
Task
  ↓
Classification and risk analysis
  ↓
Model selection
  ↓
Execution
  ↓
Validation
  ↓
Escalation when required

Модэлі, які перадаюцца

Калі працуеце на стадыі перадачы модэляў, спачатку запісайце умовы вікорыстання: неабходныя даны, сігнал успеху і тое, што выканаецца у разы частковага абякання. Такі спіс дапамагае заліцварыць пазнейшыя змены ў кодзе. Документавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія перакрыцчы і апрацоўка некорэктных паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам. Зявляйце логі з ідэнтыфікаторам запіту, ідэнтыфікаторам модэля і часам адзыву за кожны вызов. Без такога лёгкага следу перыядычныя абяканні прадаўцоў выглядаюць як багі ў самай аплікацыі.

GPT-5.6 Sol

Калі працюеце над стадзіяй GPT-5 6 Sol, спачатку запісайце угоду: неабяжлівыя даны, сігнал успеху і тое, што выходзіць у разе частковага неяксамоства. Такі спіс контроля дапамагае залічваць пазнейшыя змены ў кодзе чыста і прозрачна. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок неяксамоства, гэта неяксамоство павінна вказваць на адзіну адпаведальнасць, а не на заплутаны ланцюг задач. Зявляйце логі з ідэнтыфікаторам запросу, ідэнтыфікаторам мадэлі і часам затрымкі праз кожны вызов. Без такога следу перыадычныя кантакты з прадастальнікам выглядаюць як багі ў самай прыемлівай.

Cena за работу з дазойнам кантэкстам у GPT-5.6 Sol

Калі працюеце з фазай дзейна GPT-5 6 Sol з дазволам на большы кантэкст, спачатку запісайце угоду: неабяжлівыя даныя, сігнал успеху і тое, што выходзіць у случае частковага нявыпання. Такі спіс контроля дапамагае заліцьварыць пазнейшыя змены ў кодзе. Спрыймайце гэтую фазу як угоду межа данымі і перакананымі выходамі. Дайце назву рэзультатам, задаце крытэрыя успеху і не прымайце часткова завершэнне без паведамлення. Зявляйце логі з ідэнтыфікаторам запіту, ідэнтыфікаторам мадэлі і часам адзначэння кожнага вызову. Без такога логу перыодычныя кантакты з прадастальнікам выглядаюць як багі ў прыемніку.

Input:  $10 per million tokens
Output: $45 per million tokens

Цены за дзейна Grok 4.5 з дазволам на большы кантэкст

Калі працуеце з фазай дзейнаўства Grok 4/5 з дазволам на вялікі кантэксты, спачатку запісайце угоду: неабходныя даны, сігнал успеху і тое, што выканаецца у разе частковага нявыполнення. Такі спіс контроля дапамагае заліцварыць пазнейшыя змены ў кодзе. Запісвайце час выканання і вартасьць токеноў або запытанняя пры кожных функцыйнаых рэзультаатах. Відразлівая вартасьць з самага пачатку запобегае неспакою, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Запісвайце ідэнтыфікатор запытання, ідэнтыфікатор мадэлі і час затрымкі праз кожны вызов. Без такога лёгася можна спылучыць перыадычныя памылкі прадаўцу з багамі самай прыемлівасьці.

Input:        $4 per million tokens
Cached input: $0.60 per million tokens
Output:       $12 per million tokens
Input:  100,000 tokens
Output: 10,000 tokens
Input:  50,000 tokens
Output: 50,000 tokens
Input tokens = 3 × output tokens
Total model and tool cost
─────────────────────────
Accepted completed tasks

Што павінен ацэніваць раутэр

Падход «Што павінен ацэніваць раутэр» працуе найкрашча, калі яго спрыяваць як меркаваную плошчу. Зберажыце адна ідэальная транскрыпція, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адну конкрэтную адпаведнасць, а не на заплутаны ланцюг задач. Зафіксавайце інтэрпрэтара і файл з правіламі залежнасцей пры тым, як выучаеце цыкл. Разніця ў настройках межу лептапам і сістэмай CI являецца найчастэйшай прычыной тых, чырвоных сігналоў у дэманстрацыях API.

1. Тып задачы

Этап 1 тыпу задання працюе найэфектывней, калі яго спрыяваць як мерыемую плошчу. Зафіксавайце адна ідэальная версія рэзультата, адзін случай неудачы і прыметкі па поверненню да пачатковага стану пры розшырэнні масштаба. Спрыяйце гэтам этапу як кантракту межа вхіднымі данымі і перакананымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаце крытэрыі успеху і не прымайце часткова завершэння без паведамлення. Закрэпіце інтэрпрэтара і файл з правіламі залежнасцяў пры навучэнні цыклу. Адхіленне межа ноутбукам і сістэмай CI ёсць найчастэйшым таямным нарушэнням пад час дэманстрацый API.

classification
extraction
repository_search
planning
implementation
debugging
architecture
migration
security_review
final_review
computer_use

2. Рызык

Этап «2 Risk» работае наяўней, калі яго спрыяваць як мерыемую паверхню. Зберагучы адны ідэальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць масштабы. Запісвайце часы выканання і вартасць токена або запіту праза функцыональнымі рэзультатамі. Відразлівае паказанне вартасцей запобегае неспадзячым рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спяльнаныя сераўеры. Закрэпіце інтэрпрэтара і файл з правіламі залежнасцяў пры навучэнні цыклу. Разлік межаў між ноутбукам і сістэмай CI ёсць найчастэйшым таямным нарушэнням пад час дэмавых працоў з API. Этап «2 Risk» работае наяўней, калі яго спрыяваць як мерыемую паверхню. Зберагучы адны ідэальны транскрыпт, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць масштабы. Дакументавайце як успішны, так і вярнучыся шляхы працы. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных поведэнняў ёсць часткай продукту, а не чымось, што дадаецца пазней.

Low:
Documentation, formatting, metadata, test generation

Medium:
Contained feature work, refactoring, ordinary bug fixes

High:
Authentication, payments, permissions, infrastructure,
database migrations, security-sensitive code

3. Размах кантэксту

Для этапы розміру кантэкста 3 неабяцкова практычна вказаць інпуты, адміністратара крока і крэтэрыя выходу пры зміне коду. Аператары должны магчымаць перзапуск крока з вядомай точкі контролю без адгадвання схованага стану. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі крок не выйшаў, прычына неудачы павінна вказываць на адзіну адпаведальнасць, а не на заплутаны ланцоўкі задач. Раздзеляйце стварэнне кліента ад цыклу паведамленняў, каб было можна змяніць прадаўцоў без перапісвання машыны стану размовы.

4. Адначакаваны розмер выходных дадзеных

Для этапы 4 «Размер выходных даных», якія лячыцца аспектам, неабходна ўзначыць вхідныя даны, адпаведальнага за этап і крэтырыя завершэння перад змінайом коду. Аперацыяныя працавнікі павінны магчымаць перзапуск этапу з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяць гэтай этапы як даговору межа вхіднымі данымі і перакананымі выходнымі данымі. Даць назвы артыфактам, узначыць перакананні успеху і адмовіцца ад беззвучнага частковага завершэння. Разлучыць стварэнне кліента ад цыклу паведамленняў, каб было можна змяніць прадаўцоў без перапісвання машыны стану размовы.

5. Неабходныя інструменты

Для этапы «5 неабяжных інструментоў» паказваць неабходная інфармацыя пра вхідныя даны, адпаведальную особу за выкананне крока і крытэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымае перадзеіснаваць крок з вядомай точкі контролю, не падозрываючы пра схованы стан. Запісваць час выканання і вартасць токенаў або запытак разам з функцыйнальнымі рэзултатамі. Відразы вартасцей з самага пачатку запобегае неспакою, калі працэс пераходзіць з дэмовай асяроддзя ў спяльнаныя сераўеры. Раздзеляць працэс стварэння кліента ад цыклу перадачы паведамленняў, каб было можна змяніць прадаўцаў без перапісвання машыны стану дыялогу. Для этапы «5 неабяжных інструментоў» паказваць неабходная інфармацыя пра вхідныя даны, адпаведальную особу за выкананне крока і крытэрыя завершэння пры перадзеіснаванні коду. Аператары должны магчымае перадзеіснаваць крок з вядомай точкі контролю, не падозрываючы пра схованы стан. Документаваць як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкі контроль і обработка непрацясных паведамленняў ёсць часткай продукту, а не елементамі, якія дадаюцца пазней.

6. Пярэднія неудачы

Калі працуеце над этапам «6. Пярэднія неудачы», спачатку запісайце умовы контракту: неабяжлівыя даныя, сігнал працэйнасці і тое, што выканаецца у разы частковай неудачы. Такі спіс контроля дапамагае заставіць пазнейшыя змены коду быць чыстымі. Волейце маленькія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выйшае, неудача должна вказываць на адну адпаведную адпаведальнасць, а не на заплутаны ланцюг задач. Зявляйце логі з ідэнтыфікатарам запіту, ідэнтыфікатаром мадэлі і часам адзначэння кожнага вызову. Без такога следу перыадычныя памылкі прадастоўца выглядаюць як багі ў самай прыемлівай.

Практычная політыка маршрутацыі

Калі працюеце над стадзіяй «Практычная політыка маршрутацыі», спачатку запісайце контракт: неабяжлівыя даныя, сігнал працэздольнасці і тое, што выканаецца у разе частковай нявыходкі. Такі спіс пераканаецца зберагчы чыстасць пазнейшых змян у кодзе. Спрытывайце гэту стадзію як контракт межа данымі і перакананымі выходнымі рэзультатамі. Даўце назвы элементам, задаце правілы пераканання працэздольнасці і адмовіцеся ад тыхоўскага частковага завершэння. Зявляйце логі з ідэнтыфікаторам запіту, ідэнтыфікаторам мадэлі і часам затрымкі праз кожны вызов. Без такога следу перыодычныя памылкі прадастаўця выглядаюць як багі ў прыемніку.

Маршрут да Gemini 3.6 Flash для:

Калі працюеце над стадзіяй «Route to Gemini 3», спачатку запісайце умовы кантракту: неабяжлівыя даны, сігнал працэздольнасці і тое, што выканаецца у разе частковага абярэння. Такі спіс дапамагае заліцвачыць пазнейшыя змены ў кодзе.

«Route to Grok 4.5» для:

Шлях даўжынай Grok 4 найэфектывней працюе, калі яго розглядаць як вімерную паверхню. Зафіксавайце адна «золатая» транскрыпцыю, адын прыклад неудачы і запіс пра відкатанне перш чым расшырваць масштабы. Валідзіце невялікія, тэставаныя елементы замест большых скрыптов. Калі якісь крок не выходзіць, прычына неудачы павінна вказываць на адную адпаведальнасць, а не на заплутаны ланцюг задач. Зафіксавайце інтэрпрэтара і файл з правіламі залежнасцяў пры вучэнні цыклу. Разлік межаў між ноутбукам і сістэмай CI — гэта самая частая тыха прычына збою ў дэманстраціях API.

Шлях да GPT-5.6 Sol для:

Шлях да GPT-5 у 6 стадзіях працуе наўжоўды, калі яго спрыяваць як меравальную плошчу. Зафіксавайце адны ідэальны прыклад працы, адзін прыклад неудачы і запіс пра вярнэнне да поперадньага стану, прычаму расшыруючы сферу дзеяння. Спрыявайце гэтую стадзію як кантракт межа вхіднымі данымі і паверыжанымі выходнымі рэзультатамі. Дайце назвы артыфактам, задаць крытэрыя успеху і адмовіцеся ад тыхоўскага частковага завершэння. Закрэпіце інтэрпрэтара і файл з правіламі залежнасцяў пры тым, як выучаеце цыкл. Адхіленне межа ноутбукам і сістэмай CI ёсць найчастэйшым тыхоўскім нарушэнням пад час дэманстрацый API.

Рэферэнсная рэалізацыя на TypeScript

Этап рэалізацыі на прыкладзе TypeScript работае найэфектывней, калі яго спрыяваць як меравальную плошчу. Зафіксавайце адны ідэальны прыклад працы, адзін кейс неудачы і прыметкі па адвярненню працы пры расшырэнні масштаба. Запісвайце часы выканання і вартасць токеноў або запытак праза функцыйнае рэзультат. Відразлівае прадставлення вартасцей запобегае неспакою, калі працэс пераходзіць з дэмаверсіі ў спяльныя асяроддзя. Зафіксавайце інтэрпрэтар і файл з правіламі завісаў залежнасцяў пры навучэнні працы з цыкламі. Разніця ў рабоце на ноутбуку і у сервісах CI — гэта самая частая непазначальная проблема ў дэмаверсіях API. Этап рэалізацыі на прыкладзе TypeScript работае найэфектывней, калі яго спрыяваць як меравальную плошчу. Зафіксавайце адны ідэальны прыклад працы, адзін кейс неудачы і прыметкі па адвярненню працы пры расшырэнні масштаба. Дакументавайце як шлях успеху, так і шлях вярнення да нормальнага стану. Перапрыбуткі, людзкія контрольны пункты і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымсь, што дадацца пазней.

type ModelId =
  | "gpt-5.6-sol"
  | "grok-4.5"
  | "gemini-3.6-flash";

type TaskKind =
  | "classification"
  | "extraction"
  | "repository_search"
  | "planning"
  | "implementation"
  | "debugging"
  | "architecture"
  | "migration"
  | "security_review"
  | "final_review"
  | "computer_use";

type RiskLevel = "low" | "medium" | "high";

interface AgentTask {
  kind: TaskKind;
  risk: RiskLevel;

  estimatedInputTokens: number;
  estimatedOutputTokens: number;

  previousFailures: number;

  requiresComputerUse?: boolean;
  requiresXSearch?: boolean;
  requiresMcp?: boolean;
}

interface ModelPricing {
  inputPerMillion: number;
  outputPerMillion: number;
  cachedInputPerMillion?: number;

  contextWindow: number;

  longContext?: {
    threshold: number;
    inputPerMillion: number;
    outputPerMillion: number;
    cachedInputPerMillion?: number;
  };
}

const MODEL_PRICING: Record<ModelId, ModelPricing> = {
  "gpt-5.6-sol": {
    inputPerMillion: 5,
    outputPerMillion: 30,
    cachedInputPerMillion: 0.5,
    contextWindow: 1_050_000,
    longContext: {
      threshold: 272_001,
      inputPerMillion: 10,
      outputPerMillion: 45,
      cachedInputPerMillion: 1,
    },
  },

  "grok-4.5": {
    inputPerMillion: 2,
    outputPerMillion: 6,
    cachedInputPerMillion: 0.3,
    contextWindow: 500_000,
    longContext: {
      threshold: 200_000,
      inputPerMillion: 4,
      outputPerMillion: 12,
      cachedInputPerMillion: 0.6,
    },
  },

  "gemini-3.6-flash": {
    inputPerMillion: 1.5,
    outputPerMillion: 7.5,
    contextWindow: 1_000_000,
  },
};

function estimateCost(
  model: ModelId,
  inputTokens: number,
  outputTokens: number,
): number {
  const pricing = MODEL_PRICING[model];

  if (inputTokens + outputTokens > pricing.contextWindow) {
    throw new Error(
      `${model} context window exceeded: ` +
        `${inputTokens + outputTokens} tokens`,
    );
  }

  const activePricing =
    pricing.longContext &&
    inputTokens >= pricing.longContext.threshold
      ? pricing.longContext
      : pricing;

  return (
    (inputTokens / 1_000_000) *
      activePricing.inputPerMillion +
    (outputTokens / 1_000_000) *
      activePricing.outputPerMillion
  );
}

function chooseModel(task: AgentTask): ModelId {
  // Hard tool requirements come first.
  if (task.requiresXSearch) {
    return "grok-4.5";
  }

  if (task.requiresMcp) {
    return "gpt-5.6-sol";
  }

  // Escalate tasks that repeatedly fail.
  if (task.previousFailures >= 2) {
    return "gpt-5.6-sol";
  }

  // High-risk work receives stronger reasoning or review.
  if (
    task.risk === "high" ||
    task.kind === "architecture" ||
    task.kind === "migration" ||
    task.kind === "security_review" ||
    task.kind === "final_review"
  ) {
    return "gpt-5.6-sol";
  }

  // Gemini is suitable for routine UI automation.
  if (
    task.requiresComputerUse ||
    task.kind === "computer_use"
  ) {
    return "gemini-3.6-flash";
  }

  // Large prompts can make Grok's long-context tier
  // less attractive.
  if (task.estimatedInputTokens >= 200_000) {
    return "gemini-3.6-flash";
  }

  // Output-heavy coding tasks can favour Grok.
  const inputToOutputRatio =
    task.estimatedInputTokens /
    Math.max(task.estimatedOutputTokens, 1);

  if (
    task.kind === "implementation" ||
    task.kind === "debugging"
  ) {
    return inputToOutputRatio < 3
      ? "grok-4.5"
      : "gemini-3.6-flash";
  }

  // Cheap default for low-risk, input-heavy work.
  return "gemini-3.6-flash";
}

function routeTask(task: AgentTask) {
  const model = chooseModel(task);

  const estimatedCost = estimateCost(
    model,
    task.estimatedInputTokens,
    task.estimatedOutputTokens,
  );

  return {
    model,
    estimatedCost,
    reason: buildRoutingReason(task, model),
  };
}

function buildRoutingReason(
  task: AgentTask,
  model: ModelId,
): string {
  if (task.requiresXSearch) {
    return "Task requires native X search.";
  }

  if (task.previousFailures >= 2) {
    return "Escalated after repeated failures.";
  }

  if (task.risk === "high") {
    return "High-risk task requires stronger reasoning.";
  }

  if (task.estimatedInputTokens >= 200_000) {
    return "Large input makes long-context pricing relevant.";
  }

  if (model === "grok-4.5") {
    return "Output-heavy coding task.";
  }

  return "Low-risk, input-heavy agent task.";
}

Дадзіце параболку пераканальнення пры адгрупаванні

У стадзіі «Дадзіце параболку пераканальнення пры адгрупаванні» неабяжна практычна апісацыя вхідных дадзеных, адпаведнага адпаведальнага і выходных крэтарыяў пры змены коду. Аператары должны магчымае перадзеісцаваць гэтую стадзію з вядомага пункта контролю, не спрабоўваючы з’ясаваць захованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі стадзія не выйшла, прычына неудачы должна быць адносна конкрэтной адпаведальнасці, а не сложнай сэткі задач. Раздзеляйце стварэнне кліента ад цыклу перадачы паведамленняяў, каб было можна зменіць прадаючыхя без перапісвання машыны стану размовы.

interface RunResult {
  model: ModelId;
  success: boolean;

  inputTokens: number;
  outputTokens: number;
  toolCalls: number;

  testsPassed?: boolean;
  lintPassed?: boolean;
  typecheckPassed?: boolean;

  changedFiles: string[];
  estimatedCost: number;
  latencyMs: number;

  failureReason?: string;
}
function shouldEscalate(result: RunResult): boolean {
  if (!result.success) return true;
  if (result.testsPassed === false) return true;
  if (result.lintPassed === false) return true;
  if (result.typecheckPassed === false) return true;

  return false;
}

Іспользуйце лестніцу адгрупавання

Для выкарыстоўвання этапы леспака эскалэйцыі, перш чым зменяць код, неабходна адзначыць вхідныя даны, адпаведальнага за шаг і крэтыяры завершэння. Аперацыёныя працавнікі должны магчымае перадзеўсці шаг з вядомай точкі контролю, не падозрываючы прыхованы стан. Спрыяйце цій этапы як кантракту межаў вхідных дадзеных і паверыцьканых выходных рэзультатаў. Даўце назвы артыфактам, адзначыце крэтыяры успеху і не прымайце тыхню частковую завершэннасць. Аддзельныяй структуры кліента ад цыклу паведамленняў, каб можна было змяніць прадаўцаў без перапісвання машыны стану размовы.

Low-risk agent task
Gemini 3.6 Flash
        ↓ failure
Grok 4.5
        ↓ failure
GPT-5.6 Sol
Grok 4.5
    ↓ failed tests or repeated loop
GPT-5.6 Sol
GPT-5.6 Sol implementation
           ↓
Independent review by another model
           ↓
Automated checks
           ↓
Human approval

Аддзельныя планаванне, выконанне і адрэшаванне

Для адыянай планавання і выканання, перад змінайцем код, неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аператары должны магчымае перайсці на выконанне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Запісвайце час выканання і кост токена або запыту праза функцыйнальныя рэзултаты. Відразлівасць костаў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмовай асяроддзя ў спакульную. Аддзельнае стварэнне кліента ад цыклу паведамленняў дазволяе змініць прадаўцаў без перапісвання машыны стану кантакту. Для адыянай планавання і выканання, перад змінайцем код, неабяжна ўзначыць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аператары должны магчымае перайсці на выконанне кроку з вядомага пункта контролю, не спрабоўваючы здагадвацца пра схованы стан. Дакументавайце як шлях успеху, так і шлях вярнення. Перапрыбуткі, людзкія контрольныя пункты і обработка непрацэсаваных паведамленняў ёсць часткай продукту, а не чымсь, што дадаецца пазней.

Палітура.

Працэс кодавання з увагай да прыцэпнасці касоў

Кал працуеце на стадзіі працэсу кодавання з увагай да прыцэпнасці касоў, спачатку запішыце умовы контракту: неабходныя даныя, сігнал успеху і тое, што выходзіць па частковай нявыполненні. Такі спіс контроля дапамагае залічыць пазнейшыя змены ў кодзе. Валіце маленькія, тэставаныя елементы замест большых скрыптов. Кал якісь крок не выйшоў, нявыполненні должна паказваць на адную адпаведальнасць, а не на заплутаны ланцужок задач. Запішыце ідэнтыфікатор запіту, ідэнтыфікатор мадэлі і час адпаведзення праз кожны вызов. Без такога следу перыодычныя памылкі прадастаўця выглядаюць як багі ў прыемніку.

Gemini 3.6 Flash
→ Gather repository context
→ Classify the task
→ Identify relevant files

Grok 4.5
→ Implement the change
→ Run tests
→ Repair ordinary failures

GPT-5.6 Sol
→ Review only if risk is high
→ Resolve ambiguous failures

Працэс міграцыі з высокым рызыкам

Калі працуеце з адзінам з етапаў працэсу міграцыі з высокым рызыкам, спачатку запішыце кантракт: неабходныя даны, сігнал успеху і тое, што выходзіць на частым нявыпанні. Такі спіс пераказваў заходзіць на тое, каб пазнейшыя змены коду былі чыстымі. Спрыятлівае ставленне да гэтага этапу як да кантракта межы вхіднымі данымі і перакананымі выходнымі рэзультатамі. Даць назвы артыфактам, задаць крытэрыя успеху і не падзеўляцца частым непূরным выпаннем задачы. Запісвайце ідэнтыфікатор запіту, ідэнтыфікатор мадэлі і час адпаведзення за кожны вызов. Без такога лёгкага следу перыядычныя памылкі прадастаўця выглядаюць як багі ў самай прыемлівасці.

GPT-5.6 Sol
→ Design the migration plan
→ Identify rollback requirements

Grok 4.5
→ Implement isolated migration steps

GPT-5.6 Sol
→ Review the patch and failure modes

Automated pipeline
→ Test, lint, scan and stage

Human reviewer
→ Approve production execution

Стварыце набор дадзеных для ацэнкі на базе рэальных задач

Калі працюеце над стадзіяй «Стварэнне набора даных для ацэнкі», спачатку запісайце умовы: неабяжлівыя даныя, сігнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі спіс дапамагае заліцварыць пазнейшыя змены ў кодзе. Запісвайце час выканання і кост токеноў або запытача праза функцыйнальныя рэзултаты. Відразувая візуабельнасць костаў запобегае неспакойным рахункам, калі працэс пераходзіць з дэмавайнага рэжыма ў спяльныя асяроддзя. Запісвайце ID запыту, ID модэлю і час затрымкі праз кожны вызов. Без такога лёгасця перыодычныя памылкі прадаўцоў выглядаюць як багі ў самай прыемлівасці. Калі працюеце над стадзіяй «Стварэнне набора даных для ацэнкі», спачатку запісайце умовы: неабяжлівыя даныя, сігнал успеху і тое, што выканаецца у разы частковага нявыполнення. Такі спіс дапамагае заліцварыць пазнейшыя змены ў кодзе. Аддзекументавайце як шлях успеху, так і шлях вяснавання. Перапрыбуткі, людзкія контралі і обработка непрацэсуючых паведамленняў ёсць часткай продукту, а не пазнейшым дапрацоўкам.

Task category
Selected model
Input and output tokens
Tool calls
Latency
Retries
Estimated cost
Test result
Human corrections
Files reverted
Final acceptance status
Escalation path

Кошт за адаптаваную задачу

Этап расчытку кошта за адаптаваную задачу дае найлепыя рэзультаты, калі яго спрыявае можлівасць вімеры. Перш чым расшырваць масштабы, зафіксавайце адна ідэальная версія працы, адзін прыклад неудачы і запіс пра неабяжнае вярненне да пачатковага стану. Валіце маленькія, тэставальныя елементы замест большых скрыптов. Калі якісь крок не выйшоў, прычына неудачы павінна бяць адносна конкрэтной адпаведальнасці, а не сложнай сэткі крокаў. Зафіксавайце інтэрпрэтара і файл з правіламі залежнасцяў пры тым, як выучаеце цыкл. Разніця ў настройках межу лептапам і сістэмай CI — гэта найчастэйшая прычына тых, чыя дамы API не працуюць.

Total cost, including retries
─────────────────────────────
Number of accepted tasks

Рэшта першай спробы

Этап практычнасці першай спробы працюе найэфектывней, калі яго розглядаць як вімерлую плошчу. Зафіксавце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану, перш чым расшырваць масштабы. Разглядзіце гэты этап як кантракт межа вхіднымі данымі і паверыранымі выходнымі рэзультатамі. Даце назвы артыфактам, задаце крытэрыі успеху і не падзеляйцеся на частковыя рэштункі без адзінаго слова. Закрэпіце інтэрпрэтара і файл з правіламі залежнасцей прытым, як толькі пачнёце вучыць цыкл. Разлік межа ноутбукам і сістэмай CI ёсць найчастэйшым таямным нарушэнням пад час дэманстрацый API.

Tasks accepted without retry
────────────────────────────
Total tasks

Врэмя на корэкцыю з боку чалавека

Этап часоў карэкцыі ад чалавека працюе наяўней, калі яго спрыяваць як вімерную плошчу. Зафіксавайце адна ідэальная транскрыпцыю, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Запісвайце часы выканання і косты токеноў або запытак па боку ад функцыйнаых рэзультаатаў. Візуабельнасць костоў з самага пачатку запобегае неспакойным рахункам, калі працэс пераходзіць з дэмавайшага стану ў спяльныя асяроддзя. Закрэпіце інтэрпрэтара і файл з блокаванням залежнасцяў пры навучэнні цыклу. Разніця межы ноутбукам і сістэмай CI ёсць найчастэйшым таямным перывам у дэмах API. Этап часоў карэкцыі ад чалавека працюе наяўней, калі яго спрыяваць як вімерную плошчу. Зафіксавайце адна ідэальная транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Дакументавайце як успішны, так і вярнучыся шляхы адразу. Перапрыбуткі, людзкія контрольныя пункты і обработка некорэктных паведамленняў ёсць часткай продукту, а не чымось, што дадаецца пазней.

Непатрэбны тычок змян

Для этапы непатрэбнага змены каштоўнасці неабходна пазначыць вхідныя даны, адпаведальнага за этап і крэтыяры завершэння пры змены коду. Аператары должны магчымае перадзваніць этап з вядомай точкі контролю, не падозрываючы прыхованы стан. Лепш выбіраць маленькія, тэставаныя елементы замест большых скрыптов. Калі этап не выйшаў, прычына неудачы должна вказываць на адну конкрэтную адпаведальнасць, а не на заплутаны працэс. Раздзеляйце стварэнне кліента ад цыклу перадачы паведамленняў, каб было можна зменіць прадаўцоў без перапісвання машыны стану размовы.

Рутэр павінен застацца заменным

Кабы роутэр застаўся на тэй стадзіі, пярэд тым, як зменіць код, неабходна задаць вхідныя даны, адпаведальнага за крок і крытэрыя завершэння. Аперацыёныя працавнікі должны магчымае перзапускаць крок з вядомай точкі контролю, не спрабоўваючы здагадвацца пра схованы стан. Спрацавляйце з гэтай стадзіёю як з кантрактом межа вхіднымі данымі і падтвердзенымі выходнымі рэзультатамі. Даць назвы артыфактам, задаць пераканальнікі успеху і адмовіцца ад беззвучнага частковага завершэння. Аддзельнае выкананне кліента ад цыклу паведамленняя, каб можна было змініць прадаўцоў без перапісвання машыны стану размовы.

Gemini is always cheap.
Grok is always best for implementation.
Sol is always the strongest.

Апошняя рэкамендацыя па маршрутацыі

Gemini 3.6 Flash

Grok 4.5

GPT-5.6 Sol

Афіцыйныя джэры

Чэк-ліст для эксплуатацыі