Головна / Статті / Практичні зауваження: Чи допомагають навички агента? Я провів 72 експерименти, щоб з’ясувати це.

Практичні зауваження: Чи допомагають навички агента? Я провів 72 експерименти, щоб з’ясувати це.

Покроковий огляд практичних нотаток: чи допомагають навички агента? Я провів 72 тестування, щоб з’ясувати це: контракти, перевірки та слоти для коду для команд, які використовують цю схему.

2401 слів

Наведені нижче примітки відтворюють практичний підхід до дослідження запитання „Чи допомагають навички агента? Я провів 72 експерименти, щоб з’ясувати це“. Увага приділяється контрактам, перевіркам та місцям для вставки коду, а не мотиваційним аспектам. Під час роботи на етапі огляду спочатку запишіть контракт: необхідні вхідні дані, сигнал успіху та те, що відбувається у разі часткової невдачі. Цей перелік допоможе зберегти чесність пізніших змін у коді. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте елементи проекту, визначте критерії успіху та не допускайте беззвучного часткового виконання завдань.

Допомога чи галюцинація?

Етап допомоги чи галюцинацій найкраще функціонує, якщо його розглядати як вимірювану поверхню. Запишіть один ідеальний запис, один випадок збою та примітку про скасування змін перед розширенням обсягу роботи. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Візуальний контроль витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Зберігайте стан графа у випрямленому та типованому форматі. Вкладені блоки приховують інформацію про те, який вузол заповнив яке поле, та ускладнюють продовження роботи після перерв.

Тестування Claude Code у ізольованому піску

Тестування коду Claude на стадії розробки найкраще проводити, якщо сприймати його як вимірювану структуру. Збережіть один ідеальний запис результату, один випадок збою та примітку про скасування змін перед розширенням обсягу тестування. Тримайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, щоб оператори могли їх перевіряти, не читаючи весь код. Зберігайте стан структури у простому та типованому вигляді. Вкладені блоки даних приховують інформацію про те, який вузол записав яке поле, що ускладнює продовження роботи після перерв.

Що показують цифри

Етап «Що показують цифри» функціонує найкраще, коли його розглядають як вимірювану поверхню. Збережіть один ідеальний запис, один випадок збою та примітку про скасування змін перед розширенням обсягу роботи. Документуйте як успішний, так і відновлювальний сценарії роботи разом. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Зберігайте стан графіка простим та типованим. Вкладені структури приховують інформацію про те, який вузол заповнив яке поле, що ускладнює продовження роботи після перерв. Етап «Що показують цифри» функціонує найкраще, коли його розглядають як вимірювану поверхню. Збережіть один ідеальний запис, один випадок збою та примітку про скасування змін перед розширенням обсягу роботи. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте мовчазного часткового завершення роботи.

Чому агенти базового рівня отримали нуль балів за ефективність

Щоб визначити базовий рівень для оцінки етапів, необхідно перед зміною коду визначити вхідні дані, власника кроку та критерії завершення. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Фіксуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Чітке бачення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні. Встановлюйте людське схвалення для кроків, які вимагають фінансових витрат чи змінюють дані у продакшені. Підключення під час компіляції не гарантує повної придатності для бізнесу.

Де плагін зробив різницю

Для плагіну «Where the» слід визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Конфігурацію потрібно тримати окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функціоналу мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь алгоритм. Аутентифікуватися потрібно на шлюзі, а повторна авторизація — на рівні обробки даних. Один лише токен не є межею окремого тенанта.

Аутентифікація в Cloud Run

Для етапу автентифікації у Cloud Run необхідно визначити вхідні дані, власника кроку та критерії завершення ще до зміни коду. Оператори мають мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Необхідно документувати як шлях успішного виконання, так і шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Встановлюйте людське схвалення для операцій, які призводять до витрат грошей чи змінюють дані у продакшені. Підключення на етапі компіляції не є гарантією повності функціоналу продукту. Для етапу автентифікації у Cloud Run необхідно визначити вхідні дані, власника кроку та критерії завершення ще до зміни коду. Оператори мають мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Називайте створювані елементи, визначайте критерії успіху та не допускайте безповідомного часткового завершення роботи.

# Plugin recipe: create custom identity and bind least-privilege role
gcloud iam service-accounts create batch-worker \
  --project="my-app-prod" \
  --display-name="Batch Worker Service Account"

gcloud projects add-iam-policy-binding my-app-prod \
  --member="serviceAccount:batch-worker@my-app-prod.iam.gserviceaccount.com" \
  --role="roles/storage.objectViewer"

gcloud run jobs create batch-job \
  --image="gcr.io/my-app-prod/job:latest" \
  --service-account="batch-worker@my-app-prod.iam.gserviceaccount.com" \
  --region="us-central1"

Перевірка синтаксису перед виконанням

