SideKickのKnowledge Baseは日本語で書いている。ここに英語版を用意しようとすると、ひとつ困ったことがある。私自身、英語の記事を読んで「これは公開してよい品質か」を正確に判断する自信がない。
何が問題だったのか
AIに英語記事を生成させること自体は難しくない。難しいのは、その後だ。生成された英語の文章が、日本語の原文と意味的に一致しているか、情報が抜けていないか、不自然な表現になっていないか。それを英語を母語としない自分が読んで判断するのは、精度に不安が残る。
かといって、AIの判定を無条件に信用して自動公開するのは、SideKickの「最終判断は人間が行う」という方針に反する。
今回変えたこと
そこで、AIに「合格・不合格」を直接判断させるのではなく、AIには日本語で「何を確認したか」「何が気になったか」というレポートだけを書かせる設計にした。合否そのものは、そのレポートの内容をプログラム側が機械的に読み取って確定させる。
さらに、AIが指摘を修正しようとして文章を書き換えすぎてしまうケースも想定し、修正前後の文章の類似度を計算し、変わりすぎていたら自動修正を止めて人間の判断に戻す仕組みも組み込んだ。
なぜこの方法にしたのか
AIの答えをそのまま信じるのではなく、「AIが確認した内容」を人間が読める形で残し、最終的な合否の計算は再現性のあるコードに任せる。こうすることで、英語を読めない自分でも、日本語のレポートを読めば公開してよいかどうかを判断できる。
これはSideKickが一貫して大事にしている「AIは共同作業者であって、最終判断は人間が行う」という考え方の、ひとつの実装のかたちでもある。
まだ残っていること
この仕組みは、まだ本番のKnowledge Base記事には使っていない。次は実際の記事1本で、実際に動かして確認するところからになる。まだ試作段階であることは、そのまま書いておきたい。