<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://hideshi.github.io/blog/feed.xml" rel="self" type="application/atom+xml" /><link href="https://hideshi.github.io/blog/" rel="alternate" type="text/html" hreflang="ja" /><updated>2026-08-31T12:57:03+09:00</updated><id>https://hideshi.github.io/blog/feed.xml</id><title type="html">認知の足場</title><subtitle>AI駆動開発とソフトウェア設計を、認知作業の外部化と答え責任の観点から考えます。</subtitle><author><name>認知の足場</name></author><entry><title type="html">AI時代、ジュニアエンジニアはどこで経験を積むのか</title><link href="https://hideshi.github.io/blog/2026/08/31/where-junior-engineers-gain-experience/" rel="alternate" type="text/html" title="AI時代、ジュニアエンジニアはどこで経験を積むのか" /><published>2026-08-31T00:00:00+09:00</published><updated>2026-08-31T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/31/where-junior-engineers-gain-experience</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/31/where-junior-engineers-gain-experience/"><![CDATA[<p>生成AIによって、スキルの低いエンジニアは仕事を失うのだろうか。仕事を失わないとしても、悪い条件で働くことになるのだろうか。</p>

<p>一部の作業が減り、実装速度だけで評価される仕事の条件が厳しくなる可能性は、否定できないと思う。ただし私は、エンジニアという人間が単純に「代替される人」と「高度人材」に二分されるというより、一つの職種に含まれていた作業の価値が組み替わっている、と見ている。</p>

<p>AIがコードや設計案を生成するようになっても、それを納品してよいか判断し、本番で問題が起きたときに原因を追い、次の失敗を防ぐ仕事は残る。生成が速くなったぶん、その仕事の重要性はむしろ高まる。</p>

<p>では、まだ長い経験を持たないジュニアは、どこでその判断を身につければよいのか。私は、いきなり最上流へ飛び級することではなく、「品質を引き受ける場所」から始めるのが一つの活路だと考えている。</p>

<h2 id="ローエンドエンジニアは代替されるという記述">「ローエンドエンジニアは代替される」という記述</h2>

<p>経済産業省とIPAによる「ITエンジニアリング人材の育成に関するタスクフォース」の第2回会合に、「ローエンドエンジニアは代替され、新たな価値を創造する高度エンジニアが不足する」と記した資料が提出されている（<a href="https://www.ipa.go.jp/jinzai/skill-gakushu/it-engineering.html">IPAの開催資料一覧</a>、<a href="https://www.ipa.go.jp/jinzai/skill-gakushu/j5u9nn000000ip34-att/002-it-engineering-appendix-03.pdf">松田委員提出資料</a>）。これはタスクフォース全体の最終結論ではなく、情報サービス産業協会（JISA）の松田委員による提出資料に書かれた現状認識である。</p>

<p>「ローエンド」という語は、人を固定的な階層へ置くようにも読める。だが、実際に代替される単位は、まず人ではなく作業なのではないか。</p>

<p>仕様から定型的なコードを生成する。既存コードに似た修正を作る。テストのひな型やドキュメントの下書きを作る。こうした作業はAIによって速くなる。一方で、顧客が何を必要としているかを確かめ、曖昧な要求の扱いを決め、生成物を検証し、運用上の結果を引き受ける仕事まで、同じように消えるとは限らない。</p>

<p>二極化を「能力の低い人が不要になる」とだけ読むと、ジュニアに残された答えは、短期間で高度人材になることだけになる。しかし、そこには経験をどう獲得するかという問題が残る。</p>

<h2 id="生成できることと判断できることは同じではない">生成できることと、判断できることは同じではない</h2>

<p>私は一介のWebアプリケーションエンジニアである。技術力がずば抜けて高いわけではないが、20年ほどかけて上流から下流まで一通り経験してきた。現在はビジネスアナリストやプロジェクトマネージャーとして、クライアントと要求・要件を整理しながら、自分または少人数のメンバーで設計、実装、テスト、運用まで行っている。</p>

<p>その開発では、要求整理や設計、実装、テストなどの進め方を再利用可能にしたAIスキルやハーネスを40以上作り、多くの工程をAI化・自動化している。オントロジー、ドメイン駆動開発、仕様駆動開発、テスト駆動開発が主な軸である。</p>

<p>個人がAIを使って複数の工程をつなげられるようになると、作業を細かく分けたり、人を増やしたりすることが、かえって連絡や認識合わせの負担になる場面がある。それでも、人が必要だと思う場面はなくならない。</p>

<p>AIの解釈が仕様からずれていないか。正常系だけを見て、異常系を落としていないか。本番環境で問題が起きたとき、どの情報から調べるか。顧客の言葉と実装上の概念が食い違ったとき、どちらをどう直すか。こうした判断には、対象への理解と、過去の失敗を含む経験が要る。</p>

<p>一部では、AI時代にはジュニアも一足飛びに最上流の仕事ができなければならない、と言われる。しかし、それは難しい要求だと思う。シニアが10年、20年かけ、失敗や障害対応を通じて得た判断を、短期間で身につけろと言っているようなものだからである。</p>

<p>AIを使えば、設計書らしいものや、動くコードを早く出せる。だが、生成できる成果物の水準と、その成果物について説明し、問題が起きたときに対処できる水準は別である。この点は「<a href="https://hideshi.github.io/blog/2026/08/29/explain-before-assigning-design/">ジュニアに設計を任せる前に、自分で説明できるかを見る</a>」でも扱った。</p>

<p>では、最上流へ飛び級しないなら、ジュニアはどこから始めればよいのか。私は次の五つを、一続きの経路として考えている。</p>

<h2 id="1-aiの出力を納品できる品質まで確かめる">1. AIの出力を、納品できる品質まで確かめる</h2>

<p>最初の入口は、丹念にテストすることである。</p>

<p>AIスキルやハーネスを整えても、それだけで納品できる品質になるとは限らない。仕様の読み違い、抜け漏れ、既存機能への影響、画面間の不整合は起こる。人間の仕事は、AIが出したものを眺めて承認することではなく、何をもって完成とするかを確かめ、完成していない点を具体的に示すことである。</p>

<p>受入条件を満たしているか。正常系だけでなく、入力の欠落、権限の違い、外部サービスの失敗、同時実行などを考慮しているか。仕様の記述だけでは判断できないなら、推測でテスト結果を合わせるのではなく、上流の担当者に確認する。</p>

<p>これは、決められたテスト項目を消化するだけの仕事ではない。テストを通じて、「このシステムでは何が正しいのか」を明らかにする仕事である。仕様の曖昧さに気づいて問いを返すことは、すでに要求分析の入口に立っている。</p>

<h2 id="2-発見したことを自動テストとして残す">2. 発見したことを、自動テストとして残す</h2>

<p>次は、一度の確認で得た知識を再利用可能にする。</p>

<p>ユニットテスト、結合・APIテスト、E2Eテストを使えば、多くの確認を自動化できる。E2Eテストの操作を録画し、受入条件と照らして確認することもできる。AIに実行結果や画面を渡し、差異の候補を挙げさせることもできる。ただし、何を不具合とみなすか、どこまでを受け入れるかの判断は人間に残る。</p>

<p>価値があるのは、AIより速くテストコードを書くことではない。どの条件が成立すれば正しいといえるかを定め、発見した不具合が再発しない形で残すことである。</p>

<p>その過程で、同値分割、境界値分析、状態遷移、デシジョンテーブルといったテスト設計技法も役に立つ。異常系やセキュリティの観点を学ぶと、テストしやすい要件、設計、実装とは何かも見えてくる。テストは開発の最後に置かれた検査ではなく、上流へ遡って設計を学ぶための場所になる。</p>

<h2 id="3-本番で何が起きたかを追えるようにする">3. 本番で何が起きたかを追えるようにする</h2>

<p>システムは、作って終わりではない。使われ始めてからが本番である。</p>

<p>運用中の不具合では、ユーザーがどの操作をし、システム内部で何が起きたかが、開発環境のようには見えない。ログ、データ、メトリクス、トレースなどから判断することになる。実装時から、障害が起きたときに必要な情報へ辿れるようにしておく必要がある。</p>

<p>ここでいう記録は、ユーザーの行動を無制限に保存することではない。プライバシー、セキュリティ、保存費用に配慮し、必要な情報だけを適切なログレベルで記録する。リクエストIDや処理IDを使って一連の処理を結び、個人情報や秘密情報を残さず、どの段階で失敗したかを追えるようにする。</p>

<p>本番の問題を調べると、設計時には見えていなかった現実に出会う。想定外の操作、データ量、通信の遅延、外部サービスの停止、運用手順との食い違いである。その一つひとつが、次の設計判断に使える経験になる。</p>

<h2 id="4-担当機能ではなくシステムを理解する">4. 担当機能ではなく、システムを理解する</h2>

<p>自分が変更した箇所だけでなく、その変更がシステム全体のどこに位置するかを理解する。</p>

<p>主要なデータはどこから入り、どこへ流れるのか。重要な業務ルールは何か。外部システムとはどこで接続するのか。権限はどのように決まるのか。障害が起きたとき、どの利用者と業務に影響するのか。</p>

<p>既存のドキュメントだけでは足りなければ、コード、データベース、ログ、チケットなどから、AIを使って調査の下書きを作ることもできる。私の場合、未知の領域を扱うときは、少なくともユビキタス言語と主要な業務ロジックを整理したドメインモデルを作るようにしている。</p>

