5801 文字
29 分
AIの返答の「素晴らしい質問ですね!」がうっとうしい──京都弁で話させるスキルを思いつきで作り、2時間で公開した
この記事について

Claude(Anthropic)との共同編集により作成されました。

要約
  • AIらしい定型(冒頭の称賛、太字の見出し、「!🎉」、「いかがでしたか」)は、京都弁で話させたら消えるのでは、という思いつきから、AIの話し言葉を京ことばにする Agent Skill okureyasu(おくれやす)を作った
  • 既存の yomiyasu や natural-japanese は、AIの癖を引き算して平らな日本語に戻す。okureyasu は逆で、話し手を一人決めて人の声を足すことで、定型が入る隙間をなくす
  • ただし「京都弁で」と頼むだけでは消えない。スキルなしだと「!🎉」が残り、「いかがでしたか」は「どないどした?」に訳されただけだった。大阪の「せや」も混ざる
  • 京ことばにするのは話しかける地の文だけで、コードや数値、コミットメッセージは標準語のまま。いけずは1返答に1つまでで、すぐ本音を言う。京都らしくない形は検査スクリプトで拾う
  • 開発そのものも京都弁で進めた。最初の依頼からリリースまで約2時間。京都弁にするとモデルの能力が落ちるのではと心配したが、セキュリティ点検やリリース作業まで普通に進んだ
  • 報告も失敗の自己申告も京ことばで返ってきて、これが意外と面白くて楽しかった

AIの返答には決まった型がある。「素晴らしい質問ですね!」で始まり、太字の見出しで区切り、絵文字で喜び、「いかがでしたか?」で締める。中身があっても、この型が見えた瞬間に読む気が少し落ちる。いわゆるAIスロップっぽさである。

これを消すスキルはすでにある。yomiyasu や natural-japanese は、AIの癖を一つずつ見つけて引き算し、平らで正確な日本語に戻す。

そこでふと思った。京都弁で話させたら、この型は消えるのでは。京都の老舗の主人は「素晴らしい質問ですね!🎉」とは言わない。言うなら「ええとこに気ぃつかはりましたな」で、それも理由があるときだけだろう。引き算ではなく、人の声を足して型が入る隙間をなくす方向である。

ついでに、京都弁で開発を進めてくれたら面白いのでは、とも思った。それで作ってみたのが okureyasu だ。

https://github.com/hiranorm/okureyasu


できたもの:okureyasu#

名前は「〜しとくれやす(〜してください)」の「おくれやす」から取った。yomiyasu(読みやす)と対になる。

Terminal window
npx skills add hiranorm/okureyasu

Claude Code、Cursor、Codex など Agent Skills に対応したエージェントで使える。あとは「京都弁で話して」か /okureyasu と頼むと、その会話のあいだ京ことばで話す。「標準語に戻して」で戻る。

紹介動画も作った。

濃さは3段あり、それぞれ話し手を一人ずつ決めている。

濃さ話し手
あっさり今の京都の人が、気心の知れた相手と話す普段の言葉。常体が中心
はんなり(既定)町方の店の主の、改まりすぎない丁寧な話し方
こってり旧市街の年配の店の主の、客あしらいの言葉

同じ「Mac では通るのに CI だけビルドが落ちる」という相談に、濃さごとに返した書き出しはこうなる(README に載せた実際の返答から)。

あっさり: 原因は、CI の上に src/assets/logo.svg が無いことや。Mac で通って CI だけ落ちるときは、たいていこのどっちかやな。

はんなり: CI で見つからへんのは src/assets/logo.svg どす。手元の Mac で通って CI だけで落ちるときは、たいてい次の二つのどっちかどす。

こってり: へえ、ログ拝見しました。先に言うときますと、これは十中八九、ファイル名の大文字と小文字の違いでございます。

見立てと確かめ方(git ls-files)はどれも同じで、変わるのは話し手だけである。


1. 「京都弁で」と頼むだけでは、定型は消えない#

最初に確かめたかったのは、スキルなしでも「京都弁で」と頼めば十分なのでは、という点だった。そこで、スキルを読ませたサブエージェントと、何も読ませないサブエージェントに、同じ7つの場面を答えさせて比べた。どちらにも「京都弁で」「京ことばで」とは頼んでいる。比べているのは、モデルが自力で書く京都弁と、スキルを使った京ことばの違いだ。

いちばん分かりやすかったのは、AIっぽい文章の言い換えだった。渡したのはこの文章。

**結論**: キャッシュを導入することで、レスポンスタイムが平均 420ms から 85ms に短縮されました!🎉
**注意点**: ただし、キャッシュの有効期限は 5 分なので、在庫数の表示が最大 5 分遅れる可能性があります。
**今後の対応**: 在庫数だけはキャッシュから除外することを検討しています。
いかがでしたか?

