再共有 — Jérémy Surgetによるコンテンツ
週末をかけてハーネスエンジニアリングに関する最高のブログを読んだ。最も頻繁に登場する実践は以下の通り:
今日のハーネスは、その背後にあるモデルと同じくらい重要であることが今では分かっている
最も際立っているテクニックは以下の通り:
1. メモリはコンテキストの外に存在する
リポジトリ、ファイルシステム、gitがメモリとして機能する。各セッションは前回の続きから始まり、コンテキストが真実の源になることは決してない
2. コンテキストの限界を慎重に扱う
コンテキストが過度に満杯になると、ハルシネーションやパフォーマンスの低下につながる。これを制限するには、ツールとスキルをオンデマンドで読み込み、大きな出力をディスク上のファイルに退避させる必要がある。キャッシュ用に安定したプロンプトプレフィックスを維持することも言うまでもない
3. ルールはコードによって強制される
プロンプトによってではない。リンター、テスト、フック、サンドボックスが制約を検証可能にする。エージェントはタスクが完了したと言う前に、自己検証(テスト、ログ、スクリーンショット)できなければならない
4. 耐久性と可観測性
各ステップをチェックポイントし、アクションを冪等にし、すべてを追跡可能にする。エージェントは失敗し、セッションは時々切断されたり停止したりする。停止した正確な場所からすべてを再開できることを保証できる必要がある
5. ハーネスは柔軟であり続けなければならない
本番環境からのフィードバックにより、ハーネスは適応するために変更が必要になる。それを最小限かつ柔軟に保つことで、素早く適応できる
LinkedIn ソース
- プロフィール:Pierre Jean Duvivier dit Sage(LinkedIn)
- 共有著者:Jérémy Surget(LinkedIn)
投稿週末をかけてハーネスエンジニアリングに関する最高のブログを読んだ。最も頻繁に登場する実践は以下の通り:はles plumes qui mordentに最初に掲載された。
よくある質問
ハーネスエンジニアリングに関するFAQ
初心者向けの質問
ハーネスエンジニアリングとは何か
コードの周囲にあるツール、パイプライン、ガードレール、フィードバックループであるハーネスが、優れたエンジニアリングを容易な道とし、悪いエンジニアリングを困難にするようにシステムを設計する実践である
なぜ重要か
品質の問題のほとんどは不注意ではなく摩擦から生じるからである。優れたハーネスはミスを早期に捕捉し、退屈な作業を自動化し、チームがより少ない驚きでより速く出荷できるようにする
ハーネスの核心部分は何か
一般的にはCICDパイプライン、自動テスト、静的解析とリンター、プリコミットフック、可観測性、明確なデプロイガードレールである
始めるのに大きなチームが必要か
いいえ。基本から始めよう — CIパイプライン、自動テスト、リンター。コードベースとチームが成長するにつれてハーネスを成長させることができる
ハーネスと通常のDevOpsツールの違いは何か
DevOpsツールはインフラストラクチャであり、ハーネスエンジニアリングはそのツールがエンジニアを日々どのように導き制約するかの意図的な設計である。単なるツールではなく、開発者体験に関するものである
中級者の質問
実際に最も頻繁に現れるメリットは何か
より速いフィードバックループ、より少ない本番インシデント、より一貫したコード品質、容易なオンボーディング、手動チェックと火消しに費やす時間の削減
チームが遭遇する最も一般的な問題は何か
遅いパイプライン、不安定なテスト、リンターやアラートからの過剰なノイズ、正当な作業をブロックするほど厳しいガードレール。通常の修正は、より多くのチェックを追加するのではなく、速度とシグナルのために調整することである
不安定なテストにどう対処するか
不安定さをバグとして扱う。隔離し、迅速に修正または削除し、時間経過とともに不安定率を追跡する。ハーネス内の不安定なテストは、人々にハーネスを無視することを訓練する
最初に行うべき良い改善は何か
フィードバックを高速化する。CIを10分以内にし、フォーマットとリンティング用のプリコミットフックを追加する。速いフィードバックは、どんなポリシー文書よりも行動を変える
チームからの賛同をどう得るか
節約された時間と回避されたインシデントを示す。エンジニアはハーネスが彼らの一日を楽にするときにハーネスの改善を採用するのであり、ステップを追加するときではない
上級者の質問
人々を遅くさせないガードレールをどう設計するか
安全な道をデフォルトにし、速い道を