<p>目的は、何でも暗記している人になることではない。この人に聞けば、根拠となるコードや仕様へ辿って説明してくれる、という状態を作ることである。システムへの理解は、AIの提案がその場では動くだけのものか、既存の仕組みに適合するものかを判断する基準にもなる。</p>

<h2 id="5-発見を開発プロセスへ戻す">5. 発見を、開発プロセスへ戻す</h2>

<p>最後は、個別の失敗や工夫を、チーム全体が使える形へ変える。</p>

<p>テストで仕様の抜けが見つかったなら、その案件だけを直して終わらせない。要求定義の質問項目、受入条件の書き方、レビュー観点、AIへの指示、テスト生成の手順へ反映できないかを考える。運用でログ不足に困ったなら、実装やレビューの基準へ戻す。</p>

<p>開発チーム内でAIスキルやハーネスを共有しているなら、そこへ改善を提案する。まだ存在しないなら、小さなものを自分で作って試してもよい。ジュニアであっても、テストや運用で得た具体的な発見を持っている。その発見は、上流担当者やシニアが見落としている工程上の問題を明らかにすることがある。</p>

<p>ここまで来ると、ジュニアは作業の受け手だけではない。チームの失敗を減らし、次の開発を改善する主体になっている。</p>

<h2 id="五つの活路は一つの循環になる">五つの活路は、一つの循環になる</h2>

<p>五つは、独立した生存戦略ではない。</p>

<p>テストすると、仕様の曖昧さに気づく。仕様を確認すると、業務とシステムへの理解が深まる。本番を意識すると、設計時に考えるべき失敗条件が増える。そこで得た知識を自動テストやAIスキルへ戻すと、次の開発の品質が上がる。</p>

<blockquote>
  <p>テストする<br />
→ 仕様の曖昧さに気づく<br />
→ システムと運用を理解する<br />
→ 発見をテストと開発プロセスへ戻す<br />
→ より上流の判断ができる範囲が広がる</p>
</blockquote>

<p>この循環によって、納品できる品質を引き受ける範囲が少しずつ広がる。テスト担当のまま留まるという話ではない。テストを、仕様、設計、実装、運用をつなぐ学習の入口として使うという話である。</p>

<h2 id="これはジュニアだけの責任ではない">これはジュニアだけの責任ではない</h2>

<p>ただし、以上を「ジュニアが勤務時間外に努力して身につけるべきこと」で終わらせてはいけない。</p>

<p>シニアのレビューを受けられること。本番運用や障害対応を知る機会があること。担当範囲の外側を学ぶ時間があること。生成したコードの量やチケットの消化数だけでなく、検証、理解、判断、改善を評価すること。失敗が致命傷にならない範囲を設け、そこで判断を試せること。これらはチームや組織が用意する必要がある。</p>

<p>AIによって定型的な実装が減れば、かつてジュニアが経験を積んだ仕事も減る可能性がある。その一方で、経験を積む前のジュニアへ設計や採否の責任だけを渡しても、育成にはならない。AIが短縮するのは生成に必要な時間であって、判断を形成する経験まで自動的に短縮するわけではない。</p>

<p>ジュニアの活路を考えることは、個人の生存戦略だけを考えることではない。人が育つ工程を、AIを前提に作り直すことでもある。</p>

<h2 id="品質を引き受ける場所から始める">品質を引き受ける場所から始める</h2>

<p>AI時代に必要なのは、全員が短期間でシニアになることではない。自分が検証し、説明し、結果を引き受けられる範囲を、一つずつ広げていくことだと思う。</p>

<p>丹念なテスト、運用への関心、システム全体の理解、開発プロセスの改善は、一見すると地味である。しかし、これらはすべて、生成物を受け取る人から、何を採用するか判断できるエンジニアへ移っていくための経験になる。</p>

<p>AIが普及していく流れを止めることは難しい。現在はIT業界が早く影響を受けているが、いずれ多くの業種と職種でも、従来ジュニアが担ってきた定型的な仕事が圧縮される可能性がある。そのとき、シニアの経験をどうすれば早く、しかし責任だけを飛び級させずに獲得できるのかは、社会全体の課題になる。</p>

<p>私はこの問題を、AIに作業を委ねながら、人間が判断と責任を保持するための条件という観点から研究している。その一つが『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』である。</p>

