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

Практычныя нататкі: агент можа сам выпраўляць свой промпт

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

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

Крыніцы: Your Agent Can Fix Its Own Prompt. Here’s How.

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

Навучыце вашага агента вучыцца на сопных помылках і ствараць крашчую версію сябе

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

Агент

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

You are a helpful company information assistant.
You have the following knowledge about company policies:
- PTO: 20 days per year, accrued monthly. Up to 5 unused days roll over.
- Sick leave: 10 days per year, does not roll over.
- Remote work: Up to 3 days per week with manager approval.
- Benefits: The company offers competitive benefits.
Answer questions using only the information above. If a question is about
a topic not listed above, tell the user you do not have that information
and suggest they contact HR.

Базовыя элементы

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

Цыкл удосконалення

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

git clone https://github.com/GoogleCloudPlatform/BigQuery-Agent-Analytics-SDK.git
cd examples/agent_improvement_cycle

export PROJECT_ID=<your-project-id>

./setup.sh
./run_cycle.sh               # single cycle, 10 questions, ~3-4 min
./run_cycle.sh --auto --cycles 3 --traffic-count 100

Шаг за шагам

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

Прыпылотны перыяд: запуск ідэальнага набора для ацэнкі

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

{
  "eval_cases": [
    {"id": "pto_balance",     "question": "How many PTO days do I get per year?",
     "category": "pto",        "expected_tool": "lookup_company_policy"},
    {"id": "sick_leave_days", "question": "How many sick days do I have?",
     "category": "sick_leave", "expected_tool": "lookup_company_policy"},
    {"id": "remote_work_days","question": "How many days can I work from home?",
     "category": "remote_work","expected_tool": "lookup_company_policy"}
  ]
}
▶ PRE-FLIGHT: Verifying golden eval set passes with current prompt

PASS: pto_balance
     Answer: You receive 20 PTO days per year, accrued monthly.
             Up to 5 unused days can roll over.
     Tools called: lookup_company_policy
PASS: sick_leave_days
     Answer: You have 10 sick days per year. They do not roll over.
     Tools called: lookup_company_policy
PASS: remote_work_days
     Answer: You can work from home up to 3 days per week
             with manager approval.
     Tools called: lookup_company_policy
All cases pass.

Шаг 1–2: Стварыць сінтэтычны трафік і запусціць яго праз агента

У падзеўцы стварэння на шагах 1–2 неабходна пазначыць вхідныя даны, адпаведальнага за шаг і крэтыяяры завершэння прычыні перад зменым коду. Аператары должны магчымаць перзапуск шага з вядомай точкі контролю, не падозрываючы схованы стан. Конфігурацыю трэба залічыць пазнаходзяцца за межамі коду прыкладнення. Файлы сераўнавання, хранільнікі секрэтных дадзеных і флагі функцыяў павінны знаходзіцца ў адном месцы, якое аператары можаць пераглядаць без неабяжнага чытання всіх элементаў. Калі наступны шаг — гэта код або вызов інструмента, лепш выкарыстоўваць структураваныя выходныя даны з перакананнем ў правільнасці схемы, чым вольныя тэкстовыя апісанні.

▶ STEP 1/5: GENERATE SYNTHETIC TRAFFIC
Goal:    Produce diverse user questions that differ from the golden eval set
  Method:  Gemini generates 100 questions

  ...

  Sample questions:
    - How many PTO days do I earn per month?
    - What's the maximum number of PTO days I can roll over into the next year?
    - I want to take a full week off for vacation. What is the advance notice required?

  ...

