<feed xmlns="http://www.w3.org/2005/Atom" xmlns:cc="http://web.resource.org/cc/">
	<title>List of Engineering [text.Baldanders.info]</title>
	<link rel="alternate" type="text/html" href="https://text.baldanders.info/tags/engineering/" />
	<link rel="self" type="application/atom+xml" href="https://text.baldanders.info/tags/engineering/index.xml" />
	<id>tag:text.Baldanders.info,2026-09-26:/tags</id>
	<updated>2026-09-26T18:15:43+09:00</updated>
	<subtitle>帰ってきた「しっぽのさきっちょ」</subtitle>
	<icon>https://text.baldanders.info/images/avatar.jpg</icon>
	<logo>https://text.baldanders.info/images/avatar.jpg</logo>

	<entry>
		<title>バベッジの憂鬱とヒルベルトの幽霊 — 『我ら、プログラマー』オンライン読書会 第2回目</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/09/reading-we-programmers-2/" />
		<id>tag:text.Baldanders.info,2026-09-26:/remark/2026/09/reading-we-programmers-2/</id>
		<published>2026-09-26T09:15:43+00:00</published>
		<updated>2026-09-26T09:36:57+00:00</updated>
		<summary>バベッジと階差機関 / ヒルベルト・プログラムと不完全性理論</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;『&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34; target=&#34;_blank&#34; title=&#34;我ら、プログラマー AdaからAIまで、コーダーたちの年代記 | ZEN大学出版会&#34;&gt;我ら、プログラマー&lt;/a&gt;』オンライン読書会の２回目。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://technical-book-reading.connpass.com/event/404629/&#34; target=&#34;_blank&#34;&gt;第2回『我ら、プログラマー』オンライン読書会 (2026/09/26 13:00〜)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;バベッジと階差機関&lt;/h2&gt;