<p>AIへ任せる作業が増えるほど、人間には何も残らないのではない。どこまで任せ、どこから自分が答えるのかという境界が、これまで以上に問われる。ジュニアが経験を積む場所も、その境界の上に作り直す必要がある。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="ジュニアエンジニア" /><category term="ソフトウェアテスト" /><category term="人材育成" /><category term="答え責任" /><summary type="html"><![CDATA[生成AIで定型的な実装が圧縮される一方、ジュニアに最上流への飛び級を求めても、長年の判断経験までは短期間で得られない。テスト、運用、システム理解、プロセス改善を、品質を引き受ける経験として捉え直す。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-where-junior-engineers-gain-experience.png" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-where-junior-engineers-gain-experience.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">ジュニアに設計を任せる前に、自分で説明できるかを見る</title><link href="https://hideshi.github.io/blog/2026/08/29/explain-before-assigning-design/" rel="alternate" type="text/html" title="ジュニアに設計を任せる前に、自分で説明できるかを見る" /><published>2026-08-29T00:00:00+09:00</published><updated>2026-08-29T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/29/explain-before-assigning-design</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/29/explain-before-assigning-design/"><![CDATA[<p>AIでコードがすぐ出るようになると、設計らしい案もすぐ出てくる。そうであれば、ジュニアにも早い段階から設計を任せてよい時代だ、と読みたくなる。</p>

<p>先に結論をずらしておく。任せたくなるのは、成長が早まったからではないことがある。実装を書いて慣れるより先に、設計を任されている。本稿は、ジュニアは自分で設計せよ、という推奨ではない。支援があれば頑張れる、という励ましでもない。任せることと、自分で説明できることを分けて見る、という仮説の整理である。</p>

<p>素材にするのは、ニューヨーク・タイムズのエンジニアリングマネージャによる観察である（<a href="https://leaddev.com/career-development/junior-engineers-are-skipping-straight-to-architect-level-thinking">Thanabalan, 2026</a>）。比較研究ではなく、現場のメモである。一般化はしない。</p>

<h2 id="速くなるのは生成であり判断ではない">速くなるのは生成であり、判断ではない</h2>

<p>AIの生成が速いと、チケットは前に進む。それらしい修正も、それらしい構成案も出る。本稿では、そのぶん、手で書き、壊し、戻りながら仕組みに慣れる機会が薄くなりうる、と読む。</p>

<p>人間の側に残るのは、出てきたものを読み、どこから疑うかを決め、障害のときに自分の判断を説明する仕事である。先に書いた「<a href="https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains/">AIを使うことは、「読みさえできれば何とかなる」に似ている</a>」で扱った問題でもある。AI に書かせても、提案を採るか退けるかを決める仕事は消えない。チームでは、生成が速くなったあとほど、設計を理解しないまま案を通していないかを確かめる必要がある。</p>

<p>Thanabalan は、判断が育ったかが表れる場面として大きな障害を挙げる。仕組みを自分で辿って最初に調べる場所を決めるか、AI ツールが示した警告だけを追うか、という対比である。記事中では、若手が AI の提案をすぐ実行し、後からシニアが仕組みの理解に基づいて方針を修正する。本稿は、この場面を、任せることと説明できることのずれとして読む。</p>

<h2 id="任されるのが先になると見るものが変わる">任されるのが先になると、見るものが変わる</h2>

<p>対応は、次のように整理できる。</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>出力だけを見る場合</th>
      <th>判断まで見る場合</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>作業</td>
      <td>生成、提案の取り込み</td>
      <td>提案を採るか退けるか、説明、どこから疑うか、どちらを取るか</td>
    </tr>
    <tr>
      <td>指標</td>
      <td>出したコードの量、差分の大きさ</td>
      <td>学習、理解、判断</td>
    </tr>
    <tr>
      <td>確認するもの</td>
      <td>通ったコード</td>
      <td>そのコードを説明できるか、障害のときに調べ始められるか</td>
    </tr>
  </tbody>
</table>

<p>支援を緩めてよいのは、自分で答えられる範囲が増えたあとである。</p>

<p>出したコードが増えたことと、システムを引き受けられるようになったことは、同じではない。「<a href="https://hideshi.github.io/blog/2026/08/27/what-the-amplifier-amplifies/">AIを「増幅器」と呼ぶ前に、何を増幅するかを見る</a>」と同じで、増えているのが速度なのか、検証済みの判断なのかを分けないと、増幅は常に良い話になる。ジュニアが大変なのは、作業量が増えたからだけではない。実装で慣れる前に、設計判断を求められるからである。</p>

<p>Thanabalan は AI の使い方を、学ぶ段階（tutor）、設計判断を自分で持ちながら複雑な作業に使う段階（copilot）、経験を積んだ人が AI を速いジュニアのように扱う段階（accelerator）の三つに分ける。学ぶ段階では、説明を求め、分かっていない箇所を記録する。メンターや同僚には、プロンプトではなく仕組みを尋ねる。次の段階では、複雑な生成を使いながら、設計の判断と例外の扱いは自分で引き受ける。経験を積んだ段階では、要件と方針を渡し、AI の提案のうち、とくに構成と長期の影響に危うい点がないかを疑う。これは人を役職や固定した段階に閉じ込める手順書ではない。判断が育つにつれて支援を緩め、成功の指標を、出した量から学習・理解・判断へ移すための目安である。</p>

<h2 id="効く範囲と効かない範囲">効く範囲と、効かない範囲</h2>

<p>この読みが効くのは、任せることと、自分で説明できることを分ける、という一点である。設計を任されることと、設計について答えられることは、同じではない。支援を緩めるのは、レビューで問いに答え、自分が触った範囲を説明し、障害のときにどこから疑うかを自分で持てるときである。出した量が増えたときではない。</p>

<p>効かない範囲もある。</p>

<p>第一に、すべての現場でジュニアに早く設計を任せる、とは言えない。本稿が扱うのは、生成が日常になり、若手に早い段階から設計判断を求めるチームである。</p>

<p>第二に、設計判断を早く任せること自体を、そのジュニアが未熟だから、と決めつけてはいけない。シニアが教える時間や、出した量だけでなく学習・理解・判断を見る評価も、チーム側の条件である。これらが欠ければ、任せることと説明できることのずれは広がりうる。人のせいだけにすると、チームの作り方は見えなくなる。</p>

<p>第三に、本稿はソフトウェア教育の実証ではない。一編のマネージャ観察と、既存の語彙を重ねた整理である。三つの段階を導入手順として推奨しない。</p>

<h2 id="支援を誰が持つかは論文と現場でずれる">支援を誰が持つかは、論文と現場でずれる</h2>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』が足場と呼ぶものは、一時的な支援である。成人と AI の対話が、考えを整理する負担をしばらく引き受ける。元になった Wood らの指導研究では、人の指導者が、一人では難しい部分を一時的に支え、自分でできるようになれば支援を外す。論文はこの考え方を成人と AI の対話へ広げ、考えの整理や下書きを AI に任せても、どこまで強く言うか、提案を採るか退けるかは人間が決める、と整理した。</p>

<p>Thanabalan の記事では、人間のメンターがペア作業やレビューの枠を持ち、AI ツールは学習を助ける役に置かれる。一方、論文では成人と AI の対話そのものを、その一時的な支援として扱う。近いのは、AI に出力させること自体を、理解や成長とみなさない点である。AI に生成を任せても、その提案を理解し、採るか退けるかを決める仕事まで消えるわけではない。決める仕事を人の側に置かないまま出力だけ増やせば、増えるのは、まだ引き受けられない提案である。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』の語彙で言えば、AI を使った事実だけで仕事の良し悪しは決まらない。問うべきなのは、その出力を検証し、仕事へ組み込み、結果を引き受けられるかである。慣れる前に設計を任せたことを、その人の能力の問題に読み替えると、教える時間や評価の仕方というチーム側の条件が見えなくなる。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』の語彙も、ここで使える。「外部化」は、ここでは作業を AI に任せることを指す。AI に任せてよいのは、その結果について人間が根拠を示し、誤りを見つけて直し、提案を採るか退けるかを決められる範囲だけである。根拠は頭の中だけにある必要はない。変更履歴や対話の記録を辿って示せれば足りる、というのが論文の条件である。Thanabalan が障害で見る「最初に調べる場所を自分で決めるか、警告だけを追うか」は、その試験の一つの場面である。記録を辿っても方針を説明できず、警告だけを追うなら、その範囲の設計判断まで任せられる状態ではない。調べ始めを暗記していることが条件なのではない。</p>

<p>先の「<a href="https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice/">AIがコードを書く時代に、なぜ「お気に入りの言語」を持つのか</a>」で扱ったように、個人には、AI の提案を判断する基準が要る。チームでは、その基準を学ぶ機会の整備が、設計判断を任せる時期に追いつかないことがある。</p>

<h2 id="任せてから支援を外してよいわけではない">任せてから、支援を外してよいわけではない</h2>

<p>ジュニアが設計する時代だ、と読むと、先に任せれば育つ、になりやすい。だが本稿が記事から引くのは、任せただけでは、答えられる範囲は自動で増えない、という読みである。</p>

<p>支援は、読めて、検証できて、提案を採るか退けるか自分で決められるようになるまで残す枠である。先に任せただけでは、支援にはならない。出す速さが上がったときでもない。支援を緩めるのは、自分で答えられる範囲が増えたあとである。その前に外すと、残るのは設計の担当と、警告だけを追う手である。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="答え責任" /><category term="認知スキャフォールディング" /><category term="外部化" /><summary type="html"><![CDATA[AIでコードがすぐ出るようになると、若手にも早く設計を任せたくなる。それは成長が早まったことではなく、慣れる前に任されていることがある。任せてよいのは、出てきた案を自分で説明できるときである。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-explain-before-assigning-design.jpg" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-explain-before-assigning-design.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">AIがコードを書く時代に、なぜ「お気に入りの言語」を持つのか</title><link href="https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice/" rel="alternate" type="text/html" title="AIがコードを書く時代に、なぜ「お気に入りの言語」を持つのか" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice/"><![CDATA[<p>AIでコードを生成し、実装の細部を一行ずつ追わなくても開発を前へ進められる場面が増えた。そうであれば、プログラミング言語へのこだわりは薄れていくのだろうか。</p>

<p>私は最近、むしろ逆なのではないかと考え始めた。</p>

<p>AIがコードを書く今だからこそ、自分の思考や品質感覚の基準点になる「お気に入りの言語」を持つ意味がある。そして組織にとっても、言語選択の重要性が消えるのではなく、選ぶ理由が変わっていくのではないか。</p>

<p>なお、私はGo言語の専門家ではない。複数言語を同じ条件で比較したわけでもなく、本稿はGoの優位性を主張する記事ではない。GoとAI駆動開発についての記事を読んだことをきっかけに、言語選択を考える軸が変わった、という実務家としての仮説を整理する。</p>

<h2 id="別言語の採用は組織にとって大きな決断だった">別言語の採用は、組織にとって大きな決断だった</h2>

<p>ほんの数年前まで、新しいプログラミング言語を導入しようとすれば、まず学習コストが問題になった。</p>

<p>チームメンバーが文法や標準ライブラリを覚えるまで、生産性が下がる。レビューできる人が限られる。採用や引き継ぎが難しくなる。既存のCI/CD、監視、クラウド基盤に載せられるかも確認しなければならない。</p>

<p>そのため、別言語の採用は単なる技術上の好みではなく、組織としての大きな決断だった。言語やエコシステムに魅力があっても、「いま使っている言語で実現できるなら変えない」という判断には合理性があった。</p>

<p>この事情をAIが部分的に変えつつある。</p>

<p>未知の文法の説明、APIの使用例、既存コードからの変換、テストの生成、コンパイルエラーの修正を、AIが支援できる。新しい言語で最初の動くコードへ到達するまでの距離は、以前より短くなった。</p>

<p>ただし、言語導入のコストがなくなったわけではない。コストの重心が、「人間が書き方を覚えること」から、「生成物を検証し、本番で運用し、問題が起きたときに答えられること」へ移っている。</p>

<h2 id="コードを読まないなら言語の制約がもっと重要になる">コードを読まないなら、言語の制約がもっと重要になる</h2>

<p>AIが大量のコードを書く環境では、プログラミング言語は人間が実装するための表現手段だけではない。AIの出力を制約し、誤りを機械へ返すための装置にもなる。</p>

<p>型検査、コンパイラ、フォーマッタ、静的解析、テストランナーが明確なフィードバックを返せれば、AIは「生成する→検査する→修正する」というループを回しやすい。人間も、すべての行を目視する代わりに、どの制約を通過したか、どのテストで振る舞いを確認したかを判断材料にできる。</p>

<p>これは、人間がコードを理解しなくてよいという意味ではない。理解の単位が、一行ごとの著作から、構造・振る舞い・失敗条件・採否へ移るということである。</p>

<p>コードの詳細を常に追わないのであれば、言語とツールチェーンが何を自動的に拒否し、何を見逃すかを知る必要は、むしろ大きくなる。</p>

<h2 id="goの記事が言語を見る軸を変えた">Goの記事が、言語を見る軸を変えた</h2>

<p>きっかけは、GoのプロダクトマネージャであるCameron Balahanと、Google CloudのRichard Seroterが2026年8月に公開した「<a href="https://developers.googleblog.com/why-go-is-an-ideal-language-for-ai-assisted-software-engineering/">Why Go is an Ideal Language for AI-Assisted Software Engineering</a>」だった。</p>

<p>記事は変化を、次の小見出しで表現している。</p>

<blockquote>
  <p>“From Writing to Reviewing”</p>
</blockquote>

<p>人間が手でコードを書く速さより、AIが生成したコードをレビューし、検証し、保守する能力が重要になる、という主張である。そのうえで記事は、Goの価値を文法の簡潔さだけに置かない。統一的な書式、テスト、依存関係管理、セキュリティ検査を標準ツールチェーンから利用できること、予測しやすいコードの形、互換性と長期保守性を、一つのソフトウェアエンジニアリング基盤として論じている。</p>

<p>特に印象に残ったのは、AIを単なるコード生成器ではなく、監督と制約を必要とする新しいチームメンバーとして捉えている点だった。コードの表現が揃い、コンパイラやテストが明確な結果を返せれば、AIは生成と自己修正を反復しやすく、人間は意図や異常を確認しやすくなる。私が言語を見る軸を考え直したのは、この「言語そのもの」から「人間とAIが共同作業するためのプラットフォーム」への視点の移動である。</p>

<p>Goには、コードを標準形式へ整える <code class="language-plaintext highlighter-rouge">gofmt</code>、パッケージ単位でテストを実行する <code class="language-plaintext highlighter-rouge">go test</code>、疑わしい構造を検査する <code class="language-plaintext highlighter-rouge">go vet</code> など、公式ツールチェーンの中に共通の入口がある。公式サイトも、主要クラウド事業者がGo向けAPIを提供していると案内している（<a href="https://go.dev/doc/cmd">Go command documentation</a>、<a href="https://go.dev/doc/tutorial/add-a-test">Add a test</a>、<a href="https://go.dev/solutions/cloud">Go for Cloud &amp; Network Services</a>）。</p>

<p>もっとも、これはGoの開発責任者らによる公式ブログ上の提案であり、複数言語を同条件で比較した独立評価ではない。記事中の強い優位性主張を、そのまま私自身の結論にはできない。私も「Goを採用すべきだ」と判断できるほどGoに習熟していない。ただし、そこで挙げられた性質は、AIとの開発ループを評価する観点の候補にはなる。</p>

<ul>
  <li>書き方の自由度を機械がどこまで整えてくれるか</li>
  <li>コンパイルやテストの結果を、修正可能な形で返せるか</li>
  <li>標準的な進め方が共有され、AIと人間の判断が分岐しにくいか</li>
  <li>依存関係、実行環境、クラウドサービスとの接続を管理できるか</li>
  <li>障害時に、人間が調査と復旧を引き受けられるか</li>
</ul>

<p>これからの言語選択では、「チームがすでに書けるか」に加えて、「AIの出力をどの程度、機械的かつ運用可能な形で検証できるか」が重要になるのではないか。</p>

<h2 id="お気に入りの言語は判断の基準点になる">「お気に入りの言語」は、判断の基準点になる</h2>

<p>では、AIが複数の言語でコードを書けるなら、人間は特定の言語を深く学ばなくてもよいのだろうか。</p>

<p>私は、少なくとも一つは深く付き合う言語を持ったほうがよいのではないかと思う。</p>

<p>お気に入りの言語は、単なる嗜好ではない。設計の良し悪し、読みやすさ、例外処理、テスト可能性、抽象化の程度を判断するための基準点になる。一つの言語と深く付き合って得た感覚があれば、AIが別の言語で提示した設計についても、「なぜこの構造なのか」「どこで失敗するのか」を問いやすい。</p>

<p>AIが学習摩擦を減らしてくれるからこそ、どこかには意図的に摩擦を残す必要もある。すべてをAIに説明・生成・修正させていると、異常を感じ取るための物差しまで育たない可能性がある。お気に入りの言語を持つことは、自分が引き受けて理解する領域を一つ確保することでもある。</p>

<p>ただし、個人のお気に入りを、そのまま組織の標準にしてよいわけではない。組織の採用判断では、対象領域、既存資産、運用体制、人材市場、依存ライブラリ、セキュリティ、クラウドの対応を検討する必要がある。個人の「好き」は探究の入口になりうるが、採用の根拠は別に示さなければならない。</p>

<h2 id="これまでの研究と言語選択の接点">これまでの研究と、言語選択の接点</h2>

<p>私はこれまで、AIに認知作業を任せることを、単なる効率化ではなく、外部化と人間の責任の再配置として考えてきた。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』では、低い層の認知負荷をAIへ外部化しながら、主張の強さや採否を人間に残す実践を扱った。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』では、頭の中だけで処理したか、外部資源を使ったかによって成果の正当性を決めるのではなく、外部資源を検証し、統合し、その使用に責任を持てるかが重要だと論じた。</p>

<p>続く『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』では、AIへ外部化できる範囲を、人間が成果の根拠を示し、誤りを検出・訂正し、採否を決定できる範囲として整理した。</p>

<p>この枠組みで考えると、AI時代の言語選択も「AIがコードを書けるか」だけでは決まらない。</p>

<p>人間がその成果について答えられるように、言語とエコシステムが検証の足場を提供できるか。AIが生成したコードを、型、テスト、静的解析、実行証跡へ落とせるか。そして、ゲートが通ったという事実を、人間が理解して採用できるか。</p>

<p>プログラミング言語は、生成対象であると同時に、答え責任を支える設計資源になる。</p>

<h2 id="言語の乗り換えは軽くなっても採用判断は軽くならない">言語の乗り換えは軽くなっても、採用判断は軽くならない</h2>

<p>AIによって、新しい言語を試す費用は下がる。小さなサービスや検証環境であれば、以前より気軽に比較できるだろう。複数言語で同じ仕様を実装させ、テスト、可読性、運用、クラウド対応を比べることもできる。</p>

<p>その意味では、「別言語の採用＝後戻りできない大決断」という感覚は弱まるかもしれない。</p>

<p>しかし、試しやすくなることと、本番採用の責任が軽くなることは同じではない。AIが移植を手伝ってくれても、障害対応、長期保守、依存関係、セキュリティ、撤退可能性への答えは必要である。</p>

<p>これから必要なのは、言語にこだわらないことではない。好みだけにも、過去の慣性だけにも閉じず、AIと人間が検証可能な形で仕事を進められる言語を選ぶことだと思う。</p>

<p>私はまだ、Goが自分のお気に入りの言語になるかどうかを知らない。だからこそ、専門家のように結論を語るのではなく、実際に小さな題材を作り、AIとの生成・検査・修正ループがどう変わるかを確かめてみたい。</p>

<p>AI時代の言語は、人間がコードを書くためだけでなく、AIが書くコードを制約し、人間がその結果に答えるために選ぶものになるのかもしれない。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="プログラミング言語" /><category term="Go" /><category term="答え責任" /><category term="認知スキャフォールディング" /><summary type="html"><![CDATA[生成AIによって言語の学習コストが下がる一方、型・テスト・ツールチェーンによる検証可能性はむしろ重要になる。AI時代のプログラミング言語選択を、認知作業の外部化と答え責任から考える。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-ai-era-programming-language-choice.png" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-ai-era-programming-language-choice.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">ドキュメント形式を一本化する前に、誰が答えられるかを見る</title><link href="https://hideshi.github.io/blog/2026/08/27/document-format-and-who-can-answer/" rel="alternate" type="text/html" title="ドキュメント形式を一本化する前に、誰が答えられるかを見る" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/27/document-format-and-who-can-answer</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/27/document-format-and-who-can-answer/"><![CDATA[<p>ドキュメントは、機械が追いやすい一つの形式に揃えるべきだ、という話をよく聞く。見出しと箇条書きがテキストのまま残り、差分が取れ、生成AIにも渡しやすい。表計算やワープロで見た目を組むと、中身の更新よりレイアウトに時間が溶け、残業が増える。だから作業の形式を揃えたい、という願いは、現場としては通りやすい。</p>

<p>先に結論をずらしておく。願いは、生産性の話としてわかる。ただし揃える対象を、個人の書き方の巧拙に置くと、話の種類が変わる。形式は職能の試験ではなく、誰が根拠を示し、誤りを検出し、採否を決められるかの配置である。本稿は、特定の記法へ移せ、という提案ではない。一本化の願いが、宛先の制度を個人のスキルへ翻訳してしまう点を、仮説として整理する。</p>

<h2 id="揃えたくなる負担は実在する">揃えたくなる負担は、実在する</h2>

<p>表計算やワープロで仕様や手順を書くと、セル結合、余白、印刷の見栄えが作業の本体になりやすい。内容は少ししか変わっていないのに、版を重ねるたびに見た目を直す。機械に読ませようとすると、書式の情報が先に増え、構造が見えにくい。</p>

<p>一方で、見出し・箇条書き・表がテキストとして残る書き方は、人間のレビューにも、エージェントへの依頼にも、履歴の比較にも乗りやすい。低い層の整形を外へ出しやすい、という意味で、先に書いた「<a href="https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains/">AIを使うことは、「読みさえできれば何とかなる」に似ている</a>」の外部化と同じ向きにある。</p>

<p>ここまでを、怠けや流行の話にすると、現場の痛みを見落とす。減らしたいのは、中身と関係の薄いレイアウト労働である。エンジニアが形式を揃えたいと思うとき、そこに能力の優越より、残業の置き場を動かしたい切実さがある、と読んだ方がよい。</p>

<h2 id="減る負担と残る負担は宛先で割れる">減る負担と、残る負担は、宛先で割れる</h2>

<p>対応は、次のように整理できる。</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>作業側が揃えたい形式</th>
      <th>提出側が今答えている形式</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>向いている相手</td>
      <td>書く人、差分、生成AI</td>
      <td>承認する人、顧客、印刷と捺印</td>
    </tr>
    <tr>
      <td>軽くなりやすい工程</td>
      <td>下書き、再生成、機械への入力</td>
      <td>目視、コメント、既存のテンプレート</td>
    </tr>
    <tr>
      <td>重くなりやすい工程</td>
      <td>提出用への変換、説明、差し戻し</td>
      <td>見た目の調整、版の管理</td>
    </tr>
    <tr>
      <td>失敗の見え方</td>
      <td>構造が壊れる、変換がずれる</td>
      <td>レイアウトが崩れる、宛先が読めない</td>
    </tr>
  </tbody>
</table>

<p>作業側の生産性が上がることと、組織の残業が減ることは、同じではない。形式を一つにすると、片方の工程は軽くなる。もう片方は、変換と説明に移ることがある。負担は消えたのではなく、置き場が変わった、と見る方が正確である。</p>

<p>「読みさえできれば」で書いた条件と、ここは同じ線にある。読めて、検証できて、採否を引き受けられるとき、形式の外部化は足場になる。宛先が読めない形式へ一方的に揃えると、作業は速く見えても、通した理由をあとから答えられない。</p>

<h2 id="制度の制約が個人の書き方に翻訳されるとき">制度の制約が、個人の書き方に翻訳されるとき</h2>

<p>揃えたい願いは、しばしば宛先を動かせない。提出物のテンプレート、承認の慣習、顧客のツールは、個人の好みでは変わらない。変わらないものを前にすると、残る操作は一つになりやすい。書けない人、使わない人を、遅れている側へ置くことである。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』で扱ったのも、この操作に近い。規範の存在は、誰かの信条表明ではなく、観察可能な排除効果に置いた。その一つが、構造的問題を個人の能力に読み替える言説である。受験論では、努力できる条件の不平等が、がんばらなかったからだ、という自己責任に翻訳される。認知労働では、過負荷が個人の対処能力の問題として語り直される。</p>

<p>ドキュメント形式の論争でも、同じ翻訳が起きうる。残業の原因が、提出先の制度にあるのに、個人の記法スキルの不足として語られる。だれでも覚えられる、と言いながら、覚えられないことを職能の欠如とみなす。条件が揃っていないことを、習得の失敗として見せる。極性は、論文の典型例と逆である。あちらは外部化を不正視する。こちらは、特定の外部形式を身につけていないことを不正視する。操作は同じである。</p>

<p>第6章の警告も、ここに来る。「道具で自己防衛しろ」は、構造を個人の対処へ押し戻す言説の再生産になりうる。全員が作業用の記法を覚えても、正本の宛先が提出用のままなら、レイアウト労働は消えない。移るだけである。</p>

<h2 id="効く範囲と効かない範囲">効く範囲と、効かない範囲</h2>

<p>この読みが効くのは、形式を能力の門番にしない、という一点である。正当な外部資源は一つに固定できない。表計算もワープロも、すでに誰かにとって答えられる形として正当化されている。作業用の構造化テキストも、書く側と機械にとっては同じである。どちらかが普遍的スキルなのではない。宛先が違う。</p>

<p>効かない範囲もある。</p>

<p>第一に、見た目調整の労働が常に無駄だ、とは言えない。印刷、契約、現場の掲示のように、見た目自体が成果物である仕事がある。その工程を「機械に渡せ」と切り捨てると、別の答え責任を捨てることになる。</p>

<p>第二に、作業用の形式へ寄せれば検証可能になる、わけではない。見出しが付いただけの曖昧な文書は、機械にも人間にも切れ目を渡さない。形式は中身を良くする魔法ではない。先の「<a href="https://hideshi.github.io/blog/2026/08/27/what-the-amplifier-amplifies/">AIを「増幅器」と呼ぶ前に、何を増幅するかを見る</a>」と同じで、入力の質が残る。</p>

<p>第三に、本稿は現場の文書を調査した報告ではない。一本化の願いと、個人化の言説が重なる点を、既存の語彙で読んだ整理である。特定の論争の当事者を裁く材料にはしない。</p>

<h2 id="残るのは記法の勝利ではない">残るのは、記法の勝利ではない</h2>

<p>サイト名の「認知の足場」は、一つのファイル形式を勝たせる枠ではない。低い層の負荷を外へ置き、人間が判断できる位置に立つための枠である。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』で扱った分業は、ここでも使える。整形と下書きは外へ出してよい。主張の強さと採否は、人間に残す。記法は、その枠になりうる。合格証にはならない。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』の境界は、正本と提出物を分ける理由になる。外部化できるのは、人間が根拠を示し、誤りを検出し、採否を決められる範囲に限る。作業用のテキストへ変換することは、パースの外部化である。変換結果を人間が検出・訂正できないなら、外部化ではなく放棄である。提出用へ戻す変換も、同じである。</p>

<p>だから欲しいものは、記法の一本化というより、AIが追えて、人間が採否できる正本である。それが作業用の構造化テキストである現場は多い。提出物が表計算やワープロである現場も多い。両方を認めると、願いは「全部を一つの形式にしろ」ではなく、「正本と提出物を分け、変換の誤りを人間が引き受ける」になる。残業が減るかは、その変換と検証を工程として数えられるかに依存する。数えなければ、負担は個人の習熟へ戻る。</p>

<h2 id="揃えるなら宛先を先に決める">揃えるなら、宛先を先に決める</h2>

<p>形式を揃えたくなるのは、レイアウト労働と、機械への渡しにくさが実在するからである。その願いを、書けない人の問題にすると、制度は見えなくなる。</p>

<p>揃える対象は、個人の記法ではない。誰が、どの工程で、答えられるかである。作業の正本と、提出の写しが違うことは、失敗ではない。写しを正本と取り違えること、変換を検証しないこと、形式を職能の門番にすることの方が、壊れ方として大きい。</p>

<p>足場になるのは、読めて、検証できて、採否を引き受けられる配置のときである。形式が勝ったときは、足場ではない。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="答え責任" /><category term="認知スキャフォールディング" /><category term="外部化" /><category term="ドキュメント" /><summary type="html"><![CDATA[作業用の文書を機械が追いやすい形に揃えたい願いは、現場の負担から出やすい。それを個人の書き方の巧拙にすると、形式が職能の門番になる。見るべきなのは記法ではなく、誰が答えられるかである。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-document-format-and-who-can-answer.jpg" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-document-format-and-who-can-answer.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">AIに論文を書かせる前に、品質ゲートを作る——Scholarly Agent Skillsの設計思想</title><link href="https://hideshi.github.io/blog/2026/08/27/introducing-scholarly-agent-skills/" rel="alternate" type="text/html" title="AIに論文を書かせる前に、品質ゲートを作る——Scholarly Agent Skillsの設計思想" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/27/introducing-scholarly-agent-skills</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/27/introducing-scholarly-agent-skills/"><![CDATA[<p>AIを使えば、論文らしい文章を短時間で生成できる。</p>

<p>しかし、文章が流暢であることと、論文として検証可能であることは同じではない。引用した論文を本当に読んだのか。数字の出所を再確認できるか。反対説を見落としていないか。AIが提案した結論を、人間が根拠とともに説明できるか。</p>

<p>私が公開している「<a href="https://github.com/hideshi/scholarly-agent-skills">Scholarly Agent Skills</a>」は、この問題を「もっと性能の高いAIを使うこと」ではなく、研究と執筆の工程を設計することで扱おうとするオープンソースのスキル・ルール・検査ツール集である。</p>

<p>一言で表すなら、ソフトウェア開発の品質規範を論文執筆へ移植する試みだ。</p>

<h2 id="aiに論文を書かせるためのプロンプト集ではない">「AIに論文を書かせる」ためのプロンプト集ではない</h2>

<p>このリポジトリの副題は、<em>Thesis-Driven Development</em>である。</p>

<p>ソフトウェア開発では、要求を定義し、概念をモデル化し、テストを書き、変更をレビューし、リリース前に品質ゲートを通す。複雑なシステムを、実装者の記憶と注意力だけに頼って作ることはしない。</p>

<p>ところがAIを使った論文執筆では、「テーマを渡して本文を生成する」という一回の対話に、研究計画、概念定義、文献調査、引用確認、反論検討、文章化をまとめて押し込んでしまいがちである。その結果、もっともらしい文章はできても、どの主張がどの資料に支えられているか分からなくなる。</p>

<p>Scholarly Agent Skillsが目指すのは、優れた一つのプロンプトではない。研究を複数の工程と成果物に分け、AIと人間がどこで何を確認したかをリポジトリへ残すことである。</p>

<h2 id="開発の規律を研究の規律へ読み替える">開発の規律を、研究の規律へ読み替える</h2>

<p>中心にあるのは、次の対応関係である。</p>

<table>
  <thead>
    <tr>
      <th>ソフトウェア開発</th>
      <th>研究・論文執筆への読み替え</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>要求定義</td>
      <td>研究問い、想定読者、完成条件を先に決める</td>
    </tr>
    <tr>
      <td>DDD・ユビキタス言語</td>
      <td>中核概念を定義し、論文内の意味を揃える</td>
    </tr>
    <tr>
      <td>仕様ギャップ分析</td>
      <td>先行研究の到達点と自説の差分を明示する</td>
    </tr>
    <tr>
      <td>TDD</td>
      <td>本文の前に想定反論と反例を書く</td>
    </tr>
    <tr>
      <td>不変条件監査</td>
      <td>主張と一次資料の対応をゲート判定する</td>
    </tr>
    <tr>
      <td>静的解析</td>
      <td>引用、用語、章番号、内部記号の露出を検査する</td>
    </tr>
    <tr>
      <td>リリースゲート</td>
      <td>投稿前のWARNとFAILを著者が仕分ける</td>
    </tr>
    <tr>
      <td>セッションハンドオーバー</td>
      <td>長期執筆の文脈と未解決事項を次回へ残す</td>
    </tr>
  </tbody>
</table>

<p>たとえば<a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/skills/ja/counter-argument-tdd/SKILL.md"><code class="language-plaintext highlighter-rouge">counter-argument-tdd</code></a>では、節を書き始める前に、査読者が提起しそうな反論を列挙する。TDDで最初に失敗するテストを書くように、まだ防御できていない主張を先に可視化する。その反論を乗り越える本文を書き、最後に論理と文体を整理する。</p>

<p><a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/skills/ja/scholarly-concept-modeling/SKILL.md"><code class="language-plaintext highlighter-rouge">scholarly-concept-modeling</code></a>では、DDDのユビキタス言語に相当する概念インベントリを作る。同じ用語を章ごとに違う意味で使ったり、近い概念を無意識に混同したりすることを防ぐ。</p>

<p>開発手法の用語を論文本文へ持ち込むことが目的ではない。これらは内部の設計工程であり、公開原稿には通常の学術的な文章だけを残す。</p>

<h2 id="文章ではなく4層の品質基盤として作る">文章ではなく、4層の品質基盤として作る</h2>

<p>このプロジェクトは、概ね四つの層で構成される。</p>

<h3 id="1-ルール層守るべき不変条件">1. ルール層——守るべき不変条件</h3>

<p>ルールは、個別の作業を超えて常に守る制約である。</p>

<p>代表例が「<a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/rules/ja/fact-grounding-rule.md">ファクト・グラウンディングルール</a>」である。このルールでは、LLMの記憶や検索結果のスニペットだけを根拠に、学術文献の内容、統計値、固有の事実を本文へ書かない。</p>

<p>文献検索は候補を見つけるDiscoveryにすぎない。論文の内容を引用するには、利用権を確認したPDFやオープンアクセス全文を取得して構造化するか、入手できない資料ならページ番号付きの手動ノートを作る。統計値は公式資料やAPIから取得し、原数値と算式を残す。</p>

<p>つまり「AIが知っている」から「リポジトリ内の資料で再確認できる」へ、根拠の状態を変える。</p>

<h3 id="2-スキル層作業の手順と受け渡し">2. スキル層——作業の手順と受け渡し</h3>

<p>スキルは、発動する場面、前提、手順、成果物を定義する。</p>

<p>2026年8月27日時点で、日本語版と英語版にそれぞれ23スキルがある。ただし、最初からすべてを使う必要はない。基本的な流れは次のとおりである。</p>

<ol>
  <li><code class="language-plaintext highlighter-rouge">research-plan-workshop</code>で研究問いを一文にする</li>
  <li><code class="language-plaintext highlighter-rouge">scholarly-concept-modeling</code>で中核概念を定義する</li>
  <li><code class="language-plaintext highlighter-rouge">literature-search</code>で候補を探す</li>
  <li><code class="language-plaintext highlighter-rouge">source-criticism-gate</code>で情報源を評価する</li>
  <li><code class="language-plaintext highlighter-rouge">pdf-paper-ingestion</code>で一次資料を実体化する</li>
  <li><code class="language-plaintext highlighter-rouge">literature-gap-analysis</code>で先行研究との差分を整理する</li>
  <li><code class="language-plaintext highlighter-rouge">counter-argument-tdd</code>で反論を先に置く</li>
  <li><code class="language-plaintext highlighter-rouge">claim-evidence-gate</code>と<code class="language-plaintext highlighter-rouge">citation-traceability-audit</code>で主張と出典を監査する</li>
  <li>可読性、用語、センシティブ表現のゲートを通す</li>
  <li><code class="language-plaintext highlighter-rouge">pre-submission-triage</code>で残った警告を著者が判断する</li>
</ol>

<p>全体像は<a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/skills/ja/README.md">日本語版スキルカタログ</a>にまとめている。</p>

<h3 id="3-スクリプト層決定論的に検査できる部分">3. スクリプト層——決定論的に検査できる部分</h3>

<p>LLMによるレビューは柔軟だが、同じ入力に常に同じ判定を返すとは限らない。そこで、機械的に検出できる問題はPythonスクリプトへ分離している。</p>

<p>たとえば、本文中の根拠不明な数値候補、引用と文献ノートの不一致、用語の表記揺れ、章番号の重複、内部管理コードの本文露出、センシティブな絶対表現などを検査する。原稿のMarkdown統合、HTML・PDF変換、文献検索、PDF取り込み、PIIマスキングを支援するスクリプトも含む。</p>

<p>現在は25本のPythonスクリプトと23のテストモジュールがあり、GitHub Actionsとローカルのpre-push gateで、ユニットテストとスキル定義の整合性検査を実行する。本稿執筆時点のローカル検証では157件のユニットテストが通過し、日英46個のスキル定義も検査を通過した。ただし、これは将来の研究成果や生成物の正しさを保証する数字ではなく、リポジトリ自身の回帰検査の状態を示すものである。</p>

<h3 id="4-成果物層チャットではなくリポジトリを正本にする">4. 成果物層——チャットではなくリポジトリを正本にする</h3>

<p>AIとの会話は便利だが、そのままでは長期研究の正本になりにくい。そこで成果物を、次の五分類で管理する。</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>docs/&lt;paper-id&gt;/
├── manuscript/   # 完成原稿・HTML・PDF
├── chapters/     # 章ごとの本文
├── design/       # 研究計画・概念・反論・ゲート記録
├── literature/   # 文献マトリクス・論文ノート・原本
└── data/         # 統計・集計・一次データ
</code></pre></div></div>

<p>AIとのチャットが途切れても、研究問い、採用した定義、確認済み文献、棄却した提案、残っている警告をファイルから復元できる。Gitの差分は、論文がどう変わったかだけでなく、判断の過程を後から確認する手がかりにもなる。</p>

<h2 id="認知スキャフォールディング大量の質問を返さない">認知スキャフォールディング——大量の質問を返さない</h2>

<p>品質を厳しくすると、今度は工程が重くなり、着手できなくなる危険がある。そこで全スキルに、<a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/rules/ja/cognitive-scaffolding-rule.md">認知スキャフォールディング原則</a>を適用している。</p>

<ul>
  <li>巨大な作業を、一分以内に始められる最初の一歩へ分解する</li>
  <li>非構造化なアイデアを箇条書きや分類として外部化する</li>
  <li>中断前に文脈と未解決事項を保存する</li>
  <li>一度に問う意思決定を一つに絞る</li>
</ul>

<p>論文執筆の支援で、最初に十個の質問へ答えるよう求めても、認知負荷をAIへ外部化したことにはならない。AI側が散らばった思考を保持し、人間が今決めるべき一点だけを提示する必要がある。</p>

<p>ここには、速度と厳密さを両立させるための設計上の緊張がある。自由な着想は止めずに外へ置く。しかし、本文へ入れる段階では根拠を要求する。生成を許す場所と、検証なしに通過させない場所を分ける。</p>

<h2 id="具体例aiがもっともらしい先行研究を書いたら">具体例——AIが「もっともらしい先行研究」を書いたら</h2>

<p>仮にAIが、本文へ「先行研究ではこの傾向が広く確認されている」と書いたとする。</p>

<p>通常の対話なら、そのまま文章を整えて次へ進めてしまうかもしれない。このワークフローでは、次のように戻る。</p>

<ol>
  <li>「広く確認」という主張の強さを分解する</li>
  <li>根拠として挙げた文献が実在するか確認する</li>
  <li>検索結果ではなく、本文を読める一次資料を取得する</li>
  <li>その文献が本当に同じ対象・条件・尺度を扱っているか確認する</li>
  <li>反対結果や学説上の対立がないか探す</li>
  <li>根拠が一例しかなければ、「広く」を削り、存在例として書き直す</li>
  <li>主張と根拠の対応を監査記録へ残す</li>
</ol>

<p>ここでAIは、文章の生成、候補探索、資料の構造化、反論候補の提示を担当できる。しかし、どの表現を本文へ残すかは著者が決める。</p>

<h2 id="はじめ方">はじめ方</h2>

<p>リポジトリはMIT Licenseで公開している。共同研究や複数環境で再現しやすい方法は、論文リポジトリへGit submoduleとして追加する方法である。</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git submodule add https://github.com/hideshi/scholarly-agent-skills.git .scholarly-agent-skills
python3 .scholarly-agent-skills/scripts/setup_submodule.py <span class="nt">--lang</span> ja
</code></pre></div></div>

<p>手元の複数プロジェクトで同じ最新版を参照したい場合は、シンボリックリンク方式も使える。詳しい手順は<a href="https://github.com/hideshi/scholarly-agent-skills#readme">README</a>に記載している。</p>

<p>最初の一週間で23スキルすべてを覚える必要はない。まず研究問いを一文にし、数字や文献を本文へ書く前に根拠ファイルを置き、一章できたら一つのゲートを回す。それだけでも、「AIとの会話」から「再確認できる研究工程」へ移行し始められる。</p>

<h2 id="このツールが保証しないこと">このツールが保証しないこと</h2>

<p>Scholarly Agent Skillsは、論文の正確性、網羅性、学術倫理、査読通過、投稿規定への適合を保証しない。品質ゲートにも誤検出と見落としがありうる。</p>

<p>インタビューやアンケートの倫理審査、個人情報の適法な取り扱い、PDFの取得・翻訳・再配布に必要な権利、外部APIの利用規約は、利用者が確認しなければならない。PIIマスキングやAI Ignoreは支援機能であって、十分な匿名化を認証するものではない。</p>

<p>提出先のAI利用方針やプレプリント規定も変わる。<code class="language-plaintext highlighter-rouge">submission-venue-advisor</code>は確認項目を整理するが、投稿してよいとは断定しない。詳細は<a href="https://github.com/hideshi/scholarly-agent-skills/blob/main/DISCLAIMER.md">DISCLAIMER</a>に記載している。</p>

<p>最終責任が人間に残るからこそ、このプロジェクトは、人間の注意力だけに責任を背負わせない仕組みを作ろうとしている。</p>

<h2 id="自分の論文執筆から生まれ摩擦をスキルへ戻している">自分の論文執筆から生まれ、摩擦をスキルへ戻している</h2>

<p>このプロジェクトは、完成した理論から一度に設計したものではない。私自身がAIと論文を書く過程で、文献の原本が保存されていない、内部用の記号が本文へ露出する、章番号の挿入が崩れる、古い文脈へ復帰できない、といった摩擦を経験し、その再発を防ぐルール、スキル、テストへ戻しながら発展させてきた。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』では、AIへ低い層の認知負荷を外部化しつつ、主張の強さ、採否、最終責任を人間に残す分業を扱った。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』では、外部資源を使ったかどうかではなく、その出力を検証し、統合し、使用に責任を持てるかを問う必要があると論じた。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』では、人間が根拠を示し、誤りを検出・訂正し、採否を決定できる範囲を、外部化の一つの境界として整理した。</p>

<p>Scholarly Agent Skillsは、これらの問題意識を日々の作業へ落とす参照実装である。ただし、これらの論文と実装は、一般的な効果を実証したものではない。現時点では、著者自身の実践から生まれた設計と存在例として公開している。</p>

<h2 id="ai導入を利用から工程設計へ">AI導入を「利用」から「工程設計」へ</h2>

<p>AI活用の議論は、どのモデルを選ぶか、どんなプロンプトを書くかに集中しやすい。しかし、組織で継続して使うなら、より重要なのは、入力をどう管理し、出力をどこで検査し、誰が採否を決め、証拠をどう残すかである。</p>

<p>これは論文執筆だけの問題ではない。調査報告書、要件定義、設計文書、監査資料など、根拠と説明責任が求められる認知作業にも共通する。</p>

<p>Scholarly Agent Skillsは、その中でも論文執筆を対象に、AIとの協働を工程として設計した一つの実装である。AIを導入することと、AIが組織の品質基準の中で働けることの間には距離がある。その距離を、ルール、スキル、検査、成果物で埋めていきたい。</p>

<p>リポジトリは<a href="https://github.com/hideshi/scholarly-agent-skills">GitHub</a>で公開している。試して見つかった摩擦や改善案は、IssueやPull Requestで共有してもらえるとうれしい。</p>

<p>また、論文に限らず、AIを要求定義、調査、設計、レビューへ組み込みながら、組織として検証可能な工程へ整えることに関心がある。AI活用プロセスや品質ゲートの設計について相談があれば、<a href="https://x.com/hdsh0428">X（@hdsh0428）</a>から連絡してほしい。</p>]]></content><author><name>認知の足場</name></author><category term="AI" /><category term="論文執筆" /><category term="AIエージェント" /><category term="オープンソース" /><category term="認知スキャフォールディング" /><category term="答え責任" /><summary type="html"><![CDATA[ソフトウェア開発のDDD、TDD、仕様ギャップ分析、不変条件監査を、AIと行う研究・文献調査・論文執筆へ移植したオープンソースプロジェクトを紹介する。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-introducing-scholarly-agent-skills.png" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-introducing-scholarly-agent-skills.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">AIを使うことは、「読みさえできれば何とかなる」に似ている</title><link href="https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains/" rel="alternate" type="text/html" title="AIを使うことは、「読みさえできれば何とかなる」に似ている" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains/"><![CDATA[<p>AIを使うことは、日本人がPCやスマホの普及によって、読みさえできれば何とかなる、という変化に似ている。</p>

<p>手で漢字を書けなくても、画面上の候補を見て正しい字を選べれば、文書は出せる。AIも、最初から全文を自分で書かなくても、出てきた文やコードを読んで採否できれば、仕事は前へ進む。</p>

<p>ただし、似ているからといって、楽になった、で終わらせる話ではない。漢字変換が残したものは「書かなくてよいこと」ではなく、「読むことで選ぶこと」だった。AIも同じで、残るのは生成ではなく、読んで引き受けることだと思う。</p>

<h2 id="書く負担が減ったあと残ったのは読む力だった">書く負担が減ったあと、残ったのは読む力だった</h2>

<p>手書きの時代、漢字は思い出す必要があった。画数、部首、送りがな。書けない字は、辞書を引くか、別の言い回しに逃げるしかなかった。</p>

<p>PCの日本語入力は、この負担の置き場を変えた。読みを打ち、変換候補を見て、意図した漢字を選ぶ。スマホのフリック入力も、基本は同じである。手が字形を再現しなくても、目が字形を識別できれば、文章は成立する。</p>

<p>その結果、読めるのに書けない字が増えた、という感覚を持つ人は少なくない。これは能力が消えた、というより、日常の作業が「想起して書く」から「候補を見て選ぶ」へ移った、ということだろう。</p>

<p>ここで残った技能は、入力そのものではない。候補の中から、意味の通る字を見抜く力である。「せいかい」が「正解」なのか「盛会」なのかは、文脈を読んで決める。読めなければ、変換は便利ではなく、誤りの量産装置になる。</p>

<h2 id="aiも著作から選別へ重心を移している">AIも、著作から選別へ重心を移している</h2>

<p>生成AIの使い方も、この形に近い。</p>

<p>テーマを渡す。下書きが出る。コードが出る。要約が出る。人間は、それを読んで直すか、捨てるか、採用する。最初の一文を空白から書く手数は減る。残るのは、出てきたものが自分の意図と、使える根拠に耐えるかの判断である。</p>

<p>これは、プログラミングでも文章でも起きている。先に書いた「<a href="https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice/">AIがコードを書く時代に、なぜ「お気に入りの言語」を持つのか</a>」でも触れたように、作業の重心は書く速さから、レビューと検証へ移りつつある。</p>

<p>漢字変換との対応で言えば、次のように整理できる。</p>

<table>
  <thead>
    <tr>
      <th>日本語入力</th>
      <th>AI利用</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>読みを打つ</td>
      <td>依頼と制約を渡す</td>
    </tr>
    <tr>
      <td>変換候補が出る</td>
      <td>文・コード・要約が出る</td>
    </tr>
    <tr>
      <td>文脈を読んで選ぶ</td>
      <td>根拠と失敗条件を読んで採否する</td>
    </tr>
    <tr>
      <td>誤変換を見逃すと意味が壊れる</td>
      <td>流暢な誤りを見逃すと成果が壊れる</td>
    </tr>
  </tbody>
</table>

<p>「読みさえできれば何とかなる」は、怠けの推奨ではない。手が覚える負担を機械へ渡したあと、目と判断が残る、という観察である。</p>

<h2 id="似ている点と似ていない点">似ている点と、似ていない点</h2>

<p>この比喩が効くのは、生産の細部を外部化しても、識別は残る、という構造である。</p>

<p>漢字変換は、書字の想起を外部化する。AIは、下書きの生成を外部化する。どちらも、人間が最初の形を全部手で作らなくてよくなる。代わりに、候補を見て、自分の責任で残すものが決まる。</p>

<p>しかし、決定的に違う点がある。</p>

<p>漢字の変換候補は、辞書という閉じた集合から来る。候補は有限で、多くは実在する語である。誤りは、主に「別の正しい語を選んでしまうこと」である。文脈が分かれば、誤りに気づきやすい。</p>

<p>AIの出力は、閉じた辞書ではない。存在しない引用、それらしい型、通るはずのない推論を、通る文章として出せる。誤りは、語の取り違えではなく、根拠のない完成品に見えることがある。読めるだけでは足りず、「これは何を根拠に言っているか」まで読めなければならない。</p>

<p>だから、AI利用を「読みさえできれば何とかなる」に重ねるなら、その「読み」は、漢字の識別より一段重い。流暢さを読むのではなく、壊れ方を読む必要がある。</p>

<h2 id="読めない人にとって外部化は足場にならない">読めない人にとって、外部化は足場にならない</h2>

<p>漢字変換が便利なのは、読める人にとってである。読めない人が変換を重ねても、誤変換の山ができる。機械は、意図を代わりに持ってはくれない。</p>

<p>AIも同じである。出力を評価できない状態で生成だけを増やすと、作業は速く見えるが、採否の根拠が残らない。あとから「なぜこれを採用したのか」と問われても、答えられない。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』で整理したのは、まさにこの境界である。外部化できるのは、人間が根拠を示し、誤りを検出し、採否を決められる範囲に限る。読めないものを、読めるふりして通すことは、外部化ではなく放棄である。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』の立場から言えば、頭の中だけで書いたか、機械を使ったかは、正当性の基準にならない。使った出力を検証し、統合し、その使用に責任を持てるかが残る。PCで漢字を選んだことも、AIに下書きを出させたことも、そのあとの引き受け方で決まる。</p>

<h2 id="書かなくてよくなったは書けなくてよいではない">「書かなくてよくなった」は、「書けなくてよい」ではない</h2>

<p>ここでも、漢字の話は警告になる。</p>

<p>書けなくても読める、という状態は、日常の入力では足りることが多い。しかし、初めて見る語、専門用語、固有名、微妙な違いでは、書けた経験がある人のほうが、候補の異常に気づきやすい。読む力は、書いた経験から育つ面がある。</p>

<p>AIでも同じことが起きると思う。すべてを生成に任せ、自分では一文も、一行も引き受けないでいると、異常を感じる物差しが育たない。お気に入りの言語を一つ深く使う、という先の記事の主張も、ここに接続する。書く手数を減らすほど、どこかには、自分が書いて読める領域を残す必要がある。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』で扱ったのも、低い層の負荷を外へ出しつつ、主張の強さと採否は人間に残す、という分業である。スキャフォールドは、人間を不要にするためではなく、人間が判断できる位置に立つための枠である。</p>

<h2 id="何とかなるの条件">何とかなる、の条件</h2>

<p>「読みさえできれば何とかなる」は、条件付きの文である。</p>

<p>日本語入力では、読み、文脈、候補の識別がある。それが揃って、初めて書字の外部化が足場になる。AIでは、依頼の出し方、出力の読み方、検証の手段、採否の記録がある。それが揃って、初めて生成の外部化が足場になる。</p>

<p>何とかなるのは、読める人が、読んだ結果に答えるときである。読めないまま通すなら、PCもスマホもAIも、同じように誤りの増幅器になる。</p>

<p>AIを使うことは、書くことから解放されることではない。書く手数を機械へ渡したあと、読む責任が残ることである。その意味で、日本人にとって馴染みのある変化の延長にある。馴染みがあるからこそ、楽になったと誤解しやすい。残すべきなのは、手の記憶ではなく、目と判断である。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="答え責任" /><category term="認知スキャフォールディング" /><category term="外部化" /><category term="日本語" /><summary type="html"><![CDATA[PCとスマホの普及で、日本語は手で漢字を書けなくても、正しく読めれば入力できるようになった。AI利用も同じで、残るのは生成ではなく採否である。ただし候補が辞書に閉じない点で、読む力の中身はむしろ重くなる。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-reading-is-what-remains.png" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-reading-is-what-remains.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">AIを「増幅器」と呼ぶ前に、何を増幅するかを見る</title><link href="https://hideshi.github.io/blog/2026/08/27/what-the-amplifier-amplifies/" rel="alternate" type="text/html" title="AIを「増幅器」と呼ぶ前に、何を増幅するかを見る" /><published>2026-08-27T00:00:00+09:00</published><updated>2026-08-27T00:00:00+09:00</updated><id>https://hideshi.github.io/blog/2026/08/27/what-the-amplifier-amplifies</id><content type="html" xml:base="https://hideshi.github.io/blog/2026/08/27/what-the-amplifier-amplifies/"><![CDATA[<p>AIは増幅器である、という言葉を、能力が増える話として聞くことが多い。手が届く範囲が広がり、一人で見られる量が増え、下書きや試作の速度が上がる。その用法は、すでに定着しているように見える。</p>

<p>先に書いた「<a href="https://hideshi.github.io/blog/2026/08/27/reading-is-what-remains/">AIを使うことは、「読みさえできれば何とかなる」に似ている</a>」では、同じ語を別の向きで使った。読めないまま通すなら、PCもスマホもAIも、誤りの増幅器になる、と書いた。</p>

<p>一方は成果の拡大、他方は失敗の拡大である。語が同じだから、同じ現象を指しているわけではない。増幅器は足場の別名ではなく、入力を大きくする装置である。何を入力するかで、足場の隣にも、誤りの増幅器にもなる。</p>

<p>本稿は、増幅器という語を捨てる提案ではない。肯定用法を否定するのでもない。何を増幅しているかを見ないと、楽になった話と、壊れ方が速くなった話が、一つの標語に潰れる、という整理である。</p>

<h2 id="増幅器は入力を選ばない">増幅器は、入力を選ばない</h2>

<p>音響の増幅器は、信号も雑音も大きくする。良い演奏を大きくすることも、歪みを大きくすることもある。装置の善意は、入力の中身を選ばない。</p>

<p>AIの比喩としての増幅器も、これに近い。速く、多く、それらしい形で出す。入力が、検証可能な作業と、引き受ける判断であれば、到達範囲は広がる。入力が、未検証の生成と、採否のない通過であれば、流暢な誤りが広がる。</p>

<p>能力が増えたように見えることと、成果の根拠が増えたことは、同じではない。増えているのが速度なのか、検証済みの判断なのか、通った文章の量なのかを分けないと、増幅器は常に良い話になる。</p>

<p>ここで残る負担は、装置を買うことではない。何を入力し、何が大きくなったかを見ることである。手数は減る。見る対象は、むしろ増える。</p>

<h2 id="同じ語が二つの帰結を指している">同じ語が、二つの帰結を指している</h2>

<p>対応は、次のように整理できる。</p>

<table>
  <thead>
    <tr>
      <th> </th>
      <th>よく使われる増幅器</th>
      <th>誤りの増幅器</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>入力</td>
      <td>判断できる作業、制約、検証の手段</td>
      <td>未検証の生成、読めない出力の通過</td>
    </tr>
    <tr>
      <td>増えるもの</td>
      <td>到達範囲、試作の回数、下書きの速度</td>
      <td>流暢な誤り、根拠のない完成品</td>
    </tr>
    <tr>
      <td>人間の位置</td>
      <td>採否できる場所に立つ</td>
      <td>通した理由を後から答えられない</td>
    </tr>
    <tr>
      <td>装置の役割</td>
      <td>足場の隣（低い層の負荷を外へ出す）</td>
      <td>放棄の加速</td>
    </tr>
  </tbody>
</table>

<p>肯定用法が間違っている、とは思わない。手が届く範囲が広がる感覚は、実務でも起きる。問題は、その感覚だけを残して、入力側を見なくなることである。</p>

<p>「読みさえできれば」で書いた条件と、ここは同じ線にある。読めて、検証できて、採否を引き受けられるとき、外部化は足場になる。それが無いとき、同じ外部化は誤りの増幅器になる。増幅器という語が二つあるのではなく、条件の有無で、同じ装置の帰結が分かれる。</p>

<h2 id="効く範囲と効かない範囲">効く範囲と、効かない範囲</h2>

<p>この比喩が効くのは、装置が入力を大きくする、という一点である。善意も悪意もなく、渡したものの振幅を上げる。だからこそ、何を渡すかが残る。</p>

<p>ただし、音響の増幅器とAIは同じではない。</p>

<p>音響では、入力波形と出力波形の対応が比較的はっきりしている。歪みがあっても、何が大きくなったかを追いやすい。AIの出力は、入力の拡大というより、別の完成品に見えることがある。増えているのが元の判断なのか、それらしい補完なのかは、見た目だけでは分からない。</p>

<p>だから、増幅器という語を肯定のまま使うと、完成品が増えたことを、能力が増えたことと取り違えやすい。否定のまま使うと、速度や射程が本当に広がる局面まで、使ってはいけない話に見える。どちらも、語の片側だけを固定した読みである。</p>

<p>個人の作業で到達範囲が広がることと、組織の成果が検証可能になることも、同じではない。一人の試作が速くなることと、障害時に答えられることは、別の層である。増幅器を組織のスローガンにすると、この差が消えやすい。</p>

<h2 id="足場は増幅器の別名ではない">足場は、増幅器の別名ではない</h2>

<p>サイト名の「認知の足場」は、生成を止める枠ではない。低い層の負荷を外へ置き、人間が判断できる位置に立つための枠である。増幅器が入力を大きくするのに対し、足場は、大きくなったものをどこで引き受けるかを決める。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.21987487">AIによる認知スキャフォールディングとアイデア発散傾向の構造化</a>』で扱ったのも、この分業である。発散や下書きは外へ出してよい。主張の強さと採否は、人間に残す。外へ出すこと自体が増幅であり、残す位置が足場である。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22054034">地頭至上主義の系譜と認知資源の多元主義</a>』の立場から言えば、頭の中だけで処理したか、機械で増やしたかは、正当性の基準にならない。増やした出力を検証し、統合し、その使用に責任を持てるかが残る。増幅したという事実は、成果の品質を保証しない。</p>

<p>『<a href="https://doi.org/10.5281/zenodo.22065716">答え責任と外部化の線引き：AI協働における認知作業の委譲原理</a>』で整理した境界は、ここでも使える。外部化できるのは、人間が根拠を示し、誤りを検出し、採否を決められる範囲に限る。その範囲の外で増幅すれば、増えるのは引き受けられない出力である。</p>

<p>先の「<a href="https://hideshi.github.io/blog/2026/08/27/ai-era-programming-language-choice/">AIがコードを書く時代に、なぜ「お気に入りの言語」を持つのか</a>」も、同じ問題の別面である。生成が速くなるほど、何を正しいとするかの基準点が要る。基準のない増幅は、候補を増やすだけである。</p>

<h2 id="何を増幅するかを決める">何を増幅するかを決める</h2>

<p>増幅器は、能力を伸ばす装置ではない。入力を大きくする装置である。能力が伸びて見えるのは、入力側に、すでに判断と検証があるときである。</p>

<p>よく使われる肯定用法は、その条件を省略していることが多い。省略しても、日常の試作では足りることがある。足りなくなるのは、流暢な出力を成果として通すときである。そのとき増えているのは、人間の射程ではなく、通った文とコードの量である。</p>

<p>何を増幅するかを決める、というのは、スローガンを選ぶことではない。依頼に制約を付ける、出力を読む、検証する、採否を残す、という作業を、増幅の前に置くことである。それが揃った増幅器は、足場の隣にある。揃わない増幅器は、誤りの増幅器である。</p>

<p>語を捨てる必要はない。語の片側だけを残すと、楽になった話と、壊れ方が速くなった話が、同じ文に見えてしまう。見るべきなのは、増幅そのものではなく、何が大きくなっているかである。</p>]]></content><author><name>認知の足場</name></author><category term="AI駆動開発" /><category term="答え責任" /><category term="認知スキャフォールディング" /><category term="外部化" /><summary type="html"><![CDATA[AI活用で増幅器は、人間の能力を伸ばす肯定語として使われやすい。同じ装置は、読めて検証して採否できるときは足場の隣にあり、それが無いときは誤りの増幅器になる。問題は増幅そのものではなく、入力の質である。]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://hideshi.github.io/blog/assets/images/og-what-the-amplifier-amplifies.jpg" /><media:content medium="image" url="https://hideshi.github.io/blog/assets/images/og-what-the-amplifier-amplifies.jpg" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>