Практичні поради: Вашому агенту для кодування не потрібен кращий запит
Покрокове керівництво з практичних нотаток: вашому кодувальному агенту не потрібен кращий запит — контракти, перевірки та слоти для вставки коду для команд, які використовують цю схему.
Наступні примітки описують практичний підхід до розв’язання проблеми „Вашому кодувальному агенту не потрібен кращий запит“. Основна увага приділяється контрактам, перевіркам та шаблонам коду замість мотиваційних формулювань.
Йому потрібні кращі умови роботи
Під час роботи над етапом „Йому потрібні кращі умови роботи“ спочатку запишіть контракт: необхідні вхідні дані, сигнал про успіх та наслідки часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевіряти, не читаючи весь код. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача однакових даних є поширеною причиною надмірних витрат ресурсів.
Цикл curl
Під час роботи над етапом циклу curl спочатку запишіть умови виконання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Одночасно задокументуйте шлях успішного виконання та шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною надмірних витрат ресурсів.
search for artifact
↓
try dependency
↓
Maven failure
↓
search web
↓
curl documentation
↓
download JAR
↓
inspect classes
↓
try another version
↓
search again
Ітерація 1: Виправлення середовища
Під час роботи над етапом «Виправлення 1» спочатку запишіть контракт: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність у подальших змінах коду. Віддавайте перевагу малим, тестованим одиницям коду перед об’ємними скриптами. Коли якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану послідовність дій. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною витрат ресурсів.
LLM + prompt
Model
+ instructions
+ repository
+ build
+ tools
+ runtime
+ available evidence
+ project knowledge
+ feedback loops
Ітерація 2: Надайте агенту інструменти навігації, якими вже користуються інженери
Під час роботи над Ітерацією 2, описуючи цей етап, спочатку запишіть контракт: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Призначте назви елементам, визначте критерії успіху та не допускайте беззвучного часткового виконання завдань. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною витрат ресурсів.
shell + filesystem + internet
interface
↓
implementation
↓
usage
↓
test
Ітерація 3: Іноді найкращим контекстом є людина, яка показує на правильний файл
Під час роботи над етапом «Ітерація 3 Sometimes» спочатку запишіть контракт: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Запишіть час виконання та витрати на токени або запити поруч із функціональними результатами. Відображення витрат заздалегідь запобігає несподіваним рахункам, коли процес переходить від демо-середовища до спільних. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною зайвих витрат. Під час роботи над етапом «Ітерація 3 Sometimes» спочатку запишіть контракт: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність у подальших змінах коду. Одночасно задокументуйте оптимальний та відновлювальний сценарії роботи. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
AllMiniLmL6V2EmbeddingModel
↓
AbstractInProcessEmbeddingModel
↓
OnnxBertBiEncoder
Hugging Face tokenizer
↓
ONNX Runtime
↓
token representations
↓
pooling
↓
normalization
↓
embedding
Ітерація 4: Чому ми вирішуємо, що повинен навчитися агент?
Етап «Чому» у Ітерації 4 працює найкраще, якщо його розглядати як вимірювану поверхню. Запишіть один ідеальний приклад виконання, один випадок невдачі та примітки щодо скасування дій перед розширенням обсягу завдань. Віддавайте перевагу невеликим, тестованим одиницям перед об’ємними скриптами. Коли якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну послідовність дій. Встановіть ліміти на кількість токенів за хід та за сеанс. Інструменти агентів активно розширюють контекст; жорсткі обмеження запобігають тому, що демонстрації перетворюються на несподівані рахунки.
Невеликий експеримент з Integrallis Vectors
Невеликий експеримент на цьому етапі найкраще розглядати як вимірювану поверхню. Запишіть один приклад успішного результату, один випадок невдачі та примітку про скасування змін перед розширенням масштабу. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте мовчазного часткового виконання завдань. Встановіть ліміти на кількість токенів за хід та за сеанс. Інструменти агента активно розширюють контекст; жорсткі обмеження запобігають тому, щоб демонстрації перетворювалися на несподівані рахунки.
../vectors/
Initial working model
↓
low confidence recognized
↓
specific evidence requested
↓
source inspected
↓
previous hypothesis falsified
↓
new working model
↓
better engineering recommendation
Так, агент навчився…
Етап навчання агента Yes the Agent працює найкраще, коли його розглядають як вимірювану поверхню. Збережіть один ідеальний запис розмови, один випадок збою та примітку про скасування змін перед розширенням обсягу завдань. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Візуалізація витрат заздалегідь запобігає несподіваним рахункам, коли процес переходить від демо-версії до спільних середовищ. Встановіть ліміти на кількість токенів за хід та за сеанс. Інструменти агента активно розширюють контекст; жорсткі обмеження не дозволяють демо-версіям перетворюватися на несподівані рахунки. Етап навчання агента Yes the Agent працює найкраще, коли його розглядають як вимірювану поверхню. Збережіть один ідеальний запис розмови, один випадок збою та примітку про скасування змін перед розширенням обсягу завдань. Одночасно задокументуйте оптимальний та відновлювальний шляхи виконання завдань. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
Навчання агента має тривати довше, ніж сам агент.
На етапі навчання агента необхідно визначити вхідні дані, виконавця кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Краще використовувати невеликі, перевірювані одиниці коду замість об’ємних скриптів. Коли крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану послідовність операцій. Коли наступним кроком є код чи виклик інструменту, краще використовувати структуровані результати з перевіркою схеми, ніж вільний текст.
docs/engineering/
docs/knowledge/
docs/knowledge/vector-backends/
onnx-embedding-pipeline.md
integrallis-vectors.md
candidate-assessment.md
Local embedding baseline:
- all-MiniLM-L6-v2
- 384 dimensions
- ONNX Runtime
- DJL HuggingFaceTokenizer
- mean pooling
- L2 normalization
Long inputs:
- partitioned before inference
- embeddings combined using token-count weightingLangChain4j:
- useful as a verified reference implementation
- not required by the runtime designUpstream source:
- available locally for deeper verification
retained knowledge
↓
task understanding
↓
remaining uncertainty
↓
targeted evidence
↓
new learning
↓
updated retained knowledge
↓
next agent
Дослідження є частиною делегування
Оскільки дослідження є частиною певної стадії, необхідно визначити вхідні дані, виконавця кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цю стадію як контракт між вхідними даними та перевіреними результатами. Призначте назви елементів, визначте критерії успіху та не допускайте мовчазного часткового завершення. У разі, коли наступним кроком є код або виклик інструменту, віддавайте перевагу структурованим результатам із перевіркою за схемою перед вільним текстовим форматом.
"Agent, do everything."
"Human specifies every line."
Агент — це не джин у лампі
У випадку, коли агент не є окремою стадією, необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Чітке відображення витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні середовища. У разі, коли наступним кроком є код чи виклик інструменту, віддавайте перевагу структурованим результатам із перевіркою схеми перед вільним текстом. У випадку, коли агент не є окремою стадією, необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Документуйте як успішний, так і відновлювальний сценарії роботи разом. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
Coding Agent
│
┌───────────────┼───────────────┐
│ │ │
Harness Knowledge Research
│ │ │
tools project facts source
build decisions docs
IDE constraints experiments
runtime prior learning external evidence
│ │ │
└───────────────┼───────────────┘
↓
Clear boundaries
↓
Precise delegation
↓
Implementation
↓
Verification
↓
Retained knowledge
│
└──────→ next agent
Під час виконання етапу «Від формулювання запитів до створення робочих умов» спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової несправності. Такий перелік допомагає зберігати чесність пізніших змін у коді. Віддавайте перевагу невеликим, тестованим одиницям коду перед об’ємними скриптами. Якщо якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну ієрархію операцій. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною надмірних навантажень.
better environment
↓
cheaper investigation
↓
better evidence
↓
better decisions
↓
retained learning
↓
better starting environment
↓
next agent
Під час роботи над етапом «Звідки виник OSK», спочатку запишіть умови контракту: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Дайте назви елементам, визначте критерії успіху та не допускайте безповідомного часткового виконання. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною витрат ресурсів.
Інший спосіб програмування з агентами
Під час роботи над «Іншим способом налаштування» спочатку запишіть умови використання: необхідні дані вхіду, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Запишіть час виконання та витрати на токени чи запити поруч із результатами функціонування. Відображення витрат заздалегідь запобігає несподіваним рахункам, коли процес переходить від демо-версії до спільних середовищ. Зберігайте у кеші стабільні інструкції системи та схеми інструментів. Повторна передача ідентичних даних є поширеною причиною надмірних витрат. Під час роботи над «Іншим способом налаштування» спочатку запишіть умови використання: необхідні дані вхіду, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність пізніших змін у коді. Одночасно задокументуйте оптимальний та резервний сценарії функціонування. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації.
Human request
↓
Agent generates code
Human hypothesis
↓
discussion
↓
agent reconnaissance
↓
identify uncertainty
↓
targeted research
↓
retained evidence
↓
human + agent design
↓
implementation
↓
real-world friction
↓
verification
↓
revised architecture
↓
new retained knowledge
Це гіпотези, а не закони
Це гіпотези, а не готові рішення; їх найкраще розглядати як вимірювану поверхню. Запишіть один ідеальний приклад виконання, один випадок невдачі та примітки щодо скасування змін перед розширенням обсягу роботи. Віддавайте перевагу невеликим, тестованим одиницям перед величезними скриптами. Коли якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну послідовність дій. Встановіть ліміти на кількість операцій за раз та за сеанс. Інструменти типу агентів активно розширюють контекст; жорсткі обмеження запобігають тому, що демонстрації перетворюються на несподівані рахунки.
Чек-лист операцій
На етапі чек-листу операцій необхідно визначити вхідні дані, відповідальну особу за кожен крок та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан системи.
Зберігайте конфігурацію поза кодом додатку. Файли середовища, сховища секретів та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь код.
У разі наступного кроку у вигляді коду чи виклику інструменту віддавайте перевагу структурованим результатам із верифікацією схеми перед вільним текстом.
Створюйте контрольні точки після дорогих операцій. Функція відновлення не повинна знову стягувати плату за той самий виклик LLM, коли оператор перезапускає пізнішу ланку.
Фіксуйте версії залежностей та записуйте хеш образу, який використовувався для демонстрації. Відтворюваність краща за індивідуальні знання.
Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Називайте результати, визначайте критерії успіху та не допускайте мовчазного часткового виконання завдань.
Перш ніж запускати стек у продакшн, заморозьте версії, створіть «золотий» запис для критичного шляху та підтвердьте кроки відкату. У спільних середовищах необхідні обмеження на частоту використання, перевірки прав доступу та чіткий власник для зміни секретів. Краще обирати надійність, ніж креативні одноразові демонстрації.
Примітка для ddfa012877c8: не зберігайте ключі постачальника у репозиторії, встановіть ліміт токенів на сеанс та зберігайте записи поруч із фіксами для оцінки, щоб подальша заміна моделей залишалася порівнянною.
Для етапу 0 щодо посилення безпеки визначте вхідні дані, власника кроку та критерії завершення ще до змін у коді. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не здогадуючись про прихований стан. Записуйте час виконання та витрати на токени чи запити поруч із функціональними результатами. Чітка відомість про витрати запобігає несподіваним рахункам під час переходу з демо-середовищ на спільні.
Деталі посилення безпеки 0/867: виміряйте час обробки, клас помилки та кількість використаних токенів для цього запису, а потім вирішіть, чи залишити зміни, ґрунтуючись на фіксованому наборі питань, а не на окремих випадках.