1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Q Developer CLIバージョン1.15.0リリース内容を試してみた

Last updated at Posted at 2025-09-16

概要

約2週間前の更新の内容となりますが、Amazon Q Developer CLI v1.15.0がリリースされました。
/experimentスラッシュコマンドなど気になる機能がいくつかあるため検証した結果を記載します。

主な変更点

以下の表はAIに変更点を要約してもらった結果です。(それ以外は人力で検証し記事を書いています)

主な新機能・改善

機能 内容
Tangent Mode(隔離会話モード)追加 isolate(隔離された)会話での "tangent mode" を追加。
Agent-scoped 知識ベース + コンテキスト特化検索 エージェントごとに知識ベースを持たせ、文脈に応じた検索ができるように。
Introspect ツール Q CLI 自身の状態を調べるための “introspect” 機能を追加。
To-do リスト機能 Q CLI に “to-do list” 機能を追加。作業の追跡などに利用可能。
/experiment スラッシュコマンド追加 実験的な機能をオン/オフするための /experiment コマンドを追加。これにより新機能の試用が管理しやすく。
tangent mode 用 telemetry(使用状況追跡) tangent mode の使用(持続時間など)を追うためのテレメトリが追加。
feature gating of tangent mode tangent mode を制御するための “feature gating”(機能の条件付き有効化)を実装。

バグ修正・その他改善

修正・改善内容 詳細
SendTelemetry API のバリデーションエラーに対する短期的修正 テレメトリ送信 API で発生していた検証 (validation) エラーを一時的に対処。
プロンプトごとのタイムスタンプの更新(ローカルタイムゾーン含む) タイムスタンプにローカルタイムゾーン情報を含めるように修正。
CTRL+C のハンドリング改善、/agent generate の自動補完など 複数選択時のキャンセル操作(CTRL+C)処理や、/agent generate コマンドのオートコンプリートなどが改善。
To-do 機能のバグ修正 To-do リスト機能に関する複数のバグが修正されている。
リトライインターセプターの警告メッセージ更新 リトライ(retry)を扱うインターセプターの警告メッセージが改善/更新。
行追加/削除数の計算修正 Q CLI が “何行変更したか” をカウントする機能で追加・削除行数の絶対値使用など見直し。

試してみる

/experiment スラッシュコマンド

/experimentスラッシュコマンドは実験的な機能をオン/オフするためのコマンドらしいです。
/experimentと入力すると次の表示になり、Enterを押すとON/OFFの切り替えが可能です。

image.png

検証時点(2025年9月16日時点)では次の4項目が実験的な機能とのことです。

項目 内容
Knowledge Enables persistent context storage and retrieval across chat sessions (/knowledge)(チャットセッション間で永続的なコンテキストの保存と取得を可能にします(/knowledge))
Thinking Enables complex reasoning with step-by-step thought processes(段階的な思考プロセスによる複雑な推論を可能にする)
Tangent Mode Enables entering into a temporary mode for sending isolated conversations (/tangent)(一時モードを有効化し、分離された会話(/tangent)を送信できるようにする)
Todo Lists Enables Q to create todo lists that can be viewed and managed using /todos(Qが/todosを使用して閲覧・管理できるToDoリストを作成できるようにします)

/knowledge スラッシュコマンド

機能

Enables persistent context storage and retrieval across chat sessions (/knowledge)(チャットセッション間で永続的なコンテキストの保存と取得を可能にします(/knowledge))

試す

/knowledge スラッシュコマンドを利用するため、/experimentと入力しKnowledgeにてEnterを押します。
/knowledgeコマンドでは様々な機能を利用できます。

> /knowledge 

(Beta) Manage knowledge base for persistent context storage. Requires "q settings chat.enableKnowledge true"

Usage: /knowledge <COMMAND>

Commands:
  show    Display the knowledge base contents
  add     Add a file or directory to knowledge base
  remove  Remove specified knowledge base entry by path
  update  Update a file or directory in knowledge base
  clear   Remove all knowledge base entries
  status  Show background operation status
  cancel  Cancel a background operation
  help    Print this message or the help of the given subcommand(s)

/knowledge add filenameで永続的なコンテキストを追加します。
/knowledge show/knowledge statusで現在のknowledgeの設定を確認できます。

> /knowledge show 

👤 Agent (q_cli_default):
    <none>


> /knowledge status


📚 Total knowledge base entries: 0 (0 persistent, 0 volatile)
✅ No active operations


> /knowledge add memo.md


🚀 Started indexing 'memo.md'
📁 Path: /home/sagochiko/project/kensyo/qdevcli/memo.md
🆔 Operation ID: 83bd1f07


> /knowledge show 

👤 Agent (q_cli_default):
    📂 memo.md (a6857f57)
       Knowledge context for memo.md
       1 items • Best • 09/16 13:28


> /knowledge status


