attempt_completion
attempt_completion ツールは、VJSP が現在のタスクが完了したと判断したことをシステムとユーザーに通知し、タスクの成果をユーザーに提示するために使用されます。このツールは完了した作業内容をまとめ、成果のデモンストレーション用のコマンドライン命令をオプションで添付することができ、同時にユーザーのフィードバックに基づいて成果を継続的に最適化することをサポートします。
パラメータ説明
このツールは以下のパラメータを受け付けます:
result(必須):タスクの成果説明で、完了した作業内容をまとめるために使用されますcommand(オプション):タスクの成果を実行してデモンストレーションするためのコマンドラインインターフェース(CLI)命令
コア機能
このツールはタスク完了の最終的な概要情報を提示することで、タスクフローの終了をマークし、ユーザーとシステムの両方に「現在のタスクが完了した」ことを双方向に伝達します。デモンストレーション命令が設定されている場合は、命令のリアルタイム実行によってタスクの成果を直感的に表示することができます。
適用シナリオ
- VJSP がユーザーの目標タスクが完全に完了したと判断した場合
- タスク実行中に発生した変更や最適化ポイントをまとめる必要がある場合
- コマンドライン命令の実行によってタスクの成果を直感的にデモンストレーションする必要がある場合
- ユーザーがソリューションに意見を提供できるように成果フィードバックノードを提供する必要がある場合
- タスクが現在の実行フェーズから潜在的な成果最適化フェーズに移行する場合
主な特徴
- 「VJSP がタスク完了と判断した」ことをシステムとユーザーに明確に伝達
- 完了した作業内容全体を簡潔なテキストでまとめる
- コマンドライン命令の実行によるタスク成果の視覚的デモンストレーションをサポート
- ユーザーのフィードバックを受け付け、フィードバックに基づいて成果を後続で最適化することをサポート
- 通常のメッセージとは異なる専用 UI 形式でタスク成果を表示
- タスク完了のテレメトリデータを収集し、システム分析のためのデータサポートを提供
- フィードバックノードを設定することで、会話フローの構造化された進行を維持
- 複雑なワークフローにおける「サブタスク完了」の報告と識別をサポート
- ユーザーがタスク実行の完全な成果概要を明確に受け取れるようにする
- 「グローバルに利用可能なツールセット」に属し、VJSP のすべての動作モードで呼び出すことができる
制限事項
- 以前に呼び出されたすべてのツールが正常に実行されたことを確認した後に使用する必要があります(この要求は規範的なガイドラインであり、プログラムによる強制的な制約ではありません)
- 成果のデモンストレーションは単一のコマンドライン命令の設定のみをサポートし、複数の命令の設定はサポートしていません
- 成果のデモンストレーションに複数の命令オプションを提供してユーザーに選択させることはできません
- 設定されたデモンストレーション命令は、ユーザーの確認と承認を得た後に実行されます
- コマンドライン命令の実行によって提示できるタスク成果のデモンストレーションのみをサポート
- 「部分的に完了した」タスクの進捗報告や段階的な更新には使用できません
- 成果テキストは内部処理過程で XML 閉じタグが自動的にフィルタリングされます
実行フロー
attempt_completion ツールを呼び出した後、システムは以下のフローに従って実行します:
セキュリティ検証(規範的なガイドライン、プログラムによる強制的な制約ではない)
- AI が以前に呼び出されたツールの実行結果を検証し、すべての前提ツールが正常に実行されたことを確認します
- このステップはベストプラクティスのガイドラインであり、プログラムによる強制的な検証メカニズムはありません
成果情報の提示
- 専用の
completion_resultUI 形式でタスク完了の概要情報をユーザーに表示します removeClosingTag関数を呼び出し、成果テキストから XML 閉じタグを自動的にフィルタリングします- 通常のメッセージとは異なる表示形式を採用し、成果の識別を視覚的に区別します
- 専用の
デモンストレーション命令の実行(
commandパラメータが設定されている場合にトリガー)- 最初にユーザーに命令実行の承認要求を発行し、ユーザーの確認を取得します
- ユーザーの承認が得られた場合にのみ、設定されたコマンドラインデモンストレーション命令を実行します
- システムのコマンド実行機能を呼び出して、デモンストレーション命令を実行します
- 命令の実行結果を完全にユーザーに表示します
フィードバック情報の収集
- フィードバック待機状態に入り、タスク成果に対するユーザーの評価と最適化提案を受け付けます
- ユーザーのフィードバックを構造化処理し、VJSP のコア推論モジュールに返します
- ユーザーのフィードバックに基づいて、成果の後続の最適化プロセスを開始します
タスクの完了とフローの継続
- システム内で「現在のタスクが完了した」状態をマークします
- このタスクの完了テレメトリデータを収集して保存します
- サブタスクの報告である場合は、ユーザーに「現在のサブタスクを完了して親タスクの実行を再開する」オプションを提供します
- フィードバックメカニズムを通じて、会話フローの継続的な進行と成果の反復的な最適化をサポートします
エンジニアリング実装の統合
- ツールの実行結果は、システムの解析メカニズム(
parse-assistant-message.tsスクリプト)によって解析されます - このツールは
ALWAYS_AVAILABLE_TOOLS定数で定義されたツールセットに属し、すべてのモードでグローバルに利用可能です
- ツールの実行結果は、システムの解析メカニズム(
成果テキストの作成ガイドライン
成果説明(result)のテキストは以下のガイドラインに従う必要があります:
- 「完了した作業内容」を明確かつ正確に伝達し、情報の曖昧さや遗漏がないようにする
- テキストの簡潔さを保ちながら、成果情報の完全性を確保する
- 「ユーザーに提供する価値」に焦点を当て、ユーザーのニーズを満たすタスク成果を強調する
- 意味のない挨拶や冗長なテキストを避ける
- 専門的で直接的な技術的なコミュニケーションの口調を維持する
- スキャンしやすく理解しやすい表現形式(箇条書きなど)を採用する
- ユーザーに対して、成果に関するフィードバックを提供して後続の最適化を容易にするよう明確に指示する
注意:システムは removeClosingTag 関数によって、成果テキストからすべての XML 閉じタグを自動的にフィルタリングするため、作成時に特別な処理は必要ありません。
デモンストレーション命令の選択ガイドライン
デモンストレーション命令(command)を設定する場合、以下のガイドラインに従う必要があります:
- 「タスク成果を視覚的にデモンストレーションできる」命令を優先し、実行効果を直感的に提示する
- 「成果の作成/変更結果を表示できる」命令を優先し、ユーザーの認識に合わせる
- 推奨される命令例:
open index.html:作成したウェブ成果を開くnpm start:開発サーバーを起動し、フロントエンドアプリケーション成果を実行するpython app.py:作成した Python アプリケーションスクリプトを実行する
echo、catなどのテキストのみを出力する命令は避ける- すべての設定されたデモンストレーション命令は、ユーザーの承認を得た後に実行されることを明確にする
- 命令のクロスシステム互換性を確保し、ユーザーのオペレーティングシステム環境に適応させる
フィードバックメカニズムと UI 表示
attempt_completion ツールは専用の成果フィードバックメカニズムを備えており、そのコア機能は以下の通りです:
- タスク成果は専用の
completion_resultUI 形式で表示され、通常のメッセージと視覚的に区別されます - ツールの実行後、システムはユーザーの成果評価を受け付けるフィードバック待機状態に入ります
- ユーザーのフィードバックは構造化処理された後、VJSP コアモジュールに返され、成果の後続の最適化を支援します
- 会話を直接終了するのではなく、「成果報告 → ユーザーフィードバック → 成果最適化」の反復サイクルを形成します
- フロントエンド UI はユーザーが成果フィードバックを送信しやすいように専用のインタラクティブコンポーネントを提供します
- 成果報告ノードは会話フローの明確なマイルストーンとして機能し、対話の構造化された進行をサポートします
サブタスク報告の特殊処理
このツールがサブタスク完了の報告に使用される場合、システムは専用の機能を提供します:
- ユーザーに対して「現在のサブタスクを完了して親タスクの実行を再開する」オプションを表示します
- ユーザーが確認した場合、現在のサブタスクの成果をまとめて「完了」とマークします
- 親タスクはサブタスクの完了成果に基づいて実行フローを再開し、コンテキスト情報を継承します
- 複雑なネストされたワークフローにおけるコンテキストの保存とフローの一貫した進行を実現します
アプリケーション例
成果概要のみを報告(デモンストレーション命令なし)
<attempt_completion>
<result>
ナビゲーションバーの CSS スタイル更新を完了し、デザイン要件に完全に一致させました。具体的な変更は以下の通りです:
1. 新しいブランドカラー仕様に合わせて配色スキームをアップグレード
2. モバイル対応のレスポンシブ適応ロジックを追加し、マルチ端末表示をサポート
3. ドロップダウンメニューの要素の位置合わせの異常を修正
</result>
</attempt_completion>成果概要の報告 + デモンストレーション命令の設定
<attempt_completion>
<result>
シンプルな React アプリケーションの開発を完了し、以下の機能を実装しました:
1. 要件を満たすレスポンシブランディングページを開発し、指定されたヒーローセクションを含めました
2. フォーム検証機能を備えたインタラクティブなお問い合わせフォームを実装
3. 指定された 3 つのページのルーティングナビゲーション機能を完成
4. 提供されたデザイン仕様に完全に一致するスタイル開発
</result>
<command>npm start</command>
</attempt_completion>Python スクリプト開発タスク(成果報告 + 実行デモンストレーション)
<attempt_completion>
<result>
データ処理スクリプトの開発を完了し、スクリプトのコア機能は以下の通りです:
1. data ディレクトリ内のすべての CSV 形式のデータファイルの読み取りをサポート
2. 要件に従ってデータのクリーニングと標準化処理を完了
3. JSON 形式のデータ分析サマリー統計結果を生成
4. 処理後の構造化データを output ディレクトリに出力
</result>
<command>python process_data.py</command>
</attempt_completion>