連載「AIと『判断が育つ』仕事環境づくり」第5回
この記事でわかること
- ためたKnowledgeを、次の案件で「思い出させる」仕組み
- 過去の知識に引っ張られすぎないための優先順位
- 「分からない」をAIに埋めさせない大切さ
前回(第4回)は、案件の履歴からAIにKnowledgeを取り出してもらう仕組みをつくりました。でも、ためるだけでは意味がない。今回は、その知識を次の仕事に持ち込む話です。
Knowledgeはつくった。で、いつ読む?
knowledge-extractorによって、案件の経験からKnowledgeを取り出せるようになりました。でも、Knowledgeは保存しただけでは役に立ちません。次の仕事で使われて、初めて意味があります。
そこで次につくったのが、knowledge-context(ナレッジ・コンテキスト)というSkillです。
役割はシンプルです。新しい案件を見たときに、
「過去のKnowledgeの中で、今回関係するものはどれ?」
をAIに探してもらう。
18件全部をAIに読ませない
最初に考えたのは「Knowledgeを全部Claudeに渡せばいい」でした。でも、それも違うと思いました。
18件ならできます。でも100件、500件になったら? 関係ない知識まで大量に入ると、かえって判断の邪魔になります。
そこで、本の探し方と同じ手順にしました。いきなり全ページを読むのではなく、まず目次を見る、という順番です。
- まず索引(各Knowledgeの見出しと概要)だけを見る
- 今回の案件の中身を理解する
- 各Knowledgeを3つに分ける
- 強く関連するもの
- 状況次第で関連するもの
- 今回は対象外のもの
- 本文まで読むのは、関係するものだけ
実際の案件で試してみた
テストに使ったのは、オンライン学習塾「キミラボ」のWebサイトです。
- 静的HTML(WordPressなどを使わず、ページを直接つくる方式)のサイトとLP
- Cloudflare Workersというサービスで配信
- 公開前の仕上げ段階
- お問い合わせフォームは、まだ見た目だけのデモ
- 写真やイベント情報に、仮の素材が残っている
この案件に対して、18件のKnowledgeを照らし合わせました。
| 分類 | 件数 | 内容 |
|---|---|---|
| 強く関連 | 4件 | 仮素材とダミーデータ/公開フォーム/キャッシュ対策/レスポンシブの確認 |
| 状況次第 | 2件 | 静的サイトかCMSかの判断/生成物の「正本(元データ)」を一つにする考え方 |
本文まで読んだのは、合わせて6件でした。
なお、このテストは読み取りだけです。実行の前後を比べて、案件のファイルやKnowledgeに一切変更がないことも確認しました。「確認すべきことが見つかった」ことと「サイトの修正が終わった」ことは別の話です。
例:仮素材のKnowledgeが見つけたこと
過去のKnowledgeに、こんなものがありました。
「仮素材とダミーデータは、仮であると機械的に判別できる状態で置く」
実際のサイトを見ると、写真には「※仮」「サンプル」という表示がある。一方で、「成績アップ事例」の数値にはサンプル表示がありませんでした。
そこで、
「この数値は実績なのか、ダミーなのか?」
という確認事項が出てきました。もしダミーのまま公開されていたら大問題です。
過去のKnowledgeが「問い」を運んでくる
フォームについても同じでした。
過去に「公開フォームを自分でつくるときのスパム対策」というKnowledgeがありました。今回のサイトを調べると、フォームは見た目だけで、実際にはどこにも送信されていない。
すると、こんな問いが出てきます。
- 公開前に、送信先をどうする?
- 送信されたデータを処理する仕組みはどこに置く?
- スパム対策は?
Knowledgeが答えを出しているというより、
過去の経験が、今回確認すべきことを思い出させてくれる。
この感覚がかなりしっくりきました。ベテランの先輩が横から「そういえば、あれ確認した?」と声をかけてくれるような感じです。
ただし、危ないこともある
過去にうまくいった方法をAIに渡すと、「では今回もそうしましょう」となりやすい。これは危険です。案件は毎回違うからです。
そこでknowledge-contextでは、優先順位をはっきり決めました。
① 今回のユーザー指示
↓
② 今回の仕様・ルール
↓
③ 今の案件から確認できる事実
↓
④ 過去のKnowledge
Knowledgeは一番下です。
過去の自分が何と言っていようと、今回の条件が違えば使わない。過去の知識は「参考意見」であって「命令」ではありません。
「分からない」を消さない
もう一つ大事にしたのが、分からないことを勝手に埋めないことです。
たとえばキミラボでは、「今後、誰がサイトを更新するのか」が分かっていませんでした。
過去のKnowledgeには「更新する人によって、静的サイトかCMSかを判断する」という考えがあります。だからといって「このサイトはCMSにすべき」とはしません。
答えは、
「更新者がまだ確認できていないので、現時点では判断できない」
です。
AIは空欄を埋めるのがとても得意です。でも仕事では、
分からないことを、分からないまま残す
ことも重要です。空欄をもっともらしい推測で埋めてしまうと、あとで大きなズレになるからです。
「過去の知識」「今の事実」「提案」を混ぜない
実際にテストしてみて、もう一つ直すことにした点があります。
AIが出した文章を見ると、
- 過去のKnowledgeに書いてあったこと
- 今回のサイトから見つけたこと
- その2つからAIが提案したこと
が少し混ざっていたんです。そこで、今後の出力ではこれらを分けるよう、Skillの修正方針を決めました。
| 区分 | 中身 |
|---|---|
| Knowledgeの要点 | 過去の経験から得た判断 |
| 今回確認できたこと | 今の案件の事実 |
| 今回への適用 | 上の2つを踏まえた、今回への提案 |
たとえば、LPの中に「どこにもリンクしていないリンク(href="#")」が27か所あったのは、今回のコードから見つけた事実です。自動返信メールや管理者への通知を用意しよう、という話は今回への提案です。どちらも、過去のKnowledgeに最初から書いてあったこととして扱ってはいけません。
また、過去のメモに対策が書いてあっても、今回すでにその不具合が起きているとは限りません。キャッシュやスマホでの表示は、実際の環境や実機で確認してから判断します。
この区別が、Knowledgeを長く使い続けるうえで大事になると思いました。
ここで初めて「循環の入口」ができた
knowledge-extractorだけのときは、流れは一方通行でした。
案件
↓
Knowledge
knowledge-contextができたことで、こんな循環を回す入口ができました。
案件
↓
経験
↓
Knowledge
↓
次の案件
↓
もう一度判断
↓
新しい経験
↓
Knowledgeを更新
ただし、今回確かめられたのは「過去のKnowledgeから、別の案件で確認すべきことを取り出せた」ところまでです。長く使って判断がどれだけ良くなったかは、これから確かめていく必要があります。
つくりたかったのは「判断が育つ仕組み」だった
ここまでつくって、ようやく気づきました。
僕がつくろうとしていたのは、Obsidianの便利な使い方でも、Claude Codeの便利なSkillでも、最強のAI環境でもありませんでした。
仕事を重ねるほど、自分の判断が少しずつ育っていく仕組み
をつくりたかったんだと思います。
そこで、この2つのSkillをClaude Codeに読ませて、「この仕組みから、僕の仕事のやり方を分析して」と頼んでみました。そこで出てきた言葉の一つが、
「判断の複利」
でした。
なるほど。僕がやりたかったのは、たぶんこれです。お金に利息がついて、その利息にまた利息がつくように、
判断を、次の判断の資産にする。
まだ残っている課題
もちろん、課題も残っています。
- 古くなったKnowledgeを、どう減らすのか
- Gitに記録されない仕事(打ち合わせや企画など)の経験を、どう扱うのか
- 知識を「使う」回数より「整理する」回数のほうが増えてしまわないか
だからこれは、完成した「最強の環境」の紹介ではありません。自分が仕事を重ねていくための仕組みを、ようやく試し始めた記録です。
まとめ
knowledge-contextで、新しい案件に関係するKnowledgeだけを取り出す- 全部読ませず、索引 → 関連判定 → 必要なものだけ本文の順で
- 過去のKnowledgeは「答え」ではなく「確認すべき問い」を運んでくる
- 優先順位は「今回の指示 > 仕様 > 今の事実 > 過去のKnowledge」
- 分からないことは、分からないまま残す
- 目指すのは「判断の複利」——判断を次の判断の資産にすること