▶ STEP 2/5: RUN TRAFFIC THROUGH AGENT
Goal:    Send questions to the agent, log every session to BigQuery
...
  [62/100] traffic_expenses_window_to_submit: What is the timeframe for submitting expense reports?
           -> Business expenses must be submitted within 30 days.
  [64/100] traffic_benefits_health_company_contribution: What percentage of my health insurance premium does the company cover?
           -> The company covers 80% of health insurance premiums for employees.
  [65/100] traffic_benefits_dental_coverage: What does the dental insurance plan cover?
           -> I do not have specific information about what the dental insurance plan covers. The company offers competitive benefits, but details about specific plans like dental insurance are not something I have access to. Please contact HR for more information on dental insurance coverage.
  [67/100] traffic_benefits_401k_match: What is the company's 401k match policy?
           -> I do not have information about the company's 401k match policy. Please contact HR for details on this topic.
  [68/100] traffic_benefits_401k_vesting: How long do I need to be employed to be fully vested in the 401k match?
           -> I do not have information about 401k vesting. Please contact HR for details regarding the 401k match and vesting schedule.
  [69/100] traffic_benefits_parental_leave_primary: What is the parental leave duration for a primary caregiver?
           -> I do not have information about parental leave. Please contact HR for details on this policy.
  [66/100] traffic_benefits_vision_frames: How often can I get new frames under the vision plan?
           -> I do not have information about the vision plan or how often you can get new frames. Please contact HR for details about the vision plan.
  [60/100] traffic_expenses_receipt_required_over_x: Expenses over what amount require a receipt?
           -> I do not have information about the company's expense policy. Please contact HR for details.
  [89/100] traffic_holidays_next_company_holiday: When is the next company holiday?
           -> I do not have information about company holidays. Please contact HR for details.
...
Answer questions using only the information above. If a question is about
a topic not listed above, tell the user you do not have that information
and suggest they contact HR.

Шаг 3: Ацэнка якосці

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

QUALITY SUMMARY
  Total sessions evaluated : 100
  Meaningful               : 64
  Partial                  : 1
  Unhelpful                : 35
  Unhelpful rate           : 35.0%

[response_usefulness]
    HELPFUL         :   64  ( 64.0%) ################################
    NOT HELPFUL     :   35  ( 35.0%) #################
    PARTIAL         :    1  (  1.0%)
  [task_grounding]
    GROUNDED        :   90  ( 90.0%) #############################################
    NOT GROUNDED    :    9  (  9.0%) ####
    NO TOOL NEEDED  :    1  (  1.0%)
UNHELPFUL Sessions (showing 10 of 35)

Session:     52282245-d2a4-4998-9ad9-4373612019e8  → company_info_agent
  Question:    For what amount do I need to submit a receipt for expenses?
  Response:    "I do not have information about the specific amount for which you need to submit a receipt for expenses. Please contact HR for details on the expense policy."
  Usefulness:    ❌ NOT HELPFUL
  Reason:        The agent explicitly states it does not have the requested information and directs the user elsewhere, thus not providing a substantive answer to the user's question.
  Grounding:     ❌ NOT GROUNDED
  Reason:        The agent's response indicates a lack of specific information and directs the user to HR, suggesting it did not retrieve specific data from a tool to answer the question. The response is a generic LLM statement rather than tool-derived data.

Session:     3821b327-43d8-47c6-b922-dd8d7988c366  → company_info_agent
  Question:    After how many days of illness is a doctor's note mandatory?
  Response:    "I do not have information about when a doctor's note is mandatory for illness. Please contact HR for this information."
  Usefulness:    ❌ NOT HELPFUL
  Reason:        The agent explicitly states it does not have the requested information and directs the user elsewhere, failing to answer the user's question substantively.
  Grounding:     ❌ NOT GROUNDED
  Reason:        The agent's response indicates a lack of information, meaning it was not grounded in actual data retrieved from its tools. The question required tool usage, but no relevant data was found or presented.
...
Metric              V1              Budget        Status
-----------         -----------     -----------   ------
Avg latency         1482.3 ms       10000 ms      PASS
Total tokens        811.4 tokens    50000 tokens  PASS
Turn count          1 turns         10 turns      PASS
Tool error rate     0.0 rate        0.1 rate      PASS

4-й крок: Падборкі паведамлення

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

Extracted 12 failed cases, added 12 new to golden set (15 total).
Q: As a primary caregiver, how many weeks of parental leave am I eligible for?
  Agent:   I do not have information about parental leave. Contact HR.
  Teacher: As a primary caregiver, you are eligible for 16 weeks of paid parental leave.
Q: What percentage of my contributions does the company match for 401k?
  Agent:   I do not have information about 401k matching. Contact HR.
  Teacher: The company matches 4% of your contributions to the 401k. Fully vested after 1 year.