スキルなしの返答(抜粋)。

**結論**: キャッシュを入れさしてもろたら、レスポンスタイムが平均 420ms から 85ms まで、えらい短うなりましたえ!🎉
**気ぃつけてほしいとこ**: せやけど、キャッシュの有効期限は 5 分どすさかい、在庫数の表示が最大で 5 分ほど遅れることがあるかもしれまへん。
**これからのこと**: 在庫数だけはキャッシュから外さしてもらおかと、いま考えてるとこどす。
どないどした?

太字のラベルも「!🎉」も残り、「いかがでしたか?」は「どないどした?」に訳されただけだった。AIの型はそのままで、京都弁を上から振りかけた形になっている。おまけに「せやけど」は大阪の言い方である。

スキルありの返答(言い換えた本文の部分)。

先に言うときますと、キャッシュを入れたことで、レスポンスタイムが平均 420ms から 85ms まで縮まりました。

ただ、気ぃつけとかなあかんことがあります。キャッシュの有効期限は 5 分どすさかい、在庫数の表示が最大 5 分遅れることがあります。

そやさかい、在庫数だけはキャッシュから外すことを検討してます。

太字のラベルはほどけて話す形になり、絵文字と「いかがでしたか」は消えた。数値はそのまま残っている。思いつきの仮説は、少なくともこの場面では当たっていた。

7場面をまとめるとこうなった。

スキルありスキルなし
確認項目の通過率100%(29/29)66%(19/29)
京都らしくない形(検査スクリプトの error)0 件7 件(7 場面中 6 場面)
太字0 か所27 か所
見出し0 個27 個

スキルなしで出た京都らしくない形は、「せや」「せやさかい」(大阪)、「おます」(大阪の「おす」)、「選びはった」(京都なら「選ばはった」)だった。

ただし、この数字は各場面1回ずつ、作者の自己採点である。7場面のうち3つはスキルの例文に近い場面でもあった。しかもスキルあり側は、自分で検査スクリプトを回して直してから提出していた(スキルなし側は初稿のまま)。そこで、例と重ならない6場面を、検査スクリプトを使わせない初稿のままで走らせ直した。こちらも確認項目は 24/24 で、京都らしくない形は出なかった。とはいえ、ばらつきはまだ見ていない。


2. 話し手を一人決めると、型が入る隙間がなくなる#

スキルの中身は、ほとんどが「話し手を一人に決める」ための決めごとである。

包むのは物言い、中身は包まへん#

京都弁のスキルで一番こわいのは、婉曲が中身にまで掛かることだ。「バグです」が「ちょっと気になるとこがあるかもしれまへんなあ」になると、情報が変わってしまう。そこで、京ことばにするのは利用者に話しかける地の文だけにした。

  • コード、コマンド、パス、数値、エラーの引用、専門用語は標準のまま
  • コードのコメント、コミットメッセージ、PR の説明など、ファイルに書くものも標準語のまま(後で別の人が読むため)
  • エラー、断り、取り消せない操作の確認では、いけずを使わず結論から言う

最後の項目について、スキル本体には「京都の人も、火事のときに遠回しには言いません」と書いてある。

京都らしくない形を表と検査スクリプトで止める#

モデルに京都弁を書かせると、決まった誤りが出る。大阪弁の混入(せや、〜ねん、けえへん、言いはる)、形容詞に「どす」を付ける(高いどす)、舞妓さんの口まね(何どすえ)などである。これをスキル本体の表にまとめ、同じものを正規表現の検査スクリプトでも拾えるようにした。

reply.md:1:1: [error] osaka-seya 「せや」 → そや(「せや」は大阪の形)
reply.md:2:6: [error] haru-renyou 「言いはった」 → 言わはった(5段動詞の「はる」は未然形に付く(連用形に付けるのは大阪の形))
reply.md:3:1: [error] adj-dosu 「高いどす」 → 高うおす/高うございます(ウ音便+おす)(形容詞に「どす」は付かない)

文法や京阪の違いは、主に「京言葉」というサイトを参考にした。とても詳しいサイトだが、転載は非商用に限られる。okureyasu は MIT ライセンスなので、サイトの文章は写さず、事実だけを自分の言葉でまとめ、例文はすべて自作している。

いけずは一滴#

京都弁らしさを残すために、いけずは残した。ただし、愛される話し方にしたいので約束を付けた。

  1. いけずの後には、同じ返答の中で本音を言う(種明かし)
  2. コードや状況に向けて、人には向けない
  3. 1 返答に 1 つまで
  4. エラー、断り、危険な操作の確認、困っている人には使わない
  5. 本気で褒めるときは「ほんまに」と理由を付けて、いけずと区別する
  6. 最後は手を貸す

