Bot CEX DeFi bot 開発ログ

🛠️開発記録#579(2026/9/28)清算botの対象をどう絞るか?AIを使った一次スクリーニングの話

こんにちは、よだかです。

ここしばらく、DeFiの清算を対象にしたbot研究を続けています。

これまでは、特定の市場で発生した清算を起点に、

  • 担保価格がどこで決まるのか
  • Oracle(オラクル)がどの価格を参照するのか
  • どの条件で借り手が清算可能になるのか
  • 清算後に担保がどこへ移動するのか
  • 第三者が実際に清算を実行できるのか
  • 最終的に利益として回収できるのか

といった経路を、一つずつ分解してきました。

その結果、「清算が起きる仕組みを理解する」という段階から、もう少し広く、

そもそも、どの清算市場を研究対象として残すべきか

を考える段階に移っています。

今回は、AIを使って複数の清算市場を広く調べ、一次スクリーニングを行った過程についてまとめます。

なお、この記事では現在も研究対象として残している市場名、具体的な利益幅、競争時間、実行経路、次に検証する条件などは意図的に伏せています。

今回は個別のエッジそのものではなく、探索範囲を広げてから研究対象を減らしていく過程を中心に書きます。

関連記事
🛠️開発記録#572(2026/9/17)清算エッジ探索をどうフェーズシフトするか?

続きを見る


個別の清算を掘るだけでは比較できない

これまでの清算研究では、個別ケースをかなり深く掘ってきました。

例えば、担保価格からOracle、借り手の状態、清算取引、清算後の資産移動までを追えば、

この清算はなぜ起きたのか

についてはかなり細かく説明できます。

一方、それだけでは別の問題が残ります。

一つの市場を数日かけて詳しく調べたとしても、

他にもっと研究する価値のある市場があるのではないか

という問いには答えられません。

清算市場は一つではありません。

融資プロトコルごとに、

  • 清算条件
  • 報酬の決まり方
  • 返済量
  • 担保の受け取り方
  • 担保の売却方法
  • 実行環境
  • 競争構造

が異なります。

そこで今回は、一つの候補を最後まで掘る前に、まず候補空間を広く作り、十数件の市場を同じ枠組みで確認することにしました。

目的は、「良さそうな市場をたくさん見つける」ことではありません。

むしろ、

追加で研究する理由がない候補を早い段階で止める

ことが目的です。


AIには「答え」ではなく探索範囲を広げてもらう

今回、AIをかなり広い範囲で使っています。

候補となるプロトコルや市場を整理し、公開されているコントラクト、取引履歴、清算イベント、設定値などを確認しながら、それぞれの市場について一次調査を進めました。

AIを使うと、この種の横断調査はかなり速くなります。

人間だけで複数チェーン・複数プロトコルの実装や履歴を順番に追うと、それだけで相当な作業量になります。

一方で、AIに任せれば良いという話でもありません。

今回、特に意識したのは、

AIに「どれが有望か」を最初から決めさせない

ことでした。

AIは材料が多いほど、それらしい説明を作れます。

例えば、

この市場は高頻度型
この市場は競争型
この市場は特殊な仕組みを持つ

といった整理は簡単にできます。

しかし、その説明が実際の測定結果から出ているのか、それとも後から整えた物語なのかは別問題です。

そのため、今回の研究では、

  • 観測した事実
  • そこから計算した値
  • 証拠から支持できる推論
  • 現時点の判断
  • 分かっていないこと
  • まだ測っていないこと

をできるだけ分けて記録しました。

AIには広く調べてもらいますが、最終的な研究判断まで一気につなげないようにしています。


まず「清算があるか」だけを見ても足りない

候補市場を調べるとき、最初に見るのは当然、清算が実際に発生しているかどうかです。

ただし、

清算が発生している
= botの対象になる

ではありません。

今回の一次スクリーニングでは、大きく分けて次のような点を確認しました。