&lt;p&gt;今回は第2章の&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%81%E3%83%A3%E3%83%BC%E3%83%AB%E3%82%BA%E3%83%BB%E3%83%90%E3%83%99%E3%83%83%E3%82%B8&#34; target=&#34;_blank&#34; title=&#34;チャールズ・バベッジ - Wikipedia&#34;&gt;チャールズ・バベッジ&lt;/a&gt;（Charles Babbage, 1791-1871）の&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E9%9A%8E%E5%B7%AE%E6%A9%9F%E9%96%A2&#34; target=&#34;_blank&#34; title=&#34;階差機関 - Wikipedia&#34;&gt;階差機関&lt;/a&gt;から。
FGO じゃないよ（笑）&lt;/p&gt;
&lt;p&gt;『&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34; target=&#34;_blank&#34; title=&#34;我ら、プログラマー AdaからAIまで、コーダーたちの年代記 | ZEN大学出版会&#34;&gt;我ら、プログラマー&lt;/a&gt;』でも紹介されているが，再現された2号機の方は YouTube で見ることができる。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;nobox&#34; cite=&#34;https://www.youtube.com/watch?v=be1EM3gQkAY&#34;&gt;&lt;div style=&#34;position: relative; margin: 0 2rem; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden;&#34;&gt;
&lt;iframe class=&#34;youtube-player&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%;&#34; allowfullscreen frameborder=&#34;0&#34; src=&#34;https://www.youtube-nocookie.com/embed/be1EM3gQkAY&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=be1EM3gQkAY&#34;&gt;The Babbage Difference Engine #2 at CHM - YouTube&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;これの制作はめっちゃ大変だったらしい。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;だが、制作した人は苦労の連続だったようだ。&lt;/p&gt;
&lt;p&gt;ハンドルを少しでも回すと固まってしまうのだ。各部品は機械のタイミングに合わせて他の部品と完全に連携する必要があったが、バベッジはこのことを考慮していなかったようだ。この問題を把握していたかどうかも定かではない。&lt;/p&gt;
&lt;p&gt;機械のデバッグ、連携、修理を少しずつ繰り返しながら、11か月が過ぎた。機械が固まるまでクランクを回し、ドライバーやプライヤーで内部をいじりながら、遊びの有無を確認することもあった。抵抗の場所を見つけるために意図的に部品を壊すこともあった。細かい再設計をすることもあった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第2章 p.56&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;うわぁ。
デバッグの出来ない「コード」とか，どっかで聞いたような話で，過去のトラウマがフラッシュバックする！&lt;/p&gt;
&lt;p&gt;著者の Robert C. Martin はバベッジをこう評している。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;バベッジは、発明家であり、機械いじり屋であり、ビジョナリーであり、そしてプログラマーだった。残念ながら、我々の多くがそうであるように、彼は「完璧を善の敵」にしてしまった。我々の多くがそうであるように、彼は自分の設計を過信し、漸進的な考え方をほとんど、あるいはまったく考慮しなかった。我々の多くがそうであるように、彼はアイデアにすぐ夢中になり、80%まで考えることには満足したが、労力の80%を要する最後の20%になると、その熱意を維持することができなかった。&lt;/p&gt;
&lt;p&gt;エジソンが「発明とは1%のひらめきと99％の努力である」と言ったそうだ。バベッジは1%の部分では偉大だったが、99%の部分を乗り越えることができなかった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第2章 p.57&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;耳が痛いです，先生（笑） やっぱ（良くも悪くも）先人の業績に学ぶってのは大事なんだなぁ。&lt;/p&gt;
&lt;p&gt;一方で，&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E9%9A%8E%E5%B7%AE%E6%A9%9F%E9%96%A2&#34; target=&#34;_blank&#34; title=&#34;階差機関 - Wikipedia&#34;&gt;階差機関&lt;/a&gt;から発展させた（そして実現しなかった）&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E8%A7%A3%E6%9E%90%E6%A9%9F%E9%96%A2&#34; target=&#34;_blank&#34; title=&#34;解析機関 - Wikipedia&#34;&gt;解析機関&lt;/a&gt;の評価については次の第3章の冒頭にこう書かれている。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;バベッジの解析機関の重要な点は、命令とデータが異なる場所に保存されていたことである。データは回転するカウンタで造られたレジスタに保存されていた。命令は木製のカードに穴としてエンコードされていた。&lt;/p&gt;
&lt;p&gt;命令とデータの分離は、哲学的にも実用的にも合理的だった。命令は動詞だが、データは名詞だ。データは実行中に変化するが、命令は変化しない。つまり、両者は性質も目的も明らかに違う。もっと重要なのは、変更可能なメモリは高価であり、木製のカードに穴を開けるのは安価だったことだ。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第3章 p.59&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;命令とデータの分離は，この機械がただの計算機械ではないことを示している。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;繰り返しになるが、バベッジは自身の機関で記号を操作できることに気づいてなかった、という主張は否定されなければならない。第一に、彼は解析機関にチェスをプレイさせるようにプログラムできると考えていた。つまり、チェス盤、駒、指し手を記号化できる能力があったということだ。また、機械が適切にプログラミングされていれば、記号代数も実現可能だと述べている。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;この日、私ははじめて、文字の値を参照することなく機械に代数的な展開を実行できる可能性について、大まかではあるが漠然とした着想を得た。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;バベッジは気づいていたのである。バベッジはプログラマーだった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第2章 p.51-52&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2&gt;ヒルベルト・プログラムと不完全性理論&lt;/h2&gt;
&lt;p&gt;さて，第3章は20世紀に時代が移り，&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%95%E3%82%A3%E3%83%83%E3%83%88%E3%83%BB%E3%83%92%E3%83%AB%E3%83%99%E3%83%AB%E3%83%88&#34; target=&#34;_blank&#34; title=&#34;ダフィット・ヒルベルト - Wikipedia&#34;&gt;ダフィット・ヒルベルト&lt;/a&gt;（David Hilbert, 1862-1943）の登場から始まる。
あの「&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%92%E3%83%AB%E3%83%99%E3%83%AB%E3%83%88%E3%83%BB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&#34; target=&#34;_blank&#34; title=&#34;ヒルベルト・プログラム - Wikipedia&#34;&gt;ヒルベルト・プログラム&lt;/a&gt;」のヒルベルトである（ゼノサーガじゃないよ）。
そして「&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%92%E3%83%AB%E3%83%99%E3%83%AB%E3%83%88%E3%83%BB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0&#34; target=&#34;_blank&#34; title=&#34;ヒルベルト・プログラム - Wikipedia&#34;&gt;ヒルベルト・プログラム&lt;/a&gt;」と言えば&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AB%E3%83%88%E3%83%BB%E3%82%B2%E3%83%BC%E3%83%87%E3%83%AB&#34; target=&#34;_blank&#34; title=&#34;クルト・ゲーデル - Wikipedia&#34;&gt;クルト・ゲーデル&lt;/a&gt;（Kurt Gödel, 1906-1978）の&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%82%B2%E3%83%BC%E3%83%87%E3%83%AB%E3%81%AE%E4%B8%8D%E5%AE%8C%E5%85%A8%E6%80%A7%E5%AE%9A%E7%90%86&#34; target=&#34;_blank&#34; title=&#34;ゲーデルの不完全性定理 - Wikipedia&#34;&gt;不完全性定理&lt;/a&gt;であろう。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;カンファレンス最終日の円卓討論において、それはヒルベルトの「Wir mussen wissen. Wir werden wissen」の退官記念講演の前夜のことだったが、ゲーデルは静かに爆弾を投下した。「ゴールドバッハやフェルマーの命題がそうであるように、内容的に真であるが、古典数学の形式体系では証明できない命題がある」。言い換えれば、数学には証明できない真の命題が存在する。すなわち数学は&lt;strong&gt;不完全&lt;/strong&gt;である、というものだった。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第3章 p.62&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;もちろんこれは数学がダメだということではなく，次の段階に進ませるものだ。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;今のところは、そして本書の目的のためには、ヒルベルトの壮大な失敗の本質について考察することが重要である。ヒルベルトの夢を打ち砕いたゲーデル、チャーチ、チューリングの証明は、本質的に&lt;strong&gt;アルゴリズム&lt;/strong&gt;に関するものであった。明確に定義された一連の手順で。データのまとまりを別のまとまりに変換する反復的な機構に依存していた。抽象的に言えば、それらはコンピュータープログラムであったと言える。ゲーデル、チャーチ、チューリングはプログラマーであり、ダフィット・ヒルベルトと彼が提唱した一階述語論理が、彼らのインスピレーションの源であった。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第3章 p.62&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;というところで，3章はまだまだ続くけど，今回の読書会はここまで。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2026/08/reading-we-programmers-1/&#34; target=&#34;_blank&#34;&gt;我々は何者か？ — 『我ら、プログラマー』オンライン読書会 第1回目&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/f8857b98ed744888d3908699ff74af46038c5446.jpg&#34; width=&#34;150&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;我ら、プログラマー 　AdaからAIまで、コーダーたちの年代記 | ZEN大学出版会&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;我ら、プログラマー 　AdaからAIまで、コーダーたちの年代記 について、詳細・ご購入はこちらから&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2026-06-29&#34;&gt;2026-06-29&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 「ボブおじさん」による最新刊？ かな。2世紀以上に渡るコンピュータとプログラマの歴史と回顧録。気楽な読み物として楽しめる。デジタル化希望！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- https://zen.ac.jp/press/books/b_0013 我ら、プログラマー --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/B00I8AT1D6?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/41I26OVyotL._SL160_.jpg&#34; width=&#34;113&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/B00I8AT1D6?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;数学ガール／ゲーデルの不完全性定理&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;結城 浩 (著)&lt;/dd&gt;
    &lt;dd&gt;SBクリエイティブ 2009-10-23 (Release 2014-03-12)&lt;/dd&gt;
    &lt;dd&gt;Kindle版&lt;/dd&gt;
    &lt;dd&gt;B00I8AT1D6 (ASIN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 結城浩さんの本はよく整備された遊歩道を散歩するような気楽さと安心感がある。だから「フェルマーの最終定理」とか「ゲーデルの不完全性定理」とかいった難解そうなテーマでも，迷うことなく，しかも一歩ずつ歩みを進めてゴールまで辿り着けるのかもしれない。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2014-10-21&#34;&gt;2014-10-21&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 数学ガール／ゲーデルの不完全性定理 --&gt;&lt;/p&gt;
</content>
	</entry><entry>
		<title>AI エージェントを VM に入れれば安全か？</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/09/vm-agent-safety/" />
		<id>tag:text.Baldanders.info,2026-09-06:/remark/2026/09/vm-agent-safety/</id>
		<published>2026-09-06T05:39:37+00:00</published>
		<updated>2026-09-06T05:52:59+00:00</updated>
		<summary>既製の VM は高機能 AI エージェントの隔離手段として十分ではなく，VM に対する攻撃面（attack surface）を減らすか環境全体での多層防衛が必要</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;昨今は「&lt;a href=&#34;https://text.baldanders.info/remark/2026/07/what-is-an-autonomous-ai-agent/#attack&#34; target=&#34;_blank&#34; title=&#34;それは「AI の暴走」ではない -- 自律的な AI エージェントとは&#34;&gt;AI の暴走&lt;/a&gt;」が話題だが，我らが Bruce Schneier 先生の&lt;a href=&#34;https://www.schneier.com/blog/archives/2026/09/using-a-vm-to-contain-an-ai-agent.html&#34; target=&#34;_blank&#34; title=&#34;Using a VM to Contain an AI Agent - Schneier on Security&#34;&gt;記事&lt;/a&gt;経由で，以下の記事を紹介してみる&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34; target=&#34;_blank&#34;&gt;VMs won&amp;rsquo;t contain cyber-capable agents&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ものすごく簡単に要約すると，既製の VM は高機能 AI エージェントの隔離手段として十分ではなく，VM に対する攻撃面（attack surface）を減らすか環境全体での多層防衛が必要という内容である。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;you can no longer assume a mere VM will contain a sufficiently advanced AI agent. To use a 2010s term of art, you should treat such agents as an advanced persistent threat.&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;VMs won&amp;#39;t contain cyber-capable agents&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;条件及び課題は以下の通り（&lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; による要約）。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;項目&lt;/th&gt;
					&lt;th&gt;内容&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;AIエージェント&lt;/td&gt;
					&lt;td&gt;GPT 5.6-Cyber&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;仮想化環境&lt;/td&gt;
					&lt;td&gt;QEMU／KVM&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ゲストOS&lt;/td&gt;
					&lt;td&gt;Debian Linux 12&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;CPU環境&lt;/td&gt;
					&lt;td&gt;AMD Zen 3&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;課題&lt;/td&gt;
					&lt;td&gt;VMから脱出し，ホスト側に置かれたフラグファイルを読み取るCTF形式の課題&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;エージェントの権限&lt;/td&gt;
					&lt;td&gt;VM内では任意の操作が可能&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;接続方法&lt;/td&gt;
					&lt;td&gt;SSHでVMへ接続&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;実験上の重要な点は，AIエージェントをVMの中から起動したのではなく，&lt;strong&gt;VMの外側で起動し，SSH経由でVMを操作させた&lt;/strong&gt;ことです。エージェントはVM内で自由にコマンドを実行できましたが，ホスト側には直接アクセスできない設定でした。&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;今どきの AI エージェントの凄いところは，幾つものサブエージェントを並行して起動し，失敗を修正しつつ試行錯誤を繰り返し，持ってる知識と知り得る情報を駆使し，目標達成のためなら手段を選ばないところにある。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;&lt;p&gt;The agent searched diligently and backtracked from multiple paths that led to failure. First it tried identifying what was accessible via the network on the host; it found a CUPS server (with a &lt;a href=&#34;https://security-tracker.debian.org/tracker/CVE-2026-34990&#34; target=&#34;_blank&#34;&gt;known CVE that had not made it to oldstable packages&lt;/a&gt;), but was not able to complete exploitation due to AppArmor. It then detected I &lt;a href=&#34;https://www.phoronix.com/review/zen-3-spectre&#34; target=&#34;_blank&#34;&gt;run my host kernel with &lt;code&gt;mitigations=off&lt;/code&gt;&lt;/a&gt; and attempted to use hardware bugs to get a read oracle of host memory (the primitive was too unreliable).&lt;/p&gt;
&lt;p&gt;Eventually it went on a bug-hunting analysis of the host kernel source, QEMU, and associated libraries. It slowly chained together multiple vulnerabilities, including several 0-day bugs, until it could craft a reliable VM escape.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;VMs won&amp;#39;t contain cyber-capable agents&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;「手段を選ばない」には人間社会の倫理観に反する行動も含まれる。
そもそもハッキングは人間社会という文脈と盤面を引っくり返す行為で，その対象はシステムやルールのみならず倫理にも及ぶ（まさに米国トランプ政権が派手にやってることだ）。
人間様がやってるんだから AI がやらないわけがない（笑）&lt;/p&gt;
&lt;p&gt;GPT 5.6-Cyber は実験中に3回 VM からの脱出に成功したらしい（以下も &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; による要約）。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;&lt;strong&gt;1回目：JanusCapeの利用&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;最初の脱出では，&lt;strong&gt;JanusCapeと呼ばれる脆弱性，CVE-2026-53359&lt;/strong&gt;が使われました。&lt;/p&gt;
&lt;p&gt;この種の攻撃は，VMやエミュレーターがゲストOSから受け取るデータを適切に検証しないことを利用します。ゲスト側から細工した入力を送り，QEMUなどホスト側で動作するコンポーネントに異常な処理をさせることで，ゲストの権限を越えてホスト側の処理へ到達します。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2回目：libslirpと未割り当てバグの組み合わせ&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;2回目の脱出では，QEMUのネットワーク機能に関連する&lt;strong&gt;libslirpのCVE-2026-9539&lt;/strong&gt;と，まだCVE番号が割り当てられていないバグ修正コミットが組み合わされました。これにより，ホストメモリの任意の読み取りと書き込みが可能になったとされています。&lt;/p&gt;
&lt;p&gt;この事例は特に示唆的です。単一の脆弱性を突いただけでなく，次のような攻撃チェーンを構成しています。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;ネットワーク処理に存在する脆弱性を利用する&lt;/li&gt;
&lt;li&gt;追加の不具合や修正前の挙動を組み合わせる&lt;/li&gt;
&lt;li&gt;本来アクセスできないホスト側のメモリへ到達する&lt;/li&gt;
&lt;li&gt;メモリの読み書きを通じて，さらに権限を拡大する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;3回目：複数の0-dayを含む脆弱性チェーン&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;3回目には，複数の0-dayを含む脆弱性チェーンが使われました。&lt;/p&gt;
&lt;p&gt;0-dayとは，開発者や防御者が十分に把握・修正できていない脆弱性を指します。ここで重要なのは，AIが単に公開済みの脆弱性データベースを検索しただけではない点です。実験結果が示すところでは，AIエージェントはソフトウェアの挙動を調べ，未知の問題を発見し，それらを連鎖させて脱出に利用しました。&lt;/p&gt;
&lt;p&gt;これは，AIエージェントを「既知の攻撃コードを実行する自動化ツール」とみなすだけでは不十分だということを意味します。&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;さて，このように多彩な攻撃ができるようになった AI エージェントを如何に封じ込めて制御するか，あるいは攻撃から防御するか。
記事では既製の VM では不十分だと主張している。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;An off-the-shelf VM is not enough to contain a modern, cyber-capable AI agent. There is simply too much attack surface. Even innocuous features (like running with a display) add extra, exploitable attack surface.&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;VMs won&amp;#39;t contain cyber-capable agents&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;VM については，最小限の攻撃面とセキュリティに重点を置いて意図的に設計された仮想化技術を使うべきとしている。
その上で，最小特権，ログの取得，アクティブな監視，エージェントの操作時間の制限，使用ごとに環境をクリーンアップすること，などを推奨している。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;A start is using a virtualization technology that was purposely built with a minimal attack surface and a focus on security, like &lt;a href=&#34;https://firecracker-microvm.github.io/&#34; target=&#34;_blank&#34;&gt;Firecracker&lt;/a&gt;. I had the AI agent run against Firecracker. It was able to hardlock the machine due to more Linux kernel flaws (all patched in upstream), but could not successfully escape. It may have, given even more time, but Firecracker is obviously a substantially harder target. In general, we have to become much more attentive to security fundamentals: least privilege (regarding network access, credentials, available features, etc.), logging, and active monitoring. Further, we can limit the time agents have to operate and ensure a pristine environment for each use.&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;VMs won&amp;#39;t contain cyber-capable agents&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;もちろん OS を含むディストリビューションの更新は必須なのだが，その運用は従来よりシビアになるかもしれない。
記事の筆者は，今となっては古い Debian 12 を好んで使っているそうだが（安定志向），上流のアップデートを即時に受けられないため，脆弱とみなしているようだ。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;A distribution with rapid updates is now a requirement. I love older, stable software, but the cycle of backporting patches is simply too long. An older distribution (like Debian 12, my old standby) that isn’t getting immediate upstream updates should be assumed vulnerable. A competent agent will discover these bugs quickly and synthesize target-specific exploits.&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://blog.trailofbits.com/2026/08/26/vms-wont-contain-cyber-capable-agents/&#34;&gt;VMs won&amp;#39;t contain cyber-capable agents&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;セキュリティ・サポートが継続されているから OK とはならないということだ。&lt;/p&gt;
&lt;p&gt;思うのだが，脆弱性を溜めるだけ溜め込んで気が向いたときにだけアップデートを提供する macOS や，対応する脆弱性の優先順位が不明で発見者がシビレを切らして公開してしまう Windows なんかはどうなんだろうねぇ。
あとは財務的な支援を受けにくく脆弱性の発見と対策が後手に回りがちな FOSS 製品は，ますます厳しい状況になるかもしれない。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://firecracker-microvm.github.io/&#34; target=&#34;_blank&#34;&gt;Firecracker&lt;/a&gt; : 今回紹介した記事でオススメの VM。 Linux 用&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2026/02/the-promptware-kill-chain/&#34; target=&#34;_blank&#34;&gt;「プロンプトウェア・キルチェーン」&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://bookplus.nikkei.com/atcl/catalog/23/09/25/01018/&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/f49db55e98f0eb56c864acd2ee6f4da8da10016c.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://bookplus.nikkei.com/atcl/catalog/23/09/25/01018/&#34;&gt;ハッキング思考 強者はいかにしてルールを歪めるのか、それを正すにはどうしたらいいのか&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;富裕層、権力者、急成長企業はシステムをハッキングして成功した。AI時代にルールを味方につけるには、「正しいハッキングの考え方」が必要だ。&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2023-10-16&#34;&gt;2023-10-16&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; Kindle 版あり&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- ハッキング思考 --&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;今回紹介した記事を含む&lt;a href=&#34;https://blog.trailofbits.com/&#34; target=&#34;_blank&#34; title=&#34;The Trail of Bits Blog&#34;&gt;ブログ&lt;/a&gt;の更新は Mastodon の &lt;a href=&#34;https://infosec.exchange/@trailofbits&#34; target=&#34;_blank&#34; title=&#34;Trail of Bits (@trailofbits@infosec.exchange) - Infosec Exchange&#34;&gt;&lt;code&gt;@trailofbits@infosec.exchange&lt;/code&gt;&lt;/a&gt; でも確認できる。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>ロケットとミサイルに関する居酒屋トーク</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/08/rocket-missile-talk/" />
		<id>tag:text.Baldanders.info,2026-08-30:/remark/2026/08/rocket-missile-talk/</id>
		<published>2026-08-30T03:27:34+00:00</published>
		<updated>2026-08-30T06:09:13+00:00</updated>
		<summary>明け方の AI とのバカ話</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;たぶん夜中に変な夢を見たんだろう。
憶えちゃいないが。&lt;/p&gt;
&lt;p&gt;起きぬけにふと「ロケットとミサイルの違いって何だっけ？」と思いついた。
とりあえずメモ代わりに &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; に訊いてみた（←よくやる）。&lt;/p&gt;
&lt;div class=&#34;box&#34;&gt;ロケットとミサイルの定義上の違いを教えて。またそれぞれの歴史についても簡単にまとめてください。 Web 上の参考資料があればそれも挙げてください&lt;/div&gt;
&lt;p&gt;文体が乱れてるのは起きぬけだからということで（笑） 返ってきた答えがまぁまぁ面白かったので，何の役にも立たないであろう居酒屋トークではあるが，記事として残しておく。
AI とのやりとりをそのまま載せると冗長になるので，人間である私が要約してお送りする。&lt;/p&gt;
&lt;p&gt;まずは防衛大学のサイトに定義が載っているので引用しておく。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.nda.ac.jp/cc/aerospace/column/20250930_p5rty_20250930_zjn.html&#34;&gt;&lt;p&gt;どちらも固体や液体の燃料を使って飛翔することは同じです。一応、次のような定義になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ロケット　：おおよそ垂直に上昇し弾道軌道を描くロケット推進の輸送手段。&lt;/li&gt;
&lt;li&gt;ミサイル　：推進力を持ち誘導される武器。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;水平離着陸方式の宇宙往還機スペースプレーンの構想もあるので、ロケットの定義に「垂直に」の一言が入っています。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.nda.ac.jp/cc/aerospace/column/20250930_p5rty_20250930_zjn.html&#34;&gt;防衛大学校 航空宇宙工学科 | ロケットとミサイルの違いは？&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ポイントとしては「ロケット」が主に推進方式（またはその推進方式を使った輸送手段&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;）を指すのに対し「ミサイル」は明確に武器・兵器を指す言葉であるという点かな。
巡航ミサイルは主にジェットエンジンらしいので，ミサイルがみんなロケット（推進方式）というわけではないようだ。&lt;/p&gt;
&lt;p&gt;近代の実用的なロケットの祖はナチスドイツ時代の V-2 と言われているが&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，その前の V-1 はジェット推進だったそうな。
V-2 はロケットであると同時に（ロケット推進の）長距離弾道ミサイルでもある。&lt;/p&gt;
&lt;p&gt;ちなみにロケット推進もジェット推進も質量を後ろに投げる反動（反作用）を利用している点では同じだが，ロケットが燃料も酸化剤（液体酸素など）も内包しているのに対し，ジェット推進は酸化剤（＝大気）を外部から取り入れて燃焼させる点が大きく異なる。
自前で抱える（燃料等の）質量が少なくて済む分，大気中ではジェット推進のほうが効率的だが，外部調達が出来ない宇宙空間ではロケット推進が必須ということになる。&lt;/p&gt;
&lt;p&gt;小惑星探査機のはやぶさ等に積まれているイオンエンジンも工学的（推進剤を抱えて後ろに放り投げることで推力を得る）にはロケットと同じだが，燃料から化学燃焼でエネルギーを得るのではなく，イオン化した物質を電磁場で加速（電気エネルギーは太陽光発電で外部から調達できる）して後ろに放り投げることで推力を得るので&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;，従来のロケット推進と区別して「イオン推進」と呼ばれたりするようだ。&lt;/p&gt;
&lt;p&gt;そういやロケットとミサイルの語源的な違いはなんだろうと，こいつも &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; に訊いてみた。
以下が回答。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;&lt;strong&gt;語源から見た違い&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;語&lt;/th&gt;
					&lt;th&gt;直接の語源&lt;/th&gt;
					&lt;th&gt;もともとの意味&lt;/th&gt;
					&lt;th&gt;現代の中心的な意味&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ロケット&lt;/td&gt;
					&lt;td&gt;イタリア語 &lt;strong&gt;rocchetto／rocchetta&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;糸巻き，紡錘に似た円筒形のもの&lt;/td&gt;
					&lt;td&gt;ロケット推進で飛ぶ装置や飛翔体&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ミサイル&lt;/td&gt;
					&lt;td&gt;ラテン語 &lt;strong&gt;missile／missilis&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;投げられるもの，投射兵器&lt;/td&gt;
					&lt;td&gt;誘導・推進装置などを備えた攻撃用飛翔体&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;要するに，語源上も性格が違います。&lt;strong&gt;ロケット&lt;/strong&gt;は形状や火工品との結び付きから生まれた名称であるのに対し，&lt;strong&gt;ミサイル&lt;/strong&gt;は「投げる，放つ」という動作から生まれた名称です。&lt;/p&gt;
&lt;p&gt;そのため，現代の用法でも，ロケットは「推進の仕組み」に重点があり，ミサイルは「標的に向けて投射される兵器」という用途に重点があります。&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;ロケットってイタリア語が語源なのか&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。
いや，ロケットを「空飛ぶ男○&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;」とか揶揄するみたいな話を聞いたことがあるので，そっち系の語源かと思ってたよ。
ゴメンペコン &lt;abbr class=&#34;emoji-chars&#34; title=&#34;ペコン&#34;&gt;🙇&lt;/abbr&gt;&lt;/p&gt;
&lt;p&gt;こんな感じで，たまに AI とバカ話をしている。
これでこっぽし。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://pwg.gsfc.nasa.gov/stargaze/Sgoddard.htm&#34; target=&#34;_blank&#34;&gt;(26) Robert Goddard and His Rockets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.britannica.com/technology/missile&#34; target=&#34;_blank&#34;&gt;Missile | Rockets, Guidance &amp;amp; Defense Systems | Britannica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.britannica.com/technology/rocket-and-missile-system/Tactical-guided-missiles&#34; target=&#34;_blank&#34;&gt;Rocket and missile system - Tactical guided missiles | Britannica&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.etymonline.com/word/rocket&#34; target=&#34;_blank&#34;&gt;Rocket - Etymology, Origin &amp;amp; Meaning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.merriam-webster.com/dictionary/missile&#34; target=&#34;_blank&#34;&gt;MISSILE Definition &amp;amp; Meaning - Merriam-Webster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.merriam-webster.com/dictionary/rocket&#34; target=&#34;_blank&#34;&gt;ROCKET Definition &amp;amp; Meaning - Merriam-Webster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.jaxa.jp/article/special/hayabusa/kuninaka_j.html&#34; target=&#34;_blank&#34;&gt;JAXA｜イオンエンジンの可能性にかけて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.isas.jaxa.jp/j/enterp/missions/hayabusa/techno_1.shtml&#34; target=&#34;_blank&#34;&gt;ISAS | 電気推進  / 技術的特徴&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;しばしばロケットを vehicle と呼ぶのも「乗り物」「輸送手段」という意味合いが強いからだと思う。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;アメリカ人は「近代ロケットの祖はゴダードの液体燃料ロケットだろ」と言うかもしれんけど（笑） Robert H. Goddard は実験レベルで1926年に液体燃料ロケットの飛行を成功させた人物で，米国では彼を「ロケットの父」と呼んでるらしい。一方，ナチスドイツの V-2 液体燃料ロケット（1942年？）は実用の大型軍事兵器で Wernher von Braun を中心としたチームによる開発と言われている。両者に関連は（盗用も）なく，それぞれ独立の開発のようだ。 Wernher von Braun 氏は第二次世界大戦後米国に帰化しアポロ計画などにも関わっている。ちなみに V-2 の &amp;ldquo;V&amp;rdquo; は &amp;ldquo;Vergeltungswaffe&amp;rdquo; (報復兵器) の略だそうな。コワイデスネ&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;イオンエンジンは効率がよく長時間の連続運転が可能なのが利点だが，推力が小さい（はやぶさのイオンエンジンは鼻息程度の推力らしいw）ため，地球重力圏からの脱出のような大出力が必要な場面では使えない。何もない宇宙空間で小さな推力を長時間連続で発生させることで加速させるわけだ。&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;ついでに，アクセサリーのロケットペンダント等の「ロケット」も同じ語源？ って訊いたら，あっちは &amp;ldquo;locket&amp;rdquo; で綴りも語源もちゃうわ！ と怒られた（笑） &amp;ldquo;locket&amp;rdquo; は古フランス語の &amp;ldquo;loquet&amp;rdquo;（小さな留め金）が&lt;a href=&#34;https://www.etymonline.com/word/locket&#34; target=&#34;_blank&#34; title=&#34;Locket - Etymology, Origin &amp;amp; Meaning&#34;&gt;語源&lt;/a&gt;で「留め金，掛け金，かんぬき」みたいな意味らしい。それが蓋を開閉できる装飾用のケースに意味が転じたんだそうな。&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:5&#34;&gt;
&lt;p&gt;下品な表現なので伏せ字にしました（笑） 念のためググったがそれらしい記述は見かけなかった。むぅ。一応 &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; にも訊いたら Thomas Pynchon の「重力の虹（Gravity&amp;rsquo;s Rainbow）」と混同してるんじゃないかと言われた。いや，読んでないし（笑） ほかにも文学・風刺で Pynchon に触発された表現があるのかもしれんとは言われた。「空飛ぶ○根」とはちょっと違うが &lt;a href=&#34;https://www.psywarrior.com/V1RocketLeaf.html&#34; target=&#34;_blank&#34; title=&#34;V1 Rocket Propaganda Leaflets&#34;&gt;V-1 関連資料&lt;/a&gt;にヒトラーの尻に V-1 がぶっ刺さろうとするビラがあって，ちょっと笑った。&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>我々は何者か？ — 『我ら、プログラマー』オンライン読書会 第1回目</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/08/reading-we-programmers-1/" />
		<id>tag:text.Baldanders.info,2026-08-22:/remark/2026/08/reading-we-programmers-1/</id>
		<published>2026-08-22T09:06:11+00:00</published>
		<updated>2026-08-23T00:16:58+00:00</updated>
		<summary>目次を除いて315頁ほどだが，文字が詰め詰めで見た目よりボリュームがある。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;&lt;a href=&#34;https://technical-book-reading.connpass.com/&#34; target=&#34;_blank&#34; title=&#34;技術書読書会 - connpass&#34;&gt;技術書読書会&lt;/a&gt;にて，今日から新しい本の読書会が始まった。&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://technical-book-reading.connpass.com/event/401737/&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/850705d1a7fba6036d054e542005f3e2ba619166.png&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://technical-book-reading.connpass.com/event/401737/&#34;&gt;第1回『我ら、プログラマー』オンライン読書会 (2026/08/22 13:00〜)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;### 書籍『我ら、プログラマー』をオンラインで読む読書会です。    * 毎月1回開催します。   * 読書会なので、書籍を読んでいきます。   * 基本的に（紙の本の）ほぼ1頁単位で、参加者に読んでもらいながら、内容に関して必要に応じて議論する形式で進めます。   * 書籍『我ら、プログラマー』（Amazon）は、各人で購入してください。  ### オンライン開催について    * Zoomを使って開催しますので、参加者がZoomを各人のPCやタブレットなどに事前に準備をお願いします。   * Zoomへの参加URLは、connpassの参加者へのメッセージ送信機能を使ってメールで送...&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- https://technical-book-reading.connpass.com/event/401737/ 第1回『我ら、プログラマー』オンライン読書会 - connpass --&gt;&lt;/p&gt;
&lt;p&gt;ターゲットとなる書籍はこれ。&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/f8857b98ed744888d3908699ff74af46038c5446.jpg&#34; width=&#34;150&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;我ら、プログラマー 　AdaからAIまで、コーダーたちの年代記 | ZEN大学出版会&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;我ら、プログラマー 　AdaからAIまで、コーダーたちの年代記 について、詳細・ご購入はこちらから&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2026-06-29&#34;&gt;2026-06-29&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 「ボブおじさん」による最新刊？ かな。2世紀以上に渡るコンピュータとプログラマの歴史と回顧録。気楽な読み物として楽しめる。デジタル化希望！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- https://zen.ac.jp/press/books/b_0013 我ら、プログラマー --&gt;&lt;/p&gt;
&lt;p&gt;ボブおじさん（Uncle Bob）こと Robert C. Martin 氏の最新著作？ でいいのかな。
原書 &amp;ldquo;&lt;span&gt;We, Programmers&lt;/span&gt;&amp;rdquo; は2025年出版とある。
ちなみに奥付に「Pearson は、コンテンツ制作の支援を含め、 AI を使用しています」と書いてある（Pearson Education, Inc. は原書の出版社）。
日本語版は紙の本のみ出ている。
目次を除いて315頁ほどだが，文字が詰め詰めで見た目よりボリュームがある。&lt;/p&gt;
&lt;p&gt;今の人数だと1年以上（もしかして2年？）かかるかもって話も出てるので，興味のある方は次回以降，ぜひご参加を（笑）&lt;/p&gt;
&lt;h2&gt;我々は何者か？&lt;/h2&gt;
&lt;p&gt;『&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34; target=&#34;_blank&#34; title=&#34;我ら、プログラマー 　AdaからAIまで、コーダーたちの年代記 | ZEN大学出版会&#34;&gt;我ら、プログラマー&lt;/a&gt;』は4部構成で，第1部は第1章の「我々は何者か？」のみ。
ということで，今回は第1部をさくっと読み終えた。&lt;/p&gt;
&lt;p&gt;「プログラマって何？」というのはかなり根源的な問いで，当事者を抉る言葉だよね。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;プログラマの最初期、プログラマは目に見えない存在だった。注目されていたのは、コンピューターとその大いなる可能性だった。脚光を浴びていたのは、機械とそれを作った人々だった。機械を動かすだけのプログラマーにはだれも注目していなかった。我々は単なるバックグラウンドノイズだった。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.31&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;たとえば，プログラマは EC サイトのコードを書くことはできるが，経済学者ではないし，商品の専門家でも物流や通貨の専門家でもない（逆はあるかもだけど）。
家電や自動車の制御コードは書けるが，家電や自動車の専門家ではない。&lt;/p&gt;
&lt;p&gt;セキュリティの専門家ではないし，法律の専門家でもない。
裁判官ではないし，政治家や官僚でもない。
数学者でも科学者でも工学者でもないし，心理学者でも文学者でも哲学者でもない。&lt;/p&gt;
&lt;p&gt;じゃあ，プログラマって何やねん？&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;では、質問を変えよう。我々はなぜ必要とされるのか？ 我々の仕事になぜ報酬が支払われるのか？ 報酬を支払う人たちは、なぜ自分でやらずに我々に仕事を依頼するのか？&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.32&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;これに関連して，私たちプログラマについての以下の考察が面白かった。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;我々は詳細を愛する。我々は詳細を楽しむ。我々は詳細の川を上流へ泳ぐ。我々は詳細の沼を苦労しながら進む。我々はそれを愛している。我々はそのために生きている。我々は喜び満ちて賢明に取り組む。我々は&amp;hellip;&amp;hellip;詳細の管理者である。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.33&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ここに私たちの存在理由のヒントがある。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;再度、問いたい。我々はなぜ必要とされるのか？ なぜならば、社会には詳細のことを気にかけずにはいられない人々が必要だからだ。&lt;/p&gt;
&lt;p&gt;[&amp;hellip;]&lt;/p&gt;
&lt;p&gt;大多数の人々が詳細から逃げ出す限り、詳細に向かって走る我々のことを必要とするだろう。それが我々なのだ。我々は全世界のための詳細の管理者である。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.35&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;でも社会は「詳細の管理者」を余計な存在と考える。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;&lt;p&gt;長年にわたり、我々は必要悪だった。経営幹部やプロダクトマネージャーは、プログラマーが不要になる日を夢見ていた。それには理由があった。機械の能力と性能が成長し続けていたからだ。ほんの少しの成長ではない。桁違いの成長だ。&lt;/p&gt;
&lt;p&gt;だが、プログラマーを不要とする社会の夢は実現しなかった。それどころかプログラマーの必要性が減少することはなかった。むしろ機械のパワーに追いつくために、その必要性は増加するばかりだった。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.32&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;そもそも「人月」の発想がプログラマを（人材ではなく）コストとする考え方だからね。&lt;/p&gt;
&lt;p&gt;でもこれって，最近もどこかで聞いた話だよね。
そう，企業経営者による「AI でプログラマは不要になる」という話だ。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;現在、彼らは AI が新しい解決策になると考えている。だが、私を信じてほしい。結果は同じだ。パワーが大きくなればなるほど、プログラマーの必要性と地位は高まるばかりである。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0013&#34;&gt;『我ら、プログラマー』第1章 p.32&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ボブおじさんによると，プログラマはなくならないらしいっスよ（笑） まぁ，組織内の役回りは変わるかも知れないけどね。&lt;/p&gt;
&lt;p&gt;というわけで，つかみはOKということで。
第2部は19世紀の「バベッジの階差機関」から始まる（実はちょっとだけ読み進めている）。&lt;/p&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0015&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/9a975e012c9676728deff702fc5a96aac4b456ba.jpg&#34; width=&#34;150&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://zen.ac.jp/press/books/b_0015&#34;&gt;Clean Architecture 達人に学ぶソフトウェアの構造と設計 | ZEN大学出版会&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Clean Architecture 達人に学ぶソフトウェアの構造と設計 について、詳細・ご購入はこちらから&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2026-07-10&#34;&gt;2026-07-10&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 実務に即効性があるわけではないが，ものの「考え方」を示す本としてはよく出来ている。ソフトウェア技術史の読み物としても面白い。デジタル化希望！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- Clean Architecture --&gt;&lt;/p&gt;
</content>
	</entry><entry>
		<title>技術的負債と生成 AI</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/08/technical-debt-and-generative-ai/" />
		<id>tag:text.Baldanders.info,2026-08-05:/remark/2026/08/technical-debt-and-generative-ai/</id>
		<published>2026-08-05T03:00:44+00:00</published>
		<updated>2026-08-10T22:58:18+00:00</updated>
		<summary>顧客に「自分でやったほうがはやい」と思われたら，そこで試合終了</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;ふと思いついて &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; に「生成 AI が世の中に登場してからの大まかな年表って作れる？」って訊いてみたら作ってくれた。
年表自体は公開しないが AI が参考にした Web ページは以下らしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.generativeai.tokyo/media/genai-history/&#34; target=&#34;_blank&#34;&gt;【年表】生成AIの進化史｜Transformer登場からAGI実現予測まで&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://aitimeline.world/history/history-of-generative-ai&#34; target=&#34;_blank&#34;&gt;History of Generative AI — AI Timeline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.coursera.org/articles/history-of-ai&#34; target=&#34;_blank&#34;&gt;The History of AI: A Timeline of Artificial Intelligence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/notes/history-of-generative-ai/&#34; target=&#34;_blank&#34;&gt;生成AIの歴史｜多層年表｜GENAI-RON&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ターニングポイントになっているのは2017年の Google による論文 &amp;ldquo;Attention Is All You Need&amp;rdquo; の Transformer アーキテクチャと，2022年の OpenAI による一般向けの ChatGPT サービスの登場のようだ。
今年に入ってからはエージェント型 AI が台頭し，完全に仕事の仕方が変わってしまった。&lt;/p&gt;
&lt;p&gt;というわけで，以下の記事。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.itmedia.co.jp/news/article/2608/04/2000000377/&#34; target=&#34;_blank&#34;&gt;AI普及でデザイン業の倒産が前年比2.7倍に　「独自性なき企業は淘汰」　東京商工リサーチ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;グラフィックデザインなどの「デザイン業」で一千万円以上の負債を抱えて倒産する企業が増えているという記事。
背景として以下を挙げている。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.itmedia.co.jp/news/article/2608/04/2000000377/&#34;&gt;東京商工リサーチは、倒産増加の背景を大きく3つに分類している。1つ目は、生成AIの普及を受け、顧客企業のデザイン業務の内製化が進んだこと。2つ目は、デジタル広告の需要拡大により、紙媒体を主力とする企業が影響を受けたこと。3つ目は、ハウスメーカー（木造建築工事業）の倒産増加に伴い、内装や家具などのインテリアデザインを手掛ける会社に影響が及んだことと分析している。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.itmedia.co.jp/news/article/2608/04/2000000377/&#34;&gt;AI普及でデザイン業の倒産が前年比2.7倍に　「独自性なき企業は淘汰」　東京商工リサーチ&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;私はアートデザインの分野はさっぱり分からないので断言できないのだが，上の記事を読む限り主因は2つ目と3つ目じゃないの？ と思ってしまう。
つまり産業構造の変化だ。&lt;/p&gt;
&lt;p&gt;ぶっちゃけてしまうが，顧客に「自分でやったほうがはやい」と思われたら，そこで試合終了なのよ。&lt;/p&gt;
&lt;p&gt;自分のところ（IT 業界）の話で申し訳ないが，今世紀に入って，いわゆる受託開発の仕事はどんどん減っている。
というか，もう殆どないかも知れない。
例外は公共事業関連くらいかな。
まぁ，日本は公共事業への依存度が高いんだけど。&lt;/p&gt;
&lt;p&gt;理由は色々とあるが，事象としてはまさに「自分でやったほうがはやい」という風潮になり，これに適応できない中小企業はブラック化（極端に安い単価で過剰に受ける）して，最終的には潰れた。
ゼロ年代の話である。&lt;/p&gt;
&lt;p&gt;生成 AI，特にエージェント型 AI によって仕事の仕方は大きく変わったが IT 産業の構造としてはとっくにシフト済みで，バカな管理職・経営者が従業員を AI で置き換え（られ）るとか言い出さない限り，業界として大きな構造変化はないと思う。
とはいえ，個々のエンジニアについては（特に年配者は）適応できない人もいるだろうし（そっと耳を塞ぐ），本当に AI 導入を理由にエンジニアを解雇するバカな経営者も（特に米国では）いるみたいだが&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;p&gt;「技術的負債」というものがある。
この言葉が流行ったときは，できの悪いコードや製品を揶揄して言うことが多かったが，本来の意味としては（銀行でお金を借りるように）「より早く実現するために引き換えにするもの」を指す言葉らしい。
なので，この「負債」自体には良し悪しというものはない。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://yamdas.hatenablog.com/entry/20201210/technical-debt&#34; target=&#34;_blank&#34;&gt;お前も技術的負債にしてやろうか！ もしくは技術的負債と和田卓人さんをめぐるシンクロニシティ - YAMDAS現更新履歴&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ソフトウェア・エンジニアリングにおいて生成 AI を使うメリットは「そこそこのものを早く作れる」点である。
この点で AI は人間より優れていると（たぶん）断言できるし，それ故に生成 AI と技術的負債は相性がいいと言えるだろう。&lt;/p&gt;
&lt;p&gt;となると，考えないといけないのは，「そこそこ」で収まらない部分に対して AI が残した負債（そもそも負債と気付かない可能性もあるが）をどうやって返すのか，ということだ&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;。
知り合いと話すときは大体ここで（エンジニアの教育も含めて）行き詰まる。
Web 上の技術関連のサイトやページを眺めても，そういったことに言及する記事はほとんど見かけない。
まぁ，それこそが本当の意味で「技術（＝お金を取れるところ）」だからなんだろうけど。
AI のために残業するとか論外だしね。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.itmedia.co.jp/news/article/2608/10/2000000486/&#34; target=&#34;_blank&#34;&gt;AIが変えた震災支援……熊本の被災者がスマホで作った「イマココナビ」活況　“乱立”に課題も&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2020/12/technical-debt-and-hacker/&#34; target=&#34;_blank&#34;&gt;技術的負債とハッカー&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2021/07/technical-debt-and-foss/&#34; target=&#34;_blank&#34;&gt;技術的負債と FOSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;業態が変わって合わないエンジニアを解雇するというのは昔からあるが，AI 導入を理由（名目）にエンジニアを解雇するような企業が，あとで「やっぱ人間要るわ」となって雇い直そうとしても，ヤバすぎて近付きたくないと思ったりするんじゃないのかなぁ。一度浮気をした男は必ず二度三度と繰り返す（笑）&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;本文の受託開発がなくなった話とも絡むが，今は要件定義から製造・デプロイまでの一連の工程を一発で完遂させるようなプロジェクトはないと言っていい。大抵は小さな単位に分割して，持続的にイテレーションを回していくスタイルだ（故にプロジェクトではなくミッションと言ったりする）。「技術的負債を返す」というのはこのスタイルを前提にしている。これも例外は政府・自治体主導の公共事業で，大抵は予算と期間が決まってるし，開発フェーズと運用（保守）フェーズが分かれているので「持続的にイテレーションを回す」ことができない。もっとも今は公共事業でも大手が持ってるパッケージを使うケースが多いかもしれない。これなら自社製品のカスタマイズとして受けられるので，企業側も（持続的でない）公共事業への依存を減らせる。&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>「おもしろい技術書」</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/07/cool-tech-books/" />
		<id>tag:text.Baldanders.info,2026-07-28:/remark/2026/07/cool-tech-books/</id>
		<published>2026-07-28T06:06:01+00:00</published>
		<updated>2026-07-29T00:16:03+00:00</updated>
		<summary>K&amp;amp;R / プログラミング言語 Go / デザインパターン本 / その他の読み物</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;またまた Bluesky で見かけたネタだが，「おもしろいと思った技術書教えてください」に対する結城浩さんの回答が面白かった。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://mond.how/topics/2khi06zzub5j2ea&#34; target=&#34;_blank&#34;&gt;おもしろいと思った技術書教えてください | mond&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そういや，子どもは夏休みに入ってるんだよね。
読書感想文に悩む季節ですなぁ。
これは度々書いてるけど，私は小学生の時に学習参考書の読書感想文を書いて，市のコンクールで賞をもらった男です。
どやっ！&lt;/p&gt;
&lt;p&gt;というわけで，個人的に面白いと思った技術関連本をいくつか挙げてみる。
子どもが読んでも全然構わないけど，たぶん子ども向けではないのであしからず。&lt;/p&gt;
&lt;h2&gt;K&amp;amp;R&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://mond.how/topics/2khi06zzub5j2ea&#34; target=&#34;_blank&#34; title=&#34;おもしろいと思った技術書教えてください | mond&#34;&gt;結城浩さんの回答&lt;/a&gt;にもあった『&lt;a href=&#34;https://www.kyoritsu-pub.co.jp/book/b10011596.html&#34; target=&#34;_blank&#34; title=&#34;プログラミング言語C - 共立出版&#34;&gt;プログラミング言語C&lt;/a&gt;』がこれ。&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.kyoritsu-pub.co.jp/book/b10011596.html&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/9eaf4ab549fcdb8fa70241d8cb240bb874cd2780.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.kyoritsu-pub.co.jp/book/b10011596.html&#34;&gt;プログラミング言語C - 共立出版&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Brian W.カーニハン 著&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;1989-06-15&#34;&gt;1989-06-15&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 通称 “K&amp;R”。初版当時のプログラマには「バイブル」と呼ばれた名著。現在は ANSI 準拠の第2版。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- プログラミング言語C --&gt;&lt;/p&gt;
&lt;p&gt;原著者の頭文字を取って &amp;ldquo;K&amp;amp;R&amp;rdquo; と呼ばれたりする（著者のひとりである Dennis M. Ritchie さんは C 言語の作者でもある）。
現在は C 言語の規格バージョンも ISO/IEC 9899:2024 (C24) まで進み K&amp;amp;R よりも優れた技術参考書がたくさんあるが，当時は国際規格すらなく C 言語の教科書と言える本は殆どこれだけで，それ故に「バイブル」などと呼ばれてもいた。&lt;/p&gt;
&lt;p&gt;私は真面目にプログラミングを習ったのが IT 業界に入ってからで&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; しかもアセンブラからの入門だったので，初めて C 言語を習ったときは「なんて素晴らしい言語なんだ」と感動したものである。
特に感動したのがポインタ演算。
たとえば &lt;code&gt;char&lt;/code&gt; 型のポインタ変数をインクリメントしたときと &lt;code&gt;short&lt;/code&gt; 型のポインタ変数をインクリメントしたときで，ポインタ値の増分が異なるんだよ。
凄くね！&lt;/p&gt;
&lt;p&gt;同じく Brian W. Kernighan さんによる『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34; target=&#34;_blank&#34; title=&#34;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;カーニハンのUNIX回顧録&lt;/a&gt;』に C 言語が誕生した経緯や『&lt;a href=&#34;https://www.kyoritsu-pub.co.jp/book/b10011596.html&#34; target=&#34;_blank&#34; title=&#34;プログラミング言語C - 共立出版&#34;&gt;プログラミング言語C&lt;/a&gt;』執筆当時の話が載っている。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;&lt;p&gt;デニスに本作りに関わってもらうようにしたことは，私の技術的な経歴において最も賢明で，あるいは最も幸運なことだった．デニスが共著者となり，彼のリファレンスマニュアルを含めることができたため，本は信頼のおけるものとなったのである．&lt;/p&gt;
&lt;p&gt;[&amp;hellip;]&lt;/p&gt;
&lt;p&gt;本文のテキストは何度も互いにやり取りしたため，二人の文体は融合しているが，リファレンスマニュアルは，デニスの文章の純粋な見本として，ほぼ元あったままにした．この部分は，かつてビル・プラウガーが評した「ぞくぞくするような精密さ」をもって言語を解説している．リファレンスマニュアルは，Cそれ自身のように，正確で，洗練され，簡潔である．&lt;/p&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;『カーニハンのUNIX回顧録』第4章 p.86&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;プログラミング言語の技術参考書を探すときに苦労するのが，言語の使い方を解説したものは多くあるのに言語そのものを解説した本は少ないということだ。
どんな言語であれ，プログラミング言語にはそれぞれ作者の思想が根底にあり，それに基づいて言語仕様上の制約が課せられている。
これを理解しないと次のステップ（イディオムとかライブラリ・フレームワークとか）に進めないと思う。&lt;/p&gt;
&lt;h2&gt;プログラミング言語 Go&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10112161.html&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/9e8d8f717b1d1d85b0da7f07cb10a83b78d4227f.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.maruzen-publishing.co.jp/book/b10112161.html&#34;&gt;プログラミング言語Go - 丸善出版 理工・医学・人文社会科学の専門書出版社&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;明解で効率的なプログラムを描くための書。 柴田　芳樹 訳&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2016-06-15&#34;&gt;2016-06-15&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 著者のひとりは，あの “K&amp;R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。と思ったら絶版状態らしい（2025-01 現在）。復刊を望む！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- プログラミング言語Go --&gt;&lt;/p&gt;
&lt;p&gt;原著者の一人は前節で紹介した Brian W. Kernighan さんである。
Go 言語そのものについて丁寧かつ誠実に書かれた良書であるが，残念ながら内容が古くなってしまった。
しかも日本語版は絶版状態らしい。
改訂版の予定はないとのこと。&lt;/p&gt;
&lt;p&gt;Go 言語は非常にシンプルな言語で，いまだに言語固有のキーワード（予約語）が25個で変わらない。&lt;/p&gt;
&lt;figure lang=&#34;en&#34;&gt;
&lt;blockquote cite=&#34;https://go.dev/ref/spec&#34;&gt;&lt;p&gt;The following keywords are reserved and may not be used as identifiers.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;break        default      func         interface    select
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;case         defer        go           map          struct
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chan         else         goto         package      switch
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;const        fallthrough  if           range        type
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;continue     for          import       return       var
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;via &lt;q&gt;&lt;a href=&#34;https://go.dev/ref/spec&#34;&gt;The Go Programming Language Specification - The Go Programming Language&lt;/a&gt;&lt;/q&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;言語仕様全体も1枚の Web ページに収まる分量である。
言い方を変えると，このシンプルさ（を保つこと）こそが Go 最大の制約なのである。&lt;/p&gt;
&lt;p&gt;私は仕事では様々なプログラミング言語を変遷しているが「&lt;a href=&#34;https://text.baldanders.info/remark/2015/programming-language/&#34; target=&#34;_blank&#34; title=&#34;プログラミング言語との付き合い方&#34;&gt;母国語&lt;/a&gt;」と言えるものは C 言語だった。
でも Go 言語を知って以降「母国語」が Go 言語になった。
五十路に入って「母国語」が変わるとかそうそうないだろう。&lt;/p&gt;
&lt;p&gt;そうなったのも『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10112161.html&#34; target=&#34;_blank&#34; title=&#34;プログラミング言語Go - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;プログラミング言語Go&lt;/a&gt;』の影響が大きいと思っている。
そのくらい私にとってインパクトのある本である。&lt;/p&gt;
&lt;h2&gt;デザインパターン本&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.sbcr.jp/product/4815609801/&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/57b427023ef9adfa08ede81d337ee72c072ae585.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.sbcr.jp/product/4815609801/&#34;&gt;Java言語で学ぶデザインパターン入門第3版 | SBクリエイティブ&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;「GoF」の『デザインパターン』で紹介された23個のパターンを、オブジェクト指向の初心者にもわかるようにやさし&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2021-11-13&#34;&gt;2021-11-13&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;5&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; なんと！ 結城浩さんのデザパタ本の第3版が出た。古典的な GoF のデザインパターン23個はそのままに，最近の Java の言語仕様に合わせてコードが一新されている。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- 結城浩 デザパタ Java言語で学ぶデザインパターン入門 第3版 --&gt;&lt;/p&gt;
&lt;p&gt;いわゆる &lt;a href=&#34;https://en.wikipedia.org/wiki/Software_design_pattern&#34; target=&#34;_blank&#34; title=&#34;Software design pattern - Wikipedia&#34;&gt;Gang of Four（GoF）による古典的なデザインパターン&lt;/a&gt;を解説した本である。
ちなみに，結城浩さんのデザパタ本には&lt;a href=&#34;https://www.hyuki.com/dp/dp2.html&#34; target=&#34;_blank&#34; title=&#34;増補改訂版Java言語で学ぶデザインパターン入門　マルチスレッド編&#34;&gt;マルチスレッド編&lt;/a&gt;もある。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.sbcr.jp/product/4797311126/&#34; target=&#34;_blank&#34; title=&#34;オブジェクト指向における再利用のためのデザインパターン(改訂版） | SBクリエイティブ&#34;&gt;原典の翻訳本&lt;/a&gt;もあるが，結城浩さんの著書はどれも平易な文章で読みやすくお勧めである。&lt;/p&gt;
&lt;p&gt;Java を前提に書かれているが，もちろん他の言語でも応用できる。
デザインパターンでググったら様々な言語で実装している例が見つかると思う。&lt;/p&gt;
&lt;p&gt;ただし古典なだけあって，今では使わないほうが良いとされるパターンがあったり，言語によっては実装が難しいものもある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/golang/factory-method-pattern/&#34; target=&#34;_blank&#34;&gt;Go 言語で Factory Method Pattern を構成できるか&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;先日&lt;a href=&#34;https://yokohama-go-reading.connpass.com/event/396707/&#34; target=&#34;_blank&#34; title=&#34;第79回横浜Go読書会（オンライン） (2026/07/18 13:00〜)&#34;&gt;『実用 Go言語 第2版』の読書会&lt;/a&gt;で&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.oreilly.co.jp/books/9784814401369/&#34;&gt;なお、昔は GoF のデザインパターンに取り上げられたこともあり、テンプレートメソッドパターンが王道とされてきましたが、このパターンを使うには、必ずサブタイプを実装しなければなりません。近年では、クロージャやラムダといった要素を備えた言語が増えています。C++ も C++11 からクロージャが使えるようになり、GUI フレームワークの Qt も、関数オブジェクトでハンドラーが記述できるようになりました。このストラテジーパターンへの移行は Go に限らず、プログラミング言語の全体的な流れと言えます。&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.oreilly.co.jp/books/9784814401369/&#34;&gt;『実用 Go言語 第2版』3章 p.83&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;という記述があって「GoF って知ってる？」という話からデザパタ本の話になった。
デザパタ本って GoF 版をベースにしているせいか出版年がどれも古くて，若い人だと知らなかったりするんじゃないだろうか。&lt;/p&gt;
&lt;p&gt;とはいえ Iterator とか Factory とか Proxy とか Decorator とか Adapter とか&amp;hellip; 今でもよく目にする（けど初見で面食らう）単語も多いので，読んでおいて損はないと思う。&lt;/p&gt;
&lt;h2&gt;その他の読み物&lt;/h2&gt;
&lt;p&gt;これは技術参考書と言うより読み物に近いかな。&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://zen.ac.jp/press/books/b_0015&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/9a975e012c9676728deff702fc5a96aac4b456ba.jpg&#34; width=&#34;150&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://zen.ac.jp/press/books/b_0015&#34;&gt;Clean Architecture 達人に学ぶソフトウェアの構造と設計 | ZEN大学出版会&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Clean Architecture 達人に学ぶソフトウェアの構造と設計 について、詳細・ご購入はこちらから&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2026-07-10&#34;&gt;2026-07-10&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 実務に即効性があるわけではないが，ものの「考え方」を示す本としてはよく出来ている。ソフトウェア技術史の読み物としても面白い。デジタル化希望！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- Clean Architecture --&gt;&lt;/p&gt;
&lt;p&gt;いつの間にか発行元がZEN大学出版会に変わっとるがな。
ASCII 版は Kindle 版が引き上げられてて絶版になってるのか？ 慌てて私の Kindle ライブラリの中を見たが，既に買っているものはまだ見れるようだ。
そのうち読めなくなるのかね。
理工系の本でデジタル版がないとかありえないのだが。&lt;/p&gt;
&lt;p&gt;中身は良書。
原著は2017年に出版されている。&lt;/p&gt;
&lt;p&gt;「明日から Clean Architecture で実装するぞ」とはいかないと思うけど，ものの「考え方」を示す本としてはよく出来ていると思う。
「構造化プログラミングとかオブジェクト指向とか関数型とかって何？」ってあたりから SOLID などの原則の説明まで一通り網羅されていて用語の勉強にもなるだろう。
回顧録みたいにもなってるので，ソフトウェア技術史の読み物としても面白い。&lt;/p&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://gihyo.jp/book/2022/978-4-297-13234-7&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/e77330c8587ec28b6b659c2bb564d68e90832ac8.jpg&#34; width=&#34;150&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://gihyo.jp/book/2022/978-4-297-13234-7&#34;&gt;ちょうぜつソフトウェア設計入門 | 技術評論社&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;SoftwareDesign誌での連載と技術アドベントカレンダー24回ぶんに収まらなかった関連知識を徹底解説。いわゆる「オブジェクト指向」と呼ばれる考え方から発展した分野は、どのようにソフトウェア設計の役に立つのかを、よく知られた原則、テスト駆動開発、デザインパターンなどを通じて理解できる一冊です。上級者には定番の知識を体系的に整理するヒントとして、初級者には可愛いイラストで覚えるキーワード集として、幅広く活用していくことができます。なお、サンプルコードはPHPで書かれていますが、他の言語に置き換えて読めるコードばかりです。PHPを使っているかどうかを問わず、全ての開発者にオススメです。&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2022-12-07&#34;&gt;2022-12-07&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 祝♪ &lt;a href=&#39;https://twitter.com/search?q=%23%E3%81%A1%E3%82%87%E3%81%86%E3%81%9C%E3%81%A4%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%82%81%E3%82%82%E3%82%8A%E3%83%BC%E3%81%A1%E3%82%83%E3%82%93&#39;&gt;#ちょうぜつエンジニアめもりーちゃん&lt;/a&gt; 単行本化！ 絵は可愛いが読み応えあり。「SoftwareDesign」連載分も収録されていて超お得！&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- ちょうぜつソフトウェア設計入門 --&gt;&lt;/p&gt;
&lt;p&gt;&lt;abbr class=&#34;emoji-chars&#34; title=&#34;X&#34;&gt;𝕏&lt;/abbr&gt; を見なくなったのだが，めもりーちゃんの更新は細々と行われているようだ。&lt;/p&gt;
&lt;p&gt;初っ端がマンガなので面食らうが，中身は割とハード。
技術系の読み物としてお勧めである。
版元でなら PDF で買えるし（←重要）。&lt;/p&gt;
&lt;p&gt;前節でちょろんと紹介した Template パターンと Strategy パターンの比較の話も載っている。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2017/07/book-report/&#34; target=&#34;_blank&#34;&gt;「読書感想文は、ただちに「面白かった本のお勧め文」に名目を変えるべき」ではない&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/fcdff433aff55873cb56b6d9ce8fbb636e359514.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Unixとは何であり，どのように生まれ，なぜ重要なのかを説明する，コンピュータ史上でも特に生産的だった形成期の素晴らしい物語 ブライアン・カーニハン 著&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2025-09-24&#34;&gt;2025-09-24&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- カーニハンのUNIX回顧録 --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.oreilly.co.jp/books/9784814401369/&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/51769bc6eecda48305121bbc56350f35b5599135.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.oreilly.co.jp/books/9784814401369/&#34;&gt;実用 Go言語 第2版&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;文法はシンプルで学びやすいという特徴を持つGo言語。システム開発の現場でも使われる機会が増えていますが、複雑な要件を実現するにはプログラミング言語が提供するシンプルな構成要素（文法やライブラリ）を、さまざまに組み合わせます。 本書は「よりGoらしく書くには」「実用的なアプリケーションを書くには」といった観点からGoを使うポイントを紹介します。 構造体やインタフェース、またJSON、CSVファイル、Excel、固定長ファイルの扱い方、ログやテスト、環境構築など、また初版の発行後、Goに追加されたジェネリクスについても紹介。現場に即した幅広いトピックについて、「Goらしいプログラムの書き方」を、その背景と共に教えてくれる先輩のような書籍です。&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2025-12-01&#34;&gt;2025-12-01&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;3&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- 実用 Go言語 第2版 --&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;最初に入った会社の3ヶ月研修で情報処理1種資格相当の座学とアセンブラと C 言語を叩き込まれた。一応，学生時代に BASIC と Fortran は習ったが，お遊び程度だったと言っておこう。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>Ubuntu サーバで LLM 構築へ：（2）用語集</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/06/ubuntu-llm-02-glossary/" />
		<id>tag:text.Baldanders.info,2026-06-10:/remark/2026/06/ubuntu-llm-02-glossary/</id>
		<published>2026-06-10T08:15:23+00:00</published>
		<updated>2026-06-10T08:23:25+00:00</updated>
		<summary>事前学習に当たって関連する用語を整理していく。随時更新する予定。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;&lt;a href=&#34;https://text.baldanders.info/remark/2026/06/ubuntu-llm-01-study-notes/&#34; target=&#34;_blank&#34; title=&#34;Ubuntu サーバで LLM 構築へ：（1）事前学習&#34;&gt;前回&lt;/a&gt;の続き。
事前学習に当たって関連する用語を整理していく。&lt;/p&gt;
&lt;p&gt;最近はどうやってるか知らないが，私が若い頃はユーザ企業からの受託プロジェクトが多かったので，業務知識の摺り合わせのために用語集を作ることが必須だった。
これをサボると顧客との間で「そんなつもりじゃなかった」みたいなすれ違いが頻出して泥沼化することがある。
思ったより業界・業種ごとに独自の用語や隠語は多いものである。&lt;/p&gt;
&lt;p&gt;用語については，まず AI に思いつく限り列挙してもらい，それを私が（勉強がてら）自力で調べる，という形で進めていく。
&amp;hellip;という感じに指示したら，いきなり180個近く列挙して下さりやがった（笑）&lt;/p&gt;
&lt;p&gt;まぁ，少しずつのんびりいこう。
この記事は随時更新する予定。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;人工知能&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Artificial Intelligence, AI&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;元々は動物や人間の認知機能（の一部）を機械的に模倣（シミュレーション）する研究分野を指していたが，そこから派生した要素技術や製品・サービスも含めて AI と呼ばれるようになった。&lt;/p&gt;
&lt;h2&gt;機械学習&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Machine Learning, ML&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;人工知能（技術）のサブセット。
データから学習し，未知の入力に対する予測・分類・推定を行う技術の総称。&lt;/p&gt;
&lt;h2&gt;統計的機械学習&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Statistical Machine Learning, Statistical ML, SML&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;機械学習を「確率モデル」「推定」「推論」「不確実性」といった確率・統計学の枠組みで捉えて学習や評価を行うという立場（見方）を指す。&lt;/p&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ibm.com/jp-ja/think/topics/statistical-machine-learning&#34; target=&#34;_blank&#34;&gt;統計的機械学習とは| IBM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;深層学習&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;深層機械学習, ディープラーニング, Deep Learning, DL&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;多層（deep）のニューラルネットワークを中核にする機械学習のサブセット。
必ずしもラベル付きデータセットを必要とせず，テキストや画像など非構造化データから特徴を自動的に抽出して学習することができる点が特徴。&lt;/p&gt;
&lt;p&gt;深層学習を統計的に見るなら統計的機械学習の文脈に入ると言えるが，深層学習という言葉が指すもの（実装・最適化・表現学習など）は確率論中心で語られるとは限らない。&lt;/p&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ibm.com/jp-ja/think/topics/ai-vs-machine-learning-vs-deep-learning-vs-neural-networks&#34; target=&#34;_blank&#34;&gt;AI，機械学習，ディープラーニング，ニューラル・ネットワーク | IBM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;ニューラルネットワーク&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Neural Network, NN&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;単純なニューロンを層状（入力層，中間層/隠れ層，出力層）に積み重ね，データからパターン認識の重みとバイアスを学習し，入力から出力までをマッピングする機械学習モデル。
脳の神経ネットワークから着想を得ている。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;生成 AI&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Generative AI&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;与えられた知識（訓練データ）を元に文脈（コンテキスト）や指示に従って，テキスト（プログラムコードを含む）や画像，動画，音声などのコンテンツを生成する AI 製品のこと。&lt;/p&gt;
&lt;p&gt;従来の AI 製品が情報の分析・評価・予測などを主目的としていたのに対して，生成 AI はコンテンツの生成を主目的としている点が特徴。
生成 AI が社会に与えたインパクトは大きく，近年では AI といえば生成 AI を指すことが多い。&lt;/p&gt;
&lt;h2&gt;大規模言語モデル&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Large Language Model, LLM&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;ニューラルネットワークを大規模化し，トランスフォーマーを採用して「次トークンを予測すること」を事前学習目的の中心にした機械学習モデル。
生成 AI におけるテキスト生成に関する部分の中核的な存在。
大規模言語モデルの「大規模」はモデルが大きい（パラメータ数が多い）ことを指して名付けられている。&lt;/p&gt;
&lt;p&gt;まず事前学習（pre-training）として大量のテキストを使って「ラベルなし（自己教師あり）」でモデルに言語の基本を学ばせる。
その後の調整（fine-tuning / instruction tuning など）で特定のタスクに適応させることができる。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;div class=&#34;mermaid&#34;&gt;
flowchart TD
  A[事前学習&lt;br/&gt;Pre-training] --&gt; B[微調整&lt;br/&gt;Fine-tuning]
  B --&gt; C[指示追従の微調整&lt;br/&gt;Instruction tuning]
  B --&gt; D[タスク別微調整例&lt;br/&gt;要約/分類/抽出など]
  B --&gt; E[（場合により）さらなる調整&lt;br/&gt;例: 報酬学習/RLHF, 安全性調整]

  A:::pre
  B:::ft
  C:::it
  D:::task
  E:::post

  classDef pre fill:#e8f4ff,stroke:#2b6cb0
  classDef ft fill:#f0fff4,stroke:#2f855a
  classDef it fill:#fff7e6,stroke:#b7791f
  classDef task fill:#faf5ff,stroke:#6b46c1
  classDef post fill:#fff0f0,stroke:#c53030
&lt;/div&gt;
&lt;figcaption&gt;&lt;div&gt;全体アーキテクチャ推奨構成（LiteLLM/Nginx あり）&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;なぜ生成 AI が LLM 中心になったか：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;トークン予測&lt;/strong&gt;： 単純で汎用的な学習目的で，大規模テキストから共通に学べる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;トランスフォーマー設計&lt;/strong&gt;： attention 中心でスケールしやすい学習器として噛み合う&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スケーリング則&lt;/strong&gt;： 増やしたときの改善が経験的に整理され，投資判断がしやすい&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;スケールでタスク適応が変化&lt;/strong&gt;： fine-tuning なしに few-shot で強くなる傾向が示され，普及・実装が加速&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2001.08361&#34; target=&#34;_blank&#34;&gt;Scaling Laws for Neural Language Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2203.15556&#34; target=&#34;_blank&#34;&gt;Training Compute-Optimal Large Language Models&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;トランスフォーマー&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Transformer&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;自己注意機構だけに基づく新しいネットワーク構成。
再帰や畳み込みを使わずに，注意機構だけで構成しているため，並列化が可能で大規模化しやすい。&lt;/p&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/1706.03762&#34; target=&#34;_blank&#34;&gt;Attention Is All You Need&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://huggingface.co/docs/transformers/main/index&#34; target=&#34;_blank&#34;&gt;Summary of the models — transformers 3.1.0 documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2&gt;RAG&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Retrieval-Augmented Generation&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;LLM に外部知識（検索結果）を取り込ませてから生成させるアプローチ。
これにより知識不足や幻覚（hallucination）の問題を緩和し，より正確で信頼性の高い生成が可能になる。&lt;/p&gt;
&lt;p&gt;実運用では以下のような手順になる。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;手順&lt;/th&gt;
					&lt;th&gt;役割&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;1. 文書をチャンク化&lt;/td&gt;
					&lt;td&gt;検索しやすい単位に分割&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;2. チャンクを embedding に変換&lt;/td&gt;
					&lt;td&gt;文書意味を数値化（ベクトル化）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;3. ベクトルを Vector DB / Vector Index へ格納&lt;/td&gt;
					&lt;td&gt;類似検索できる形で保存&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;4. ユーザ質問を embedding に変換&lt;/td&gt;
					&lt;td&gt;質問も同じ空間で表現（ベクトル化）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;5. 類似度（例：cosine similarity）で上位を検索&lt;/td&gt;
					&lt;td&gt;関連文書を取り出す&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;6. 取得した文書をプロンプトに入れて生成&lt;/td&gt;
					&lt;td&gt;LLM の generator が回答&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2005.11401&#34; target=&#34;_blank&#34;&gt;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Embedding&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;埋め込み，ベクトル化&lt;/p&gt;
&lt;p&gt;（複数形 Embeddings で）埋め込みベクトル群&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;RAG において，外部文書やユーザ質問（プロンプト）などのテキストデータを数値ベクトルに変換する技術。
文書をチャンクと呼ばれる単位に分割し，チャンク化された各データに対して意味的な特徴を捉える多次元のベクトル情報を埋め込む。
ベクトルを埋め込まれたデータは key-value 形式で持つデータストア（Vector DB など）に保存される。&lt;/p&gt;
&lt;p&gt;このため，日本語では Embedding をサ変名詞的に「ベクトル化」と訳すことが多い。&lt;/p&gt;
&lt;h2&gt;MCP&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;Model Context Protocol&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;AI アプリケーションが外部のデータや機能にアクセスするため，外部コンテキスト交換のためのオープンな標準プロトコル。
クライアント・サーバで構成される。
AI アプリケーション側がクライアント。
サーバ側は LLM に渡せるものを以下のプリミティブとして提供する。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;プリミティブ&lt;/th&gt;
					&lt;th&gt;概要&lt;/th&gt;
					&lt;th&gt;典型例&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Tools&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;サーバが公開する「実行可能なツール」。LLM（言語モデル）が文脈に応じて発見・呼び出しできる形で提供されます。&lt;/td&gt;
					&lt;td&gt;DB問い合わせ、API呼び出し、計算など&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;クライアント（LLMアプリ）にコンテキストとして渡すためのデータ。ファイルやDBスキーマ、アプリ固有情報などを共有できます。&lt;/td&gt;
					&lt;td&gt;社内文書、スキーマ、参照データ等&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Prompts&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;サーバが公開するプロンプトテンプレート。&lt;strong&gt;ユーザが明示的に選べる&lt;/strong&gt;ように設計される、と説明されています。&lt;/td&gt;
					&lt;td&gt;業務用の定型指示テンプレなど&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;RAG とは相補的な関係になることが多い。
たとえば RAG が外部資料を取得する方法を MCP で提供するなど。&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;AI エージェント&lt;/h2&gt;
&lt;h3&gt;別表記&lt;/h3&gt;
&lt;p&gt;AI Agent&lt;/p&gt;
&lt;p&gt;単に Agent / エージェント と言う場合もある&lt;/p&gt;
&lt;h3&gt;意味，定義など&lt;/h3&gt;
&lt;p&gt;一般的に AI エージェントは「環境を知覚（perceive）し，環境に働きかけて行動（act）する自律的なシステム」として説明される。&lt;/p&gt;
&lt;p&gt;AI エージェントが生成 AI と結びつくと以下のような役割・行動になる。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;LLMを意思決定の中核にして&lt;/li&gt;
&lt;li&gt;計画して（plan）&lt;/li&gt;
&lt;li&gt;ツールを呼び出し（call tools）&lt;/li&gt;
&lt;li&gt;複数ステップの実行に必要な状態（state）を保持して&lt;/li&gt;
&lt;li&gt;目的を達成するために動く。または推論と行動を繰り返す&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;目的別に AI エージェントを例示してみる。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;目的（ユーザが求めること）&lt;/th&gt;
					&lt;th&gt;エージェントの核となる動き（イメージ）&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;会話/問い合わせ対応&lt;/td&gt;
					&lt;td&gt;会話しつつ，必要なら外部情報やツールへ “取りに行って” 回答する（単発Q&amp;amp;Aより行動ループを持つことが多い）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;業務自動化（ワークフロー実行）&lt;/td&gt;
					&lt;td&gt;次に何をするか計画し，ツール/API を呼んで段階的に完了させる（state 保持が重要）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;調査・意思決定支援&lt;/td&gt;
					&lt;td&gt;情報を集め，推論して結論を出す（必要に応じて “推論→行動→再推論” のループ）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;開発支援（コード生成/デバッグ）&lt;/td&gt;
					&lt;td&gt;目標に向けて反復し，ツール（実行環境，リポジトリ操作等）を使いながら進める（目的達成型の行動）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;また，以下のように行動決定の仕方で分類する方法もある。&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;種類&lt;/th&gt;
					&lt;th&gt;特徴&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ツール実行を伴うエージェント&lt;/td&gt;
					&lt;td&gt;LLM が計画し，ツールを呼び，複数ステップを進める&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;熟考（deliberative）/プランニング中心&lt;/td&gt;
					&lt;td&gt;世界の明示的なモデルを持ち，記号的推論で「何をするか」を決める&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;BDI エージェント&lt;/td&gt;
					&lt;td&gt;beliefs（信念）/desires（欲求）/intentions（意図）で分けて行動選択する枠組み&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;マルチエージェント&lt;/td&gt;
					&lt;td&gt;複数のエージェントが協力して（autonomousのまま）タスクを進める&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;なお，ここで言う「自律的（autonomous / autonomy）」とは「どれくらいユーザ介入なしで動けるように設計されているか」という文脈で使われ，辞書的な意味での自律とは異なる点に注意。&lt;/p&gt;
&lt;h3&gt;ブックマーク&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2210.03629&#34; target=&#34;_blank&#34;&gt;ReAct: Synergizing Reasoning and Acting in Language Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developers.openai.com/api/docs/guides/agents&#34; target=&#34;_blank&#34;&gt;Agents SDK | OpenAI API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Deliberative_agent&#34; target=&#34;_blank&#34;&gt;Deliberative agent - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Belief%E2%80%93desire%E2%80%93intention_software_model&#34; target=&#34;_blank&#34;&gt;Belief–desire–intention software model - Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ibm.com/jp-ja/think/topics/multiagent-system&#34; target=&#34;_blank&#34;&gt;マルチエージェント・システムとは何か| IBM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- ## AI 基礎

### 人工知能，AI (Artificial-Intelligence)
### 生成 AI (Generative AI)
### 機械学習（ML）
### 深層学習（Deep Learning）
### ニューラルネットワーク
### トランスフォーマー（Transformer）
### 自己注意機構（Self-Attention）
### トークン（Token）
### コンテキストウィンドウ（Context Window）
### マルチモーダル（Multimodal）

## LLM と推論

### 大規模言語モデル（LLM）
### 小規模言語モデル（SLM）
### 基盤モデル（Foundation Model）
### 推論（Inference）
### 事前学習（Pretraining）
### 事後学習（Post-Training）
### 指示チューニング（Instruction Tuning）
### アライメント（Alignment）
### RLHF
### DPO
### システムプロンプト（System Prompt）
### Temperature
### Top-k
### Top-p
### シード値（Seed）
### ストリーミング応答（Streaming）
### Function Calling
### Tool Calling
### JSON Mode
### 構造化出力（Structured Output）

## モデル管理と最適化

### モデル重み（Weights）
### パラメータ数（Parameter Count）
### VRAM
### RAM
### 量子化（Quantization）
### Q4_K_M
### Q8
### GGUF
### モデルカード（Model Card）
### チェックポイント（Checkpoint）
### LoRA
### QLoRA
### 蒸留（Distillation）
### Mixture of Experts（MoE）
### ファインチューニング（Fine-Tuning）
### 継続事前学習（Continued Pretraining）
### モデルマージ（Model Merge）
### コンテキスト長拡張

## RAG と検索

### RAG（Retrieval-Augmented Generation）
### 埋め込みモデル（Embedding Model）
### ベクトル化（Embedding）
### ベクトルデータベース（Vector DB）
### 近傍探索（ANN）
### コサイン類似度（Cosine Similarity）
### リランキング（Reranking）
### ハイブリッド検索（Hybrid Search）
### チャンク分割（Chunking）
### チャンクサイズ
### オーバーラップ
### メタデータフィルタ
### ナレッジベース（Knowledge Base）
### インデキシング（Indexing）
### 再検索（Retrieval）
### 幻覚（Hallucination）
### 引用付き回答（Cited Answer）

## エージェントと実行制御

### AI エージェント（Agent）
### ReAct
### Plan-and-Execute
### マルチエージェント
### オーケストレーション（Orchestration）
### ワークフロー（Workflow）
### タスク分解（Task Decomposition）
### メモリ（Agent Memory）
### スクラッチパッド（Scratchpad）
### ガードレール（Guardrails）
### ツール権限制御
### 自動承認（Auto-Approve）
### Human-in-the-Loop

## Ubuntu / LAN インフラ

### Ubuntu Server
### systemd
### Docker
### Docker Compose
### Podman
### Nginx
### リバースプロキシ（Reverse Proxy）
### HTTPS 終端（TLS Termination）
### 自己署名証明書
### Let&#39;s Encrypt
### LAN セグメント
### 固定IP（Static IP）
### DHCP
### DNS / mDNS
### ファイアウォール（ufw）
### ポート開放
### NAT
### VPN

## ローカル LLM サービス実装

### Ollama
### vLLM
### llama.cpp
### LiteLLM
### Open WebUI
### Continue
### OpenAI 互換 API
### /v1/chat/completions
### /api/chat
### SSE
### API キー管理
### レート制限（Rate Limit）
### 同時接続数（Concurrency）
### キューイング（Queueing）
### モデル自動アンロード

## 運用と監視

### 可観測性（Observability）
### ログ（Logging）
### メトリクス（Metrics）
### トレース（Tracing）
### レイテンシ（Latency）
### スループット（Throughput）
### TTFT（Time to First Token）
### トークン毎秒（tok/s）
### 稼働率（Availability）
### ヘルスチェック（Health Check）
### バックアップ
### リストア
### ローリングアップデート
### カナリアリリース

## セキュリティとガバナンス

### 認証（Authentication）
### 認可（Authorization）
### 最小権限（Least Privilege）
### シークレット管理（Secrets Management）
### 監査ログ（Audit Log）
### データ保持ポリシー
### PII（個人情報）
### プロンプトインジェクション
### データ漏えい（Data Exfiltration）
### Jailbreak
### Supply Chain Security
### SBOM
### ライセンス互換性
### 利用規約準拠

## 評価と改善

### ベンチマーク（Benchmark）
### 回帰テスト（Regression Test）
### 自動評価（LLM-as-a-Judge）
### 人手評価（Human Evaluation）
### 正確性（Accuracy）
### 忠実性（Faithfulness）
### 妥当性（Relevance）
### コスト最適化
### モデルルーティング
### A/B テスト --&gt;
</content>
	</entry><entry>
		<title>Ubuntu サーバで LLM 構築へ：（1）事前学習</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/06/ubuntu-llm-01-study-notes/" />
		<id>tag:text.Baldanders.info,2026-06-09:/remark/2026/06/ubuntu-llm-01-study-notes/</id>
		<published>2026-06-09T09:26:51+00:00</published>
		<updated>2026-06-09T09:29:00+00:00</updated>
		<summary>まずは AI に構成を提案してもらい，それを起点に勉強していこうかな，と。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;だいぶ生成 AI を使うことに慣れてきたので，そろそろ自前で LLM サービスを構築することを考えてみる。&lt;/p&gt;
&lt;p&gt;いや，既にもうメジャーな AI サービスプロバイダってメタクソ化（enshittified）し始めてるぢゃん。
企業サービスに完全にロックインされないうちに自前で構築できるようになっておかないと，と思ってさ。&lt;/p&gt;
&lt;p&gt;今回は，以下の要求で &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; にサービス構成を提案してもらった。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;家庭内 LAN 上の Ubuntu サーバ機に LLM サービスを構築する&lt;/li&gt;
&lt;li&gt;クライアントは Windows 機と Ubuntu 機を想定&lt;/li&gt;
&lt;li&gt;主な用途はプログラミング支援とブログ作成補助&lt;/li&gt;
&lt;li&gt;VS Code で使えるようにする&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;以降に &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; からの提案を載せるけど，まだ内容の検証をしていない。
なので嘘や間違いが紛れている可能性があるのでご注意を。
私としては，この提案を学習の起点（trigger）とするつもりである。&lt;/p&gt;
&lt;h2&gt;アーキテクチャ&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; が最初に推奨してきた構成：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;

&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;div class=&#34;mermaid&#34;&gt;
graph TB
    subgraph Server[&#34;Ubuntu Server&#34;]
        Ollama[&#34;Ollama&lt;br/&gt;:11434&lt;br/&gt;(推論エンジン)&#34;]
        LiteLLM[&#34;LiteLLM&lt;br/&gt;:4000&lt;br/&gt;(API Proxy)&#34;]
        Nginx[&#34;Nginx&lt;br/&gt;:443&lt;br/&gt;(Reverse Proxy)&#34;]
        Embed[&#34;nomic-embed-text&lt;br/&gt;(Embedding / RAG用)&#34;]
        PG[&#34;PostgreSQL&lt;br/&gt;(LiteLLM 用)&#34;]

        Ollama ---&gt; LiteLLM
        LiteLLM --- PG
        LiteLLM ---&gt; Nginx
        Ollama --- Embed
    end

    subgraph ClientUbuntu[&#34;Ubuntu PC&#34;]
        VSCodeU[&#34;VS Code + Continue&#34;]
    end

    subgraph ClientWin[&#34;Windows PC&#34;]
        VSCodeW[&#34;VS Code + Continue&#34;]
    end

    Nginx -- &#34;LAN (HTTPS)&#34; --&gt; ClientUbuntu
    Nginx -- &#34;LAN (HTTPS)&#34; --&gt; ClientWin
&lt;/div&gt;
&lt;figcaption&gt;&lt;div&gt;全体アーキテクチャ推奨構成（LiteLLM/Nginx あり）&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;p&gt;推論エンジンとして &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; を提案した理由は以下の通りらしい：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;個人〜小規模LAN利用ではOllamaが最適。セットアップが最も簡単で、OpenAI互換APIを標準提供し、モデル管理が容易です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;vLLMは同時接続ユーザーが多い（5人以上）本番運用向けで、単一ユーザーには複雑さが増すだけ
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.redhat.com/en/topics/ai/vllm-vs-ollama&#34; target=&#34;_blank&#34;&gt;vLLM vs. Ollama: When to use each framework&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.fosslinux.com/156914/vllm-vs-ollama-which-local-ai-server-to-run-in-2026.htm&#34; target=&#34;_blank&#34;&gt;vLLM vs Ollama: Which Local AI Server to Run in 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;llama.cppは低レベルすぎて管理が煩雑&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; は &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; の前に置く OpenAPI 互換 API プロキシ。
&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; だけでなく OpenAI や Anthropic などの外部 API も統一的に扱えるらしい。
図では &lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; に &lt;a href=&#34;https://www.postgresql.org/&#34; target=&#34;_blank&#34; title=&#34;PostgreSQL: The world&amp;#39;s most advanced open source database&#34;&gt;PostgreSQL&lt;/a&gt; がぶら下がっているが，これは API キー管理・使用量トラッキング用とのこと。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.litellm.ai/docs/proxy/db_info&#34; target=&#34;_blank&#34;&gt;What is stored in the DB | liteLLM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; はリバースプロキシとして HTTPS 終端，セキュリティ（&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt;/&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; への直結ポートをサーバの外に晒さない），ストリーミング対応を担っている。
注意点は以下の通り：&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;ul&gt;
&lt;li&gt;LAN 内のみの利用でもHTTPS推奨（Continue.dev が API キーを送るため）&lt;/li&gt;
&lt;li&gt;Let&amp;rsquo;s Encrypt 証明書か自己署名証明書を使用&lt;/li&gt;
&lt;li&gt;ストリーミング（SSE）対応のため proxy_buffering off が必須&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;nomic-embed-text については後述する。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt; と &lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; は入れなきゃダメ？ と訊いてみたら，もう少し簡単な構成もあるらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;

&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;div class=&#34;mermaid&#34;&gt;
graph TB
    subgraph Server[&#34;Ubuntu Server&#34;]
        Ollama[&#34;Ollama&lt;br/&gt;:11434&lt;br/&gt;(推論エンジン)&#34;]
        OpenWebUI[&#34;Open WebUI&lt;br/&gt;:8080&lt;br/&gt;(GUIチャット)&#34;]
        Embed[&#34;nomic-embed-text&lt;br/&gt;(Embedding / RAG用)&#34;]

        Ollama --- Embed
        Ollama ---&gt; OpenWebUI
    end

    subgraph ClientUbuntu[&#34;Ubuntu PC&#34;]
        VSCodeU[&#34;VS Code + Continue&lt;br/&gt;ollama run (CUI)&lt;br/&gt;ブラウザGUIチャット&#34;]
    end

    subgraph ClientWin[&#34;Windows PC&#34;]
        VSCodeW[&#34;VS Code + Continue&lt;br/&gt;ollama run (CUI)&lt;br/&gt;ブラウザGUIチャット&#34;]
    end

    Ollama -- &#34;Ollama API&lt;br/&gt;:11434&#34; --&gt; ClientUbuntu
    OpenWebUI -- &#34;Web UI&lt;br/&gt;:8080&#34; --&gt; ClientUbuntu
    OpenWebUI -- &#34;Web UI&lt;br/&gt;:8080&#34; --&gt; ClientWin
    Ollama -- &#34;Ollama API&lt;br/&gt;:11434&#34; --&gt; ClientWin
&lt;/div&gt;
&lt;figcaption&gt;&lt;div&gt;全体アーキテクチャ推奨構成（Ollama 単体, LiteLLM/Nginx なし）&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;

&lt;/div&gt;
&lt;p&gt;クライアントの用途ごとの使い分けは以下の通り。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;アクセス先&lt;/th&gt;
					&lt;th&gt;ポート&lt;/th&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;クライアント&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Ollama API&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:11434&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;VS Code + Continue（コーディング支援）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Ollama API&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:11434&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run&lt;/code&gt;（CUIチャット）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Open WebUI&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;:8080&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;ブラウザ GUI チャット（ブログ執筆・雑談）&lt;/td&gt;
					&lt;td&gt;Ubuntu / Windows&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; の拡張機能である &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API に対応しているそうなので（セキュリティの問題を除けば）直結で OK。
ターミナルエミュレータ等で CUI チャットを行う場合はクライアント側にも &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; をインストールして接続先をサーバ機に向ければいいらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OLLAMA_HOST&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://192.168.x.x:11434 ollama run qwen3.5:9b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;さらに簡単に &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API を直に叩く方法もある（自作ツール向け？）。
こんな感じ。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ワンショット質問&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://192.168.x.x:11434/api/chat -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;qwen3.5:9b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;messages&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    {&amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;ブログのタイトル案を5つ提案して&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  ],
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;stream&amp;#34;: false
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ストリーミング（リアルタイム出力）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://192.168.x.x:11434/api/chat -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;qwen3.5:9b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;messages&amp;#34;: [
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;    {&amp;#34;role&amp;#34;: &amp;#34;user&amp;#34;, &amp;#34;content&amp;#34;: &amp;#34;PythonでFizzBuzzを書いて&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  ]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; API って素の RESTful API でやり取りするのか。
確かにこれは（セキュリティ的に）ヤバいな。
&lt;a href=&#34;https://docs.litellm.ai/&#34; target=&#34;_blank&#34; title=&#34;LiteLLM - Getting Started | liteLLM&#34;&gt;LiteLLM&lt;/a&gt;/&lt;a href=&#34;https://nginx.org/&#34; target=&#34;_blank&#34; title=&#34;nginx&#34;&gt;Nginx&lt;/a&gt; を噛ませろって言う筈だわ。
LAN 内に他人（のデバイス）が入ってくる余地がないならギリ大丈夫かな。
まぁ，どのみち malware に侵入されたらアウトだけど。&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; は Web ベースのチャットインターフェースで，以下の特徴があるらしい&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;機能&lt;/th&gt;
					&lt;th&gt;説明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;ChatGPT 風 UI&lt;/td&gt;
					&lt;td&gt;ブラウザでチャット、使い慣れたインターフェース&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;会話履歴&lt;/td&gt;
					&lt;td&gt;すべての会話を保存・検索可能&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;モデル切替&lt;/td&gt;
					&lt;td&gt;ドロップダウンでモデル切替&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ドキュメント RAG&lt;/td&gt;
					&lt;td&gt;ファイルをアップロードして対話&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;ユーザー管理&lt;/td&gt;
					&lt;td&gt;複数ユーザー・アクセス制御&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;完全オフライン&lt;/td&gt;
					&lt;td&gt;外部へのデータ送信なし&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;OpenAI の API キーを持っていれば &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; から OpenAI のモデルも使えるそうな（以下は Docker 上に &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; をインストールした場合の起動例）。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Open WebUI起動時にOpenAI APIも設定&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name open-webui &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --network host &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v open-webui:/app/backend/data &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;OLLAMA_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://127.0.0.1:11434 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-your-openai-key &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --restart always &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ghcr.io/open-webui/open-webui:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;用途別の使い分けについてまとめてもらった。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;インターフェース&lt;/th&gt;
					&lt;th&gt;理由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;ブログ執筆・雑談&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Open WebUI（ブラウザ）&lt;/td&gt;
					&lt;td&gt;ChatGPT風で直感的、会話履歴管理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;プログラミング支援&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;VS Code + Continue&lt;/td&gt;
					&lt;td&gt;コード補完・エディタ統合&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;サクッと質問&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run&lt;/code&gt;（CUI）&lt;/td&gt;
					&lt;td&gt;ターミナルから即座に&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;スクリプト・自動化&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;curl / Python API&lt;/td&gt;
					&lt;td&gt;バッチ処理やパイプライン&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;普段の調べ物は &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; で必要十分なので &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; はあまり使わないかもしれないけど。
&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; が不要なら入れない構成もありだな。&lt;/p&gt;
&lt;h2&gt;モデル選択&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; で選択可能な LLM モデルで &lt;a href=&#34;https://assistant.kagi.com/&#34; target=&#34;_blank&#34; title=&#34;Kagi Assistant&#34;&gt;Kagi Assistant&lt;/a&gt; が勧めてきたのは以下のもの&lt;sup id=&#34;fnref1:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;用途&lt;/th&gt;
					&lt;th&gt;推奨モデル&lt;/th&gt;
					&lt;th&gt;役割&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;チャット・コーディング対話&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B または 35B-A3B&lt;/td&gt;
					&lt;td&gt;chat, edit, summarize&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;コード自動補完（FIM）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder（7B/14B/32B）&lt;/td&gt;
					&lt;td&gt;autocomplete（タブ補完）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Embedding（RAG用）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;nomic-embed-text&lt;/td&gt;
					&lt;td&gt;codebase検索&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Reranker（RAG精度向上）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen3-Reranker-8B&lt;/td&gt;
					&lt;td&gt;検索結果の再順位付け&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;GPU VRAM別のモデル構成&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;VRAM&lt;/th&gt;
					&lt;th&gt;チャット用モデル&lt;/th&gt;
					&lt;th&gt;自動補完用モデル&lt;/th&gt;
					&lt;th&gt;備考&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;8GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-9B (~6.6GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 7B (~5GB)&lt;/td&gt;
					&lt;td&gt;1モデルずつ切り替え運用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;16GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-35B-A3B (~16-22GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 14B (~9GB)&lt;/td&gt;
					&lt;td&gt;同時稼働は量子化調整が必要&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;24GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B (~17GB)&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 32B (~20GB)&lt;/td&gt;
					&lt;td&gt;★最も推奨される構成&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;32GB+&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.6-27B (Q6/Q8) + Qwen 2.5-Coder 32B&lt;/td&gt;
					&lt;td&gt;同時稼働余裕あり&lt;/td&gt;
					&lt;td&gt;RTX 5090等&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;💡 &lt;strong&gt;24GB VRAM（RTX 3090/4090）の構成が最もバランスが良い&lt;/strong&gt;: Qwen 3.6-27Bでチャット・エージェント的コーディング、Qwen 2.5-Coder 32Bでタブ補完。ただし同時稼働はVRAM的に厳しいため、Ollamaはモデルを自動でアンロード/ロードするので、交互に使う運用になります。&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;あー。
そういや，サーバ機のスペックを教えてなかった。
手持ちの空いてるミニ PC をサーバ機にする予定なのでスペックは高くないのよ。&lt;/p&gt;
&lt;p&gt;というわけで Ryzen 5 7430U, RAM 16GB, 外付け GPU なしの構成で再提案してもらった。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;役割&lt;/th&gt;
					&lt;th&gt;推奨モデル&lt;/th&gt;
					&lt;th&gt;RAM使用量&lt;/th&gt;
					&lt;th&gt;予想速度&lt;/th&gt;
					&lt;th&gt;理由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;チャット・ブログ・コーディング対話&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-9B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~6 GB&lt;/td&gt;
					&lt;td&gt;~5-8 tok/s&lt;/td&gt;
					&lt;td&gt;9Bで品質最優、ブログ執筆に十分な表現力&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;コード自動補完（FIM）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 2.5-Coder 3B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~2.5 GB&lt;/td&gt;
					&lt;td&gt;~15-20 tok/s&lt;/td&gt;
					&lt;td&gt;補完は高速が命、3Bで品質も十分&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Embedding（RAG用）&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;nomic-embed-text&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;~0.3 GB&lt;/td&gt;
					&lt;td&gt;高速&lt;/td&gt;
					&lt;td&gt;コードベース検索用&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;💡 &lt;strong&gt;合計RAM使用量: ~9 GB&lt;/strong&gt;（OS等の予約分を含めても16GB内に余裕あり）&lt;/p&gt;
&lt;p&gt;チャット用を軽くして速度を稼ぐ構成：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;役割&lt;/th&gt;
					&lt;th&gt;モデル&lt;/th&gt;
					&lt;th&gt;RAM&lt;/th&gt;
					&lt;th&gt;予想速度&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;チャット&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-4B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~3 GB&lt;/td&gt;
					&lt;td&gt;~12-18 tok/s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;自動補完&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 2.5-Coder 1.5B&lt;/strong&gt; (Q4)&lt;/td&gt;
					&lt;td&gt;~1.2 GB&lt;/td&gt;
					&lt;td&gt;~30+ tok/s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Embedding&lt;/td&gt;
					&lt;td&gt;nomic-embed-text&lt;/td&gt;
					&lt;td&gt;~0.3 GB&lt;/td&gt;
					&lt;td&gt;高速&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;合計 ~4.5 GB。速度は快適ですが、ブログ執筆の品質は9Bに劣ります。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;🌟 注目の選択肢：Gemma 4 26B-A4B（MoE）&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;GoogleのGemma 4 26B-A4Bは &lt;strong&gt;総パラメータ26B・推論時アクティブ3.8B&lt;/strong&gt; のMoEモデルです。
Q4量子化で &lt;strong&gt;~15 GB&lt;/strong&gt; のRAM使用量。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;品質&lt;/strong&gt;: 3.8B活性化で26Bクラスの表現力（Qwen 3.5-9B以上の可能性）&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;RAM&lt;/strong&gt;: ~15 GBで16GBギリギリ。OSの予約分と競合する可能性&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;速度&lt;/strong&gt;: MoEはアクティブパラメータが少なくても全パラメータのメモリアクセスが必要なため、DDR4帯域幅がボトルネックになり &lt;strong&gt;予想3-6 tok/s&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;結論&lt;/strong&gt;: 試す価値はありますが、16GBではスワップ発生のリスクが高く、安定性に欠ける可能性があります。まずはQwen 3.5-9Bで安定運用し、余裕があればGemma 4 26B-A4Bも試すのがおすすめ。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;⚡ パフォーマンスを引き上げるTips&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;施策&lt;/th&gt;
					&lt;th&gt;効果&lt;/th&gt;
					&lt;th&gt;詳細&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;&lt;code&gt;num_ctx&lt;/code&gt;を小さく&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;速度向上&lt;/td&gt;
					&lt;td&gt;4096→2048にするとコンテキスト処理が高速化。ブログ執筆なら2048で十分な場面も&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;モデルを1つずつロード&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;RAM節約&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;OLLAMA_MAX_LOADED_MODELS=1&lt;/code&gt;で未使用モデルを自動アンロード&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Q3量子化を試す&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;RAM削減・速度UP&lt;/td&gt;
					&lt;td&gt;&lt;code&gt;ollama run qwen3.5:9b-q3_K_M&lt;/code&gt;でRAM~4.5GB、品質は若干低下&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;スワップの無効化&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;安定性向上&lt;/td&gt;
					&lt;td&gt;RAM不足時のスワップは極端な低速化の原因。&lt;code&gt;/etc/fstab&lt;/code&gt;でswapを0に&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;将来的にGPU追加&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;劇的改善&lt;/td&gt;
					&lt;td&gt;Thunderbolt/OCuLink外付けGPUエンクロージャーでRTX 3060(12GB)等を追加すれば、一気に実用的に&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Ryzen 5 7430U には内蔵 GPU (Radeon Graphics) があるが LLM 推論には非力なので CPU-only 推論となる。
そうなるとメモリ帯域幅が重要になるんだけど DDR4-3200 デュアルチャネルは DDR5 半分以下の帯域幅（〜51GB/s）しかない。
RAM のサイズも 32GB 以上は欲しいらしい。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;サーバRAM&lt;/th&gt;
					&lt;th&gt;推奨構成&lt;/th&gt;
					&lt;th&gt;備考&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;8GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-4B (チャット) + Qwen 2.5-Coder 1.5B (補完)&lt;/td&gt;
					&lt;td&gt;1モデルずつ切り替え&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;16GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 2.5-Coder 7B (チャット) + Qwen 2.5-Coder 3B (補完) + nomic-embed&lt;/td&gt;
					&lt;td&gt;★最も現実的&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;32GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Qwen 3.5-35B-A3B (チャット)&lt;/strong&gt; + Qwen 2.5-Coder 7B (補完) + nomic-embed&lt;/td&gt;
					&lt;td&gt;★★最高の体験&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;64GB&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Qwen 3.5-35B-A3B + Qwen 2.5-Coder 14B + nomic-embed&lt;/td&gt;
					&lt;td&gt;余裕あり&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;なかなかに貧弱な構成と言われてしまった（笑）&lt;/p&gt;
&lt;div class=&#34;center&#34;&gt;&lt;strong&gt;！だってメモリもプロセッサも高いんだよ，今！&lt;/strong&gt;&lt;/div&gt;
&lt;p&gt;しょうがないぢゃん &lt;code&gt;orz&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;nomic-embed-text について&lt;/h3&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;nomic-embed-textはOllama上で動く &lt;strong&gt;Embeddingモデル&lt;/strong&gt; です。テキストを数値ベクトル（768次元）に変換するだけで、それ自体にデータベースは必要ありません 。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;テキスト入力 → nomic-embed-text → 768次元ベクトル出力
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;ベクトルデータはデータベース化して RAG (Retrieval-Augmented Generation; 検索拡張生成) に使用する&lt;sup id=&#34;fnref2:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;。
&lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; および &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は自前でベクトルデータベースを持っている。
規模が大きくなれば &lt;a href=&#34;https://www.postgresql.org/&#34; target=&#34;_blank&#34; title=&#34;PostgreSQL: The world&amp;#39;s most advanced open source database&#34;&gt;PostgreSQL&lt;/a&gt; + pgvector などのベクトルデータベースが別途必要になる。&lt;/p&gt;
&lt;div class=&#34;by-ai smaller&#34;&gt;&lt;p&gt;&lt;strong&gt;🏗️ RAGの規模別アーキテクチャ&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;規模&lt;/th&gt;
					&lt;th&gt;ベクトル保存先&lt;/th&gt;
					&lt;th&gt;構成&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;小規模&lt;/strong&gt;（個人・Continue.dev）&lt;/td&gt;
					&lt;td&gt;ローカルファイル（Continue内蔵）&lt;/td&gt;
					&lt;td&gt;Ollama + nomic-embed-text のみ&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;中規模&lt;/strong&gt;（チーム・Open WebUI）&lt;/td&gt;
					&lt;td&gt;Open WebUI内蔵のChromaDB&lt;/td&gt;
					&lt;td&gt;Ollama + Open WebUI&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;大規模&lt;/strong&gt;（組織・自作パイプライン）&lt;/td&gt;
					&lt;td&gt;PostgreSQL + pgvector / Qdrant / Milvus&lt;/td&gt;
					&lt;td&gt;Ollama + 独自バックエンド&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;今回はここまで&lt;/h2&gt;
&lt;p&gt;とりあえず &lt;a href=&#34;https://ollama.com/&#34; target=&#34;_blank&#34; title=&#34;Ollama&#34;&gt;Ollama&lt;/a&gt; と RAG についてはちゃんと勉強せなあかんなぁ，というのは分かった。
あとは実際に組んでみて評価していく感じかな。&lt;/p&gt;
&lt;p&gt;薄々わかってはいたが，どうも手持ちの環境は貧弱すぎるみたいだけど，どの程度足らないのかの感覚がわからない。
これは使ってみて確かめるしかないだろう。&lt;/p&gt;
&lt;p&gt;仕事が絡むなら vLLM も気になるところだが，そういう仕事が貰えるなら考えるということで（笑）&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;RAG の機能は，簡単にいうと LLM に外部の情報を検索させてから回答させる仕組み。これによって組み込まれた知識にない情報についても（extrinsic hallucination を抑えつつ）対応することができるようになる。 Google 検索のようなキーワード検索ではなく，プロンプトによる指示に合わせて意味的検索ができるのが特徴。 &lt;a href=&#34;https://www.continue.dev/&#34; target=&#34;_blank&#34; title=&#34;Continue • Quality control for your software factory. | Continue&#34;&gt;Continue&lt;/a&gt; は nomic-embed-text が出力したベクトル化情報をファイルに保存するらしい。 &lt;a href=&#34;https://docs.openwebui.com/&#34; target=&#34;_blank&#34; title=&#34;Open WebUI&#34;&gt;Open WebUI&lt;/a&gt; は自前でベクトル化を行い，内蔵の &lt;a href=&#34;https://www.trychroma.com/&#34; target=&#34;_blank&#34; title=&#34;Chroma - open-source search infrastructure for AI&#34;&gt;ChromaDB&lt;/a&gt; に保存するようだ。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref1:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref2:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry><entry>
		<title>Secretary as a Service</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/05/secretary-as-a-service/" />
		<id>tag:text.Baldanders.info,2026-05-31:/remark/2026/05/secretary-as-a-service/</id>
		<published>2026-05-31T03:43:36+00:00</published>
		<updated>2026-06-01T02:30:22+00:00</updated>
		<summary>既に AI サービスはメタクソ化が始まってると思う。早めに逃げれるようにしておかないと。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;h2&gt;Agents Window&lt;/h2&gt;
&lt;p&gt;最近気がついたのだが &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; 1.120 から &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; なるものが追加されたそうだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gihyo.jp/article/2026/05/vscode-1.120&#34; target=&#34;_blank&#34;&gt;VS Code 1.120リリース、Agentsウィンドウの安定版向けプレビューを開始 | gihyo.jp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://note.com/shali_note/n/n47d9fa3e4a46&#34; target=&#34;_blank&#34;&gt;VS Codeの「Agents window」とは？複数AIエージェントを並列で動かす新機能をやさしく解説します｜しゃり&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;仕事でコードを書くときは分担して作業するものなのであまり意識することはないが，独りで作業する場合，特に &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; で複数のパッケージを同時に弄る場合は頭の中がとっ散らかってしまうことがある。
我ながら歳をとったなぁとは思うけど。&lt;/p&gt;
&lt;p&gt;というわけで，少しでも作業が軽減できればと &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; を試そうとしたんだけど，これって既存の AI エージェントとのセッションを他セッションに引き継げないのな。
「どうにかならん？」と，それこそ &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; に訊いてみたんだが，セッション履歴のインポート・エクスポート機能はあるが（つまりバックアップ・リストアはできる？），他セッションに引き継いで fork することはできないと言われた。
できることは AI に引き継ぎ資料を書かせて，それを別のセッションに読み込ませるくらいだそうな。&lt;/p&gt;
&lt;p&gt;この辺の話を Mastodon/Bluesky で愚痴ったのだが&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;
&lt;blockquote class=&#34;mastodon-embed&#34; data-embed-url=&#34;https://mstdn.world/@rino/116650070084518151/embed&#34; style=&#34;background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;&#34;&gt; &lt;a href=&#34;https://mstdn.world/@rino/116650070084518151&#34; target=&#34;_blank&#34; style=&#34;align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, &#39;Segoe UI&#39;, Oxygen, Ubuntu, Cantarell, &#39;Fira Sans&#39;, &#39;Droid Sans&#39;, &#39;Helvetica Neue&#39;, Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;&#34;&gt; &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; xmlns:xlink=&#34;http://www.w3.org/1999/xlink&#34; width=&#34;32&#34; height=&#34;32&#34; viewBox=&#34;0 0 79 75&#34;&gt;&lt;path d=&#34;M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z&#34; fill=&#34;currentColor&#34;/&gt;&lt;/svg&gt; &lt;div style=&#34;color: #787588; margin-top: 16px;&#34;&gt;Post by @rino@mstdn.world&lt;/div&gt; &lt;div style=&#34;font-weight: 500;&#34;&gt;View on Mastodon&lt;/div&gt; &lt;/a&gt; &lt;/blockquote&gt; &lt;script data-allowed-prefixes=&#34;https://mstdn.world/&#34; async src=&#34;https://mstdn.world/embed.js&#34;&gt;&lt;/script&gt;
&lt;/figure&gt;
&lt;p&gt;みたいなポストをいただいたり。
でも，ここに書かれている Claude のやり方も裏技っぽいよねぇ。
他に「&lt;a href=&#34;https://rio.st/2026/02/26/zed%e3%81%aemcp%e3%82%b5%e3%83%bc%e3%83%90%e3%81%a7%e3%82%b3%e3%83%b3%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e5%85%b1%e6%9c%89%e3%81%97%e3%81%9f%e3%81%84/&#34; target=&#34;_blank&#34; title=&#34;ZedのMCPサーバでコンテキスト共有したい - rio.st&#34;&gt;ZedのMCPサーバでコンテキスト共有したい&lt;/a&gt;」みたいな運用もあるよ，と教えてもらった。&lt;/p&gt;
&lt;p&gt;セッションの複製や fork は必須の機能だと思うんだけど，なんで &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; の標準機能にないの？ やっぱそろそろ &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; や &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; は卒業すべきかねぇ。
だからといって，個人利用で Claude Code とか使う気はないが。&lt;/p&gt;
&lt;h2&gt;秘書としての AI エージェント&lt;/h2&gt;
&lt;p&gt;他の記事でも言ってるけど，コーディング支援として使う AI はどちらかというとペアプログラミングしている感じ。
それも新人くんとのペアプロ（笑） 最初の頃は「自分で書いたほうが速い」って感じだったんだけど，反応を見ながら指示を出すことで，なんとなく AI の性格のようなものが分かってきた。
&lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;GitHub Copilot&lt;/a&gt; の Pro 契約で使える主なモデルはこんな感じ（個人の意見です。あしからず）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPT-5-mini&lt;/strong&gt;: コストゼロで使えるのが最大のメリット。生真面目なおバカ。コード補完やコメント補完では重宝するが，エージェント・モードだと最初から明後日の方向に全力疾走する。「けもフレ」のアライさんみたいなモデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.3-Codex&lt;/strong&gt;: 個人で使うエージェントとしては一番バランスが取れている。こちらの意見に&lt;a href=&#34;https://text.baldanders.info/remark/2026/05/reading-living-with-ai/#sycophancy&#34; target=&#34;_blank&#34; title=&#34;追従する AI は向社会的な姿勢を減退させる？&#34;&gt;追従（ついしょう）&lt;/a&gt;せず，ちゃんと反論できる。人間のペースに合わせてくれる盲導犬モデル&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude Sonnet 4.6&lt;/strong&gt;: 計画立案は上手いが，一度走り出すと融通が利かず失敗するまで突っ走るチョロQモデル。コード分析等で無闇にトークンを消費してる印象。金に糸目をつけず地球資源を濫用する富裕層向き&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;エージェントの使い方がちょっと変わったきっかけになったが &lt;a href=&#34;https://github.com/goark/pa-api&#34; target=&#34;_blank&#34; title=&#34;goark/pa-api: Go client for the Amazon Creators API&#34;&gt;&lt;code&gt;goark/pa-api&lt;/code&gt;&lt;/a&gt; パッケージに来た PR の評価に &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; の &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; を使ったこと。
PA-API から Creator API に移行するための大きな変更だったので，自分だけで評価・判断するのがちょっと不安だったのだ。&lt;/p&gt;
&lt;p&gt;実をいうと PR ページでアサインする AI レビューが使いものにならなかったのであまり期待してなかったのだが，思った以上に使えた。
私は，上述の性格診断から GPT-5.3-Codex を常用しているのだが， PR に対するお互いの評価を突き合わせて「議論」が成立したことに驚いた。
結城浩さんの『AIと生きる』に出てくる「&lt;a href=&#34;https://text.baldanders.info/remark/2026/05/reading-living-with-ai/&#34; target=&#34;_blank&#34; title=&#34;『AIと生きる』を読む&#34;&gt;AI との対話&lt;/a&gt;」ってこういう感じなんだなぁ，と実感したのだった。&lt;/p&gt;
&lt;p&gt;これで我が家では &lt;a href=&#34;https://github.com/features/copilot&#34; target=&#34;_blank&#34; title=&#34;GitHub Copilot · Your AI pair programmer · GitHub&#34;&gt;Copilot&lt;/a&gt; はペアプロ相手の新人くんから秘書に格上げになった。
AI で秘書的な役割を演じるものとして思いつくのはグレッグ・イーガンの『&lt;a href=&#34;https://amzn.to/4viO0LY&#34; target=&#34;_blank&#34; title=&#34;万物理論 | グレッグ・イーガン, 山岸 真 |本 | 通販 | Amazon&#34;&gt;万物理論&lt;/a&gt;』に出てくるシジフォスだな。
私としてはあーゆーのが理想なんだけどねぇ。&lt;/p&gt;
&lt;h2&gt;サービスとしての秘書&lt;/h2&gt;
&lt;p&gt;個人で &lt;a href=&#34;https://go.dev/&#34; target=&#34;_blank&#34;&gt;Go&lt;/a&gt; 製ツールを書くときは複数の自作パッケージを同時に扱うことが多い。
そういう意味で &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; は便利そうなのだが，前に述べたようにセッションの複製や fork ができないのはいただけない。
あと，複数のセッションを統括する AI セッションが要るよね，たぶん（セッション間の通信？）。
秘書はなんぼあってもいいですからね（by ミルクボーイ）。&lt;/p&gt;
&lt;p&gt;で，思ったんだけど，これ &lt;a href=&#34;https://code.visualstudio.com/&#34; target=&#34;_blank&#34; title=&#34;Visual Studio Code - The open source AI code editor | Your home for multi-agent development&#34;&gt;VS Code&lt;/a&gt; から分離したほうがよくね？ そもそもエディタや IDE にエージェント機能を組み込むのは筋が悪いと思うのだ。
だからこそ CLI インタフェースの AI エージェントが人気なんだろうけど GUI デスクトップでいまさら CUI ターミナル上で動かす意味はないよね。
ブラウザ上で動かすのはもっとないけど。&lt;/p&gt;
&lt;p&gt;というわけで &lt;a href=&#34;https://code.visualstudio.com/docs/copilot/agents/agents-window&#34; target=&#34;_blank&#34; title=&#34;Use the Agents window (Preview)&#34;&gt;Agents Window&lt;/a&gt; には密かに期待を寄せている。
どう発展するのか分からないけど。&lt;/p&gt;
&lt;p&gt;あと，やっぱローカル LLM は真面目に勉強しないといけないなぁ。
既に AI サービスは&lt;a href=&#34;https://en.wikipedia.org/wiki/Enshittification&#34; target=&#34;_blank&#34; title=&#34;Enshittification - Wikipedia&#34;&gt;メタクソ化&lt;/a&gt;が始まってると思う。
早めに逃げれるようにしておかないと。&lt;/p&gt;
&lt;h2&gt;ブックマーク&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://qiita.com/yasuo-dev/items/88cc099d3e133ab87cc1&#34; target=&#34;_blank&#34;&gt;VS Code 1.121 で何が変わったのか？ Agents・Mermaid・HTMLプレビュー・ターミナル最適化を整理する - Qiita&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4488711022?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51J3DEJJ1TL._SL160_.jpg&#34; width=&#34;112&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4488711022?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;万物理論 (創元SF文庫)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;グレッグ・イーガン (著), 山岸 真 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;東京創元社 2004-10-28&lt;/dd&gt;
    &lt;dd&gt;文庫&lt;/dd&gt;
    &lt;dd&gt;4488711022 (ASIN), 9784488711023 (EAN), 4488711022 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; グレッグ・イーガンの名作。これも singularity を巡る物語だな。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2017-09-18&#34;&gt;2017-09-18&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- 万物理論 --&gt;
</content>
	</entry><entry>
		<title>『カーニハンのUNIX回顧録』オンライン読書会第5回目</title>
		<link rel="alternate" type="text/html" href="https://text.baldanders.info/remark/2026/05/reading-unix-a-history-and-a-memoir-5/" />
		<id>tag:text.Baldanders.info,2026-05-23:/remark/2026/05/reading-unix-a-history-and-a-memoir-5/</id>
		<published>2026-05-23T07:03:30+00:00</published>
		<updated>2026-08-25T08:11:34+00:00</updated>
		<summary>『カーニハンのUNIX回顧録』オンライン読書会第5回のメモ。Unix 年表，Xenix，Minix/Linux，Unix 哲学を振り返る。</summary>
		<author>
			<name>Spiegel</name>
			<uri>https://baldanders.info/profile/</uri>
		</author>
		
	<link rel="cc:license" type="application/rdf+xml" href="https://creativecommons.org/licenses/by-sa/4.0/rdf" />


		<content type="html" xml:lang="ja-jp" xml:base="https://text.baldanders.info/">&lt;p&gt;『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34; target=&#34;_blank&#34; title=&#34;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;カーニハンのUNIX回顧録&lt;/a&gt;』オンライン読書会の第5回目に参加してきた。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://technical-book-reading.connpass.com/event/392162/&#34; target=&#34;_blank&#34;&gt;第5回『カーニハンのUNIX回顧録』オンライン読書会 (2026/05/23 13:00〜)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;今回は7章から9章の途中まで。
最後まで終わらなかった。
印象に残った部分をかいつまんで紹介する。&lt;/p&gt;
&lt;h2&gt;Unix 年表&lt;/h2&gt;
&lt;p&gt;8章に載っている「Unix 年表」は Wikipedia からの転載みたいなので探してみたらあった。&lt;/p&gt;
&lt;figure style=&#39;margin:0 auto;text-align:center;&#39;&gt;&lt;div class=&#34;lightmode&#34;&gt;&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Unix_timeline.en.svg&#34;&gt;&lt;img src=&#34;./Unix_timeline.en.svg.png&#34; srcset=&#34;./Unix_timeline.en.svg.png 952w&#34; sizes=&#34;(min-width:600px) 500px, 80vw&#34; alt=&#34;File:Unix timeline.en.svg - Wikimedia Commons (public domain)&#34; loading=&#34;lazy&#34;&gt;&lt;/a&gt;&lt;/div&gt;&lt;figcaption&gt;&lt;div&gt;&lt;a href=&#34;https://commons.wikimedia.org/wiki/File:Unix_timeline.en.svg&#34;&gt;File:Unix timeline.en.svg - Wikimedia Commons (public domain)&lt;/a&gt;&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;すべての Unix 派生版が載っているわけではないが，大まかな系譜は見て取れるだろう。&lt;/p&gt;
&lt;p&gt;研究所版 Unix が系譜の根であり，そこから大きくバークレー版（Berkeley Software Distribution; BSD）と商用版（System III &amp;amp; V）に分かれる。
両者は同じ祖先を持ちながら互換性がなく，また AT&amp;amp;T が BSD に対して知財権侵害で訴えた&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; こともあり（BSD は AT&amp;amp;T からのコードを削除・書き換え，泥沼となる）まるで似て非なるものとなった。&lt;/p&gt;
&lt;h3&gt;Xenix&lt;/h3&gt;
&lt;p&gt;読んで面白かったのは Microsoft が1980年代に Xenix と呼ぶ Unix 派生バージョンを供給してたことで&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;，1980年代後半の Unix インストールマシン台数ではこれが一番多かったらしい。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;もし Microsoft が自身の MS-DOS の代わりに Xenix を推していたら，そして，もし AT&amp;amp;T が見かけによらず取引しやすかったなら，今日の世界はどれだけ違っただろうか．&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;『カーニハンのUNIX回顧録』 p.172&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;ホンマにな。
Xenix はのちに SCO (Santa Cruz Operation) に売却される。&lt;/p&gt;
&lt;h3&gt;Minix と Linux&lt;/h3&gt;
&lt;p&gt;AT&amp;amp;T と BSD の間の不毛な争いの間に「もっと自由に使える Unix」の機運が高まる。
ここで登場したのが Minix である。
Minix はシステムコールレベルでは互換だがゼロからコードを書いたもので，カーネルの構成が Unix とは異なる。
作者の Andrew Tanenbaum は Minix についての教科書を書き，ソースコードを無料公開した。
Minix は教育・研究目的で今も健在らしい。&lt;/p&gt;
&lt;p&gt;そして Linus Torvalds による Linux が登場する。
この辺までくると私にもリアルな記憶になってくるな。&lt;/p&gt;
&lt;p&gt;『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34; target=&#34;_blank&#34; title=&#34;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;カーニハンのUNIX回顧録&lt;/a&gt;』には Usenet の &lt;code&gt;comp.os.minix&lt;/code&gt; に投稿された Linus Torvalds 投稿（の翻訳）が載っている。&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;私は，386 (486) AT クローン向けの（無料の）オペレーティングシステムを作っています（単なる趣味で，gnu のように大きく，プロ向けなものにはしたくない）．&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;『カーニハンのUNIX回顧録』 p.175&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;この部分を読んで密かに笑ってしまった。
フィンランドの大学生が「単なる趣味で」作った Unix もどきが（ゼロからコードを書き，最初は数千行のサイズだったらしい），今やパソコンを除く多くの機器でメジャーな OS となった（スパコンも今や Linux 駆動だし Android も Linux ベースである）。
もっと言えば &lt;a href=&#34;https://amzn.to/3RFXanf&#34; target=&#34;_blank&#34; title=&#34;リナックスの革命 ― ハッカー倫理とネット社会の精神 | ペッカ ヒマネン, リーナス トーバルズ, マニュエル カステル, 安原 和見, 山形 浩生 |本 | 通販 | Amazon&#34;&gt;Linux を礼賛する本&lt;/a&gt;も出たりして，世の中というのは実に不思議である&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;。&lt;/p&gt;
&lt;h2&gt;Unix の技術がもたらしたもの&lt;/h2&gt;
&lt;p&gt;『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34; target=&#34;_blank&#34; title=&#34;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;カーニハンのUNIX回顧録&lt;/a&gt;』では Unix の技術がもたらしたものとして以下を挙げている。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;階層型ファイルシステム&lt;/li&gt;
&lt;li&gt;高水準実装言語&lt;/li&gt;
&lt;li&gt;ユーザレベルのプログラム可能なシェル&lt;/li&gt;
&lt;li&gt;パイプ&lt;/li&gt;
&lt;li&gt;ツールとしてのプログラム&lt;/li&gt;
&lt;li&gt;普通のテキストが標準データ形式である&lt;/li&gt;
&lt;li&gt;プログラムを書くプログラム&lt;/li&gt;
&lt;li&gt;専用言語&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;詳しくは9章を参照あれ。&lt;/p&gt;
&lt;h3&gt;Unix 哲学&lt;/h3&gt;
&lt;p&gt;Unix の技術がもたらしたものとして最後に「コンピュータを使った仕事にどのように取り組むか」というのが挙げられている&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;。
曰く&lt;/p&gt;
&lt;figure&gt;
&lt;blockquote cite=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;&lt;ol&gt;
&lt;li&gt;それぞれのプログラムは一つのことをうまくやるようにせよ．新しい仕事をするには，新たな「機能」を追加して古いプログラムを複雑にするのではなく，改めて組み立てよ．&lt;/li&gt;
&lt;li&gt;すべてのプログラムの出力は，未知の別のプログラムの入力となることを想定せよ．出力を無関係な情報で散らかさないこと．厳格なカラム化やバイナリの入力形式は避けよ．対話型の入力を強要しないこと．&lt;/li&gt;
&lt;li&gt;ソフトウェアは，たとえそれがオペレーティングシステムであっても，早期に，できれば数週間以内に試用できるように設計し構築せよ．ぎこちない部分はためらわずに捨てて作り直すこと．&lt;/li&gt;
&lt;li&gt;たとえツール構築のために迂回する必要があったり，使い終わったらその一部を捨てることになると予想されようとも，プログラミング作業を楽にするためには，未熟な人の手助けよりもむしろツールの使用を優先せよ．&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;figcaption&gt;&lt;div&gt;&lt;q&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;『カーニハンのUNIX回顧録』 p.188&lt;/a&gt;&lt;/q&gt;より&lt;/div&gt;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;これは，今日では「&lt;a href=&#34;https://en.wikipedia.org/wiki/Unix_philosophy&#34; target=&#34;_blank&#34; title=&#34;Unix philosophy - Wikipedia&#34;&gt;Unix 哲学（Unix Philosophy）&lt;/a&gt;」として知られているものの，元になったものである。
4番目とか道具としての生成 AI を指してるような気がして，ちょっと面白かった。&lt;/p&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;&lt;img src=&#34;https://text.baldanders.info/images/thumbs/fcdff433aff55873cb56b6d9ce8fbb636e359514.jpg&#34; width=&#34;110&#34; alt=&#34;thumbs&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34;&gt;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;Unixとは何であり，どのように生まれ，なぜ重要なのかを説明する，コンピュータ史上でも特に生産的だった形成期の素晴らしい物語 ブライアン・カーニハン 著&lt;/dd&gt;
	&lt;dd&gt;&amp;nbsp;&lt;/dd&gt;
	&lt;dd&gt;Release &lt;abbr class=&#34;release-date&#34; title=&#34;2025-09-24&#34;&gt;2025-09-24&lt;/abbr&gt;&lt;/dd&gt;
	
	&lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;4&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;powered-by&#34;&gt;Powered by &lt;a href=&#34;https://github.com/spiegel-im-spiegel/linkcard&#34;&gt;linkcard&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt; &lt;!-- カーニハンのUNIX回顧録 --&gt;&lt;/p&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4309242456?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51KXSMMSTFL._SL160_.jpg&#34; width=&#34;108&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4309242456?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;リナックスの革命 ― ハッカー倫理とネット社会の精神&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;ペッカ ヒマネン (著), リーナス トーバルズ (著), マニュエル カステル (著), 安原 和見 (翻訳), 山形 浩生 (翻訳)&lt;/dd&gt;
    &lt;dd&gt;河出書房新社 2001-05-26&lt;/dd&gt;
    &lt;dd&gt;単行本&lt;/dd&gt;
    &lt;dd&gt;4309242456 (ASIN), 9784309242453 (EAN), 4309242456 (ISBN)&lt;/dd&gt;
    &lt;dd&gt;評価&lt;abbr class=&#34;rating fa-sm&#34; title=&#34;3&#34;&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;fas fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&amp;nbsp;&lt;i class=&#34;far fa-star&#34;&gt;&lt;/i&gt;&lt;/abbr&gt;&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; 大昔に買ったんだけどうろ覚え。買い直そうかと思ったが邦訳は Kindle ではないのか。それにしても「リナックスの革命」とかいう頭の悪いタイトルはどうにかならなかったのだろうか。副題だけで十分ぢゃん。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2020-12-12&#34;&gt;2020-12-12&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- リナックスの革命 Hacker Ethic --&gt;
&lt;div class=&#34;hreview&#34;&gt;
  &lt;div class=&#34;photo&#34;&gt;&lt;a href=&#34;https://www.amazon.co.jp/dp/4796880011?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;&lt;img src=&#34;https://m.media-amazon.com/images/I/51WZM2W6ZBL._SL160_.jpg&#34; width=&#34;111&#34; alt=&#34;photo&#34;&gt;&lt;/a&gt;&lt;/div&gt;
  &lt;dl&gt;
    &lt;dt class=&#34;item&#34;&gt;&lt;a class=&#34;fn url&#34; href=&#34;https://www.amazon.co.jp/dp/4796880011?tag=baldandersinf-22&amp;amp;linkCode=ogi&amp;amp;th=1&amp;amp;psc=1&#34;&gt;それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実 (小プロ・ブックス)&lt;/a&gt;&lt;/dt&gt;
    &lt;dd&gt;リーナス トーバルズ (著), デビッド ダイヤモンド (著), 風見 潤 (翻訳), 中島 洋 (監修)&lt;/dd&gt;
    &lt;dd&gt;小学館プロダクション 2001-05-10&lt;/dd&gt;
    &lt;dd&gt;単行本&lt;/dd&gt;
    &lt;dd&gt;4796880011 (ASIN), 9784796880015 (EAN), 4796880011 (ISBN)&lt;/dd&gt;
  &lt;/dl&gt;
  &lt;p class=&#34;description&#34;&gt;&lt;strong&gt;[Comment]&lt;/strong&gt; Linux の作者 Linus Torvalds の自伝的作品。&lt;/p&gt;
  &lt;p class=&#34;powered-by&#34;&gt;reviewed by &lt;a href=&#39;#maker&#39; class=&#39;reviewer&#39;&gt;Spiegel&lt;/a&gt; on &lt;abbr class=&#34;dtreviewed&#34; title=&#34;2017-01-23&#34;&gt;2017-01-23&lt;/abbr&gt; (powered by &lt;a href=&#34;https://affiliate.amazon.co.jp/assoc_credentials/home&#34;&gt;PA-APIv5&lt;/a&gt;)&lt;/p&gt;
&lt;/div&gt; &lt;!-- それがぼくには楽しかったから --&gt;
&lt;!-- eof --&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;『&lt;a href=&#34;https://www.maruzen-publishing.co.jp/book/b10152370.html&#34; target=&#34;_blank&#34; title=&#34;カーニハンのUNIX回顧録 - 丸善出版 理工・医学・人文社会科学の専門書出版社&#34;&gt;カーニハンのUNIX回顧録&lt;/a&gt;』では Oracle vs. Google (Android/Java) の訴訟についても紹介している。この辺は割と真面目にブログ記事にしてるので「&lt;a href=&#34;https://text.baldanders.info/remark/2021/03/google-vs-oracle-3/&#34; target=&#34;_blank&#34;&gt;Google vs Oracle の訴訟の行方（最終章）&lt;/a&gt;」から遡って読んでみて。そもそもプログラムコードに著作権があるってのは（歴史的には）比較的新しい考え方なんだよ。 WCT (WIPO Copyright Treaty) が採択されたのが1996年。発効したのが2002年である。&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;「Microsoft の Xenix」という部分を見て「銭ックス」と脳内変換したのは私だけではない筈だ！&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;私の印象でも1990年代までは「Linux はオモチャ」だった。それでも Unix ワークステーションの X 端末としては優秀だったので仕事でもよく使っていたが。&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:4&#34;&gt;
&lt;p&gt;“&lt;a href=&#34;https://archive.org/details/bstj57-6-1899/page/n3/mode/2up&#34; target=&#34;_blank&#34;&gt;BSTJ 57: 6. July-August 1978: UNIX Time-Sharing System: Forward. (McIlroy, M.D.; Pinson, E.N.; Tague, B.A.) : Free Download, Borrow, and Streaming : Internet Archive&lt;/a&gt;” p.1902 参照。&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content>
	</entry>
</feed>
