docs: refine operation interfaces and batching
This commit is contained in:
@@ -16,7 +16,7 @@ AI用Toolsは、WIP ClientがAIへ提供する想定インターフェースで
|
||||
|
||||
## `inspect`
|
||||
|
||||
`inspect(target)` は、対象エントリ / Objectについて**何ができるか**を把握するための操作である。
|
||||
`inspect(target)` は、対象エントリ / Objectについて**何ができるか**を把握するための操作である。ClientはObjectのInterface参照を解決し、WIP IDL documentに宣言されたOperationを提示する。
|
||||
|
||||
Objectのドメインデータをpropertiesとして直接公開することは前提としない。データを読む行為もOperationとして表現する。
|
||||
|
||||
@@ -27,13 +27,11 @@ Objectのドメインデータをpropertiesとして直接公開することは
|
||||
- `get_related_items()` — 関連Objectのentry pathを取得する。
|
||||
- `close(reason: string)` — 理由を添えてIssueをクローズする。
|
||||
|
||||
Operationはシグネチャだけでなく、AIが用途を判断できる短いdescriptionを持つ。長文ドキュメントを埋め込むことは想定しない。
|
||||
|
||||
Operationのinput / output schemaは[WIP IDL](draft/wip-idl.md)として取得する。ClientはIDLをparseし、利用するAI providerが要求するTool schemaへ変換する。JSON Schema等への変換はAI向けClient adapterの責務であり、HostがWIP interfaceとして提供する必要はない。
|
||||
Operationの関数宣言と短いdocumentationは、Objectが参照する[WIP IDL](draft/wip-idl.md) documentから取得する。ClientはIDLをparseし、利用するAI providerが要求するTool schemaへ変換する。JSON Schema等への変換はAI向けClient adapterの責務であり、HostがWIP Interfaceとして提供する必要はない。
|
||||
|
||||
## `invoke`
|
||||
|
||||
`invoke(target, operation, input)` は、`inspect`によって発見したOperationを実行する。`input`はOperationのWIP IDLで定義された名前付きfieldを持つrecordであり、位置引数は用いない。引数を持たないOperationには空のrecordを渡す。
|
||||
`invoke(target, operation, arguments)` は、`inspect`によって発見したOperationを実行する。`arguments`はOperationのWIP IDL parameter listに従う名前付きfieldのrecordであり、位置引数は用いない。引数を持たないOperationには空のrecordを渡す。
|
||||
|
||||
PTC / REPL bindingでは、通常のメソッド呼び出しへ投影してよい。
|
||||
|
||||
@@ -57,4 +55,4 @@ ClientはOperation Resultからentry pathを抽出し、必要なpathを`fetch`
|
||||
|
||||
全文検索、semantic retrieval、外部API検索などはWIP固有のToolにはしない。
|
||||
|
||||
検索能力を持つObjectが`query`や`search`などのOperationを公開し、AIはそれを`invoke`する。結果として`entry`型のpathが返された場合、Clientは必要なpathを取得し、一時的な発見結果として利用するかKnown Spaceへ保持できる。
|
||||
検索能力を持つObjectのInterfaceが`query`や`search`などのOperationを宣言し、AIはそれを`invoke`する。結果として`entry`型のpathが返された場合、Clientは必要なpathを取得し、一時的な発見結果として利用するかKnown Spaceへ保持できる。
|
||||
Reference in New Issue
Block a user