CCAR-F 学習ノート(非公式)合格体験記へ

← 第5章のノートへ

音声原稿 05-c:探索と確認と出典

🎧 探索と確認と出典

このパートでは、広いコードの探索で具体が落ちる前に発見を外へ出すこと、平均の精度で人の確認をやめないこと、出典の食い違いを一つの数字に潰さないことを扱います。ノートの、劣化、スクラッチパッド、校正、矛盾を表に残す、と同じ中身です。

長い探索のあと、モデルは見つけたクラス名ではなく、典型的なサービス層、で話し始めます。これが劣化です。会話の中央に埋もれた発見が、新しいターンの注意から落ちています。

対策は、症状ごとに違います。具体的な問い、つまりテストファイルの一覧や、返金処理の依存が、メインの会話を埋めているなら、その問いをサブエージェントへ出します。メインは、高レベルの地図だけを持ちます。サブエージェントの生ログはメインに戻しません。ファイル名と結論の一覧を戻します。生ログを戻すと、メインはまた埋まります。

主要な発見は、スクラッチパッドのファイルへ書きます。場所は、作業用ディレクトリの探索メモです。書く行は、ファイルのパス、シンボル名、そのシンボルが呼ぶ先、未解決の問い、です。散文の、認証はだいたいミドルウェア、は書きません。劣化が起きたあと、その散文を読んでも具体へ戻れないからです。後の質問は、スクラッチパッドを読んでから答えよ、と始めます。読まずに答えると、会話の中のぼやけた記憶が勝ちます。

次のフェーズの子を起動する前に、前フェーズの発見を短い構造にして、子の最初のプロンプトへ入れます。生ログを丸ごと渡すと、子の予算が前フェーズのログで終わります。

探索の出力で会話が埋まったら、コンパクトで短くします。圧縮は要約なので、金額やファイル名を落とします。圧縮の前に、残す行がスクラッチパッドにある状態にします。圧縮してから、重要なものは残ったはず、は、検証できません。ファイルを書き忘れたコンパクトは、発見の削除です。コンパクトの結果にパスが残っていても、中身はファイル側にしかありません。コンパクトを、外部化する前に行うと、残すべき発見が先に落ちます。

プロセスが落ちたとき、メモリの中の進捗は消えます。各エージェントが、既知のパスへ状態を書きます。書くのは、エージェントの名前、状態ファイルのパス、最後に成功したフェーズ、です。親が再開時に、このマニフェストを読んで、成功したフェーズの次から子を起動し、状態ファイルの中身を子のプロンプトへ注入します。フェーズを書かないマニフェストは、どこから再開するかが人の記憶に残ります。マニフェストに無い進捗は、最初からやり直す前提で設計します。

四つの対策は、代わり合いません。問いの隔離、発見の外部化、次の子への構造、そのあと圧縮、落ちたあとの索引、です。順を飛ばすと、飛ばした段の発見が残りません。

人の確認は、平均の精度では減らせません。十万件の抽出が全体で九十七パーセントに見えても、手書きの領収書の税額欄だけが六割かもしれません。平均は、件数の多い簡単な種類に引っ張られます。人の確認を減らす前に、文書の種類ごと、欄ごとに精度を見ます。すべての区分で安定していることを確認してから、その区分を自動化の候補にします。

確信度が高い抽出も、層を分けた無作為の抜き取りで、誤り率を測ります。高いものを監査から外すと、系統的な偏り、つまり特定の帳票で合計を税額へ入れる、が人の目を通らずに流れます。新しい誤りの形は、この抜き取りで見つかります。新しい帳票の版が加わった週は、その種の抜き取りを増やします。平均だけを見ていると、新しい版の失敗が、古い版の成功に隠れます。

モデルには、欄ごとの確信度を出させます。その数値の閾値は、ラベルの付いた検証集合で決めます。百件のラベル付き請求書で、申告がゼロ点九以上の税額のうち、実際に合っている割合がゼロ点九五を超える区分だけ、人の確認を外す候補にします。手書きの区分だけ実際がゼロ点六なら、その区分は申告が高くても人が見ます。ゼロ点九は、校正の前には、自動採用の線ではありません。人が見る優先は、校正後に低い欄と、ソースが曖昧または矛盾している抽出です。担当の時間は有限なので、安定した欄から自動化し、矛盾は残します。全体の九十七パーセントは、この表を作る前には使いません。

