GPT-5.6 Sol проти Grok 4.5 проти Gemini 3.6 Flash: створення більш розумних рішень
GPT-5.6 Sol проти Grok 4.5 проти Gemini 3.6 Flash: припиніть запитувати, яка модель найкраща, та створіть маршрутизатор агентів, який надсилатиме кожен запит до відповідної моделі.
Джерела: 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 спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Віддавайте перевагу невеликим, тестованим одиницям коду перед об’ємними скриптами. Якщо якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану послідовність операцій. Записуйте ідентифікатор запиту, ідентифікатор моделі та час відгуку після кожного виклику. Без цих даних періодичні помилки постачальника виглядають як баги програмного забезпечення.
Ціноутворення для GPT-5.6 Sol з довгим контекстом
Під час роботи з етапом довгого контексту GPT-5 6 Sol спочатку запишіть угоду: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Розглядайте цей етап як угоду між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте безповідомного часткового виконання. Записуйте ідентифікатор запиту, ідентифікатор моделі та час виконання після кожного виклику. Без цих записів періодичні помилки постачальника виглядають як баги програми.
Input: $10 per million tokens
Output: $45 per million tokens
Ціни на Grok 4.5 з довгим контекстом
Під час роботи з етапом довгого контексту 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 «Розмір очікуваного результату» необхідно визначити вхідні дані, відповідальну особу за крок та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Призначте назви artefaktам, визначте критерії успіху та не допускайте беззвучного часткового завершення. Відокремте процес створення клієнта від циклу обробки повідомлень, щоб можна було замінювати постачальників без переписування машини станів розмови.
5. Необхідні інструменти
На етапі 5 необхідних інструментів слід визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Візуалізація витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Розділіть процес створення клієнта від циклу обробки повідомлень, щоб можна було замінювати постачальників без переписування машини станів розмови. На етапі 5 необхідних інструментів слід визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Документуйте як успішний, так і відновлювальний сценарії роботи разом. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
6. Попередні невдачі
Під час виконання етапу «6. Попередні невдачі» спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допоможе зберегти чесність подальших змін у коді. Віддавайте перевагу невеликим, тестованим одиницям коду перед об’ємними скриптами. Якщо якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну послідовність операцій. Записуйте ідентифікатор запиту, ідентифікатор моделі та час виконання кожного виклику. Без цих даних періодичні помилки постачальника можуть здаватися багами програми.
Практична політика маршрутизації
Під час роботи над етапом «Практична політика маршрутизації» спочатку запишіть умови договору: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Розглядайте цей етап як договір між вхідними даними та перевіреними результатами. Дайте назви елементам, визначте критерії успіху та не допускайте безпроблемного часткового виконання. Записуйте ідентифікатор запиту, ідентифікатор моделі та час відгуку після кожного виклику. Без цих записів періодичні помилки постачальника виглядають як баги програмного забезпечення.
Маршрутизуйте до Gemini 3.6 Flash для:
Під час роботи над етапом «Шлях до Gemini 3» спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Запишіть час виконання та витрати на токени або запити поруч із результатами функціонування. Відображення витрат заздалегідь запобігає несподіваним рахункам, коли процес переходить від демо-версії до спільних середовищ. Записуйте ідентифікатор запиту, ідентифікатор моделі та час затримки після кожного виклику. Без цих записів періодичні помилки постачальника виглядають як баги програми. Під час роботи над етапом «Шлях до Gemini 3» спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Одночасно задокументуйте оптимальний та резервний сценарії роботи. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
Шлях до Grok 4.5 для:
Шлях до етапу Grok 4 найкраще розглядати як вимірювану поверхню. Збережіть один ідеальний результат, один випадок збою та примітку про скасування змін перед розширенням обсягу роботи. Віддавайте перевагу невеликим, тестованим одиницям перед складними скриптами. Коли якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану послідовність дій. Забезпечте фіксацію версії інтерпретатора та файлу блокування залежностей перед тим, як пояснювати принцип циклів. Розбіжності між ноутбуком та системою CI є найпоширенішою причиною безслухняного збою під час демонстрацій API.
Шлях до GPT-5.6 Sol для:
Шість етапів шляху до GPT-5 працюють найкраще, якщо їх розглядати як вимірювану поверхню. Зафіксуйте один ідеальний результат, один випадок невдачі та примітку про скасування змін перед розширенням обсягу роботи. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте мовчазного часткового виконання завдань. Забезпечте фіксацію версії інтерпретатора та файлу з параметрами залежностей перед початком роботи з циклами. Відмінності між ноутбуком та середовищем 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
Створіть набір даних для оцінки на основі реальних завдань
Під час виконання етапу створення набору даних для оцінки спочатку запишіть умови взаємодії: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Запишіть час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам, коли система переходить від демо-режиму до спільних середовищ. Фіксуйте ідентифікатор запиту, ідентифікатор моделі та час затримки при кожному виклику. Без цих записів періодичні помилки постачальника виглядають як баги програми. Під час виконання етапу створення набору даних для оцінки спочатку запишіть умови взаємодії: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Одночасно задокументуйте оптимальний та резервний сценарії роботи. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
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.