Під час роботи на етапі перевірки синтаксису перед виконанням спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та наслідки часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Запишіть час виконання та витрати на токени або запити поруч із результатами функціональності. Відображення витрат на ранньому етапі запобігає несподіваним рахункам, коли процес переходить від демо-середовища до спільних. Створюйте контрольні точки після дорогих кроків. Функція відновлення не повинна знову стягувати плату за один і той самий виклик ШІ, якщо оператор перезапускає пізнішу ланку.

# Verified via leaf-level help check before drafting final command
gcloud run deploy invoice-service \
  --image="gcr.io/my-app-prod/invoice:latest" \
  --region="us-central1" \
  --add-volume="name=data-vol,type=cloud-storage,bucket=my-data,readonly=true" \
  --add-volume-mount="volume=data-vol,mount-path=/mnt/gcs" \
  --set-secrets="DB_PASSWORD=db-password:latest"

Пошук навичок за потребою

Під час виконання етапу «Знаходження навичок за запитом» спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та наслідки часткової невдачі. Такий перелік допомагає зберігати чесність подальших змін у коді. Тримайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь код. Робіть контрольні пункти після дорогих операцій. Система повернення роботи не повинна знову стягувати плату за один і той самий виклик LLM, коли оператор перезапускає пізнішу ланку.

Фільтрація даних на сервері

Під час роботи над етапом фільтрації даних спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Документуйте як шлях успішної роботи, так і шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Робіть контрольні пункти після дорогих операцій. Система відновлення не повинна знову стягувати плату за той самий виклик ШІ, коли оператор намагається знову виконати пізнішу операцію. Під час роботи над етапом фільтрації даних спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Розглядайте цей етап як угоду між вхідними даними та перевіреними результатами. Назвіть створювані елементи, визначте критерії успіху та не допускайте безповідомного часткового завершення роботи.

gcloud compute disks list \
  --project="my-app-prod" \
  --filter="-users:*" \
  --format="table(name, zone, sizeGb)"

Розгортання секретного доступу між проектами

Секретний доступ для обмеженого кола осіб на різних етапах працює найкраще, якщо його розглядати як вимірювану характеристику. Збережіть один ідеальний зразок роботи, один випадок збою та примітку про скасування змін перед розширенням обсягу завдань. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Візуальний контроль витрат заздалегідь запобігає несподіваним рахункам під час переходу від демо-версії до спільних середовищ. Тримайте стан графа простим та типованим. Вкладені блоки приховують інформацію про те, який вузол заповнив яке поле, та ускладнюють продовження роботи після перерв.

# Resource-level binding: grants access strictly to stripe-webhook-key in sec-vault-prod
gcloud secrets add-iam-policy-binding stripe-webhook-key \
  --project="sec-vault-prod" \
  --member="serviceAccount:app-runner@app-prod.iam.gserviceaccount.com" \
  --role="roles/secretmanager.secretAccessor"

Захист руйнівних команд за допомогою підтвердження

Команди з контролю руйнівних дій у рамках етапних процесів найкраще функціонують, якщо їх розглядати як вимірювану поверхню. Збережіть один зразок успішної роботи, один випадок невдачі та запис про скасування змін перед розширенням обсягу роботи. Тримайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь граф. Зберігайте стан графа у простій та типованій формі. Вкладені структури приховують інформацію про те, який вузол заповнив яке поле, що ускладнює продовження роботи після перерв.

# Step 1: Preview candidate instances safely
gcloud compute instances list \
  --filter="name:legacy-worker-* AND zone:us-central1-a" \
  --format="table(name, status)"

# Step 2: Prompt user for confirmation before executing deletion
# (Execution refused until explicit human consent is given)

Локальні облікові дані проти ключів облікових записів сервісу

Підхід «Локальні облікові дані проти етапу сервісу» функціонує найкраще, коли його розглядають як вимірювану характеристику. Збережіть один ідеальний запис, один випадок збою та примітку щодо скасування змін перед розширенням обсягу роботи. Документуйте як успішний, так і відновлювальний сценарії роботи разом. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Зберігайте структуру графа простою та типованою. Вкладені елементи приховують інформацію про те, який вузол заповнив яке поле, що ускладнює продовження роботи після перерв. Підхід «Локальні облікові дані проти етапу сервісу» функціонує найкраще, коли його розглядають як вимірювану характеристику. Збережіть один ідеальний запис, один випадок збою та примітку щодо скасування змін перед розширенням обсягу роботи. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте мовчазного часткового виконання завдань.

Чотири правила для розвитку кращих навичок

Для чотирьох правил побудови етапу необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись визначити прихований стан. Записуйте час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат на ранньому етапі запобігає несподіваним рахункам, коли процес переходить від демо-середовища до спільних середовищ. Встановлюйте людське схвалення для тих кроків, які вимагають фінансових витрат або змінюють дані у продакшені. Підключення під час компіляції не є гарантією повноти бізнес-функціоналу.

