ドキュメントの目次06 / 20

作業を理解する06 / 20

意図ごとに変更を読む

このページの内容

Agent が一ターンで数十ファイルを変更すると、ファイルごとに差分をたどっても、「この変更は何のためだったのか」に答えるのは難しくなります。Noea では、ターンの変更を、応えている意図ごとにまとめられます。どの変更があなたのどの一文のためかが分かります。どの意図にも対応しない変更は、ほかに紛れず、最後に別枠で並びます。

変更カードから始める

ターンがファイルの変更を残したときは、返信の最後に変更カードが付きます。変更されたファイルが一つなら、タイトルは「grace.ts を編集しました」のようになり、複数なら「9 個のファイルを変更しました」のようになって、隣に追加行数と削除行数が表示されます。Agent がコマンドラインで変更したファイルも含まれます。

説明がそのターンを処理すると、カードの二行目は「2 件の意図 · 1 件未対応」のようになります。変更が応えている意図の数と、どの意図にも応えていない変更の数です。それまでは、二行目に「説明を実行してまとめる」が表示されます。

カードのどこをクリックしても、メインエリアの右端にある補助バーにコードパネルが開き、そのターンのすべての変更が表示されます。チャット自体には、ターンの差分は繰り返し表示されません。

コードパネル

パネルの上部には、チャットのタイトルとターン番号が「猶予期間のメール · ターン 2」のように表示され、同じチャットで変更のあるほかのターンに切り替えられます。右上のボタンで、ファイル一覧の表示と非表示を切り替えます。一覧はフラットでも、フォルダ別でもかまいません。各ファイルには追加行数と削除行数が表示され、クリックするとそこへ移動します。どのファイルのヘッダーにも「既定のアプリで開く」があります。

差分の行番号は一列です。追加された行と変更のない行には新しい番号が、削除された行には古い番号が薄く表示されます。変更の間にある変更のない行は一行にまとめて折りたたまれ、開くと、ファイル全体まで広げられます。ターンのあとでファイルがさらに変わっていた場合、パネルにはこのターンの変更だけが表示され、「現在のファイルを表示」が出ます。

補助バーの左端をドラッグすると、パネルの幅を広げられます。閉じても補助バーがたたまれるだけで、左側のドキュメントとチャットはそのままです。

意図ごとにまとめる

パネルには「ファイル別」と「意図別」の二つの表示があります。意図別では次のようになります。

  • グループは、意図の一つの部分に対応します。ヘッダーはその段落の文章で、その上に、段落があるドキュメントとセクションが小さく表示されます。グループは、意図ドキュメント内の段落の順に並びます。
  • グループ内では、変更は要点ごと、そしてファイルごとに並びます。要点は名前の付いた小見出しで、その後ろに、実装の説明の最初の一文が小さく続きます。
  • 各変更は一度しか現れません。複数の要点に応える変更は、主な要点の下に置かれ、ほかの要点はチップとして付きます。
  • 最後のグループは常に「その他の変更」で、どの意図にも対応しない変更が入ります。
「トライアルを21日に延長」のターンは、12個のファイルを変更しました。意図別にまとめると、各変更が応えている文の下に並びます。定数 TRIAL_DAYS を14から21にする変更は、トライアルドキュメントの「トライアルの長さ」の下にあります。

パネルがどちらの表示で開くかは、そのターンについて説明がどこまで進んでいるかで決まります。

説明の状態開き方
まだそのターンを処理していないファイル別
実行中で、このターンに結びついた説明がすでにある最初の説明が公開された時点で意図別に切り替わる。調査中の段落は、グループの中に場所を確保する
正常に終了した意図別
調査する段落が見つからなかったファイル別。「このターンは説明済みの意図に触れていません。」と表示される

ファイル別には、いつでも切り替えて戻せます。

各変更が何に応えているか

各変更には、あなたの意図が軽いものから詳しいものへ、三つの層で表示されます。

  • 行の横の印:説明が明示的に引用している行の左に、細い無彩色の印が付きます。ポインターを合わせると、同じ説明が引用しているほかの行が強調され、意図の名前が分かります。
  • 意図チップ:変更が応えている要点が、ヘッダーに最大二つ付き、残りは「+N件の意図」にまとめられます。チップにポインターを合わせると、段落と説明の最初の一文がプレビューされます。クリックすると、隣のペインでドキュメントが開き、その説明が開いた状態になります。
  • 意図ブロック:各変更の下に、折りたたまれた要約の行が付きます。「2 件の意図 · ギャップ 1 件」のようなものです。開くと、その変更が応えている各段落の文章と、最新の説明にある注意点が見られます。

変更が意図に結びつく方法は三つあります。「説明が引用」は、説明がその行を明示的に引用していること。「行で一致」は、変更が説明の引用する行の範囲に入っていること。「影響なしと判定」は、説明がその変更を調べ、その段落に影響しないと判断したことです。ファイルの大半にわたる変更や、以前の内容を Noea が読んだのではなく Agent が報告しただけの変更は、行で一致させられません。パネルにはそのような変更に「行範囲で分類していません」と表示されます。

意図の一部に絞り込む

ファイル一覧の上部にある「意図で絞り込む」を使うと、一つの段落または一つの要点に対する変更だけが表示されます。「対応する意図なし」を選ぶと、どの意図にも対応しない変更だけが見られます。

逆に、意図から変更へ進むこともできます。意図ドキュメントで段落の説明を開くと、ノートの最後の「最近の実装」に、最近それを変更したターンが並びます。一つ開くと、そのターンでコードパネルが開き、この段落に絞り込まれた状態になっています。

読んだあとで

「その他の変更」が問題とは限りません。テスト用の補助関数、フォーマット、依存関係のアップグレードであることも多いからです。ただ、業務ロジックの変更がどの意図にも対応していなければ、なぜ変更されたのか、それが意図に書かれるべきかを確かめる価値があります。

チャットで Agent に質問するか、段落の左にある「これについて質問」をクリックしてください。残したい判断については、決めたことを意図に書き込むをご覧ください。

まとめ方は、説明の結果によって決まります。カードにずっと「説明を実行してまとめる」と表示されるなら、設定 → 自動化 の「実装後に自動的に説明」と「コードのみのターンを説明」を確認するか、直接クリックしてください。コードが変わったときをご覧ください。