📚 Total knowledge base entries: 1 (1 persistent, 0 volatile)
✅ No active operations

日本語対応していないっぽい

たまにQ Devは英語しか対応しないと回答してきますが、新機能の/knowledgeを有効化した途端、何度日本語でお話しても「英語のみ対応してる」と回答されます。プレビュー機能だから仕方がないのかもしれないですね。
※検証したのは2025年9月16日です

> わたしはだあれ

> I can see you're asking "Who am I?" in Japanese. I'm Amazon Q, an AI assistant built by Amazon Web Services (AWS) to help customers with their AWS and software 
development needs. I'm currently running through the q chat CLI command in your environment.

I can help you with:
• AWS services and resources
• Writing and debugging code
• Managing files and directories
• Running bash commands
• Infrastructure configurations
• Best practices and troubleshooting

How can I assist you today?

ただ、何度かファイル変更して質問してもうまく機能してくれてるようには見えない。

Thinkingモード

機能

Enables complex reasoning with step-by-step thought processes(段階的な思考プロセスによる複雑な推論を可能にする)

試す

/experimentを実行し、thinkingを有効化します。
現在あるPythonファイルを改善するように指示を出します。

普段表示されないようなI'll share my reasoning process:の表示がでて、考えてくれてそう感がありますね。

🛠️  Using tool: thinking (prerelease) (trusted)
 ⋮ 
 ● I'll share my reasoning process: ユーザーはhello_world.pyの改善計画を求めています。既にTodoリストがあり、エラーハンドリングは完了済みです。現在のファイルの状態を確認して、残りのタスクを優先度順に整理した計画を立てる必要があります。

 ⋮ 
 ● Completed in 0.0s

image.png

Thinkingモード使用した感想

Claude Codeでいうultrathinkみたいな感じなのかな?という感じ。
もっと複雑な作業で試してみたら効果得られるかも

/tangent スラッシュコマンド

機能

Enables entering into a temporary mode for sending isolated conversations (/tangent)(一時モードを有効化し、分離された会話(/tangent)を送信できるようにする)

試す

普通に使う

まず、今の関数についてパフォーマンス向上案を出させます。

> この関数のパフォーマンスを改善する方法を教えて。ファイルは修正せず案を出して

> greet() 関数のパフォーマンス改善案:

## 1. 文字列操作の最適化
• **f-string → .format()**: 大量呼び出し時にわずかに高速
• **テンプレート事前定義**: "Hello, {}!".format(name) で文字列リテラル再利用
• **デフォルト値キャッシュ**: name=="World"時は事前計算済み文字列を返す

## 2. 関数呼び出しの最適化
• **インライン化**: 単純な処理なら関数呼び出しオーバーヘッドを避ける
• **部分適用**: functools.partialでデフォルト引数を事前バインド

## 3. メモリ効率化
• **文字列インターン**: 同じ結果の重複を避ける
• **LRUキャッシュ**: @lru_cacheで頻繁な入力をキャッシュ

## 4. 使用パターン別最適化
• **バッチ処理**: 複数名前を一度に処理する関数
• **ジェネレータ**: 大量データ処理時のメモリ節約
• **型ヒント**: 実行時チェック削減

現在の実装は既に効率的なので、実際の使用ケース(呼び出し頻度、データ量)に応じて選択するのが最適です。

/tangentモードに切り替え

/tangentを入力して別軸での会話を始めます。
その時点の会話から別ブランチを切ってQ Devと会話できるような感触でした。

> /tangent

Created a conversation checkpoint (↯). Use ctrl + t or /tangent to restore the conversation later.
Note: this functionality is experimental and may change or be removed in the future.

↯ > 並列処理を使った別アプローチも試してみたい。ファイルは修正せず案を出して

> greet() 関数の並列処理アプローチ案:

## 1. マルチスレッド処理
• **ThreadPoolExecutor**: 複数名前を並列で挨拶生成
• **concurrent.futures.map()**: リスト処理の並列化
• **適用場面**: I/O待機がある場合(ファイル出力、ネットワーク送信)

## 2. マルチプロセス処理
• **ProcessPoolExecutor**: CPU集約的な処理の並列化
• **multiprocessing.Pool**: 大量データの分散処理
• **適用場面**: 複雑な文字列処理や計算が含まれる場合

## 3. 非同期処理
• **asyncio**: 非同期での挨拶生成
• **async/await**: I/O待機の効率化
• **適用場面**: データベースアクセスやAPI呼び出しと組み合わせ

## 4. バッチ並列処理
• **チャンク分割**: 大きなリストを小さな塊に分けて並列処理
• **結果マージ**: 各プロセスの結果を効率的に結合
• **メモリ管理**: 大量データでのメモリ使用量制御

## 注意点
現在の greet() 関数は軽量すぎて、並列処理のオーバーヘッドが利益を上回る可能性があります。数千〜数万件の処理や、I/O操作が加わる場合に効果的です。

ctrl+t 若しくは /tangentを実行することでtangentモードから抜けられます。



↯ > /tangent

Restored conversation from checkpoint (↯). - Returned to main conversation.

> 

/tangent使ってみた感想

AIとの会話で別ブランチを切って会話できるのは便利で良いなあと思いました。
/tangentで会話した内容をmainの会話にマージできるような機能があれば良いなとも思いました。

あと、/tangentモードの時の黄色マークがカッコイイ!

image.png

/todosスラッシュコマンド

機能

Enables Q to create todo lists that can be viewed and managed using /todos(Qが/todosを使用して閲覧・管理できるToDoリストを作成できるようにします)

試す

/todos コマンドでは次の機能が利用できるそうです。

> /todos

View, manage, and resume to-do lists

Usage: /todos <COMMAND>

Commands:
  clear-finished  Delete all completed to-do lists
  resume          Resume a selected to-do list
  view            View a to-do list
  delete          Delete a to-do list
  help            Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help

Todoを作成するコマンドがない

上で紹介したCommandsを確認すると、createなどのコマンドがなく、deleteviewなどの削除や参照系しかない状態。

↓Commands抜粋

Commands:
  clear-finished  Delete all completed to-do lists
  resume          Resume a selected to-do list
  view            View a to-do list
  delete          Delete a to-do list
  help            Print this message or the help of the given subcommand(s)

直接Todo作成してと指示をしてみる

良い感じにTodoリストを作成してくれている。普段利用していてこのTodoリストは見たことがないため、これが/todosの機能の一部と思われる。

> hello_world.pyを改善するためのTodoを作成して。

🛠️  Using tool: todo_list (trusted)
 ⋮ 
 ● TODO:
[ ] エラーハンドリングを追加する
[ ] 型ヒントを追加する
[ ] docstringを追加する
[ ] パフォーマンス最適化(文字列処理)を実装する
[ ] ユニットテストを作成する
[ ] ログ機能を追加する
[ ] 設定ファイル対応を追加する
[ ] コマンドライン引数対応を追加する
 ⋮ 
 ● Completed in 0.0s


> hello_world.pyの改善Todoを作成しました。8つのタスクで段階的に機能を向上させる計画です:

1. エラーハンドリング - 入力検証と例外処理
2. 型ヒント - コードの可読性と保守性向上
3. docstring - 関数の説明とドキュメント化
4. パフォーマンス最適化 - 文字列処理の効率化
5. ユニットテスト - 品質保証
6. ログ機能 - デバッグとモニタリング
7. 設定ファイル対応 - 設定の外部化
8. コマンドライン引数対応 - 実用性の向上

どのタスクから始めますか?

指示を出すと実施した項目にチェックを入れてくれる。コンテキスト管理に良い気がする。

🛠️  Using tool: todo_list (trusted)
 ⋮ 
 ● TODO:
[x] エラーハンドリングを追加する
[ ] 型ヒントを追加する
 ⋮ 
 ● Completed in 0.1s


> エラーハンドリングを実装しました:

• **型チェック**: nameが文字列でない場合にTypeErrorを発生
• **空文字チェック**: 空文字や空白のみの場合にValueErrorを発生  
• **例外処理**: main()関数でエラーをキャッチして適切なメッセージを表示

これで不正な入力に対して適切にエラーを処理できるようになりました。次のタスクに進みますか?

Commandsを試す

viewはその名のとおり閲覧

> /todos view

? Select a to-do list to view: ›
❯ ✗ hello_world.pyファイルの改善とパフォーマンス最適化 (1/8) ←ココで選択

Viewing: hello_world.pyファイルの改善とパフォーマンス最適化

TODO:
[x] エラーハンドリングを追加する
[ ] 型ヒントを追加する
[ ] docstringを追加する
[ ] パフォーマンス最適化(文字列処理)を実装する
[ ] ユニットテストを作成する
[ ] ログ機能を追加する
[ ] 設定ファイル対応を追加する
[ ] コマンドライン引数対応を追加する

deleteはTodoリストを削除する

> /todos delete

? Select a to-do list to delete: ›
❯ ✗ hello_world.pyファイルの改善とパフォーマンス最適化 (1/8) ←ココで選択

✔ Deleted to-do list: hello_world.pyファイルの改善とパフォーマンス最適化 ←削除されちゃった

復元できなかった

> /todos resume

No to-do lists to resume!

> /todos view

No to-do lists to view!

/todos使ってみた感想

Todoの管理が便利になり、かつコンテキスト管理が楽になりそうな印象を受けました。
/todos create "指示"などのコマンドがあっても良いなあとも思いました。

感想

  • 新機能はやっぱり試していて楽しい。
  • /tangentは色々使えそうな感じがした。
  • もっと早くリリース内容をキャッチアップして試すようにする。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?