Q: When is the next company holiday?
  Agent:   I do not have information about company holidays. Contact HR.
  Teacher: The next company holiday is May 25, 2026.
Q: What are the core hours I need to be available if I'm working remotely?
  Agent:   I do not have information about core hours. Contact HR.
  Teacher: Core collaboration hours for remote employees are 10am-3pm in your local timezone.
Calling Vertex AI Prompt Optimizer with 12 ground truth examples...
(The optimizer is a server-side job -- typically 2-4 minutes.)
... still optimizing (15s elapsed)
... still optimizing (30s elapsed)
... still optimizing (45s elapsed)
Optimizer returned a candidate prompt.
PASS: pto_balance
       Question: How many PTO days do I get per year?
       Answer: You get 20 PTO days per year, which are accrued monthly...
       Tools called: lookup_company_policy | Expected: lookup_company_policy
  PASS: extracted_as_a_primary_caregiver_how_many_weeks_of
       Question: As a primary caregiver, how many weeks of parental leave am I eligible for?
       Answer: As a primary caregiver, you are eligible for 16 weeks of paid parental leave.
       Tools called: lookup_company_policy | Expected: lookup_company_policy
  PASS: extracted_what_percentage_of_my_contributions_does
       Question: What percentage of my contributions does the company match for 401k?
       Answer: The company matches 4% of your 401(k) contributions, and you are fully vested after 1 year of employment.
       Tools called: lookup_company_policy | Expected: lookup_company_policy
  PASS: extracted_what_does_the_dental_insurance_plan_cove
       Question: What does the dental insurance plan cover?
       Answer: The dental insurance plan covers full preventive care and 80% for major procedures.
       Tools called: lookup_company_policy | Expected: lookup_company_policy
  PASS: extracted_when_is_the_next_company_holiday
       Question: When is the next company holiday?
       Answer: The next company holiday is Memorial Day on May 25, 2026.
       Tools called: lookup_company_policy, get_current_date | Expected: lookup_company_policy
  ...
  15/15 passed

Prompt:      V1 -> V2
  Golden set:  3 -> 15 cases

Шаг 5: Анаіз павышэння

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

[44/100] traffic_expenses_004: I booked a flight for $600 for a business trip. Do I need pre-approval?
           -> Travel expenses over $500 require pre-approval from your manager. Since your flight is $600, you will need pre-approval.
  [80/100] traffic_benefits_020: If I leave the company after 6 months, will I get to keep the 401k match?
           -> No, the company 401(k) match is fully vested after 1 year of employment. If you leave after 6 months, you will not get to keep the 401k match.
  [84/100] traffic_holidays_004: Is the day after Thanksgiving a paid holiday?
           -> Yes, the day after Thanksgiving is a paid holiday.
  [19/100] traffic_sick_004: I was sick for two days; do I need to provide any documentation?
           -> Employees receive 10 sick days per year. A doctor's note is required for absences longer than 3 consecutive days. Since you were sick for two days, you do not need to provide any documentation.
QUALITY SUMMARY
  Total sessions evaluated : 100
  Meaningful               : 99
  Partial                  : 1
  Unhelpful                : 0
  Unhelpful rate           : 0.0%

[response_usefulness]
    HELPFUL         :   99  ( 99.0%) #################################################
    PARTIAL         :    1  (  1.0%)
  [task_grounding]
    GROUNDED        :   99  (100.0%) ##################################################
Session:     4e0ea11d-d4dc-4a59-b337-30415a595c90  → company_info_agent
  Question:    If I'm sick for more than 3 days, what kind of doctor's note is required?
  Response:    "If you are sick for more than 3 consecutive days, a doctor's note is required."
  Usefulness:    PARTIAL
  Reason:        The response confirms a doctor's note is required but does not specify
                 the 'kind' of note, which was part of the user's question.
  Grounding:     GROUNDED
  Reason:        The agent's response directly reflects the information retrieved
                 from the 'lookup_company_policy' tool.
CYCLE 1 RESULTS
  Before (V1):  64.0% meaningful  (64/100 sessions)
  After  (V2):  99.0% meaningful  (98/99 sessions)
Quality 99.0% meets threshold (95%) -- stopping auto-continue.

DONE  (total wall time: 12m 39s)
  Prompt version:   V2
  Golden eval set:  15 cases
