SFL 安心自由ラボ

LAB 000 — はじめに読む

コーディングとは何か

— AI に書かせる2つのやり方 —

プログラミングを一度もやったことがない人向けの記事です。 手を動かす手順は出てきません。代わりに、この先の記事を読むときに ずっと効いてくる1つの見方だけをお渡しします。 ——コーディングの実体は「書くこと」ではなく「回すこと」だ、という見方です。

読むだけ

作業なし

約15分

読了の目安

前提なし

用語から説明

0円

この記事の範囲

この記事の道順

  1. コードとは何か(コンピュータへの指示書)
  2. コーディングの実体は「回すこと」
  3. なぜ Python なのか
  4. AI に書かせるやり方は2つある
  5. 同じお題を、2つのやり方でやってみる
  6. どちらを使うか
  7. 留意点(先に知っておくと転ばない)
  8. よくある質問
  9. 次の一歩

※ この記事を読み終えたら LAB 001 から実際に手を動かします。

01 — WHAT

コードとは、コンピュータへの指示書です

人に何かを頼むときは「写真を小さくしておいて」で通じます。 察してくれるからです。機械は察しません。 どのフォルダの、どのファイルを、どれくらい小さくして、どこに置くのか—— 抜けがあると止まります。

その抜けのない頼み方を書いたものがコードで、 書く行為がコーディングです。 コードは、人にも機械にも読める中間の言葉だと思ってください。

人の言葉 「写真を小さく しておいて」 察してもらう前提 抜けがあっても通じる コード for name in os.listdir("写真"): img = Image.open(name) small = img.resize(...) small.save(name) どこの・どれを・どうするか 人にも機械にも読める 機械 01001100 01101001 01110100 01110100 01101100 01100101 察しない 抜けがあれば止まる AI がやってくれるのは、左から真ん中への翻訳です。右側は機械が勝手にやります。

※ 真ん中のコードは実物の雰囲気です。読めなくて構いません。「英語と記号が並んでいるな」で十分です。

02 — CORE

実体は「書くこと」ではなく「回すこと」

ここがこの記事でいちばん伝えたいところです。 多くの人は、コーディングを「正しいコードを書いたら完成する作業」だと想像します。 実際は違います。

書いたものはまず動きません。動かして、エラーを読んで、直して、また動かす。 この往復が本体で、「書く」は全体のごく一部です。 経験者ほど、この往復を速く回すことに労力を使っています。

想像されているコーディング 書く できあがり ← 一直線。実際にはこうならない 実際のコーディング ① 書く ② 動かす ③ 結果を読む ④ 直す エラーが出る = ふつうのこと 何度も回る 時間の使われ方 書く 動かす・読む・直す このループを誰が回すのか——それが、次に出てくる「2つのやり方」の違いそのものです。

エラーは失敗ではありません。 初めての人がいちばん折れるのがここです。赤い文字が出ると「自分には向いていない」と思ってしまいますが、 エラーは機械からの返事で、何が足りないかを教えてくれています。 経験者の画面にも、同じくらい赤い文字が出ています。違うのは読んで次へ進む速さだけです。

03 — LANGUAGE

なぜ Python なのか

言葉は何十種類もありますが、この先の記事では Python(パイソン) を使います。 理由は3つだけです。

読める

記号が少なく、英語の文に近い形です。書けなくても何をしているかは推測できます。AI に書かせるとき、これは大きな差になります。

入っている

Mac には最初から入っています。何かを買ったり、大きなものを入れたりしなくても、今日から動かせます。

AI が得意

世の中に例が最も多い言葉なので、AI の当たり外れが小さくなります。珍しい言葉ほど、AI は自信満々に間違えます。

「読める」がどれくらいかというと、この程度です。行の右の説明を隠しても、だいたい想像がつくはずです。

import os
from PIL import Image

