【ITニュース解説】FinePrint: an agent that checks your hackathon entry against the rules it reads
2026年09月25日に「Dev.to」が公開したITニュース「FinePrint: an agent that checks your hackathon entry against the rules it reads」について初心者にもわかりやすく解説しています。
ITニュース概要
FinePrintは、ハッカソン応募の複雑なルールを自動で読み込み、あなたのプロジェクトが要件を満たしているかチェックするエージェントだ。複数のルール間の矛盾も検出し、質問に答えることで、不明瞭な点を指摘する。これにより、応募者はルール違反による失格リスクを減らし、安心して開発に集中できる。
ITニュース解説
ハッカソン参加者は、チャレンジページ、FAQ、公式規約など、複数の情報源に記載されたルールを確認する必要がある。これらのルールは一貫しないことが多く、見落としがプロジェクトの失格につながる。FinePrintは、この問題に対処するエージェント(自動化されたプログラム)であり、ユーザーが自分のプロジェクトがハッカソンの応募条件を満たすかを確認できるよう設計された。
FinePrintは、ユーザーからの質問に対し、「私のアプリは8月に開発を開始し、今週Sanityを追加しました。パスワンに応募できますか?」といった問いかけを分析し、ハッカソンルールと照合する。エージェントはSanity Knowledge Baseから公式ルールを読み込み、質問から抽出された事実とルールを比較。「Supported(条件を満たす)」「Blocked(条件を満たさない)」「Missing fact(情報不足)」「Rules unclear(ルール不明確)」「Not applicable(該当しない)」といった結果を提示する。回答根拠となるルール引用や内部処理履歴も詳細表示し、透明性ある判断を提供。
従来のキーワード検索では、「8月に開始」が「開発開始時期」ルールに抵触するか、あるいは「コンポーネントの再利用」が許可されているかといった複雑な論理判断は難しい。また、公式ページ間で提出可能なエントリー数に関する矛盾も識別できない。FinePrintは、各要件を「条件」「関連イベント」「参照元バージョン」といった構造化レコードとして管理し、これらの課題を解決、複雑な論理判断を可能とする。例えば、提出エントリー数のルールが異なる場合、FinePrintは両方の記述を可視化し、「Rules unclear」として問題点を明確にする。
FinePrintは、SanityチャレンジやGIBC V2など、複数のハッカソンイベントのルールチェックに対応する。異なるイベント間での「チーム規模」や「開発開始日」といった共通情報を比較する機能も持つ。キュレーションされたイベントだけでなく、公開されているあらゆるハッカソンのルールページを読み込む機能も備える。ユーザーがルールのURLを貼り付けると、モデルはそのページから要件を抽出し、FinePrintが定義した事実(チーム規模、年齢、開発期間など)にマッピングを試みる。マッピングできない要件や、数値情報を含まない引用は「Check yourself」ルールとしてユーザー自身での確認を促す。このインポートされたルールは、ユーザーのブラウザ内にのみ保持される。ルール変更のリハーサル機能では、仮説的なルールの変更がプロジェクトにどのような影響を与えるかをシミュレーションできる。
FinePrintの技術的基盤には、Sanity Content Lakeがナレッジベースとして活用される。ここには、複数のハッカソンイベントのルール、要件、ソースバージョンが構造化データとして保存される。GROQクエリでデータを読み込み、Zodで構造が検証されてからチェッカーが利用する。質問応答エージェントは、Knowledge Baseの概要取得、関連ルール読み込み、ユーザーのプロジェクトに関する事実とルールに基づく要件チェックというシーケンスで動作する。この際、DeepSeek V4.1 FlashのようなモデルとTyped Checkerが連携し、モデルの解釈とチェッカーの判断が異なる場合も、両方の結果と不一致点を可視化することで、複雑な条件判定の透明性を高める。
ライブ運用では、モデルがタイムゾーンを質問したり、あいまいな記述を誤って解釈したりする初期の問題が見られた。「AIツールは許可されている」が「AI使用は開示されている」とマッピングされたり、タイムゾーンの指定がない日付が誤って解析されたりした。これに対し、日付の引用にはタイムゾーンが必須、要件にマッピングされる引用には関連するキーワードが含まれていること、といった厳格なガードが追加された。これにより、「Check yourself」となるルールが増えたものの、誤った解釈による不正確な情報を防ぐ効果がある。これらの機能は、Next.js、TypeScript、Zod、Sanity Content Lake、Context MCPといった技術スタックで構築され、Vercelでホストされている。
開発プロセスでは、エージェント(CodexやClaude)との対話を通じて、「不確実な資格要件」という具体的な問題に焦点を絞っていった。エージェントが生成したコードや提案を人間の開発者がレビューし、改良を進めた。特に、「人が何を述べたか」を正確に判断することは難しい課題だった。「8月に開発開始」がアプリケーション全体の存在証明にはならないなど、あいまいな表現を安易に受け入れず、不明な事実を明示し、ユーザーが引用された事実を最終確認できるようにすることで、FinePrintは正確性と透明性を追求する。