0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

監査結果をHTMLでも読めるようにしました。ai-audit-prompts v1.1.0

0
Posted at

監査結果をHTMLで見渡す ai-audit-prompts v1.1.0

AIコード監査の結果を、HTMLレポートでも読めるようにしました。監査プロンプト集「ai-audit-prompts」のv1.1.0を公開し、Markdownの報告に、全体像と対応の選択肢を見渡せる画面を添えています。

公開OSSはこちら、概要は紹介ページにまとめています。2026年10月9日公開の変更は、v1.1.0のReleaseから確認できます。

前作の「155項目をAIエージェントに並列で直させる前に決めること」では、v1.0.0にまとめるまでの設計判断を書きました。今回は、その監査を終えたあとに読む結果報告の紹介です。

監査結果をまとめ、HTMLで見渡し、対応の判断を下書きする

事実の記録から対応の検討までをつなぐ構成です。採点は依頼時のみで、画面上の選択は未承認の下書きとして扱います。

まず、対象を選んで指定します

これはAIに渡す貼り付け用のプロンプト集です。アプリやソースコードにはaudit_app.md、管理下のLinux/Unixサーバーにはaudit_server.md、資料と実装の突合にはaudit_doc_vs_impl.mdを使います。

AI製品やモデルの名前ではなく、調べる対象で選びます。次はアプリ監査の指定例です。取得したリポジトリの場所を置き換え、プロンプト全文を読める環境で渡します。

<repo>/docs/audit_app.md のprompt全文を使って監査して。
DB区分: 自動
強度: ミッド
スコープ: 調査まで
検証モード: 安全なローカル検証
観点: 全部
対象: src/
除外: src/generated/
確認: あり
HTML出力: あり
点数評価: なし

HTML出力は省略しても「あり」です。Markdownだけ欲しい場合は「なし」にします。点数評価の省略時は「要求時」で、明示的な採点依頼がある場合だけ採点します。「あり」も採点依頼に当たり、「なし」は採点依頼より優先します。

この二つは独立しています。HTMLを出すだけでは採点せず、採点を依頼しない通常の生成では点数パネル自体を出しません。指定と優先関係はv1.1.0の共通契約に記載しています。

AIが雛形を読み、HTMLを書き出します

関係するファイルを抜き出すと、次の構成です。

docs/
  audit_app.md
  audit_server.md
  audit_doc_vs_impl.md
  README_html-report.md
templates/
  audit-report.html
examples/
  audit-report.example.html

監査AIがプロンプトとHTML雛形を参照し、結果を反映したHTMLを直接作成します。利用者がPythonや生成CLIを用意して変換する手順はありません。版固定のREADMEに、対象別の使い方と成果物の保存規則をまとめています。

MarkdownとHTMLは同じ保存先、同じbasenameの組になります。HTMLは最終報告や途中終了時の集計を表示するので、部分完了や未確認もそのまま残します。生成や保存ができない場合には理由を残し、許可されていない場所へ勝手に保存先を変えません。

正本はMarkdownに置いています

監査の事実、証拠、評価の正本はMarkdownです。HTMLには同じrun、revision、集計日時の結果を載せます。HTMLだけで別の判断を加えたり、点数を作り直したりする設計にはしていません。

報告を更新したらHTMLも同じ状態に合わせます。更新できない場合は、古い集計日時と未同期であることをHTMLに示す契約です。見た目が整った画面でも、いつの結果なのかを確かめられるようにしています。

また、「問題として確定した」「修正した」「修正を検証した」は別々の状態です。アプリ監査の実行承認、サーバー診断のread-only、資料突合の非変更という境界も維持しています。報告の表示形式が増えても、変更できる範囲は広がりません。

対応はカードで考え、下書きに残します

紙の記録と整理されたカードを見比べ、対応を考える抽象的な挿絵

記録を読み返しながら、対応の選択肢を比べる場面を表した挿絵です。実際の製品画面ではありません。

対応判断カードには、平易な説明、影響、図、選択肢のメリットとデメリット、推奨理由を置きました。期日や作業目安、暫定対策、メモも同じ場所で確認できます。判断待ちのものは確定した指摘と区別し、必要な検証を示します。

初期状態は未回答です。推奨案をまとめて選ぶ操作でも、埋めるのは未回答だけで、個別に選んだ回答とメモは保持します。選択内容はブラウザ内の下書きとして復元・消去でき、コピー、Markdown保存、印刷にも対応します。

書き出した回答は「下書き・未承認」です。選択や保存だけで修正、承認、送信が実行されることはありません。HTMLファイルを他の人へ渡しても、そのブラウザに残した回答は一緒に渡らない点にも注意が必要です。下書きの仕様では、保存できない環境も区別しています。

見本では、残っているものも読めます

合成サンプルの内容を整理した関係図。実案件の監査結果ではありません

合成サンプルの内容を整理した関係図です。実案件の監査結果ではありません。

見本は5候補で、確定2、却下1、判断待ち1、重複1です。確定した2件は品質の中1件・低1件で、セキュリティfindingは0件です。候補検証率60%は「確定2+却下1」を全5候補で割った値で、安全性の点数ではありません。

見本の36/50は、採点依頼があった場合を示す参考・暫定の操作品質評価です。内訳は20/25+16/25で、互換性は未評価として分母から除いています。未調査を満点や0点へ置き換えず、何を評価した数字かを添えています。合成見本のソースで確認できます。

画面の例は機能説明のためのものです。実案件での監査精度向上や時間短縮を測定した結果ではなく、AIの誤検出や検出漏れをなくすものでもありません。

まずは一つのHTMLを開いてみてください

v1.1.0のReleaseでSource code (zip)を取得し、展開した中のexamples/audit-report.example.htmlをローカルのブラウザで開くと、合成見本を読めます。GitHubのblobページで表示されるのはソースです。

CSS、JavaScript、SVGを内包した1ファイルなので、読むための外部フォントやCDN、通信は不要です。JavaScriptを無効にしても静的な本文、図、選択肢は読めます。下書きの永続保存はブラウザによって使えない場合があるため、残したい回答は保存機能などで手元にも保管してください。

監査結果や選択の書き出しには、秘密や案件固有情報が含まれ得ます。公開のプロンプト集を使う場合も、実際の報告は非公開扱いを守ってください。

こんな場面を想定しています

  • AIコード監査の全体像と未確認範囲を先に読む
  • 指摘の根拠と対応の選択肢を行き来する
  • 対応方針の下書きを作って、人の確認につなぐ

配布と使い方は公開OSSのREADMEへ。用途の概要は紹介ページにもあります。気づいた点はIssueへ、使えそうならStarをいただけるとうれしいです。

関連する設計は、findingを対応作業単位にまとめた記事にも書いています。

おわりに

v1.1.0では、監査結果をHTMLでも見られるようにしました。Markdownの根拠を保ちながら、分かったこと、未確認のこと、次に選ぶことを順に読める報告として使ってもらえればと思います。


※ ヘッダー画像とインフォグラフィックの絵は AI(画像生成)で作成しています。

※ 本文の挿絵も AI(画像生成)で作成しています。

書いた人: ishizakahiroshi
群馬の北部で、保護猫2匹と暮らす、在宅エンジニア(何でも屋)
https://ishizakahiroshi.com/
https://github.com/ishizakahiroshi
X(業務委託・各種相談はこちら):
https://x.com/ishizakahiroshi

バックエンド・インフラ・AI連携まわりで、業務委託のご相談を受け付けています。フルリモートです。スポットや週2〜3時間からでも歓迎で、いろんな案件に携われたらうれしいです。こんな相談、歓迎です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?