for name in os.listdir("写真"):                        写真フォルダの中を1つずつ
    img = Image.open("写真/" + name)                   開いて
    small = img.resize((img.width // 2, img.height // 2))  半分の大きさにして
    small.save("小さい版/" + name)                     別のフォルダに保存する

for(〜のあいだ繰り返す)、open(開く)、 save(保存する)。読めた部分だけで、もう十分です。 全部を理解してから始める必要はありません。

04 — TWO WAYS

AI に書かせるやり方は、2つあります

「AI にコードを書かせる」と一口に言いますが、中身はまったく別物の2つに分かれます。 違いは、さっきのループ——書く・動かす・読む・直す——のうち、 AI がどこまで担当するかです。

これは「どの会社の AI か」の違いではありません。 Gemini にも ChatGPT にも Claude にもチャットの入り口があり、 同じ会社がエージェントの入り口も出しています(Claude Code、Codex など)。 製品名で覚えると、名前が変わった瞬間に通用しなくなります。 「やり方の違い」で覚えてください。

やり方①:チャットで書かせる(あなたが運ぶ)

ブラウザの AI に頼むと、コードの文字列が返ってきます。 返ってくるのはそこまでです。そこから先——ファイルに貼る、保存する、動かす、 エラーを読む、それをまた AI に伝える——は、全部あなたの手作業です。

AI(ブラウザの中) 書く …だけ 動かしていないので 動いたか知らない あなた ・コードをコピーする ・ファイルに貼って保存する ・ターミナルで動かす ・エラーをコピーする ・AI に貼って聞き直す ・もう一度ぜんぶやる = ループを回すのは人 あなたの Mac ファイル・実行 AI からは見えない コード 貼る エラー 聞き直す 1回で済むことはまずありません。エラーが出るたび、この往復がもう1周増えます。 ただし、往復のすべてが目の前で起きるので「何が起きているか」は全部見えます。

やり方②:エージェントに任せる(AI が回す)

エージェントとは、AI があなたの Mac を直接さわれる形のことです。 ファイルを読み書きし、実行し、エラーを自分で読んで、自分で直します。 ループがAI の中で閉じます

あなた ・何を作るか決める ・許可を出す ・できたか確かめる 3つだけ 頼む 報告 AI エージェント ① 書く ② 動かす ③ 結果を読む ④ 直す 人を通さずに回る あなたの Mac ファイル・実行 AI から見える コピー&ペーストが1回も出てきません。あなたが運ぶものは、もうありません。 その代わり「何が起きたか」は、こちらが読まないと分からないまま進みます。

決定的な違いは1つだけ

いろいろ違いますが、突き詰めるとたった1つです。 ——AI が、自分の書いたコードが動いたかどうかを知っているか。 チャットの AI は知りません。動かしていないからです。

どちらの AI も、同じ間違いをしたとします(実在しない命令を使った) チャットで書かせた場合 AI が書く AI は間違いに気づかない 人が動かす→エラー 人が貼って伝える 直る → 人が2回運んで、やっと直る。エラーが2種類あれば、もう1往復 エージェントに任せた場合 AI が書く AI が動かす AI がエラーを読む AI が直す 直る → 人は何も運ばない。気づかないうちに終わっていることもある ※ ただし「気づかないうちに」は、良いことばかりではありません(後述)

05 — EXAMPLE

同じお題を、2つのやり方でやってみる

お題は「フォルダの中の写真を、まとめて半分の大きさにする」。 よくある雑用です。手でやると1枚30秒、100枚なら1時間近くかかります。

やり方①

チャットで書かせる

  1. AI に「Mac で写真を半分の大きさにする Python を書いて」と頼む
  2. コードが返ってくる
  3. どこに書けばいいのか分からないので調べる(テキストエディタ? 保存先は? 拡張子は?)
  4. ファイルに貼って保存し、ターミナルで動かす
  5. ModuleNotFoundError と出る。意味が分からない
  6. エラーをコピーして AI に貼る
  7. 「先にこれを入れてください」と返る。入れる
  8. もう一度動かす。今度はフォルダ名が違うと言われる
  9. また貼って、聞いて、直して、動かす
  10. ようやく動く

往復 3回/コピー&ペースト 6回以上。 ただし全部が目の前で起きるので、何が起きたかは分かる。

やり方②

エージェントに任せる

  1. 「このフォルダの写真を半分の大きさにして、別のフォルダに入れて」と頼む
  2. AI がフォルダの中を見る(何枚あるか、どんな形式か)
  3. コードを書いて、自分で動かす
  4. 足りないものがあると気づき、「入れていいですか」と聞いてくる → 許可する
  5. もう一度動かす。フォルダ名の違いに自分で気づいて直す
  6. 「100枚を小さくしました」と報告が来る

往復 0回/押したのは許可ボタン1回。 ただし途中で何が起きたかは、読まないと分からない

速い方が偉い、という話ではありません。 ①は遅いですが、エラーの意味を1つずつ自分で見ているので、次に同じ壁に当たったとき分かります。 ②は速いですが、分からないまま動くものが手に入るということでもあります。 これは後で効いてきます(留意点)。

06 — CHOOSE

どちらを使うか

結論から言うと両方使います。ただし、始める順番はあります。 いきなりエージェントから入ると、何が起きているか分からないまま 自分の Mac を触られることになって、落ち着きません。

まず チャットで試す ・無料で始められる ・Mac に何も入れない 壊すものが無い 続きそう なら 次に エージェントへ ・往復が無くなる ・続ける気力が保つ LAB 001 はここから やがて 使い分ける ・調べ物はチャット ・作業はエージェント チャットを卒業するわけではありません。「これってどういう意味?」を聞く相手として、ずっと残ります。
こういうとき チャットで書かせる エージェントに任せる
まず触ってみたい ◎ 無料・すぐ・壊れない △ 導入と契約が要る
意味を知りたい・勉強したい ◎ 1つずつ目で見られる △ 速すぎて置いていかれる
数十行の小さな道具を作る ○ 往復は数回で済む ◎ 頼んで待つだけ
複数のファイルにまたがる直し ✕ 運ぶ量が現実的でない ◎ 得意な領域
作ったものを育て続ける ✕ 版の管理が破綻する ◎ 記録もさせられる
仕事の機密が絡む △ 貼る前によく考える △ 読ませる範囲を決める

07 — CARE

留意点(先に知っておくと転ばない)

どちらのやり方でも共通して踏む石があります。知っていれば避けられるものだけ挙げます。

① 動いた ≠ 正しい

いちばん大事です。エラーが出ないことと、思ったとおりに動いていることは別です。 エラーは親切な失敗で、機械が教えてくれます。怖いのは黙って間違っている方です。

エラーが出た FileNotFoundError: 写真 止まる=すぐ分かる これは親切な失敗 読んで直せばいい エラーは出なかった 100枚を処理しました ✓ …でも縦だけ半分になっていた 誰も止めてくれない 元の写真を消していたら、もう戻せない だから「動いた」で終わらせず、必ず結果そのものを1つ見る。写真なら、1枚開いてみる。

② AI は自信満々に間違える

「たぶん違います」とは言ってくれません。存在しない命令数年前の古い書き方を、堂々と出してきます。 チャット型は動かしていないので、特にそうなります。 断定的な口調は、正しさの証拠ではありません。

③ どれが今の版か分からなくなる

コピー&ペーストを往復していると、なんとか2.py なんとか_最新.py が量産され、どれが動く版か見失います。 これは意志では解決しません。仕組みで解きます(→ LAB 002)。

④ エージェントは、事故も速い

自分の Mac を触れるということは、消すこともできるということです。 許可を聞く画面が出ますが、慣れると読まずに押すようになります。 増やす作業は流してよく、消す・置き換える作業だけは読む—— この線引きだけ決めておけば十分です。

⑤ 合言葉を貼らない

エラーを丸ごとコピーするとき、パスワードやメールアドレスが混ざっていないかを一度見てください。 仕事の資料をそのまま貼るのも同じです。送ってしまったものは取り消せません。

⑥ お金のかかり方が違う

チャットは無料の枠で始められます。 エージェントは有料の契約が前提です。 だからこそ「まず無料で触って、続きそうなら払う」という順番が理にかなっています。

⑦ 分からないまま、動くものができる

エージェント特有の落とし穴です。完成はしますが、中身を1行も読んでいない状態になりがちです。 壊れたときに手が出せません。対策は簡単で、 ときどき「いま何をしたのか、素人向けに説明して」と聞くだけです。

FAQ

よくある質問

プログラミングを勉強しなくても、作れますか?

小さな道具なら作れます。ただし「読める」ようにはなっておいた方がいいです。全部書けるようになる必要はありません。AI が出したものを見て「だいたい何をしているか」が分かる程度で、事故がかなり減ります。

Mac が壊れたりしませんか?

チャットで書かせるだけなら、貼って動かすまでは何も起きません。エージェントも、こちらが許可しない操作はしません。心配なら練習用のフォルダを1つ作って、その中だけで試すのが確実です。

Gemini と Claude、どちらがいいですか?

この記事の趣旨からすると、その問いはあまり効きません。どちらの会社にもチャットとエージェントの両方があります。先に決めるべきは会社ではなくやり方で、会社は使いながら好きな方に寄せれば十分です。

英語ができないと厳しいですか?

頼むのは日本語で構いません。エラーは英語で出ますが、そのまま AI に貼って「これは何?」と聞けば日本語で返ってきます。訳す作業は要りません。

作ったものは、人に見せられますか?

見せられます。ただし合言葉や個人の情報が混ざっていないかだけは、出す前に確かめてください。そのための仕組みは LAB 002 で作ります。

NEXT

次の一歩

まずお金のかからない側から試してみてください。 手元の AI のチャット画面に、こう打つだけです。

Mac で使える、ごく短い Python を1つ書いてください。
プログラミングは初めてです。
どこに貼って、どうやって動かすかも、順番に教えてください。

一度でも自分の Mac で何かが動いたら、この記事の役目は終わりです。 そこから先——往復が面倒になってきたら——エージェントの出番です。

この先の順番

  • LAB 001 — エージェントを入れて、ノートとつなぐ
  • LAB 002 — AI が壊しても戻れるようにする
  • LAB 003(準備中)— 2台の Mac と iPhone で持ち歩く

※ 製品の名前・料金・できることは変わります。この記事で覚えてほしいのは製品名ではなく、 ループを誰が回すかという見方の方です。そちらは当分変わりません。