<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI |</title><link>https://clementgodbarge.com/ja/tag/ai/</link><atom:link href="https://clementgodbarge.com/ja/tag/ai/index.xml" rel="self" type="application/rss+xml"/><description>AI</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ja-jp</language><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>AI</title><link>https://clementgodbarge.com/ja/tag/ai/</link></image><item><title>火ではなく、柵</title><link>https://clementgodbarge.com/ja/post/fence-not-fire/</link><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/post/fence-not-fire/</guid><description>&lt;p&gt;ノースラスベガスの倉庫で、Amazonは古本の背を切り落とす機械を回しています。ばらけたページはスキャナーを通り、紙は溶解処理へ送られる。
はこれを現代の焚書になぞらえ、決まり文句を出し惜しみしませんでした。サヴォナローラへの言及、いかにも稀覯本らしいストック写真、そしてもちろんベルリンの焚書。案の定、高級紙はもう少し冷静でしたが、同じ比較を宙ぶらりんのまま残しました。憤ってみせる割に、これらの記事はAI業界に対して驚くほど手ぬるいのです。スキャンされる知識を誰が握るのか。この問いは、焚書というたわごとを片付けるまでお預けです。&lt;/p&gt;
&lt;h2 id="スキャナーは焚火ではない"&gt;スキャナーは焚火ではない&lt;/h2&gt;
&lt;p&gt;物理的な一冊を壊すというだけでは、破壊的スキャンはサヴォナローラの焚火やナチスの焚書の現代版にはなりません。あの行為の意味は、何が、なぜ断罪されたかにありました。焚書論争のたびに引き合いに出される気の毒な修道士サヴォナローラは、公の贖罪として持ち物の一部を燃やすよう人々に呼びかけたのです。ナチスの焚火が演出したのは別種の拒絶でした。本を公然と燃やすことで、その著者たちにドイツの文化生活に居場所はないと宣言したのです。どちらの場合も、破壊は見せるための行為でした。デジタル化で広く使われる破壊的スキャンは、それとは別の目的に仕えます。中身を残すために一冊を犠牲にする。本は壊され、テキストは物質から解き放たれる。『華氏451度』を持ち出したくなる人は、ブラッドベリの消防士たちが後で読むためにテキストを取っておいたわけではないことを思い出すとよいでしょう。&lt;/p&gt;
&lt;p&gt;
は見出しに「稀覯本」を掲げて不安を煽り、他のメディアも律儀にこれを繰り返しました。ところが、その調査自体が引用している古書店主によれば、こうした大量注文は
とのこと。つまり大半は、1970年頃にISBNが導入されて以降の版です。カーブートセールやチャリティーショップに並ぶ類の本で、大掃除のたびに処分されかねない品々。文化的大惨事を宣言する前に、図書館の目録を引いてみてはどうでしょう。これらはまさに、法定納本図書館が保存するために存在している出版物なのです。たしかにISBNがあるからといって、納本された一冊が現存する保証はありません。しかし古本市場で品薄だからといって、テキストが消滅したことにもなりません。&lt;/p&gt;
&lt;p&gt;溶解処理は、献辞や欄外の書き込みもろとも、物理的な一冊を消し去ります。歴史的に意義のある注記や来歴をもつ本は、できれば古本市場に流れる前に、見つけ出して保存すべきです。絶版書の現物が減っていくのを心配するのも、もっともでしょう。ただしその場合は、なぜ権利者が再版もせず、既存のデジタル複製へのアクセスも認めないのかを問うべきです。研究者ならこの苛立ちを知っています。Google Booksで探していた一節が見つかったのに、表示されるのは新刊で買うこともオンラインで読むこともできない本の断片だけ、という経験を。ここには議論に値する損失があります。しかしそれで、スキャナーがナチスの焚火に化けるわけではありません。&lt;/p&gt;
&lt;p&gt;一方、出版業界は昔から、売れ残った本を日常業務として溶解処理してきました。フランスだけでも、
、これは売れ残って取次に返品された総量の約60%にあたります。これを在庫管理と呼びます。余剰在庫と希少な古書とでは、アクセスをめぐる問いの立て方も違いますが、紙を壊すこと自体は検閲でも暴政でもありません。&lt;/p&gt;
&lt;h2 id="本が増えればaiはよくなる"&gt;本が増えれば、AIはよくなる？&lt;/h2&gt;
&lt;p&gt;AI企業が本を買ってスキャンしているのは、実のところ朗報です。人間の文化の理解が浅いと日頃から批判されている技術が、より多くの文化を取り込もうとしている。研究者はむしろ、この努力を歓迎してもよかったはずです。&lt;/p&gt;
&lt;p&gt;ウェブは、ある言語が積み上げてきた記録の貧弱な代用品にすぎません。小説や回想録から流行歌や会話の書き起こしまで、言語の記録された生の多くは、印刷物からウェブに移されたことがないのです。こうした本の多くは、出版社より長生きしています。訓練データに取り込むことがもっとも重要なのは、他にほとんど何もない場合です。英語の本が数冊増えたところで、改善はわずかでしょう。ところが十分に代表されていない言語では、その数冊が使えるシステムと使えないシステムの分かれ目になりえます。こうしたツールが公共サービスや日常生活にふさわしいかどうかは、公の議論に委ねられるべき問いです。ただ、どこで使うと決めるにせよ、自分の言語で使えなければなりません。&lt;/p&gt;
&lt;p&gt;スペインとオランダで報じられた注文は、言語をめぐって何が懸かっているかを具体的に示しています。5月、
は、バダロナの古書店主が主にカタルーニャ語のノンフィクション――歴史書、技術マニュアル、古い学会論文集――の注文を繰り返し受けていると報じました。8月にはオランダの報道が、De Slegteへの
の依頼を伝えています。本の言語は、少なくとも装丁の運命と同じだけの注意に値します。Daily Mailにそれを求めるのは酷かもしれません。とはいえ、もっと冷静な新聞でさえ、関係する言語についてはほとんど語っていないのです。&lt;/p&gt;
&lt;p&gt;大手出版社とのライセンス契約も貴重な資料を供給しうるものですが、そのデジタルカタログが覆うのは、印刷物として世に出たもののごく一部にすぎません。デジタル化されたことのない本や、出版社がもう権利を持たない本は、提供の外に置かれます。どれほど気前のよいライセンス契約でも、出版の歴史の代わりにはならず、ましてや文化の歴史の代わりにはなりません。古本を買うことは、そうした商業的な境界の向こうへ手を伸ばす一つの方法なのです。&lt;/p&gt;
&lt;h2 id="窃盗は論拠にならない"&gt;「窃盗」は論拠にならない&lt;/h2&gt;
&lt;p&gt;「窃盗」と呼んでみても、事態は進みません。2025年6月、米国の2つの連邦地方裁判所は、目の前の事案について、言語モデルの訓練に本を使うことはフェアユースにあたると判断しました。
事件で裁判所が強調したのは、訓練の変容的な性格です。本は、新しい表現を生み出せるシステムを作るために使われた。モデルは一節を記憶することがありますが、本を訓練に使ったからといって、テキスト全体が求めに応じて取り出せるようになるわけではありません。かといって、逐語的な複製がないからすべての異議が退けられるわけでもない。
事件で判事は、AI生成物が市場に溢れる恐れがあり、そうした損害の証拠があればフェアユースの抗弁を退けうると警告しました。ただし、この原告たちは自分の著作に対するそうした損害について、意味のある証拠を出していませんでした。どちらの判決もAI企業に無制限の許可を与えるものではなく、倫理的な論争に決着をつけるものでもありません。両判決が私たちに求めているのは、本がどう取得され、複製がどう保持され、訓練がそれをどう扱うかを区別することです。そのすべてを「窃盗」とひとくくりにすれば、この問いは宙に浮いたままです。&lt;/p&gt;
&lt;p&gt;ついでに言えば、Anthropic判決は裁断機の根拠にもなっています。裁判所は購入した本のデジタル化を支持する一方、海賊版の本を恒久的なライブラリに溜め込むことを退けました。後者について同社はのちに
。デジタル化が認められた理由の一つは、変換の過程で印刷された各部が破壊されたことでした。デジタル複製が現物に取って代わり、社外で共有されることはなかった。一部の人々をこれほど憤らせている破壊が、Anthropicにとっては、デジタル化計画がフェアユースであると立証する助けになったのです。この事案では、買って、スキャンして、捨てることが合法的な経路でした。ここでの裁断機は、法令遵守の道具なのです。本を買えば、取得の問題は解決できます。しかしそれだけでは、できあがったコーパスを共有する許しは誰にも与えられません。&lt;/p&gt;
&lt;p&gt;AIがもっと多くの言語、もっと多くの学術研究、そしてインターネット以前に存在した世界のもっと多くを取り込んでほしいと願う理由は、十分にあります。私たちの嫌いな企業がそこに商機を見出したからといって、その理由が消えるわけではありません。&lt;/p&gt;
&lt;h2 id="借り物の憤り"&gt;借り物の憤り&lt;/h2&gt;
&lt;p&gt;そこでDaily Mailに戻りましょう。あの記事は、新聞社のオーナーと出版社がAI向けの
を求めるキャンペーン、
の一部です。都合のよいすり替えが二つ、仕事をしています。ビッグテックがAIの代わりに立ち、権利者が英国の創造性の代わりに立つ。出版社が文化の売却条件を交渉している横で、読者は文化を守れと促されるわけです。この記事を拡散する研究者は、自分の憤りが誰の大義に仕えているのか、問うてみてもよいでしょう。&lt;/p&gt;
&lt;p&gt;ビッグテックと
は賃料をめぐって争っていますが、柵そのものに反対する者はどちらにもいません。テック大手に奪われる孤独な著者という物語は、高額なライセンス契約が両陣営にもたらすものを隠しています。出版社は金を受け取り、ビッグテックは小さな競合が参入できない市場を手に入れる。ピーター・ティールはシリコンバレーの本音をもっと率直に語っています。
。&lt;/p&gt;
&lt;p&gt;ライセンスが必ずそういう結果を生むわけではありません。手頃で非排他的なアクセスなら、小規模な開発者の助けになるでしょう。しかし、参入者それぞれに大手権利者との高額な契約を強いる仕組みは、購買力を参入の条件に変えてしまいます。文化産業への譲歩として差し出される支払いが、結局は将来の競合相手に対する防壁を買っているのです。&lt;/p&gt;
&lt;h2 id="aiはビッグテックのものではない"&gt;AIはビッグテックのものではない&lt;/h2&gt;
&lt;p&gt;もっと根の深い問題があります。AI批判の多くは、最大の商業的供給者をこの分野の全体と取り違えている。製品が見出しを独占し、それらの企業の外にある研究開発は視界から消えます。ビッグテックにとって、これほど都合のよい誤解はないでしょう。この分野を丸ごと所有しようという野心が、その野心に向けられた批判の前提になっているのですから。独占はまだ完成していません。それを既定の事実として扱うのは、これらの企業に途方もない贈り物をするようなものです。&lt;/p&gt;
&lt;p&gt;オープンソースAIがあれば、より多様な言語、文化、表現形式を映したシステムを、人々が自分で構築し、手を加えられます。ヨーロッパ、アフリカ、ラテンアメリカの国々にとって、また韓国、日本、インドにとって、それは技術的・文化的主権の実際的な基盤です。すなわち、システムがどう動き、どの言語に仕え、どこで使われるかを自ら決める力。AIを使うかどうか、何のために使うかは、外国の供給者への依存に左右されるのではなく、公共の選択であり続けるべきです。&lt;/p&gt;
&lt;p&gt;とはいえ、システムを改変する自由も、それを実行する手段がなければ絵に描いた餅です。独立した取り組みには、専門知識、計算インフラ、そして訓練資料へのアクセスが要ります。ここで話は本に戻ります。研究チームや公的機関がそれぞれ自前で出版契約を交渉し、自前の私設ライブラリを組み上げなければならないのなら、独立は結局、その費用を賄える者だけの特権にとどまるのです。&lt;/p&gt;
&lt;h2 id="本はもうここにある"&gt;本はもうここにある&lt;/h2&gt;
&lt;p&gt;図書館と文書館は、こうしたシステムに必要な資料を何世代にもわたって集めてきました。そのコレクションが存在するのは、知識へのアクセスは、知識を売る商業的な関心より長く続くべきだからです。すでに多くがスキャンされています。
は研究図書館から集めた約1,900万冊のデジタル化蔵書を抱えており、その多くはまだ著作権の保護下にあります。図書館は本をスキャンし、そして本を手元に残す。そこに裁断機は要りません。HathiTrustは
が、同時に、非商業的なAI研究開発向けにコーパスへのアクセスを提供する
というプロジェクトを発表しています。もっとも、その条件でのアクセスでも、一部の独立系開発者は締め出されたままでしょう。&lt;/p&gt;
&lt;p&gt;ただし、本を所有しているからといって、図書館がその著作権付きの中身を訓練コーパスとして配布する権利を得るわけではありません。
は、研究機関と図書館が科学研究のために合法的にアクセスできる著作物をマイニングすることを認め、権利者が権利を留保していない場合にはより広いマイニングも許しています。
。そのマイニング例外は非商業的研究に限られ、複製の移転を制限しています。どちらの枠組みも、他者が上に築けるよう著作権付きの所蔵資料を共有する一般的な権利を、図書館に与えてはいないのです。&lt;/p&gt;
&lt;p&gt;権利者が本の計算的利用をいつまで支配すべきかも、考え直してよいでしょう。医薬品特許は一つの比較の物差しになります。通常20年というその存続期間は、著者の生涯プラス70年という著作権の保護期間よりはるかに短い。再版と販売の権利は保護したまま、たとえば初版から20年たった本はライセンス料なしにテキスト・データマイニングに使える、という仕組みにはできないものでしょうか。著者が本を売る権利を守ることは、中身のあらゆる使い道を何世代にもわたって支配することとは別のはずです。&lt;/p&gt;
&lt;p&gt;私は2年前、
紙で、文化遺産データは公共財として扱うべきだと論じました。政府は図書館と文書館に資金を出し、コレクションをデジタル化し、転写し、記録させ、できあがったコーパスを他者が上に築けるよう公開する法的権限を与えるべきです。ビッグテックには、専用の課徴金を通じて費用の一部を負担してもらえばよい。&lt;/p&gt;
&lt;p&gt;公的資金には、公開されたコレクション方針とアクセス規則が伴うべきで、排他的契約や寄付者への優遇なしに、学術利用も商業利用もカバーすべきです。訓練のためのアクセスは、著作権付きの本の無制限な再配布を意味する必要はありません。著者は、同意、報酬、自分の著作との競合への対処を含め、公的な仕組みの設計に加わるべきです。利用者への無料アクセスと、公的資金による著者への報酬は両立します。本が貸し出されるたびに公費から著者に支払う
は、その先例の一つです。火はもとより本題ではありませんでした。本題は柵なのです。&lt;/p&gt;</description></item><item><title>編集者の皆さんへ――私の声が欲しいなら、私の言語を返してください</title><link>https://clementgodbarge.com/ja/post/dear-editors/</link><pubDate>Thu, 27 Aug 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/post/dear-editors/</guid><description>&lt;p&gt;また今日も、どこかの学術誌がAIポリシーを高らかに掲げています。今度は&lt;em&gt;Progress in Human Geography&lt;/em&gt;誌です。編集者たちは
を公表し、自分で読み、考え、書く代わりにAIを使うのは「剽窃にも等しい学術倫理違反」だと警告しました。違反が見つかった論文は「撤回されうる」。よくて訂正の上、誌上に訂正通知が載る。そのうえで著者は「撤回や訂正通知に自分の名前が結びつくことを望むかどうか、よく考える」べきだ、というのです。&lt;/p&gt;
&lt;p&gt;この一文は、少し立ち止まって味わう価値があります。撤回は学術出版における制裁の最上級で、ふつうは捏造や不正のためにとってある罰です。それがここでは、同じ論説が定義すらできない違反に結びつけられている。編集者たち自身が認めるとおり、「正真正銘のグレーゾーン」があり、「『無責任』の領域を画する明確な線はない」のです。運用は「不当なAI利用はしていないと主張する著者を怒らせるかもしれない判断」に委ねられる。つまり本人の申告は覆されうるわけです。続く助言は、「責任」の領域に「安全に」とどまれというもの。しかし安全を説くのは、危険があるところに限られます。自分でも引けないと認める線を越えたといって人を罰することに意味があるとすれば、それはねらいが恐怖による統治にある場合だけでしょう。この点は、頭の隅に置いておいてください。&lt;/p&gt;
&lt;h2 id="声という口実"&gt;「声」という口実&lt;/h2&gt;
&lt;p&gt;では、責任ある利用とはどういうものでしょうか。著者はこう告げられます。「自分自身の声を保つよう……細心の注意を払わなければならない」。誤用とは、「著者自身がふだん決して使わないような言語で書く」ためにAIに頼ることだ、と。母語話者にとって、これは筋が通っています。自分でないものを装うな、というわけですから。ところが、自分のものでない言語で書かざるをえない外国人にとって、この命令は自己矛盾です。ポリシーが守ろうとする声とは、この学術誌自身の規則が私たちに認めていない、まさにその一つのものなのです。&lt;/p&gt;
&lt;p&gt;私を試験台にしてみましょう。英語は私の第4言語で、まさに「ふだん」なら決して使わない類の言語です。英語圏の大学は私に、短く、道標を立てて、ほとんど機械的に書くことを叩き込みました。トピックセンテンスは冒頭に、ヘッジは決められた場所に、接続表現は認可済みのリストから。訓練は効きました。私の英語に守るべき声などあったためしがない。声こそ、真っ先に捨てるべきものだったのです。編集者たち自身の定義に従えば、私が英語で書いたものはすべて、機械の有無にかかわらず、不適切な利用ということになります。&lt;/p&gt;
&lt;h2 id="板挟み"&gt;板挟み&lt;/h2&gt;
&lt;p&gt;編集者たちは、私たちのことも考えたと言います。ポリシーは、非母語話者がAIによる英語チェック、さらにはその「翻訳、執筆、編集のサービス」から恩恵を受けることを認めているのです。しかし執筆へのAIの関与は「せいぜい編集と校正の支援」にとどまるべきで、「AIが書いた大量のテキスト」に及んではならない。機械翻訳された論文は、最初の一語から最後の一語までAIが書いたものです。「大量のテキスト」以外の何ものでもない。したがってこの譲歩が成り立つのは、翻訳が執筆ではない場合に限られます。ではその線はどこに引かれるのか。答えはもう聞いています。「明確な線はない」。&lt;/p&gt;
&lt;p&gt;さらに悪いことがあります。この疑いは反証不可能なだけではありません。サイコロに細工がしてあるのです。2023年、スタンフォード大学のチームが、人間の書いたエッセイを相手に、広く使われている7種類のAI検出器を試しました。検出器は非母語話者によるTOEFLエッセイの平均61%を機械生成と判定した一方で、母語話者のエッセイはほぼ完璧に見分けました。ある検出器に至っては、TOEFLのセットの97.8%を機械生成と判定しています（
）。理由は示唆に富んでいます。検出器が測るのは予測可能性です。ところが平均に向けて訓練された第二言語の英語は、設計上、予測可能なのです。もっともありそうな語が、もっともありそうな順序で並ぶ。同じ研究は、本物の学術研究にも同じシグナルを見出しました。非母語話者が第一著者の学会論文では、言語的な変異が小さかったのです。「AI」と読まれる文体上の手がかりは、達者な第二言語英語の手がかりそのものであり、人間の「判断」もまた、機械と同じ手がかりを読んでいます。こうして板挟みは完成します。自分の英語で書けば機械に見え、機械を使えば規則を破ることになる。&lt;/p&gt;
&lt;h2 id="言語税"&gt;言語税&lt;/h2&gt;
&lt;p&gt;この逆説も、脅しを伴っていなければ罪のないものだったでしょう。しかしその脅しは、ポリシーが決して名指ししない、もっと深く古い問題をあぶり出します。単一言語主義です。
は「可能な限り広い国際的な網羅性」を求めながら、同じページで「本誌の言語は英語である」と述べています。&lt;/p&gt;
&lt;p&gt;この取り決めの代償は、仮定の話ではありません。Amanoらは908人の環境科学者を調査し、英語の非母語話者は論文を書くのに最大51%多くの時間を費やし、言語だけを理由に2.5倍の頻度で却下され、12.5倍の頻度で修正を求められることを明らかにしました（
）。この税は、AIポリシーが登場する前から徴収されていたものです。申告書とその脅しは、その上にさらに積まれた監査にほかなりません。&lt;/p&gt;
&lt;h2 id="fin-dempire"&gt;Fin d’empire&lt;/h2&gt;
&lt;p&gt;単一言語主義は、誰も議論しない公理です。それは帝国の遺産であり、時とともに実務上の正当化を手に入れました。翻訳は遅く高くつき、読めないものを審査できる編集委員会などなかったからです。しかし機械翻訳の進歩の前に、この理屈はどれも立ちゆきません。最先端の機械翻訳は、著者と編集者のあいだの信頼できる中間層として使えるのです。&lt;/p&gt;
&lt;p&gt;理想の出口は人間の側にあります。研究者が複数の言語を読めばよいのです。ところが英語圏の大学は、それより現代語学部を閉じるほうを選びます。注意してほしいのは、この閉鎖が英米圏に固有の現象だということです。それ以外の地域の研究者には、単一言語主義という贅沢はもとよりありませんでした。そしてタイミングにも目を向けてください。語学部を閉じるということは、英語が永久に勝利し、読むに値するものが二度と他の言語で書かれることはない、という賭けに出ることです。この賭けは二重の意味で、まさに最悪の時期になされています。第一に、機械翻訳のおかげで、史上初めてリンガ・フランカなしで済ませることが可能になりつつあるから。第二に、英語を既定の言語に押し上げた秩序そのものが後退しつつあるからです。英語圏は内向きになり、グローバル化は退潮し、自由貿易はその本家においてさえ争点となり、読むに値する言語が増えていく多極的な世界が形を取りつつあります。大学は、英語だけでは足りない世界のために、英語しか読めない研究者を量産している。その損失を最初に引き受けるのは、編集委員会です。&lt;/p&gt;
&lt;h2 id="編集者への試金石"&gt;編集者への試金石&lt;/h2&gt;
&lt;p&gt;編集委員会が著者自身の声を読めないと嘆くなら、問題の一端は編集委員会そのものにあるのではないでしょうか。&lt;/p&gt;
&lt;p&gt;これは重い非難ですから、重い試験を添えておきます。&lt;em&gt;Progress in Human Geography&lt;/em&gt;誌は、フランス語、イタリア語、あるいは日本語で書かれ、機械翻訳した英語版を添えた投稿を査読するでしょうか。それを可能にする「翻訳」サービスは、この学術誌自身の規定が認めています。答えが「はい」なら、問題は終わりです。「いいえ」なら、このポリシーが実際に何を守っているのかがわかります。&lt;/p&gt;
&lt;p&gt;どちらにせよ、選ぶのは編集者たちです。彼らの言うとおり声が大事なのなら、著者がものを考える言語で書かれた論文を受け入れるべきです。そうでないなら、申告書は廃止し、脅しもろとも消してしまうべきでしょう。&lt;/p&gt;</description></item><item><title>tei-mcp v0.3：原文を書き換えずにTEIを付ける</title><link>https://clementgodbarge.com/ja/post/tei-mcp-span-locked/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/post/tei-mcp-span-locked/</guid><description>&lt;p&gt;
とき、目標はAIアシスタントにTEIマークアップをでっち上げさせないことでした。スキーマによるグラウンディングで、問題の一部は片づきました。P5仕様をツール経由で直接引けるようになれば、モデルは要素の意味や受け入れる属性を当て推量しなくて済む。出力は検証を通ります。&lt;/p&gt;
&lt;p&gt;しかしTEIエンコーディングにおけるハルシネーションには二つの顔があり、スキーマが捉えるのはその一つだけです。仕様に照らした検証が教えてくれるのは、&lt;em&gt;マークアップ&lt;/em&gt;が整っていることまで。そのマークアップが包む&lt;em&gt;テキスト&lt;/em&gt;については何も語りません。そして害の大きいハルシネーションが潜んでいるのは、まさにそこ――テキストそのもの――なのです。v0.3の目玉であるスパン固定合成は、これを防ぐためだけに設計されました。&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;目次&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#スキーマが捉えられないハルシネーション"&gt;スキーマが捉えられないハルシネーション&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#スパン固定合成"&gt;スパン固定合成&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#これは何で何でないか"&gt;これは何で、何でないか&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#teiの外でも大事な理由"&gt;TEIの外でも大事な理由&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#アップデートの入手"&gt;アップデートの入手&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="スキーマが捉えられないハルシネーション"&gt;スキーマが捉えられないハルシネーション&lt;/h2&gt;
&lt;p&gt;モデルに16世紀のフランス語書簡をエンコードさせると、見たところ非の打ちどころのないTEI文書が返ってくることがよくあります。ヘッダーは埋まり、&lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt;タグは正しい位置にあり、&lt;code&gt;&amp;lt;dateline&amp;gt;&lt;/code&gt;も整っている。&lt;code&gt;validate_document&lt;/code&gt;にかければ通ります。&lt;/p&gt;
&lt;p&gt;そこで本文を原文と突き合わせてみてください。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mesme&lt;/code&gt;が&lt;code&gt;même&lt;/code&gt;になっています。コンマが一つ移動している。&lt;code&gt;luy&lt;/code&gt;はいつの間にか&lt;code&gt;lui&lt;/code&gt;に現代化されている。写本で読みにくかった節は、もっと読みやすいものに「訂正」されている。どれも頼んだ覚えのない変更です。どれにも印はつきません。文書はスキーマ上は妥当で、しかしひっそりと間違っている。&lt;/p&gt;
&lt;p&gt;エンコードされたテキストがそのまま恒久的な記録となり、後続の読者、検索インデックス、引用のよりどころになるアーカイブのワークフローにとって、これこそもっとも重大な故障の型です。壊れたタグは腹立たしい。しかし5年間誰も気づかない現代化された綴りは、汚損なのです。&lt;/p&gt;
&lt;h2 id="スパン固定合成"&gt;スパン固定合成&lt;/h2&gt;
&lt;p&gt;新リリース（v0.3）は、まさにこの故障の型を狙い撃ちにしたハルシネーション防止の仕組みを搭載しています。設計目標は、本文のハルシネーションを単に起こりにくくするのではなく、構造上ありえなくすることです。&lt;/p&gt;
&lt;p&gt;考え方は単純です。&lt;strong&gt;モデルは本文を一文字も打たない&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;代わりに、ワークフローはこう進みます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;モデルは&lt;code&gt;get_source(&amp;quot;letter_001&amp;quot;)&lt;/code&gt;を呼び、原文のプレーンテキストを不変の文字列として受け取ります。&lt;/li&gt;
&lt;li&gt;付けたいタグごとに&lt;code&gt;tag_span(&amp;quot;letter_001&amp;quot;, start, end, element_path, attrs)&lt;/code&gt;を呼び、原文上の文字範囲にTEI要素を登録します。&lt;/li&gt;
&lt;li&gt;終わったら&lt;code&gt;compose(&amp;quot;letter_001&amp;quot;)&lt;/code&gt;を呼びます。サーバーは記録されたタグを元のプレーンテキストに織り込んで最終的なTEIを描画し、そのうえで、描画された文書の平文の内容が原文と等しいことを&lt;em&gt;バイト単位で&lt;/em&gt;検証します。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;バイトが一致すれば、文書が返ってきます。一致しなければ――モデルのタグがどういうわけか、原文と1文字でも違う本文を含意していれば――&lt;code&gt;compose()&lt;/code&gt;は汚損した文書を返す代わりに例外を投げます。&lt;/p&gt;
&lt;p&gt;このワークフローには、モデルが原文と本文の異なるTEI文書を生み出す経路が存在しません。この不変条件は機械的なもので、モデルの振る舞い頼みではありません。モデルがハルシネーションを起こさないと信じる必要はない。信じるべきは、二つのバイト列の&lt;code&gt;==&lt;/code&gt;比較だけです。&lt;/p&gt;
&lt;h2 id="これは何で何でないか"&gt;これは何で、何でないか&lt;/h2&gt;
&lt;p&gt;スパン固定合成はスキーマ・グラウンディングを&lt;strong&gt;補う&lt;/strong&gt;ものであって、置き換えるものではありません。スキーマ・グラウンディングのツール群（&lt;code&gt;validate_document&lt;/code&gt;、&lt;code&gt;lookup_element&lt;/code&gt;、&lt;code&gt;valid_children&lt;/code&gt;、そして元の16個の残り）は、モデルが&lt;em&gt;妥当な&lt;/em&gt;TEIを作る助けになります。スパン固定合成は、そのTEIの中の本文が原文に&lt;em&gt;忠実である&lt;/em&gt;ことを保証します。実運用に耐えるエンコーディングのワークフローは両方の軸を満たさなければならず、いまや両方が一つのサーバーで賄えます。&lt;/p&gt;
&lt;p&gt;万能薬でもありません。&lt;code&gt;compose()&lt;/code&gt;はまだ、登録されたタグが読み込み済みのODDカスタマイズのもとで許されるかどうかを確認しません。これは次の課題です。記録されたタグはプロセスのメモリ上にあり、再起動すると消えます。また原文ファイルは、サーバーが動く場所から読める必要があります。いずれも対処可能ですし、中核の不変条件を揺るがすものではありません。&lt;/p&gt;
&lt;h2 id="teiの外でも大事な理由"&gt;TEIの外でも大事な理由&lt;/h2&gt;
&lt;p&gt;このパターンは一般化できます。モデルにテキストの注釈付け、変換、ラッピングを頼むとき――そして、モデルがテキストを「改善」する力よりも元のテキストの完全性のほうが大事なときはいつでも――同じ形の解決策が使えます。モデルにテキストを打ち直させてはいけません。テキストに対する指示を出させ、決定論的なコンポーザーに、等価性の不変条件のもとでそれを適用させるのです。&lt;/p&gt;
&lt;p&gt;とりわけデジタル版にとって、これは責任をもってモデルに任せられる仕事の範囲を変えます。エンコーディングは突如として、出力をいちいち原文と手作業で突き合わせなくても委ねられる仕事になる。退屈な道は機械が引き受け、編集者は綴りではなくマークアップを点検すればよいのです。&lt;/p&gt;
&lt;h2 id="アップデートの入手"&gt;アップデートの入手&lt;/h2&gt;
&lt;p&gt;すでにtei-mcpを入れている場合：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;新規なら：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;スパン固定合成を使うには、原文プレーンテキストのディレクトリをサーバーに指定します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;TEI_MCP_SPAN_SOURCE_ROOT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/sources
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;各ファイルのステム（拡張子を除いた名前）が文書IDになります（&lt;code&gt;letter_001.txt&lt;/code&gt; →
&lt;code&gt;letter_001&lt;/code&gt;）。&lt;/p&gt;
&lt;p&gt;ソースコード、完全なドキュメント、不変条件の設計ノート：
&lt;/p&gt;</description></item><item><title>tei-mcp</title><link>https://clementgodbarge.com/ja/code/tei-mcp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/code/tei-mcp/</guid><description>&lt;h2 id="tei-mcpaiエージェントのためのtei-p5"&gt;tei-mcp：AIエージェントのためのTEI P5&lt;/h2&gt;
&lt;p&gt;tei-mcpは、AIコーディングアシスタントが
仕様を直接引けるようにする、オープンソースの
サーバーです。記憶した訓練データ――もっともらしくて誤ったマークアップの温床です――に頼る代わりに、AIはその場で仕様に問い合わせられます。&lt;/p&gt;
&lt;h2 id="機能"&gt;機能&lt;/h2&gt;
&lt;p&gt;サーバーはTEI P5のODDを解析し、16のツールを公開します。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;要素、クラス、マクロ、モジュールを名前で&lt;strong&gt;検索&lt;/strong&gt;。大文字小文字は区別せず、綴り間違いには候補を提示&lt;/li&gt;
&lt;li&gt;TEIのクラス階層全体で&lt;strong&gt;属性を解決&lt;/strong&gt;（ローカル＋継承）&lt;/li&gt;
&lt;li&gt;クラスとマクロを解決しながら、&lt;strong&gt;内容モデルを展開&lt;/strong&gt;して構造化された木に&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;入れ子を検証&lt;/strong&gt;――直接の親子関係、または経路を追跡した再帰的な到達可能性&lt;/li&gt;
&lt;li&gt;TEI P5に照らして&lt;strong&gt;文書を検証&lt;/strong&gt;：内容モデル、属性、閉じた値リスト、参照の整合性、非推奨警告&lt;/li&gt;
&lt;li&gt;漸進的な編集ワークフロー向けに&lt;strong&gt;単一要素を検証&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ODDカスタマイズを読み込み&lt;/strong&gt;、スキーマをプロジェクト固有のサブセットに絞り込み&lt;/li&gt;
&lt;li&gt;正規表現で、あらゆるエンティティ型を横断して&lt;strong&gt;検索&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="インストール"&gt;インストール&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;または、次のコマンドで直接実行します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="使い方"&gt;使い方&lt;/h2&gt;
&lt;p&gt;MCP互換のクライアント（Claude、Cursor、Windsurfなど）に追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tei&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tei-mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ソースコードとドキュメントは
にあります。&lt;/p&gt;</description></item><item><title>tei-mcp：AIエージェントのためのTEI P5</title><link>https://clementgodbarge.com/ja/post/tei-mcp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ja/post/tei-mcp/</guid><description>&lt;p&gt;AIコーディングアシスタントにTEI XMLを書かせたことがある人なら、間違いの多さに気づいているはずです。要素があってはならない場所に現れる。属性が捏造される。入れ子の規則が無視される。モデルはTEIがどんなものかを大まかには知っていますが、仕様についての確かな知識は持ち合わせていないのです。&lt;/p&gt;
&lt;p&gt;tei-mcpは、AIエージェントにTEI P5ガイドラインをツール経由で直接引かせることで、この問題を解決します。&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;目次&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#mcpとは"&gt;MCPとは&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#tei-mcpにできること"&gt;tei-mcpにできること&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#なぜ大事か"&gt;なぜ大事か&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#使いはじめる"&gt;使いはじめる&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="mcpとは"&gt;MCPとは&lt;/h2&gt;
&lt;p&gt;
（MCP）は、AIアプリケーションを外部のデータソースやツールにつなぐためのオープン標準です。AI用のUSBポートと考えてください。Claude、Cursor、Windsurfをはじめ互換性のあるクライアントなら何でも、単一のプロトコルで専門的なサービスに差し込めます。&lt;/p&gt;
&lt;p&gt;MCPサーバーは、AIが会話の途中で呼び出せる&lt;em&gt;ツール&lt;/em&gt;を公開します。記憶した訓練データに頼る代わりに、モデルは生きた、権威ある情報源に問い合わせられるのです。&lt;/p&gt;
&lt;h2 id="tei-mcpにできること"&gt;tei-mcpにできること&lt;/h2&gt;
&lt;p&gt;tei-mcpはTEI P5のODD仕様を解析し、編集者やエンコーダーがよく抱く疑問に答える16のツールを公開します。&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; クラス階層全体をたどって属性を解決します――まずローカルの属性、次に継承された属性を順に。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;中に何を入れられるか？&lt;/strong&gt; 内容モデルを構造化された木に展開するか、有効な子要素の一覧を平坦に取り出します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;この要素はここに置けるか？&lt;/strong&gt; 親子の入れ子を確認するか、要素階層全体を通じた到達可能性を追跡します。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;この文書は妥当か？&lt;/strong&gt; TEI XMLファイルを仕様に照らして検証します。内容モデル、属性値、閉じた値リスト、参照の整合性、非推奨警告まで。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自分のプロジェクトのスキーマは？&lt;/strong&gt; ODDカスタマイズファイルを読み込めば、上のすべてをプロジェクト固有のTEIサブセットに絞り込めます。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="なぜ大事か"&gt;なぜ大事か&lt;/h2&gt;
&lt;p&gt;TEIエンコーディングでは、ガイドラインを絶えず引く必要があります。熟練したエンコーダーはよく使うパターンを体で覚えていますが、それでもなじみの薄い要素や込み入った内容モデルとなれば仕様を確かめます。そうした身についた知識を持たないAIアシスタントの場合、問題はもっと深刻です。もっともらしく見えて誤ったマークアップをでっち上げてしまうのです。&lt;/p&gt;
&lt;p&gt;tei-mcpがあれば、AIは当て推量をしなくて済みます。山括弧を一つ打つ前に、仕様で答えを引けるからです。結果として得られるのは、TEI P5に――あるいはプロジェクトのODDカスタマイズに――準拠したマークアップです。&lt;/p&gt;
&lt;h2 id="使いはじめる"&gt;使いはじめる&lt;/h2&gt;
&lt;p&gt;PyPIからインストールします。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;次に、MCPクライアントの設定に追加します。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tei&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tei-mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;サーバーは初回起動時にTEI仕様をダウンロードし、MCP互換のクライアントならどれとでも動きます。&lt;/p&gt;
&lt;p&gt;ソースコードと完全なドキュメント：
&lt;/p&gt;</description></item></channel></rss>