Metric              V1              V2              Budget        Status
-----------         -----------     -----------     -----------   ------
Avg latency    (v)  1482.3 ms       1088.4 ms       10000 ms      PASS
Total tokens   (^)  811.4 tokens    1339.7 tokens   50000 tokens  PASS
Turn count     (=)  1 turns         1 turns         10 turns      PASS
Tool error     (=)  0.0 rate        0.0 rate        0.1 rate      PASS

Запрос V2

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

You are a helpful company information assistant. Your primary function
is to answer employee questions about company policies by using the
available tools.

Core Directives:
1. Tool-First Approach: For EVERY user question, your first and only
   action should be to use one of the provided tools to find the answer.
2. No Answering from Memory: Do not use any general knowledge. The
   tools are the only source of truth.
3. Mandatory Tool Use: You MUST call the appropriate tool to answer the
   question. Do not state that you don't have the information or direct
   the user to HR for topics that the tools can handle.
4. Topic Inference: Carefully analyze the user's prompt to determine
   the correct topic parameter for the lookup_company_policy tool.
   The user's language may not be an exact match for the available
   topics (e.g., 'parental leave' or '401k' should be mapped to
   the 'benefits' topic).
AVAILABLE TOOLS:
- lookup_company_policy(topic: str)
  - Looks up a company policy by topic.
  - topic: The policy topic to look up. Must be one of: pto, sick_leave,
    remote_work, expenses, benefits, holidays.
- get_current_date()
  - Gets the current date.
Your goal is to successfully call the correct tool with the correct
parameters based on the user's question.

Што цыкл научае пра дызайн prompt

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

Выконанне самі

Этап «Выконанне самаста» працюе найэфектывней, калі яго спрыяваць як меравальную плошчу. Запісаўце адна «золатая» транскрыпцыя, адзін прыклад неудачы і запіс пра вярнэнне да пачатковага стану перш чым расшырваць масштабы. Зберагаўце настройкі праза код аплікацыі. Файлы сяродавішча, хранільнікі секрэтных дадзеных і флагі функцый должны знаходзіцца ў аднам месцы, куды аператары можаць адбавляць без неабходнасці чытання всей структуры. Задаўце ліміт токенав на кожны рунг і на кожную сесыю. Інструменты-агенты агрэсіўна расшырваюць кантэкст; жорсткія ліміты не дазволяюць дэмам ператварыцца на неспакоўныя рахункі.

git clone https://github.com/GoogleCloudPlatform/BigQuery-Agent-Analytics-SDK.git
cd examples/agent_improvement_cycle

export PROJECT_ID=<your-project-id>

./setup.sh

./run_cycle.sh
./reset.sh

Вывык

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

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

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

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

Бюджэт токенав на адзін раунд і на адзін сэсію. Агентныя інструменты агрэсывна расшырваюць кантэкст; строгі ліміты не дазволяюць дэмам ператварыцца на неспакаваныя рахункі.

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

Напісце кароткі посоўнік: як ротаваць клучы, як спрачысці очакванню заяваў, як анулюваць пярэдніе дадзеныя.

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

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

Запіска параграфу f7bfa970ccb5: не трэба кантрацяваць ключы прадастоўцаў у рэпазітарые, задаць максімальную кантэйнернасць токена на адну сесію, а таксама зберагчы транскрыпціі праза фіксатуры адлічэння, каб пазнейшыя замены мадэляў заставаліся порównанымі.

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

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

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

Дзеянне зміцнення 1/963: вымерыце час віканання, класію памылак і колькасць вікорыстоўваных токенав для гэтага пункту, а потым вынікніце рашэнне пра тое, чы робіць змену на адной пазначанай базе пытанняў, а не на адной лячбе.

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

Дзеянне паўжасткі 2/963: звярніце увагу на час выканання, класы памылак і колькасць выкорыстоўваных токенаў для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.

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

Дзеянне паўжасткі 3/963: звярніце увагу на час выканання, класы памылак і колькасць выкорыстоўваных токенаў для гэтага зазначэння, а пасля, на аднойчынай базе фіксаванага набору пытанняў, а не на асобістых спазырэннях, выявіце, чы хацяце застаўіць змены.