LLMによって、ガイドラインやメモと、実際のシステム仕様との距離が縮んでいる。Markdownでヒトが読めるように動作仕様を記述しておけば、Agentはその指示に従う。そんな話題をいくつかメモ。

Agentic Workflow

Githubより、Agentic Workflowというプロジェクトが発表されていた。

1. MarkdownのFront Matterに、ベースとなる設定を書く

トリガーやタイムアウト、クライアントのRW権限などをFront Matterに設定している模様。Front MatterのYAMLはGithub上で可視化されるので、サンプルの daily-qa.md とか入れ子がすごいことになっている。

2. 具体的なWorkflowをMarkdownで記述する

例えば上のdaily-qa.mdでは、どういう作業をするのか、エラーの場合はどうするのか、結果はどのように通知あるいは保存するのか、といったリポジトリ全体に関連するWorkflow、Markdown形式の自然言語で記載されている。

CD/CIが大きくなればなるほどActionsのYAML肥大化していくので、これが自然言語で記載できるのであれば、少しは管理は楽になるかもしれない。

Actionsのラッパー

Markdownで書かれた指示はYAMLにコンパイルされる。なのでいざとなればコンパイルされたYAMLを睨んでデバッグすることは可能っちゃ可能。

まずContinuous AIという考え方があり、それをGitHub Actions上で、自然言語の記述で実現する、というコンセプトと理解した。このContinuous AIは、Actionsで自動化されているものをただ"AI"と呼んでいるに過ぎない気もする。

AGENTS.md

こうした、Markdownで緩く仕様のようなものを記載する取り組みは、AGENTS.mdもその1つだと思う

AGENTS.mdは「AIエージェント向けのREADME.md」と説明されている。CopilotやCursorを使っていると、使って欲しくない関数やフォーマットがあった場合に、それぞれ copilot-instructions.mdprompt.md を使って制御するが、それらが agents.md で統一して管理できる。環境構築手順やテスト方法を記載しておけば、エージェントはそれにしたがって動作することになっている。

ちなみに、*.md はモルドバのccTLDで、当然と言えば当然だが、提供プロバイダが少な目で、gTLDに比べるとお値段高め。

llms.txt

以前メモしたllms.txtもMarkdown形式。こちらは動作仕様を記述というよりは、クローリングのためのサイトマップに近い。Markdown形式なのは、人間にもAIエージェントにも読みやすく、またパーサー周辺のツールが枯れているから、だそう。

llms.txt markdown is human and LLM readable, but is also in a precise format allowing fixed processing methods (i.e. classical programming techniques such as parsers and regex).

The /llms.txt file – llms-txt

GEO, LLMO, AIOなどの最適化の需要により、 llms.txt はより注目されている模様。下記の分析によると、上位300ドメインで4%ほどの普及率。