出典です。発見を文章に圧縮するとき、主張と情報源の対応を落とすと、統合の段で、どの文書がそう言ったか、が消えます。子には、URLまたは文書名、抜粋、公開日または収集日を構造で出させ、下流はその組を保持します。親が、だいたいこう書いてあった、と書き直した時点で、組は壊れます。

信頼できる二つの情報源で、同じ指標の数が違うとき、新しいほうを静かに採用するのは、読み手から検証を奪います。両方を出典つきで残し、統合の前に、親がどう扱うかを決めます。報告は、十分に裏付けられた主張と、異論のある主張を、節で分けます。元の文書が速報と呼んでいるものを、確定値と書き換えてはいけません。特徴づけと、方法、つまり調査の母数や期間を残します。

同じ年の就業率が、出典Aで六十二、出典Bで六十四なら、表の行は、指標、値、出典、公開日、母数の定義、です。文章側は、二点の差があり、定義は出典を見よ、と書きます。平均の六十三を一つのセルにすると、どちらの定義でもない数が残ります。年が片方だけ違うなら、矛盾ではなく、時点の差として別の行にします。日付が無い出典は、その行に時点不明と書き、年付きの行と足し算しません。日付が無い利用率は、別年の数字でも同じ主張に見えます。日付が片方にしか無いときは、時点不明として注記し、同じ年の数字と並べません。

統合の表現は、中身に合わせます。財務の比較は表、ニュースの経緯は文章、技術的な発見は一覧です。すべてを一つの段落へ潰すと、表が得意な差が読めなくなります。一律のテンプレは、欠落を隠すほうに働きます。

このパートの判断は、こうです。劣化の前に、スクラッチパッド、委任、フェーズの要約、そのあとコンパクトです。落ちたらマニフェストから戻します。自動化の前に、文書種と欄の精度を見ます。高い確信度も層化して測り、閾値はラベルで校正します。出典は構造のまま統合まで持っていき、矛盾は両方残し、日付を持たせます。表現は、表、文章、一覧を、中身に合わせます。

劣化のあとに、どの対策がどの症状に効くかを固定します。メインの会話がテスト一覧と依存のログで埋まっているなら、その問いをサブエージェントへ出し、ファイル名と結論だけを戻します。生ログを戻すと、また埋まります。発見が会話の中にしか無く、典型的なサービス層、と話し始めたなら、スクラッチパッドに行で書きます。パス、シンボル、呼ぶ先、未解決の問い。散文は、読んでも具体へ戻れません。次の質問は、そのファイルを読んでから答えよ、と始めます。次のフェーズの子には、前フェーズの生ログではなく、短い構造を初期のプロンプトへ入れます。コンパクトは、そのファイルが最新になってからです。書き忘れると、圧縮は発見の削除です。プロセスが落ちたとき読むのはマニフェストです。名前、状態ファイル、最後に成功したフェーズ。フェーズが無いと、再開位置が人の記憶に残ります。マニフェストに無い進捗は、最初からやり直す前提で設計します。圧縮を、外部化する前に行うと、残すべき行が先に落ちます。四つは代わり合いません。

校正の表を、一枚作ってから自動化を決めます。百件のラベルで、申告がゼロ点九以上の税額のうち、実際に合っている割合がゼロ点九五を超える区分だけ、人の確認を外す候補にします。手書きだけ実際がゼロ点六なら、申告が高くても人が見ます。全体の九十七パーセントは、この表の前には使いません。確信度が高いものも、文書種と欄ごとに無作為で誤り率を見ます。高いものを監査から外すと、合計を税額へ入れる偏りが、人の目を通りません。新しい版の週は、その種の抜き取りを増やします。人が見る優先は、校正後に低い欄と、ソースが矛盾している抽出です。安定した欄から外し、矛盾は残します。

二つの就業率を、一つのセルに潰しません。六十二と六十四は、指標、値、出典、公開日、母数の定義、の行で両方残します。平均の六十三は、どちらの定義でもない数です。年が違うだけなら、矛盾ではなく時点の差として別の行です。日付が無い出典は時点不明と書き、年付きの行と足し算しません。速報を確定値と書き換えません。表現は、財務なら表、経緯なら文章、技術的な発見なら一覧、です。一律の段落は、表が得意な差と、欠けた出典を隠します。