以前、ClaudeやChatGPTを使って作ったシステムを、そのまま会社で使ってよいのか不安に感じる方が増えている、という記事を書きました。
今回は、実際にご相談いただいたケースを紹介します。
相談者の方は、Claude Codeを使いながら、Pythonでクライアント・サーバー型の業務システムを作っていました。
顧客情報や、社員の活動履歴などを入力し、社内のデータを一元管理するためのシステムです。
実際に画面を見せてもらうと、率直に言って、かなりよくできていました。
必要な情報を登録できる。
一覧で確認できる。
検索や編集もできる。
実際の業務に合わせて、自分たちが使いやすい形に整理されている。
私は最初、こう伝えました。
正直、今の状態でもかなり良いと思います。
実際に使えているのであれば、このまま育てていく形でもよいのではないでしょうか。
ところが、相手が気にしていたのは、今ちゃんと動くかどうかだけではありませんでした。
作った本人がいなくなったあと、誰が直すのか
相談者の方が最初に挙げたのは、保守の問題でした。
今は、自分でClaude Codeに指示を出しながら、必要な機能を追加できます。
エラーが起きても、ある程度は自分で調べて修正できます。
しかし、自分が退職したり、担当から外れたりした場合、そのシステムを誰が管理するのか。
コードの構成やデータベースの設計を、別の人が理解できる状態になっているのか。
不具合が起きたときに、どこを確認すればよいのか。
バックアップや復旧の方法は、他の人にも分かるのか。
システムが便利になり、社内で使われるほど、「作った本人しか分からない」という状態は大きなリスクになります。
今は問題なく動いていても、その人がいなくなった瞬間に、誰も触れないシステムになってしまう可能性があります。
顧客情報や社員の履歴を入れて、本当に大丈夫なのか
もう一つの不安は、セキュリティでした。
今回のシステムには、顧客情報だけでなく、社員の活動履歴も入力されます。
つまり、会社にとって重要な情報が集まるシステムです。
画面上では問題なく動いていても、裏側では次のような確認が必要になります。
- ログインしていない人がアクセスできないか
- 一般社員と管理者の権限が適切に分かれているか
- URLを直接入力することで、見てはいけない情報を見られないか
- パスワードが安全な方法で保存されているか
- データベースが外部に公開されていないか
- 社外から不正にアクセスされる可能性がないか
- 誰が、いつ、どのデータを変更したか確認できるか
- データが消えた場合に復旧できるか
これらは、画面を普通に操作しているだけでは分かりません。
一見すると問題なく動いていても、アクセス方法を変えたり、想定外の入力をしたりすると、情報が見えてしまうこともあります。
相談者の方も、
自分で作ったので、通常の操作ができることは確認しています。
ただ、セキュリティとして正しい作りなのかは分かりません。
と話していました。
これは、とても正しい不安だと思います。
「設計思想がこれでよいのか分からない」
さらに印象的だったのが、次の言葉でした。
そもそも、システムの考え方自体がこれでよいのか分かりません。
機能としては動いている。
けれど、
- データの持ち方はこれでよいのか
- 顧客情報と社員の履歴を同じ構成で管理してよいのか
- 今後、利用者が増えても耐えられるのか
- 機能追加を続けても複雑になりすぎないか
- このまま開発を進めてよいのか
という、システム全体の方向性に自信が持てない。
これは、コードの書き方だけを確認すれば解決する問題ではありません。
業務の流れ、利用者、扱うデータ、今後の運用まで含めて、システム全体を見る必要があります。
依頼されたのは、作り直しではなく「判断」だった
今回の相談で求められていたのは、システムを一から作り直すことではありませんでした。
また、機能をたくさん追加することでもありません。
依頼内容は、もっとシンプルでした。
今のシステムを、本職のエンジニアに見てもらいたい。
このまま進めてよいのか、直すべき部分があるのかを判断してほしい。
つまり、求められていたのは開発作業そのものではなく、技術的な判断でした。
- 現在の構成で問題ない部分
- 早めに直した方がよい部分
- 本番利用前に対応すべき部分
- 将来的に見直した方がよい部分
- 今は手を付けなくてもよい部分
これらを整理し、優先順位を付けることです。
問題があるかもしれないからといって、すべてを作り直す必要はありません。
反対に、「今動いているから大丈夫」と判断してよいとも限りません。
大切なのは、今の状態を正しく把握することです。
実際に確認すること
このような相談では、主に次のような点を確認します。
1. システム全体の構成
アプリケーション、データベース、サーバーがどのようにつながっているかを確認します。
特定の人にしか分からない複雑な構成になっていないか、障害が起きたときに切り分けできるかを見ます。
2. 認証と権限
誰がログインでき、ログイン後にどのデータを見たり編集したりできるのかを確認します。
画面上でボタンを非表示にしているだけではなく、サーバー側でも権限が制御されているかが重要です。
3. データベース設計
顧客情報や社員の活動履歴が、今後も管理しやすい形で保存されているかを確認します。
現在は問題なくても、データが増えたときに検索が遅くなったり、同じ情報が重複したりする設計になっていることがあります。
4. セキュリティ
パスワード、APIキー、通信、入力値、外部公開設定などを確認します。
特に、顧客情報や社員情報を扱う場合は、通常の社内ツール以上に注意が必要です。
5. バックアップと復旧
バックアップを取っているだけでなく、本当に復旧できるかを確認します。
同じサーバーの中だけにバックアップを保存している場合、サーバー自体が壊れると一緒に失われる可能性があります。
6. 保守できる状態か
ソースコードがGitなどで管理されているか、環境構築手順が残されているか、別の人でも起動できるかを確認します。
作った本人しか分からない状態を、少しずつ減らしていきます。
AIで作ったからこそ、悪いわけではない
今回のシステムを見て、改めて感じたのは、AIを使った開発には大きな可能性があるということです。
現場の業務を知っている人が、自分で必要なシステムを作っている。
そのため、一般的なパッケージシステムよりも、実際の仕事に合っている部分が多くありました。
外部の開発会社に一から説明して作ってもらうより、はるかに速く、必要なものが形になっています。
これは、AI開発の大きな強みです。
一方で、AIは依頼された機能を作ることは得意でも、
- 会社としてどの程度の安全性が必要か
- 数年後も保守できる構成か
- 事故が起きた場合にどの程度影響があるか
- 今後の事業に合った設計か
といった判断を、自動的にすべて行ってくれるわけではありません。
だからこそ、AIで作る人と、技術的な観点から確認する人を分ける方法が合っていると感じます。
「自分で作る」と「専門家に任せる」の間
これまでは、システムを作るなら、
- 自社でエンジニアを採用する
- 開発会社にすべて依頼する
という選択肢が中心でした。
しかし今後は、その中間が増えていくと思います。
自社でClaude Codeなどを使いながら、業務を知っている人がシステムを作る。
設計、セキュリティ、本番公開、保守については、必要なタイミングでエンジニアに確認してもらう。
すべてを外注するわけではない。
すべてを自社だけで抱えるわけでもない。
この進め方であれば、自社開発のスピードを保ちながら、技術的なリスクを減らすことができます。
今回の相談で感じたこと
最初にシステムを見たとき、私は「これならそのまま使ってもよいのでは」と感じました。
実際、機能や画面はよくできていました。
しかし、相談者が求めていたのは、画面の評価ではありませんでした。
「自分がいなくなったあとも使えるのか」
「顧客や社員の情報を預けてよいのか」
「システム全体の考え方は間違っていないか」
そうした、見た目からは分からない部分への確認でした。
AIでシステムを作れる人が増えるほど、このような相談も増えていくと思います。
そして、エンジニアの役割も、「コードを書く人」だけではなく、
今あるシステムを見て、どこまで使えるかを判断する人
へ変わっていくのかもしれません。
Claude Codeなどで作ったシステムのご相談を受け付けています
当社では、Claude CodeやChatGPTなどを使って自作した業務システムについて、設計、セキュリティ、運用、保守の観点から確認する支援を行っています。
- 今は動いているが、このまま会社で使ってよいか不安
- 顧客情報や社員情報を保存している
- 作った本人しかシステムを理解していない
- 自分が担当を外れたあとの保守が心配
- 全部作り直すべきか、今あるものを活かせるか判断してほしい
- 今後も自社でAIを使いながら開発を続けたい
このような段階でもご相談いただけます。
今あるシステムを否定するのではなく、活かせる部分と改善が必要な部分を整理し、必要な範囲から対応します。
「一度、本職のエンジニアに見てほしい」と感じている場合は、まずは現在の状況をお聞かせください。