効き方の違いは、コードレビューで比べるとよく分かる。名前が一文字だらけの関数を渡したときの書き出しだ。

スキルなし。

まあ、えらいすっきりした短いコードどすなあ。名前もみぃんな一文字で、書かはったご本人さんしか読めへんよう、よう工夫してはりますこと。

スキルあり。

えらい無口なコードどすなあ。d も r も x も、's' も 'p' も、誰も名乗らはらへん。……ほんまのこと言うたら、動きはこれで合うてます。そやけど、半年後に読んだら何の処理か分からんようになりますさかい、名前と数字に意味を持たせときましょ。

スキルなしのいけずは書いた本人に向いていて、この後は見出しと太字で区切ったいつもの書式に戻る。スキルありは、いけずをコードに向けて一つだけ言い、すぐ本音に移っている。


3. 開発も京都弁で進めてみた#

もう一つの思いつきが、京都弁で開発を進めることだった。作ったスキルを自分のプロジェクトに入れ、試用を兼ねてそのまま後半の作業を京ことばで進めた。

時刻やったこと話し方
17:48「yomiyasu のカウンタースキルとして京都弁のスキルを作りたい」と依頼標準語
18:19スキル本体、参考資料、検査スクリプト、評価まで完成標準語
18:23private リポジトリに push標準語
18:38自分で試用を始めるあっさり
18:45/compact の準備はんなり
19:33README に濃さの比べを足すこってり
19:40公開前のセキュリティ点検こってり
19:50public 化こってり
19:58v0.1.0 リリースはんなり

スキルの作成には Anthropic の skill-creator スキルを使った。評価ケースを作り、スキルあり/なしのサブエージェントを並べて走らせ、結果を比べるところまでを約30分で済ませている。

試用して直したこと#

あっさりで試していて、「丁寧語に近いな、特に返答の途中」と感じた。そう伝えると、こう返ってきた。

張り替えときます。あっさりが丁寧語寄りに聞こえるいうのもその通りやわ。自分の返答を読み返したら「〜しときました」「〜です」がずっと続いてて、京都の言葉いうより、ちょっと訛った丁寧語になってた。

そのまま、あっさりの定義を「常体が中心、です・ます は頼むときと謝るときだけ」に直し、検査スクリプトに「あっさりで です・ます の文末が3文続いたら警告する」項目を足すところまで進んだ。直したあとの報告は、ちゃんと常体で締めていた。

この返事も直した定義で書いてる。まだ硬いとこがあったら、また言うて。

自分の滑りも、京ことばで申告してくる。はんなりで話していたとき、スキルで使わないと決めた「〜まへん」「〜まひょ」が出てしまったのだが、次の返答でこう言ってきた。

それと、言うとかなあきません。さっきの返事で「効くとは限りまへん」「置いときまひょか」と書いてしまいました。「まへん」「まひょ」はこのスキルでは使わへんと決めた形どす。試用で見つかった滑りとして、覚えときます。

この後も、二人称は使わないと決めていた「あんさん」を使ってしまい、また自己申告していた。どちらも引き継ぎメモに残してあり、次に直す。

こってりで README を組み替える#

README に「スキルなし・あっさり・はんなり・こってりの例文を載せたほうがいいか」と、こってりで聞いたときの返答。

へえ、載せといたほうがよろしゅうございます。ただ、半分はもう README に入ってますさかい、足すより組み替えるほうがすっきりしますやろ。

提案は具体的で、「例文は手で書かんと、実際の返答から取ります」「表にはせんと、引用を4つ縦に並べます」と続いた。実際に同じお題で4通り(後に標準語を足して5通り)走らせ、その返答から README の比べを作っている。

公開前のセキュリティ点検も京ことばで#

public にする前に、漏洩がないかの点検を頼んだ。ここで、コミットの作者メールアドレスが個人のアドレスになっていることを指摘された。GitHub の noreply アドレスに書き換えて force push したが、それで終わりではなかった。

はっきり申し上げときます。このまま public にしたら、Gmail は見えます

ブランチから外れた古いコミットを、GitHub はしばらく消さずに持っとります。

書き換え前のコミットのハッシュを GitHub の API に聞くと、古いコミットがそのまま返ってきた。ハッシュを知っていれば、public にした後でもブラウザで開けてしまう。結局、まだ Issue もスターもない状態だったので、リポジトリを一度消して作り直し、書き換えた後の履歴だけを push してから public にした。点検とリポジトリの作り直しで約10分、公開の設定(Secret scanning、説明文、トピック、タグと Release)まで含めても約20分だった。

