SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

UI/UXにおけるハーネスエンジニアリング実践論

ハーネスエンジニアリングの仕組みで実現するUIの品質担保【デザインハーネスの組み立て方】

UI/UXにおけるハーネスエンジニアリング実践論 第1回

 AIエージェントに確実に仕事をさせるため、制約・検証・フィードバックの装置で挙動を包み込む仕組みを「ハーネス」と呼びます。このハーネスエンジニアリングの考え方をデザイン領域に当てはめたものが「デザインハーネス」です。作ってよいものの範囲を定め、判断の前提を渡し、生成物が基準を満たすか確かめ、その結果を次の生成に書き戻す。この骨格は、コード側のハーネスで皆さんが実践してきたことと同じです。しかし現状では、生成速度が向上した一方で、生成された画面を「そのまま公開してよいか」判定する部分だけが人の目視に残っています。その結果、エンジニアごとにリリースした画面のUIが揃わず、ユーザーが困惑する状況が発生しています。本連載は、この判定の空白を埋めるための実践方法を扱います。第1回では、ハーネスの決め方や、範囲を確定する方法を解説します。

AI生成UIをCIで守る ──デザインハーネスの組み立て方

 ハーネス基盤を整えた組織でも、画面に関しては「このままリリースしてよいのか」に誰も答えられないという光景をよく見かけます。エンジニアはデザインの責任を持てず、デザイナーは生成の速度に追いつけません。レビュー依頼は溜まり、リリースは止まらないものの、不安だけが残ってしまいます。

 AIによって素早く画面を作れるようになった一方で、ユーザーからは「使い方が分からない」「表示が見づらい」といった不満の声が増加しています。機能が実装されることと、ユーザーがそれを使いこなせることの間には以前から大きな溝がありました。AIの登場でその溝が埋まるかと思いきや、生成速度が上がった分だけむしろ広がっています。

 これらの根本的な原因は、技術の不足ではなく「デザインの免責構造」が存在しないことです。

 コードには「CIが通れば出してよい」という免責の仕組みがありますが、画面にはそれがありません。免責がない状態では、生成された画面がデザイナーのレビュー待ちになったり、そのままリリースして後からの改修が困難になったりします。結果として、ユーザーに届く画面の質は下がっていきます。

 そこで、エージェントが生成した画面の責任はハーネスを整備する責任者が持つと定義します。エンジニアは生成物のデザインに対する直接の責任を負わずにリリースできるようにすることで、この問題は解決に向かいます。生成を行うエンジニア全員に、UX・デザイン設計の素養を求めるのは現実的ではないからです。

 既存画面のデザインエラーを個別に修復して回るのではなく、まずはこれから新しく作成される画面の使いやすさが、仕組みによって自動的に担保される状態を作りましょう。

 本連載では、皆さんがコードで実践してきたハーネスの定石を、そのままUI領域に当てはめていきます。初回の今回は「機械が守る範囲を確定する」ところまでを解説します。第2回では人間がレビューすべき変更の切り分け方を、第3回ではAIが作成した画面の責任構造について取り上げます。

コードの定石をUIに適用する「デザインハーネス」の全体像

 AIエージェントに確実に仕事をさせるため、制約・検証・フィードバックの装置で挙動を包み込む仕組みをハーネスと呼びます。このハーネスエンジニアリングの考え方をデザイン領域に当てはめたものが「デザインハーネス」です。作ってよいものの範囲を定め、判断の前提を渡し、生成物が基準を満たすかを検証し、その結果を次の生成に書き戻す。コード側のハーネスで皆さんが行ってきたことと、基本的な骨格は同じです。

 コード側の定石が、デザイン領域では何にあたるのかを対応表で見てみましょう。

コード側の定石 デザインでの対応物
失敗のたびに仕組み化する 生成物を人間がデザインレビューし、その指摘をログとして蓄積。同種の指摘が溜まったらルール化する。
指示文ではなく仕組みで担保する ガイドライン文書をlinterなどに昇華させる。トークンのlint、コンポーネントの突合、アクセシビリティチェックなど。
すぐにフィードバックできる仕組みを作る ファイル検索で分かるデザイントークン値の直書き、禁止クラス、用語の表記ゆれはコーディングエージェントのフックへ。コントラストやタップ領域のような描画が必要な検査は、エージェントにローカルでブラウザを起動させて確認させ、CIでは同じ検査を最終ゲートとして強制する。
評価セットで回帰テストする 機械的に判定できないものは実例集で測る。例:判定に迷った画面10件に自分の判定を添えた問題集をLLMに解かせ、人間との一致率を見る。(次回詳述)
既存の違反は直さず、増加だけ止める デザインのエラーも同じ。現状の件数を記録し、これから増える方向だけを止める。既存分の改善は別プロジェクトに切り分ける。
定期的に削る ルールは一覧で持ち、効かなくなったものは整理を頑張らず捨てて作り直す。

デザイン固有の課題「描画」「ゆらぎ」「らしさ」とは

 骨格は共通していますが、デザインならではの違いが3つ存在します。

  1. ファイルを検索するだけでは判明しないことが多く、ブラウザでのレンダリングが必要です。テキストの検査で完結するコードのチェックと異なり、エージェントにローカルでブラウザを起動させて検証させる工程が挟まります。CIは同じ検査を最終ゲートとして受け持ちます。
  2. 正解が1つに決まらないことがあります。例えば一覧データを書き出すボタンの配置場所は、他の画面に合わせて右上に置いても、テーブルのすぐ下に置いても操作として成り立ちます。複数の正解が存在する中で、片方だけをハーネスで弾いてしまうと、ユーザー体験の自由度を奪うことになります。答えが複数存在することや、時間・文脈によって変化することを許容しなければなりません。
  3. 「らしさ」などのブランディングやパーソナリティといった有機的・非言語的な要素は、ハーネスでは扱えません。これらはデザインシステムとして人間が定義し、機械はそのルールの遵守のみを検証します。

 正解が複数存在することや、非言語的な要素が含まれる点により、コード側に比べて決定的なチェックで判定できる範囲は狭くなり、人間の判断に依存する領域が広がります。この残された判断を個人の感覚に委ねたままにせず、チームの誰が担当しても同じ判定ができる形へ移行させる作業こそが、デザインハーネスの構築です。次の手順から順番に説明します。

次のページ
デザインハーネスの構築3ステップ

この記事は参考になりましたか?

この記事の著者

イシジマ ミキ(イシジマ ミキ)

 株式会社シン・ミキイシジマ 代表取締役。デザイン組織コンサルタント。マネーフォワード・SmartHRなど国内でも数少ない10名超のデザイン組織でプログラムマネージャーを務めた経験を基盤に、事業に資するデザイン人材の採用・育成・定着を一気通貫で支援することを専門とする。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

DeveloperZine編集部(デベロッパージン編集部)

DeveloperZineは、株式会社翔泳社が運営する、技術と組織の意思決定を支える情報メディアです。技術選定やチームづくりに向き合い、自分の判断を確かなものとしたいエンジニアやエンジニアリングリーダーに向けて、翔泳社主催エンジニアイベント「Developers Summit」とも連動しながら実践知...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/29615 2026/10/06 08:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー