/note/tech

プログラミングにAIを使うのは全然悪くないが、初心者が本格的に使って商売するのは違うのでは?AI生成...

要約:

■ 1. 問題提起: 初心者がAIコードで商売すること

  • AI利用自体の是非:
    • プログラミングにAIを使うこと自体は悪くない
    • ただし初心者がAIを本格的に使って商売するのは違う
  • クライアントへの責任:
    • AIに書かせたコードがエラーを出した時、クライアントに責任を取れるのかが問題
    • AIが書いたので分からないという言い訳は通用しない
  • 考え方の陳腐化:
    • 3年ほどで大多数のプログラマーはAIに仕事を奪われる可能性がある
    • その頃にはこの考え方自体が古くなっているかもしれない
  • 練習と商売の区別:
    • 練習でAIを使うのは良いが、お金を取るなら知識と責任を持つべき
    • AI利用にはルールが必要

■ 2. 初心者のAI丸投げによる弊害

  • 修正・改善の困難:
    • 初心者がAIに書かせると、エラー時に自力で修正できない
    • 改善もしにくくなる
  • 成長機会の喪失:
    • デバッグは成長に直結する
    • AIへの丸投げはその成長の機会を奪う
  • AIでの修正は上級者向け:
    • AIで修正するにはシステム理解が前提となる
    • 上級者はAIをより有効に使える
  • AIでも解決できないエラー:
    • エラーはAIに聞けば解決できるという意見がある
    • 実際にはAIに聞いても解決策が分からないエラーも意外と多い
    • AI技術の進歩が速いため現状は不明

■ 3. 契約上の責任範囲

  • 検収による責任の移転:
    • 検収完了の時点で以降の責任は基本的にクライアント側に移る
    • 納入後の保守管理契約がなければ開発側の責任は基本的にない
    • 保守管理できない初心者をまともな発注者はそもそも使わない
  • 契約不適合責任:
    • 2020年の民法改正で、検収後も契約不適合責任に基づく修正や損害賠償請求が可能になった
    • 最初の契約時に責任範囲を明確にしないとトラブルの元になる
  • 契約条項による対応:
    • 保守契約がなければ検収をもって開発契約は完了とする一文を入れれば、その条項が優先される
    • 仕様書にない部分は責任を問えないため、開発、検収、仕様書作成を適切に行うことが重要
  • 条項の実効性への疑問:
    • 発注者がそのような条項に応じることはまずない
    • 旧法でも瑕疵が明らかな場合は、検収の有無に関わらず開発側が敗訴した実例がある
  • 保守期間の明示:
    • ソフトウェアは保守契約がなければ通常サポートを受けられない
    • 購入後1年以内のバグは修正し、それ以降は対象外という建付けにすればよい

■ 4. AI利用と責任に関する反論

  • 非プログラマーによるアプリ販売:
    • プログラミングできない人がChatGPTでゲームを作り、ストア販売を目指す例がある
    • 素人が手作業で書いてもエラー時に責任を取れない点は同じ
  • 責任論の時代遅れ感:
    • 業務でAIにコードを書かせるのはすでに一般的
    • AIに書かせて責任を取れるのかという議論自体がいまさら
    • 困るのはストア削除やサポート終了までAIサブスクを解約できない程度
  • 問題提起の範囲:
    • 疑問を呈しているのは完全な初心者がAIコーディングで金儲けすることに対してのみ
    • 本職のプログラマーが業務でAIを使うことは全く問題ない
  • 責任は取るもの:
    • 初心者か玄人かに関わらず、AIの補助があるなら商売にしてもよい
    • 売り逃げは昔からあり、AI固有の問題ではない
    • AI、部下、自分のいずれが書いたとしても責任は取るもの
  • 真摯な問題対応:
    • 想定外のケースは必ず起こり、100%の対応は不可能
    • 問題が起きたら顧客への迷惑が最小限になるよう真摯に取り組めばよい
    • 分からない事態はAIの有無に関わらず起こる
    • 矢面に立つ人が中身を全て理解するのはどだい無理
  • PMの対応との類比:
    • PMは下請けが作ったので分からないとは言わず、確認して修正の目処を伝える
    • AIが書いたコードでも同じ対応をすればよい
  • 理解度は玄人も同じ:
    • 初心者も玄人も細部まで理解していない点は似たようなもの
    • 修正もAIで行うため、商売の責任論は別の問題
  • AIによる障害対応:
    • ベテランエンジニアの立場から見て、障害対応は人間よりAIの方がはるかに速く正確
    • そのため初心者の修正能力を心配する必要はない

■ 5. 問題提起への賛同

  • 商売への利用:
    • AIコードは商売に使うものではない
    • せいぜい同人作品を出す程度にとどめるべき
  • 仕様変更による劣化:
    • AIのコードは不明なエラーを出し、仕様変更も多い
    • CodexやClaude Code などで自動生成できるものもある
    • 仕様変更を繰り返すと不要なコードが蓄積し、悪さを始めると取り返しがつかない
  • 自分用途に限定:
    • ある程度コードを読めるため、AIコードは自分の業務効率化だけに使い、金は取らない
    • 自分がいなくなる将来を考え、最近はRPAを若手SEに頼むようにしている

■ 6. AIの有効な活用法

  • 学習用の手本としての利用:
    • AIで教科書的なコードを作らせ、手元で改変して感覚を身につける使い方は有効

■ 7. 責任範囲に絶対的な正解はない

  • 大手製品でも残る不具合:
    • Microsoftですら有料のWordやExcelに何年も修正されないエラーがある
    • どこまで責任を取るべきかに絶対的な正解はない
  • 信頼と長期的ビジネス:
    • 致命的な不具合を修正できなければ信頼は落ちる
    • その状態では長期的にビジネスとして成立させるのは難しい
  • 逃げ切り型ビジネスの存在:
    • 詐欺に限りなく近い逃げ切り型のビジネスも世の中には存在する
    • 真摯ではないが、そのようなやり方もないわけではない

MEMO: