Wskazówki praktyczne: Twój agent może sam poprawić swój prompt. Oto jak to zrobić.
Krok po kroku instrukcja do praktycznych wskazówek: Twój agent może sam poprawić swój prompt. Oto jak to zrobić: umowy, weryfikacje oraz miejsca na kod do wprowadzenia dla zespołów stosujących ten wzorzec.
To przewodnictwo pokazuje, jak odtworzyć proces od surowców do działającego systemu umożliwiającego: Twojemu agentowi samodzielną korektę własnych poleceń. Oto jak to zrobić. Skupiamy się na krokach operacyjnych, wyraźnych sprawdzeniach oraz kodzie, który można bez problemu dodać do repozytorium, bez konieczności zgadywania intencji. Na etapie przeglądu należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Zapisuj czas wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy proces przechodzi z środowiska demonstracyjnego do współdzielonych środowisk.
Nauč agenta uczenia się na własnych błędach i tworzenia lepszej wersji siebie
Gdy pracujesz nad instrukcją „Naucz swojego agenta realizować zadania etapami”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Przechowuj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności czytania całej struktury. Zachowuj w pamięci podręcznej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego nagłówka jest częstą przyczyną marnotrawstwa zasobów.
Agent
Gdy przechodzisz przez etap agenta, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponowne, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później. Zachowuj w pamięci podręcznej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego nagłówka jest częstą przyczyną marnotrawstwa zasobów.
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.
Bloki budulcowe
Podczas prace na etapie „Budulce” najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok się nie powiedzie, błąd powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Zachowuj w pamięci tymczasowej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego prefiksu to częsty powód marnotrawstwa zasobów. Podczas prace na etapie „Budulce” najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zapisuj czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy przechodzi się od wersji demonstracyjnej do środowisk współdzielonych.
Cykl doskonalenia
Etap cyklu doskonalenia działa najlepiej, gdy traktuje się go jako mierzalną powierzchnię. Zapisz jeden idealny przykład działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres pracy. Trzymaj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny poufnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności przeglądania całej struktury. Ustal limit tokenów na rundę i sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne ograniczenia zapobiegają temu, by demonstracje przerodziły się w niespodziewane rachunki.
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
Krok po kroku
Metoda krok po kroku działa najlepiej, gdy traktuje się ją jako mierzalną powierzchnię. Zapisz jeden idealny przypadek, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy. Zdokumentuj zarówno prawidłowy przebieg, jak i ścieżkę naprawczą. Próby ponownych działań, kontrolne punkty ludzkie oraz obsługa wiadomości nieodebranych stanowią część produktu, a nie elementy dodawane później. Przydziel budżet tokenów na każdy ruch i sesję. Narzędzia agentowe intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by demonstracje przerodziły się w niespodziewane rachunki.
Przygotowanie: uruchom zbiór testowy „golden eval set”
Procedura Pre-flight run the golden stage działa najlepiej, gdy traktuje się ją jako mierzalną powierzchnię do analizy. Zapisz jeden idealny zapis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy. Wolij małe, testowalne jednostki nad rozbudowane skrypty. Gdy jakiś krok zawiedzie, awaria powinna wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Określ budżet tokenów na każdą rundę i sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne limity zapobiegają temu, by demonstracje przerodziły się w niespodziewane rachunki. Procedura Pre-flight run the golden stage działa najlepiej, gdy traktuje się ją jako mierzalną powierzchnię do analizy. Zapisz jeden idealny zapis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy. Zapisuj czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy przechodzi się od demonstracji do wspólnych środowisk.
{
"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.
Krok 1–2: Generowanie syntetycznego ruchu i przetwarzanie przez agenta
W fazie generowania kroków 1 i 2 należy zdefiniować dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Konfigurację należy przechowywać poza kodem aplikacji. Pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności czytania całej struktury. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, lepiej używać ustrukturyzowanych wyników z walidacją schematu niż tekstu w formie swobodnej.
▶ 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.
Krok 3: Ocena jakości
W etapie 3, „Ocena jakości”, przed zmianą kodu należy zdefiniować dane wejściowe, osobę odpowiedzialną za ten etap oraz kryteria zakończenia. Operatorzy powinni móc ponownie uruchomić ten etap na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy udokumentować zarówno prawidłowy przebieg procesu, jak i ścieżkę naprawczą. Próby ponownych działań, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, należy preferować ustrukturyzowane wyniki z walidacją schematu zamiast tekstów w formie swobodnej.
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
Krok 4: Ulepszenie promptu
W etapie 4 „Ulepszenie” należy zdefiniować dane wejściowe, osobę odpowiedzialną za ten etap oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić ten etap na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Należy preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy etap zawiedzie, powinno to wskazywać na konkretną odpowiedzialność, a nie na skomplikowany proces. W przypadku, gdy następnym krokiem jest kod lub wywołanie narzędzia, lepsze są ustrukturyzowane wyniki z walidacją schematu niż swobodny tekst. W etapie 4 „Ulepszenie” należy zdefiniować dane wejściowe, osobę odpowiedzialną za ten etap oraz kryteria zakończenia przed zmianą kodu. Operatorzy powinni móc ponownie uruchomić ten etap na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Obok wyników funkcjonalnych należy rejestrować czas wykonywania oraz koszt tokenów lub zapytań. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy proces przechodzi z środowiska demonstracyjnego do wspólnych środowisk.
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
Krok 5: Pomiar poprawy
Podczas realizacji etapu Krok 5: Pomiar poprawy, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Przechowuj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności czytania całej struktury. Zachowuj w pamięci podręcznej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego preambułu jest częstą przyczyną marnotrawstwa zasobów.
[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
Wzór V2
Gdy przechodzisz przez etap projektowania promptu V2, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zdokumentuj zarówno ścieżkę prawidłowego działania, jak i ścieżkę naprawczą. Próby ponowne, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dopiero późniejszej optymalizacji. Zachowuj w pamięci podręcznej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego prefiksu to częsty powód marnotrawstwa zasobów.
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.
Czego uczy ten cykl o projektowaniu promptów
Gdy przechodzisz przez etap „Co uczy cykl”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy jakiś krok się nie powiedzie, błąd powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany łańcuch operacji. Zachowuj w pamięci tymczasowej stabilne instrukcje systemu oraz schematy narzędzi. Ponowne wysyłanie identycznego prefiksu to częsty powód marnotrawstwa zasobów. Gdy przechodzisz przez etap „Co uczy cykl”, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Zapisz czasy wykonywania oraz koszt tokenów lub zapytań obok wyników funkcjonalnych. Wczesna widoczność kosztów zapobiega niespodziewanym rachunkom, gdy proces przechodzi z środowiska demonstracyjnego do współdzielonych środowisk.
Rozpoczęcie pracy samodzielnie
Etap „Wykonanie samodzielnie” działa najlepiej, gdy traktuje się go jako mierzalną powierzchnię do analizy. Zapisz jeden udany przypadek, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres pracy. Trzymaj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny poufnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności przeglądania całej struktury. Ustal limit tokenów na rundę i sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne ograniczenia zapobiegają temu, by demonstracje przerodziły się w niespodziewane rachunki.
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
Główne wnioski
Etap przygotowania wyników działa najlepiej, gdy traktuje się go jako mierzalną powierzchnię do analizy. Zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy.
Lista kontrolna operacyjna
Etap listy kontrolnej operacyjnej funkcjonuje najlepiej, gdy traktuje się go jako mierzalną powierzchnię do analizy. Zapisz jeden idealny przepis działania, jeden przypadek awarii oraz notatkę dotyczącą cofnięcia działań, zanim rozszerzysz zakres pracy.
Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nazwij poszczególne elementy, zdefiniuj kryteria sukcesu i odrzuć przypadki cichego, częściowego ukończenia zadania.
Limity budżetu na jeden ruch i na całą sesję. Narzędzia typu agentic intensywnie rozszerzają kontekst; sztywne ograniczenia zapobiegają temu, by demonstracje przerodziły się w niespodziewane rachunki.
Zainstaluj ludzką weryfikację w punktach, gdzie wydawane są pieniądze lub zmieniane dane produkcyjne. Połączenia skompilowane w czasie kompilacji nie gwarantują kompletności biznesowej rozwiązania.
Napisz krótki przewodnik: jak rotować klucze, jak opróżniać kolej z zadań, jak cofnąć ostatni proces importu.
Zdokumentuj zarówno standardową ścieżkę działania, jak i ścieżkę naprawczą. Próby ponownych działań, ludzkie kontrolne punkty oraz obsługa wiadomości błędowych stanowią część produktu, a nie elementy dodawane później.
Zanim wdrożysz cały zestaw narzędzi, zamroź wersje oprogramowania, utwórz idealny zapis działań dla kluczowej ścieżki oraz potwierdź kroki konieczne do cofnięcia zmian. Środowiska współdzielone wymagają ograniczeń szybkości, weryfikacji przynależności użytkowników oraz jasno określonego osoby odpowiedzialnej za rotację sekretów. Wolisz nudną niezawodność od pomysłowych, jednorazowych demonstracji.
Uwaga dotycząca partii f7bfa970ccb5: unikaj przechowywania kluczy dostawcy w repozytorium, ustaw ograniczenie liczby tokenów na sesję oraz przechowuj transkrypcje obok narzędzi do oceny, aby późniejsze zmiany modeli pozostały porównywalne.
Dla etapu 0 dotyczącego wzmocnienia bezpieczeństwa zdefiniuj dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie uruchomić dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Zdokumentuj zarówno prawidłowy przebieg działania, jak i ścieżkę naprawczą. Próby ponownych działań, kontrola przez ludzi oraz obsługa wiadomości błędnych stanowią część produktu, a nie elementy dodawane później.
Szczegół wzmocnienia bezpieczeństwa 0/963: zmierz czas wykonywania, klasę błędu oraz zużycie tokenów dla tej uwagi, a następnie zdecyduj, czy zachować zmianę na podstawie ustalonego zestawu pytań, a nie jedynie informacji anegdotycznych.
Gdy przechodzisz przez pierwszy etap notatki dotyczącej wzmocnienia bezpieczeństwa, najpierw zapisz umowę: wymagane dane wejściowe, sygnał sukcesu oraz to, co dzieje się w przypadku częściowego niepowodzenia. Taka lista kontrolna zapewnia uczciwość późniejszych zmian w kodzie. Traktuj ten etap jako umowę pomiędzy danymi wejściowymi a zweryfikowanymi wynikami. Nadaj nazwy poszczególnym elementom, zdefiniuj kryteria sukcesu i odrzuć przypadki częściowego ukończenia bez żadnych informacji.
Szczegół 1/963 dotyczący wzmocnienia bezpieczeństwa: zmierz czas wykonywania, klasę błędu oraz zużycie tokenów dla tej notatki, a następnie zdecyduj, czy zachować zmianę na podstawie ustalonego zestawu pytań, a nie jedynie informacji anegdotycznych.
Etap notatki dotyczącej wzmocnienia bezpieczeństwa nr 2 działa najlepiej, gdy jest traktowany jako mierzalna powierzchnia do analizy. Zapisz jeden idealny przepływ operacji, jeden przypadek niepowodzenia oraz notatkę dotyczącą cofnięcia zmian, zanim rozszerzysz zakres prac. Utrzymuj konfigurację poza kodem aplikacji. Pliki środowiskowe, magazyny tajnych danych oraz flagi funkcjonalne powinny znajdować się w jednym miejscu, które operatorzy mogą sprawdzić bez konieczności przeglądania całej struktury.
Szczegół wzmocnienia 2/963: zmierz czas wykonywania, klasę błędu oraz zużycie tokenów dla tej notatki, a następnie zdecyduj, czy zachować zmianę na podstawie ustalonego zestawu pytań, a nie jedynie anegdoty.
W trzecim etapie notatki dotyczącej wzmocnienia określ dane wejściowe, osobę odpowiedzialną za dany krok oraz kryteria zakończenia przed modyfikacją kodu. Operatorzy powinni móc ponownie wykonać dany krok na podstawie znanego punktu kontrolnego, bez konieczności zgadywania ukrytego stanu. Wolno preferować małe, testowalne jednostki zamiast rozbudowanych skryptów. Gdy dany krok zawiedzie, powód awarii powinien wskazywać na konkretną odpowiedzialność, a nie na skomplikowany proces.
Szczegół wzmocnienia 3/963: zmierz czas wykonywania, klasę błędu oraz zużycie tokenów dla tej notatki, a następnie zdecyduj, czy zachować zmianę na podstawie ustalonego zestawu pytań, a nie jedynie anegdoty.
Literatura pokrewna
- Praktyczne notatki: DS-STAR: Jak Google stworzył agenta nauki danych, który rzeczywiście funkcjonuje — Krok po kroku instrukcja korzystania z Praktycznych notatek: DS-STAR: Jak Google stworzył agenta nauki danych, który rzeczywiście funkcjonuje: szablony kontraktów, sprawdzeń oraz miejsca na kod do wklejenia dla zespołów wdrażających ten wzorzec.
- Praktyczne notatki: Twoja grafa agenta nie należy do Pythonu: Kompilowanie — Krok po kroku instrukcja korzystania z Praktycznych notatek: Twoja grafa agenta nie należy do Pythonu: Kompilowanie: szablony kontraktów, sprawdzeń oraz miejsca na kod do wklejenia dla zespołów wdrażających ten wzorzec.