最近も清算が発生しているか
↓
第三者が実行できる仕組みか
↓
取得した担保やポジションを処理できるか
↓
手数料などを吸収できそうな経済的余地があるか
↓
実際の競争環境をさらに調べる価値があるか

ここで重要なのは、最後まで完全に測定することではありません。

途中で、

この先を調べても判断がほとんど変わらない

と分かれば、その時点で止めます。

以前は、研究対象を選ぶと「できるだけ正確に最後まで測りたい」という方向へ進みがちでした。

今回は逆に、

この候補を止めるために必要な最小限の材料は何か

を考えるようにしました。

関連記事
🛠️開発記録#560(2026/9/3) DeFi清算をbot開発の研究テーマに変えるまで

続きを見る


明らかに止められる候補もあった

今回、候補を広げたことで、いくつか異なる停止理由が見えてきました。

利益率はあっても金額が小さすぎる

割合だけを見ると利益が出そうでも、実際に動いている金額が非常に小さいケースがあります。

その場合、理論上の利益率を詳しく計算しても、最終的には取引手数料などに負けます。

こうした候補では、競争環境まで詳しく調べる必要はありません。

仕組みは成立しているが、現在の規模では研究対象として残さない

という判断になります。

これは「将来も使えない」という意味ではありません。

市場規模や在庫が増えれば再評価できます。


過去には成立していても、今は市場が動いていない

過去の取引を調べると、実際に利益を伴う清算や資産処理が確認できるケースもあります。

しかし、現在の市場を見ると借入残高がほとんどなかったり、最近の清算が発生していなかったりする場合があります。

この場合も、過去のエッジを否定する必要はありません。

ただ、

今その市場を追い続ける理由がない

ため、一旦保留します。

再び借入や清算が増えたときに安く再開できるよう、再開条件だけ残します。


経済性はあっても、競争側を追うコストが重い

少し違う理由で止めたケースもあります。

清算後の資産処理まで含めると、十分な粗利益が存在する。

しかし、実際の勝者がどのタイミングで取引しているかを調べると、競争が非常に短い時間へ集中している。

そこから先を調べるには、

  • ブロック内部の取引順序
  • 非公開の注文経路
  • より低レイヤーの実行環境

などへ研究範囲を広げる必要があります。

この場合、

利益がないから止める

のではありません。

次に必要な研究コストが、現時点で払う価値に見合わないため止める

という判断になります。

これは今回の一次スクリーニングで特に重要だった区別です。


「測れなかった」を「存在しない」にしない

もう一つ、今回かなり注意したのが測定失敗の扱いです。

ある候補では、公開RPCだけでは十分な期間の取引履歴を取得できず、一次スクリーニングに必要な母集団を作れませんでした。

このとき、

清算を見つけられなかった
↓
清算が少ない
↓
候補として弱い

とは判断していません。

正確には、

今回の測定方法では判断できなかった

です。

データが存在しないことと、データを取得できなかったことは別です。

AIを使った広域探索では、ここを分けないとかなり危険です。

取得に失敗した候補を自動的に低評価へ送れば、単に観測しやすい市場だけが最後まで残ります。

そのため今回は、

  • 否定する証拠がある
  • 証拠が足りない
  • 測定自体が成立していない

を別々に扱いました。


Oracleを追った研究も、ここにつながっている

清算研究の初期には、Oracle内部の価格経路をかなり細かく追いました。

当時の目的は、

どの価格が清算判定に使われるのか

を正確に理解することでした。

Oracleによっては単一価格を見るだけではなく、複数の価格を比較したり、時間による評価を組み合わせたり、参照経路そのものを切り替えたりします。

この研究によって「清算可能になる状態」をかなり正確に説明できるようになりました。

一方、今回の一次スクリーニングでは、

正確に説明できること
と
取引対象として研究する価値があること

を意識的に分けています。

構造を完全に理解できても、機会が小さい、発生頻度が低い、競争が重すぎるのであれば、bot研究としては止めることがあります。

