初めまして、開発部2025年度新卒の清水です。
シンクロ・フードの新卒エンジニア研修ではWeb開発技術の基礎からシステムの設計・開発までがカリキュラムとして組み込まれています。今回はシステムの設計・開発を学ぶ「システム設計研修」で私が開発を担当したテーマ「プロンプトシェア」を題材にして、主に苦労した点とそこから得られた知見を紹介します。
弊社の新卒研修については、以下の記事で詳細に紹介されています。
「プロンプトシェア」開発の背景
弊社の新卒研修における「システム設計研修」は、発注者(現場のメンバー)からの要求に応え、仕様をすり合わせながらシステムを開発するという実務に近い形式で進められます。私が開発を担当したテーマは「プロンプトシェア」でした。
このテーマが生まれた背景として、弊社ではAIの利用を推進しており全従業員が Google「Gemini」の有料版を利用可能となっていますが、各自のプロンプトがSlackやスプレッドシート等に散らばっていて、せっかくの知見が埋もれてしまっているという課題がありました。
この課題を解決し組織全体でのAI活用を加速させるため、設計から開発までを約1ヶ月で行う「システム設計研修」の題材の一つとして、プロンプトを社内で横断的に探せる「プロンプトシェア」システムを開発することにしました。
プロンプトシェアの主な仕様
「プロンプトシェア」は、以下の機能を備えた社内向けプロンプト共有システムです。
1. プロンプトの管理・閲覧
プロンプト
各プロンプトはタイトル、プロンプトの説明、プロンプトの本文、タグの情報を持っており、ユーザーは作成・閲覧・編集・削除をすることができます。
プロンプト一覧
登録されているすべてのプロンプトを一覧表示します。
お気に入り数・作成日・更新日でソートできます。

プロンプト詳細
各プロンプトのタイトル・説明・プロンプト本文を閲覧できます。プロンプト本文はワンクリックでクリップボードにコピー可能です。
タグ名のボタンを押下すると、同じタグが含まれたプロンプトの一覧画面に遷移します。

プロンプト登録・編集・削除
新規プロンプトの登録や、既存プロンプトの編集や削除が可能です。
2. 検索機能
作成者、タグでの絞り込みと、フリーワードでの検索が可能です。
3. お気に入り機能
ユーザーは気に入ったプロンプトをお気に入りに登録・解除でき、自分だけのお気に入りプロンプト一覧を閲覧することができます。
また、直近30日間のお気に入り獲得数ランキングも表示でき、よく使われているプロンプトを素早く確認することができます。
開発で苦労した点と得られた知見
実際にシステムを一から開発しようとすると、想定外の壁にぶつかることが多々ありました。
私が苦労した点について、問題とその解決策、得られた知見を2点紹介していきます。
工数見積の甘さ
システム設計研修では開発期間とリリース日があらかじめ定められており、期日に間に合うことが求められます。私も、リリースに余裕を持って間に合うように機能の実装工数を見積もり、スケジュールを設定していました。
開発中盤までは、機能単位では見積もりより時間がかかった箇所もあるものの全体としてはバッファで消化でき、概ねスケジュール通りに進めることができました。しかし、終盤のデザインや機能の修正事項が多く、リリース当日もデザインの修正作業を行うこととなり、予定のリリース時刻に少々遅れてしまいました。
全体実装後の発注者との受け入れテスト・テスト後修正・再テストのやり取りを1往復と見積もっていましたが、実際は4往復行うこととなり、想定よりも修正箇所や回数が多くなったため、実装後の確認期間や修正期間をより長く見積もった方が良かったと感じました。
得られた知見
予想工数との乖離があった箇所については見直していきたいと思います。
また、開発にかかる時間以外にも、コミュニケーションにかかる時間や、開発後に修正が複数回入る可能性があることも考慮してスケジュールを立てることの重要性を学びました。チーム配属後も工数を見積もって開発を行う機会はあるので、繰り返しながら見積もりの精度を上げていきたいと思います。
gitの操作ミス
リモートにpush済のコミットのコミットメッセージがしっくり来なかったので、変更しようと思い方法をwebで調べました。調べたところ、 git commit --amend コマンドを使用してコミットメッセージを変更した後、 force push する方法を見つけたためこれを実行しました。
しかし、なぜかうまくいかずにエラーが発生し、場当たり的に色々なコマンドを試し続けるうちに、作業内容が消えブランチを切った時の状態に戻ってしまいました。この結果、手戻りが発生してしまいました。
得られた知見
この失敗から、コミットの書き換えに関して以下の点を学びました。
1. 強制プッシュは履歴を書き換えるものということ
git commit --amend や git rebase は、新しいコミットを作って古いコミットを「なかったこと」にするコマンドです。このような履歴を書き換える操作をリモート共有ブランチで行う際には最新の注意が必要です。そのブランチで作業している人が他にいないか、既にレビューが完了していないかを確認した上、どうしても必要な場合にのみ使用するようにします。
2. 履歴を破壊しない別の方法もあること
「コミットメッセージのtypoを直したい」などの場合は以下のような方法があることも学びました。
- 新しいコミットを追加して修正する(
git revert) 履歴を書き換えずに、過去のコミットを取り消すコミットを追加します。コミット履歴には操作の記録が残りますが、安全に元に戻せます。 - 新しいブランチを切って修正をプッシュする 元ブランチはそのままにして、新しいブランチに修正内容をプッシュし、プルリクエストを出し直します。
また、ブランチの変更を消してしまったとき、当時は同じ作業を繰り返して復旧しましたが、 git reflog コマンドで履歴を確認し git resetの引数に指定することで、その作業を行っていた時の状態に戻す手段があることも後から学びました。
これからは、Gitのコマンドを実行する前に、そのコマンドがGitの木構造にどのような影響を与えるかをイメージすることを常に意識して作業に取り組んでいきます。この経験を通して、ただコマンドを覚えるだけでなく、その背景にある概念を理解することの重要性を感じました。
おわりに
このシステム設計研修は、3ヶ月間の研修で得た知識を形にするよい機会となりました。
「プロンプトシェア」システムは2025年7月より運用を開始し、2026年3月現在約450件のプロンプトが保存されています。AIに指示する際にプロンプトを組む手間を削減し、業務効率化に役立っています。
この経験を活かし、今後はより複雑な課題にも挑戦しチーム開発に貢献できるよう頑張ります。
最後までお読みいただき、ありがとうございました。