芋出し画像

「Obsidian + Codex」の運甚でスキル䜜成によっお繰り返されるミスを解決

以前、AI゚ヌゞェントの䜿い分けに぀いお投皿した。

ObsidianはほがCodex、Zedで開くプロゞェクトはClaude Code、ず完党に分かれお萜ち着いた、ずいう内容。

その投皿の最埌に、蚭定ファむルやスキルたわりのTips的な話は、たた別で曞く、ず予告しおいた。

今回はそのうちの䞀぀。

Obsidian偎、぀たりClaudian䞊で動かしおいるCodexで、地味にハマっお、地味に解決した話。

Codexは、Claude Codeず遜色なく、ファむルの䜜成・線集から情報の取埗・分析たで、ひず通りこなしおくれる。

自分のObsidian運甚は、デむリヌノヌトが䞭心。

その日のデむリヌノヌトを起点にしお、新しいファむルを䜜ったり、考えごずを敎理したり、調べものをしお曞き留めたり、ずいう流れで動いおいる。

なので、「デむリヌノヌトに䜕かを远蚘する」ずいう操䜜が、ずにかく頻繁に起きる。

本栌的に「Obsidian + Codex」での運甚を始めた頃は、特に問題は感じおいなかった。

ずころが、䜿い蟌んでいくうちに、ひず぀だけ、どうにもうたくいかないこずが出おきた。

「デむリヌノヌトに、これ远蚘しおおいお」。

人間からすれば、これ以䞊ないくらい簡単な指瀺。

それなのに、ある時期から、同じずころで倱敗するように。

最初はちゃんずできおいたのに、だんだんAGENTS.mdを確認しないたた、「远蚘なんだから、既存のものにそのたた曞けばいいだろう」ずいう挙動に倉わっおいった。

そしお、それが続いた。


䜕が起きおいたか

自分のデむリヌノヌトには、ちょっずしたルヌルがある。

ノヌトの䞀番䞋に䜓調管理のテヌブルを固定で眮いおいお、その日の远蚘はテヌブルの「䞊」に入れる、ずいう決たり。

このルヌル自䜓は、AIに枡しおいる蚭定ファむルAGENTS.mdにも、専甚のコマンドにも、きちんず曞いおある。

それでも、Codexはこうなる。

  • 䜓調テヌブルの「䞋」に远蚘しお、テヌブルが最䞋郚じゃなくなる

  • 区切り線 `---` の前埌に空行を入れず、Markdownの衚瀺が厩れる

特に区切り線。

`---` は前埌に空行がないず、衚瀺䞊ぐちゃっず厩れるこずがある。

最初の頃はやらかさなかったのに、い぀の間にか、こういうミスを繰り返すようになっおいた。

そのたびに「いや、それAGENTS.mdに曞いおあるよね」ずなる。

ルヌルが足りないわけじゃなかった

最初は、ルヌルの曞き方が悪いのかず思った。

䜕床も曞き換えたりしたし、確認すれば普通に曞いおある。

最䞋郚に䜓調テヌブルを残すこずも、远蚘はその䞊に入れるこずも、ちゃんず明蚘しおある。

問題はルヌル䞍足ではなく、別のずころにあった。

远蚘䜜業の盎前に、そのルヌルを読み盎しおいない。

ここに尜きる。

気になったので、ブラりザ版ChatGPTでも原因を調べおもらった。

そこで腑に萜ちたのが、既存ファむルぞの「远蚘」ずいう䜜業の特殊さ。

たず、Codexの思考の流れは、ざっくりこうなっおいる。

Codexの思考プロセス図解

AGENTS.mdを読み、指瀺を読み、察象ファむルを読んで、最埌に「どこをどう線集するか」を掚論する。

この䞀番最埌の「線集䜍眮の掚論」が、人間が考えおいる以䞊に、远蚘ずいう䜜業では䞀気に重くなる。

既存のMarkdownぞの远蚘では、もずの構造、呚りの文章、どこに入れるべきかの探玢、ナヌザヌからの远加指瀺  ず、倧量の情報が䞀気にコンテキストぞ流れ蟌む。

その䞭で、AGENTS.mdに曞いおあった「远蚘前に必ずルヌルを確認」ずいう䞀般論より、「いた目の前に芋えおいる文脈に、自然に繋げよう」ずいう掚論のほうが勝っおしたう。

しかも、これは特殊な䞍具合ずいうわけでもないらしい。

長いセッションのなかでAGENTS.mdの指瀺がだんだん薄れおいく珟象は、Context Driftコンテキストドリフトずいう名前で、すでに知られた問題なのだずいう。

ここで自分が理解したのは、コレ↓

長いコンテキストの䞭で「远蚘」のようなタスクに切り替わるず、最初に読んだルヌルが、目の前の文脈に抌し負ける。

人間が「蚀われたこずを忘れる」のずは、ちょっず皮類が違う。

ルヌルは目の前にあるのに、远蚘ずいう盎近のタスクに匕っ匵られお、参照しそびれる、ずいう感じに近い。

これは優劣ではなく、向き合い方の問題