関連記事
🛠️開発記録#564(2026/9/8) 清算脆弱性研究でOracleを分解する|Pendle→Morphoの担保評価経路を観測機に組み込む

続きを見る


候補を一つの点数で並べなかった

一次スクリーニングが一通り終わった後、次は候補同士を比較しました。

ここでも、一つの総合点を作ることはしませんでした。

理由は単純で、候補によって測れているものが違うからです。

ある市場では最近の清算頻度まで分かっている。

別の市場では経済性まで分かっている。

さらに別の市場では競争時間まで調べている。

こうした候補に対して、

活動量○点
利益率○点
競争○点
合計○点

のようなランキングを作れば、見た目はきれいです。

しかし、その数字が比較可能である保証はありません。

そのため今回は、

次の一つの検証によって、研究を続けるか止めるかの判断が大きく変わるか

を重視しました。

次の検証でほとんど判断が変わらない候補は止めます。

一方で、現在までの条件をある程度通過していて、残っている一つの問いを確認すれば大きく判断が進む候補は残します。

結果として、十数件あった候補はかなり絞られました。

ただし、ここでも「残った=エッジがある」という意味ではありません。

現在確認できているのは、

追加検証に研究時間を使う理由が残った

というところまでです。


AIを使うほど「それらしい説明」を警戒する

今回の過程では、AIを使ってかなり広い範囲を調べました。

候補数が増え、取引履歴や設定値、実装、利益計算などの材料が増えるほど、説明も作りやすくなります。

これは便利である一方、研究では注意が必要です。

情報が多ければ、

なぜこの候補が残ったのか
なぜこの候補が落ちたのか

について、後からいくらでも整った説明を作れます。

そこで今回、最終的な比較に入る前に、一度説明文を作ること自体を止めました。

先に、

  • 実際に観測したこと
  • 計算によって得た値
  • 証拠から支持できる推論
  • 現時点の研究判断
  • 不明な点
  • 未測定の点

へ分解し、それから候補を整理しています。

これはAI特有の問題というより、研究全般で起きる後知恵の問題でもあります。

ただ、AIはその「もっともらしい説明」を非常に速く作れるため、意識して分離する必要があると感じています。


一次スクリーニングで増えたのは「止める理由」だった

今回、複数の清算市場を広く調べました。

その結果、残った候補もあります。

ただ、一次スクリーニングを通して増えたものは、候補そのものよりも、

どの条件なら研究を止めるか

という判断基準だったように思います。

例えば、

  • 絶対的な利益額が小さい
  • 現在の市場活動がほとんどない
  • 次に必要な競争研究のコストが高すぎる
  • データ不足で判断できない
  • 追加検証をしても意思決定がほとんど変わらない

といった理由です。

以前は、候補を見つけること自体に研究時間を使っていました。

現在は、

候補を見つける
↓
安い方法で否定できるところを探す
↓
残った問いだけを次へ送る

という形へ少しずつ変わっています。


次は残った問いを一つずつ確認する

今回で清算bot候補の一次スクリーニングは一旦区切りです。

ただし、botとして実装する対象が決まったわけではありません。

残っている候補についても、まだ競争環境や実際の取得可能性を確認する必要があります。

次の段階でも、一度にすべてを調べるのではなく、

その候補を残すか止めるかを決めるために、今最も必要な問いは何か

を一つずつ確認していく予定です。

その結果、残った候補をすべて止める可能性もあります。

それでも問題はありません。

今回の目的は、必ず清算botを一本作ることではなく、

実際に取れる可能性があるところまで研究対象を絞ること

だからです。

AIによって広い探索はかなりやりやすくなりました。

一方で、探索範囲が広がるほど、

どこで止めるか
何を分からないまま残すか
どの問いに次の研究時間を使うか

を人間側で決める重要性も増しています。

清算研究については、次の段階でもこの方針で進めます。

それでは、また。

-Bot, CEX, DeFi bot, 開発ログ