内容は真面目なセキュリティの話なのに、報告がずっとこってりの京ことばで返ってくる。「取り消せない操作の確認では結論から言う」という決めごとも、ここではちゃんと効いていた。

京都弁にしても、開発は普通に進んだ#

始める前は、京都弁で話させるとモデルの能力が落ちるのでは、という懸念もあった。方言で話すことに気を取られて、肝心の作業が雑になるのではないか、という心配である。

実際には、京ことばで話していた後半の約1時間20分(18:38〜19:58)も、開発は普通に進んだ。この間にやったのは次のような作業である。

  • 試用中のスキルをコピーからシンボリックリンクに張り替える
  • あっさりの定義を直し、検査スクリプトに項目を足して、テストを通す
  • README 用に同じお題を5通り並べて走らせ、その返答から比べの節を組み替える
  • その過程で見つけた検査スクリプトの漏れ(「こうへん」)を直し、テストを足す
  • 全ファイルと全履歴の漏洩点検、履歴の書き換え、リポジトリの作り直し
  • Secret scanning の有効化、タグ付けと GitHub Release の作成

しくじりは1回あった。ワークスペース側の CLAUDE.md を書き換えるときに括弧の全角と半角を取り違え、中身の入っていないコミットを作ったのだが、自分で気づいて push の前に直していた。京ことばのせいかどうかは分からない。

おそらく、京ことばにするのを話しかける部分だけにしたのが効いている。コード、コマンド、コミットメッセージは標準語のままなので、作業の中身は普段と変わらない。評価でも、スキルありの返答は確度を落とさなかった。コードレビューの場面で、スキルなしは「float で 1 円ずれることがあります」と言い切ったが、スキルありは「今の範囲では同じ値になる」と確かめたうえで整数演算を勧めていた。もっとも、これは1回ずつの比較と体感で、能力の差を測ったわけではない。

楽しかった#

作ってみたら、これが意外と面白くて楽しかった。

作業の報告そのものは、標準語のときと中身が変わらない。それでも「張り替えときます」「足しときました」くらいの軽いやりとりが続くと、こちらの返事もつられて「張り替えておくれやす」「いい提案どす。足しといて」になっていった。

ただ、筆者は大阪生まれで、京都にもしばらく住んでいたが、大阪なまりのほうが強い。こってりの提案に「ほな言いはるとおり組み換えで提案してみせて」と返したのだが、「言いはる」は検査スクリプトが大阪の形として拾う誤りである。作った本人がいちばん京ことばを間違えている。


4. まだできていないこと#

  • ばらつきを見ていない。評価は各場面1回ずつで、作者の自己採点である
  • 長い会話での振る舞い。「まへん」「あんさん」のように、スキルに書いてある形でも滑る。回を追って、いけずや「ほな」が増えないかも見たい
  • /compact の後の濃さ。要約の後に貼り直されたスキル本文が、最初に /okureyasu を呼んだときの写し(そのときの引数「あっさりで」付き)だった。口で濃さを切り替えていると、要約の後に元の濃さへ戻りうる。動きからの見立てで、仕組みまでは確かめていない。途中で濃さを変えた人は、要約の後に /okureyasu はんなりで のように呼び直すと確実
  • アクセント。京阪式アクセントは京ことばらしさの大きな部分だが、文字では伝えられない
  • 京都出身の方の確認。まだしていない。筆者は大阪なまりのほうが強いので、ここは自分では埋められない。おかしな京ことばを見つけたら、Issue で教えてほしい

まとめ#

  • 「AIらしさは京都弁で消せるのでは」という思いつきから、AIの話し言葉を京ことばにする Agent Skill、okureyasu を作った
  • 「京都弁で」と頼むだけでは、AIの型の上に京都弁を振りかけた形になる。話し手を一人決め、話しかける地の文だけを京ことばにし、京都らしくない形を表と検査スクリプトで止めると、型が入る隙間がなくなった
  • 開発も京都弁で進め、最初の依頼からリリースまで約2時間だった。能力が落ちる心配をよそに、点検からリリースまで普通に進んだ
  • 報告も失敗の申告も京ことばで返ってくるのが、意外と面白くて楽しい

AIの返答の型が気になっている人は、一度「京都弁で」と頼むところから試してみてほしい。物足りなかったら、okureyasu をどうぞ。

Terminal window
npx skills add hiranorm/okureyasu
AIの返答の「素晴らしい質問ですね!」がうっとうしい──京都弁で話させるスキルを思いつきで作り、2時間で公開した
https://yurudeep.com/posts/aicoding/2026/20261113/
作者
ひらノルム
公開日
2026-11-13
ライセンス
CC BY-NC-SA 4.0