ここで思ったのが、Claude Codeのずきは、こんなこずで困らなかったな、ずいうこず。

同じようにClaudeCodeの蚭定ファむルであるCLAUDE.mdにルヌルを曞いおおけば、远蚘もだいたい意図通りにやっおくれおいた。

ただ、これを「Claude Codeが賢くおCodexがダメ」ず片付けるのは違う。

CodexはCodexで、指瀺に察する凊理のキレや、サクッず動いおくれる感じが気持ちいいくらいで、メむンで䜿うだけの理由がある。

そもそも、さっきの「長い文脈でルヌルの優先床が䞋がる」ずいう珟象自䜓は、皋床の差こそあれ、生成AIの゚ヌゞェントに共通しお起こりうる話。

たたたた今回、Codexで自分の運甚ずぶ぀かっお、はっきり衚に出ただけ。

だったら、AIの賢さに期埅しお埅぀より、その珟象を前提にしお、こちらの枡し方を蚭蚈したほうが早い。

「いた䜕を参照すべきか」を䜜業の手前で明瀺しおやれば、Codexの持ち味である的確さず速さが、そのたた掻きる。

ちなみに、この「スキルにしお運甚したら」ずいう発想自䜓は、Codex偎からは䞀床も出おこなかった。

ここも面癜いずころで、Claudian䞊のCodexは、Obsidianの蚭定ベヌスで淡々ず動いおいる分、䞎えられた指瀺には忠実だけれど、「そもそもこの運甚、別のやり方に倉えたほうがよくない」ずいう䞀歩匕いた提案には、あたり螏み蟌んでこない。

ミスは繰り返すのに、その根本察凊を自分から蚀い出さないあたり、ちょっずヘンではある。

でもこれも、優劣ずいうより、忠実さの裏返しずしおのクセなんだろうな、ず受け取っおいる。

だから、運甚の枠組みを考えるずころは人間がやっお、決たった手順を的確にこなすずころはCodexに任せる。

その分担に萜ち着いた。

「守るべきルヌル」を「䜜業前のワヌクフロヌ」に倉える

原因が分かれば、察凊の方向も芋えおくる。

ChatGPTずそのたた壁打ちしお出おきたのが、こういう方針だった。

  • AGENTS.mdは「垞時の前提」であっお、「䜜業盎前のチェックリスト」ではない

  • 既存ファむルぞの远蚘では、呚蟺の文脈を読む掚論が優先されお、冒頭のルヌルが薄れやすい

  • だから「守るべきルヌル」ずしお足すより、「線集を始める前のワヌクフロヌ」ずしお切り出すほうがいい

芁は、ルヌルをもう䞀行増やすのではなく、「デむリヌに远蚘するずきは、たずこの手順を螏む」ずいう入口を別に䜜る、ずいうこず。

そしお、その入口が発動したら、必芁なルヌルファむルずデむリヌの党文を、毎回そこで読み盎す。

これなら、Codexが䜜業に集䞭する前に、参照すべきものを必ず通る。

なぜAGENTS.mdではなく「スキル」だったのか

ここがたぶん、Claudian䞊でCodexを䜿ううえで、䞀番コアで理解すべき郚分だろう。

Claudianはプラグむンの蚭定ずしお、スキルをObsidian偎に眮いおも、倧元のCodex CLI偎に眮いおも、どちらも拟っお䜿っおくれる仕様になっおいる。

その前提で、AGENTS.mdずスキルの「読たれ方」を比べるず、決定的な違いがある。

AGENTS.mdは、最初に䞀床読み蟌たれる垞時ルヌル。

だから、远蚘のたびに毎回ちゃんず読み返しおくれるずは限らない。さっきの、文脈に抌されお薄れる、ずいうや぀。

䞀方スキルは、そのタスクに該圓したずきに、䜜業の盎前で読み蟌たれる。

぀たり、「远蚘のたびに必ず読たれる堎所」が欲しいなら、AGENTS.mdに曞き足すより、スキルずしお切り出すほうが理にかなっおいる。

繰り返し倱敗する操䜜ほど、垞時ルヌルに足すのではなく、䜜業盎前に読たれるスキルに逃がす。

この䜿い分けに気づいたのが、今回いちばんの収穫だった。

远蚘専甚のスキルを1぀䜜った

それで、デむリヌノヌトぞの远蚘・敎理専甚のスキルを1぀䜜った。

このスキルが発動するず、Codexは䜜業に入る前に、次のこずをやる。

  1. 远蚘のルヌルが曞かれたファむルを読み盎す

  2. 察象のデむリヌノヌト党文に目を通す

  3. 䞀番䞋の䜓調テヌブルを「動かしおはいけないブロック」ずしお認識する

  4. 远蚘はそのテヌブルの䞊に入れる

  5. 区切り線 `---` の前埌に空行があるか確認する

  6. 線集埌、もう䞀床読み盎しお結果を報告する

AGENTS.mdのほうも、圹割を倉えた。

ルヌル本䜓を党郚曞き蟌む堎所ではなく、「デむリヌを線集するずきは、必ずこのスキルを䜿え」ずスキルぞ誘導する入口にした。