1. Перевірте довідку CLI перед виконанням команд

Для етапу допомоги CLI Inspect 1 необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функціоналу мають знаходитися в одному місці, яке оператори можуть перевірити, не читаючи весь код. Встановіть людське схвалення для кроків, які спричиняють витрати грошей або змінюють дані в продакшені. Підключення на етапі компіляції не є гарантією повноти бізнес-функціоналу.

Rule: When using gcloud subcommands with volume mounts, IAM bindings,
or filtering, always run 'gcloud help <group> <command>' first.
Never invent parameter names.

2. Зробіть скрипти налаштування ідемпотентними та неконсольними

На етапі скриптів налаштування 2 Make необхідно визначити вхідні дані, власника кроку та критерії завершення ще до зміни коду. Оператори мають мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Необхідно документувати як шлях успішного виконання, так і шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Встановлюйте людське схвалення для тих кроків, які призводять до витрат грошей чи змінюють дані у продакшені. Підключення елементів під час компіляції не є гарантією повності функціоналу продукту. На етапі скриптів налаштування 2 Make необхідно визначити вхідні дані, власника кроку та критерії завершення ще до зміни коду. Оператори мають мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Називайте створювані елементи, визначайте критерії успіху та не допускайте безповідомного часткового завершення роботи.

# Check before creating to ensure idempotency
if ! gcloud iam service-accounts describe "${SA_EMAIL}" --project="${PROJECT_ID}" >/dev/null 2>&1; then
  gcloud iam service-accounts create "${SA_NAME}" \
    --project="${PROJECT_ID}" \
    --display-name="App Service Account" \
    --quiet
fi

3. Фільтрація даних на сервері

Під час роботи над етапом 3 «Фільтрація даних» спочатку складіть контракт: необхідні вхідні дані, сигнал про успіх та наслідки часткової невдачі. Такий перелік допомагає зберігати чесність у подальших змінах коду. Записуйте час виконання та витрати на токени або запити поруч із функціональними результатами. Чітке бачення витрат заздалегідь запобігає несподіваним рахункам під час переходу від демо-середовища до спільних. Робіть контрольні пункти після дорогих кроків. Функція відновлення не повинна знову стягувати плату за один і той самий виклик LLM, коли оператор перезапускає пізніший етап.

# Return only running VM names and internal IPs in compact tabular form
gcloud compute instances list \
  --project="my-app-prod" \
  --filter="status:RUNNING" \
  --format="table(name,networkInterfaces[0].networkIP:label=INTERNAL_IP)"

4. Вимагайте підтвердження перед руйнівними діями

Під час роботи з етапом «Треба підтвердження перед наступним кроком» спочатку запишіть умови контракту: необхідні дані вхіду, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, храни секретів та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь код. Робіть контрольні пункти після дорогих операцій. Функція відновлення не повинна знову стягувати плату за один і той самий виклик LLM, коли оператор перезапускає пізнішу ланку.

Переходження за межі простих перевірок

Під час праці над етапом «Переход вище за межі перевірок налаштувань» спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Одночасно задокументуйте шлях успішного виконання та шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої доробки. Робіть контрольні пункти після дорогих кроків. Система відновлення не повинна знову стягувати плату за той самий виклик LLM, коли оператор повторює спробу з пізнішого етапу. Під час праці над етапом «Переход вище за межі перевірок налаштувань» спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте безповідомного часткового завершення роботи.

Контрольний перелік операцій

На етапі перевірки операційних процедур необхідно визначити вхідні дані, відповідальну особу за кожен крок та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан.

Краще використовувати невеликі, перевірювані одиниці коду замість об’ємних скриптів. Коли крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну ієрархію процесів.

Встановлюйте людське схвалення для операцій, які передбачають витрати грошей чи зміну даних у продакшені. Компіляційна налаштування не є гарантією повноти бізнес-процесу.

Напишіть короткий посібник: як змінювати ключі, як спорожнювати чергу, як скасовувати останнє завантаження даних.

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

Встановіть людське схвалення для тих етапів, де витрачаються гроші або змінюються дані виробництва. Підключення під час компіляції не є гарантією повноти бізнес-функціоналу.

Перш ніж переходити на нову версію стеку, заморозьте існуючі версії, створіть остаточний запис для критичного шляху виконання та підтвердьте кроки для скасування змін. У спільних середовищах необхідні обмеження на частоту використання, перевірки прав доступу та чіткий власник для зміни секретних ключів. Віддавайте перевагу надійності перед креативними одноразовими демонстраціями.

Примітка до b328ba4d66b2: не включайте ключі постачальника до репозиторію, встановіть ліміт на токени на сеанс та зберігайте записи поруч із фіксами для оцінки, щоб подальша заміна моделей залишалася порівнянною.