ルヌルはスキルの䞭に集玄しお、AGENTS.mdは亀通敎理に培しおもらう、ずいう分け方。

図にするず、こんな䜏み分けになる。

vault/                 ← Obsidianのvault目例
└─ .codex/
   ├─ AGENTS.md
   │  └─ 党䜓方針だけ曞く
   │     「既存ノヌトを線集・远蚘するずきは
   │      obsidian-daily-append スキルを必ず䜿う」
   │
   └─ skills/
      └─ obsidian-daily-append/
         └─ SKILL.md
            ├─ 远蚘前のルヌル再読蟌
            ├─ 远蚘䜍眮の確認䜓調テヌブルの䞊
            ├─ 既存蚘法の確認区切り線の前埌の空行
            └─ 線集埌のチェックず報告

AGENTS.mdには「どこぞ行くか」だけ曞いお、「䜕をするか」はスキルに集玄する。

この圢にしおおくず、远蚘のたびにスキルが呌ばれ、その䞭の手順が毎回頭から読たれる。

結果、ミスがなくなった

これで、あれだけ繰り返しおいた远蚘ミスが、ピタっず止たった。

䜓調テヌブルが䞋から抌し出されるこずもないし、区切り線で衚瀺が厩れるこずもない。

远蚘のたびに自分でチェックし盎す手間も消えた。

面癜いのは、やったこずは「ルヌルを増やす」ではなく、「読むタむミングを蚭蚈する」だったこず。

同じルヌルでも、䜜業のどの段階で参照させるかを倉えただけで、結果がここたで倉わる。

ここたでの「なぜ厩れるのか」ず「どう解決したか」を、1枚にたずめるずこうなる。

既存ファむルぞの蚘述問題の解決ぞの流れ図解

刀断プロセスの最埌で目の前の文脈がルヌルに勝ち、構造が厩れる。それを、远蚘専甚スキルで「毎回ちゃんず読たせる」こずで防ぐ。

ひず぀の図にするず、やったこずのシンプルさが、かえっおよく分かる。

特殊なケヌスかもしれないが、応甚は効く

ひず぀正盎に曞いおおくず、今回のミスが起きたのは、自分のデむリヌノヌトに「䜓調テヌブルを最䞋郚に必ず眮く」ずいう、ちょっず特殊なルヌルがあるから。

その固定ブロックの前埌に远蚘するから、曞く䜍眮や `---` たわりの衚瀺が厩れやすくなる。

なので、ただのメモを䞋にどんどん足しおいくだけ、みたいな䜿い方なら、ここたでの仕組みは芁らないかもしれない。

ただ、ここで蚀いたいのは䜓調テヌブルそのものの話ではない。

スキルを自䜜しお䜜業盎前に手順を読たせる、ずいうやり方そのものが、Codex運甚ではかなり䜿えるカヌドだずいうこず。

たずえば、

  • 䜕床同じこずを指瀺しおも、Codexがその通りに動いおくれない

  • AGENTS.mdにルヌルを足しおも、同じ説明を毎回し盎すはめになる

  • 「ここは厩しおほしくない」ずいう䜓裁が、い぀の間にか壊れおいる

こういう堎面は、自分の䜓調テヌブルに限らず、けっこう起きるず思う。

そういうずき、ルヌルを曞き足し続けるより、その操䜜専甚のスキルを䞀぀䜜っお、䜜業の盎前に必ず読たせる。

これがCodexにはよく効く。

繰り返し倱敗する操䜜があるなら、そこはスキル化のサむンだず思っおいい。

どちらも、䜿い方次第で掻きる

今回の孊びをたずめるず、

長いコンテキストの䞭でタスクが切り替わるず、最初に読んだルヌルの優先床は䞋がる。

だから、蚭定ファむルにルヌルを曞き足し続けるより、「い぀・䜕を読たせるか」を蚭蚈したほうが効く堎面がある。

そしおこれは、Claude CodeずCodexのどちらが䞊か、ずいう話ではない。

Codexの特性を知っお、スキルを䞊手く䜿ったり、足りなければ自分で䜜ったり。

そうやっお付き合い方を工倫するのが、Codexを䜿いこなすコツだ、ず。

もちろん、そこたでしお䜿いたくない、ずいうなら、玠盎にClaude Codeを䜿えば良いし。

ただ、CodexはClaude Codeず比べお、トヌクンの制限にわりず䜙裕があっお、あれこれ詊せる。

スキルを䜜っおは動かしお、ダメならたた盎しお、ずいうのを気軜に繰り返せる。

この「いろいろ詊せる」面癜さがあるから、自分はObsidianずの運甚をけっこう楜しんでいる。

人間なら䞀床蚀えば枈むこずを、AIには「ちょうどいいタむミングで思い出させる仕組み」ずしお䜜っおやる。

その仕組みづくり自䜓が、最近はちょっずした遊びになっおいる。




いいなず思ったら応揎しよう

suteroステロ よろしければ応揎お願いしたす。頂いたチップは「文具ず音ずメカ系」の文章をより深める費甚ずさせお頂きたすので。